OrgPad logo

MAT INF 21: Programování

Created by Tomáš Flídr

#inf, #maturita

MAT INF 21: Programování

Značky

Zaoblené obdélníky: start,konec

Obdélníky: příkazy

Kosočtverce: rozhodování

Kosodélník - input/output

Vyvojovy diagram zarovka

Univerzálnost

Řeší obecnější problém, specifikovaný vstupem. (typicky)

Finitnost a časová složitost

Finitnost: skončí v konečném čase (?)

Časová složitost asymptoticky přes počet kroků v závislosti na vstupu

Vývojové diagramy

Grafické znázorění, obsahuje základní kroky.

Zastaralá metoda: příkazy jsou nízko úrovňové, takže má využití při programování přímo procesorů nebo vytváření návodů pro lidi.

Cykly vytváří šipka nahoru - GOTO.

Resultativnost

Má výstup.

Pseudokód

Instrukce podobné prog. jazyku, ale bez omezení na přesnou syntaxi a klíčová slova.

Nelze použít pro počítač, ale srozumitelnější.

Etapy

Získání požadavků, design, programování, testování, udržování.

Algoritmus

Konečná sekvence dobře definovaných kroků (~ zpracovatelných počítačem), typicky řešící určitý problém.

Zápis algoritmu

1. generace

Instrukce pro procesor v binárce

Java

Překlad a spuštění uvnitř VM.

Programovací jazyky

Programování

Řešení problémů pomocí počítače

2. generace - assembly

Používá slova, ale instrukce jsou stále blízko k hardware, překládá do strojových isntrukcí.

Kompilovaný

Kompilace celého souboru do strojvého kódu: ten závisí na počítači, ale lze spouštět několikrát.

C family, COBOL...

3. generace

Vyšší programovací jazyky, moderní, více isntrukcí

Interpretovaný

Překládá postupně - nezávisí na plaformě a je stabilnější, ale můžou nastat chyby uprostřed a je pomalejší.

Python, PHP

Spouštění