~~NOCACHE~~ ~~REVEAL theme=dokuwiki&transition=convex&controls=1&show_progress_bar=1&build_all_lists=1&show_image_borders=0&horizontal_slide_level=2&enlarge_vertical_slide_headers=0&show_slide_details=1&open_in_new_window=1&size=1024x768~~ ====== Teorie programovacích jazyků ====== ===== Asembler a strojový kód ===== {{:spse:pm1:pasted:20201109-214232.png?400}} ===== Jazyk C/C++ ===== {{:spse:pm1:pasted:20201109-214242.png?400}} ===== Od návrhu ke strojovému kódu ===== {{:spse:pm1:pasted:20201109-214310.png?400}} //Uvedený postup je jen jednou z mnoha možností// ===== Vývojový diagram a základní konstrukce ===== {{:spse:pm1:pasted:20201109-214440.png?200}} dále viz [[spse:pm1:algoritmy|algoritmy]] * Tyto konstrukce mají svůj přímý protějšek (vyjádření) ve většině programovacích jazyků * Programování dle vzoru vývojového diagramu je pak v podstatě pouhým přepisem diagramu do daného jazyka ==== Příklady ==== {{:spse:pm1:pasted:20201109-214617.png?400}} ----> === Příklad úplná podmínka === {{:spse:pm1:pasted:20201109-214649.png?400}} <---- ===== Proměnné ===== * Práce s proměnnou v programovacích jazycích na rozdíl od diagramů obvykle vyžaduje deklaraci * Deklarace je zápis, ve kterém před použitím proměnné specifikujeme její jméno a typ * Jméno je libovolné, avšak nesmí obsahovat určité znaky ( +, -, *, /, ?, !, „“, atd.) * Typ proměnné určuje typ dat, který bude v proměnné uchován (celá čísla, textový řetězec, atd.) (např. proto, aby jí byl vyhrazen dostatek paměti) ==== Proměnná a paměť ==== * Proměnná představuje identifikátor, resp. pojmenované místo v paměti počítače * Toto místo je rezervováno pro proměnnou na základě její deklarace (jméno a typ proměnné) * Zjednodušeně: proměnná je vyhrazené místo v paměti. Jméno proměnné pak tuto adresu v programu zastupuje * Při programování nás v podstatě adresa vůbec nezajímá. Veškeré operace provádíme pouze s využitím jména proměnné. (výjimky samozřejmě existují) ----> {{:spse:pm1:pasted:20201109-214859.png?400}} * Podle typu proměnné je vyhrazena pamět – určitý počet bytů. Tento proces nastává při spuštění programu (zavedení do paměti) * Konkrétní přidělená adresa v paměti není dopředu známa a při každém spuštění programu může být pro danou proměnnou jiná <----