prog1_02.pdf
Stiahnuť PDF · 65 kBPreber si túto poznámku so svojou AI
Skopíruj pripravený podklad a vlož ho do ChatGPT, Claude alebo inej AI — bude ťa učiť alebo skúšať len z tejto poznámky.
Náhľad poznámky
Programovanie I
9.10.2007
Úvod do programovania
Mgr. Stanislav Horal, Katedra informatiky, FPV, UCM
Algoritmus (1)
n
Existuje nieko
ľko definícií pojmu algoritmus
¨
Algoritmus je presná postupnos
ť krokov a
inštrukcií, ktorá nás od vstupných údajov
privedie v kone
čnom čase k výsledku.
¨
Špeciálne vytvorená procedúra, ktorá rieši
problém krok za krokom a problém vyrieši v
kone
čnom počte krokov.
Algoritmus (2)
n
Ďalšie definície
¨
Po
čítačový program (alebo sada programov),
ktorý je navrhnutý pre systematické riešenie
ur
čitého druhu problému.
¨
Metóda pre riešenie
čiastočného problému,
ktorá garantuje svoje ukon
čenie v konečnom
čase.
Algoritmy v bežnom živote
n
Vytváranie postupností krokov realizujeme
aj v bežných úkonoch, ktoré si v reálnom
živote neuvedomujeme, napr.:
¨
príprava denného plánu v závislosti od po
časia,
¨
príprava nápoja, napr. kakaa,
¨
vyhodnocovanie „najrýchlejšej cesty“ pod
ľa
hustoty cestnej premávky,
¨
zvolenie poradia vypracovania úloh do školy
pod
ľa času, ktorý je k dispozícii.
Vlastnosti algoritmov (1)
n
elementárnos
ť
algoritmus je zložený z jednoduchých krokov,
ktoré sú pre vykonávate
ľa zrozumiteľné
(dostato
čne jednoduché, elementárne)
n
determinovanos
ť
algoritmus je zostavený tak, že v každom
momente jeho vykonávania je jednozna
čne
ur
čené, aká činnosť má nasledovať, alebo či sa
už skon
čil
Vlastnosti algoritmov (2)
n
rezultatívnos
ť
algoritmus dáva pre rovnaké vstupné údaje
vždy rovnaké výsledky
n
kone
čnosť
algoritmus sa vždy ukon
čí po vykonaní
kone
čného počtu krokov
Vlastnosti algoritmov (3)
n
hromadnos
ť
algoritmus je použite
ľný na riešenie celej triedy
prípustných vstupných údajov
n
efektívnos
ť
algoritmus sa vykoná v
čo najkratšom čase a s
využitím
čo najmenšieho počtu prostriedkov
Úloha – vytvorenie algoritmu
n
Vytvori
ť algoritmus na výpočet súčinu dvoch
čísel.
¨
vstupné podmienky: existencia dvoch
čísel
(
činiteľov)
¨
postup – vytvoríme
¨
výsledkom bude sú
čin vstupných hodnôt
Zápis algoritmu (1)
1.
formou vývojového diagramu
K
Z
C = A * B
Na
čítaj hodnotu A
Na
čítaj hodnotu B
Vypíš hodnotu C
Zápis algoritmu (2)
2.
pomocou štruktúrogramov
výpis: C
C := A * B
vstup: A, B
Zápis algoritmu (3)
3.
pomocou pseudokódu
za
čiatok
na
čítaj hodnotu A
na
čítaj hodnotu B
výpo
čet C = A * B
vypíš hodnotu C
koniec
Zápis algoritmu (4)
4.
pomocou programovacieho jazyka
program Sucin;
var
a,b,c : integer;
begin
read(a);
read(b);
c:=a*b;
writeln(c);
end.
Program Sú
čin v jazyku Pascal
Zápis algoritmu (5)
/* program Sucin */
#include <stdio.h>
int main(int argc, char * argv[])
{
int a,b,c;
scanf("%d", &a);
scanf("%d", &b);
c=a*b;
printf("%d\n", c);
return(0);
}
Program Sú
čin v jazyku C
Jazyk Pascal (1)
n
názov pod
ľa francúzskeho matematika, fyzika a
filozofa Blaise Pascala (1623-1662)
n
vytvoril ho prof. Niklaus Wirth (1934) v r. 1971-1973
(Vysoká škola technická, Zürich, Švaj
čiarsko)
n
je jednoducho osvojite
ľný, vhodný na výukové
ú
čely, pomerne prehľadný, je modulárny
n
na PC sa rozšíril hlavne v
ďaka firme Borland
n
sú
časné implementácie: Turbo Pascal,
FreePascal, Delphi, ...
Jazyk Pascal (2)
n
ďalšie výhody:
¨
štandardizácia riadiacich štruktúr, ktoré vedú k
vytváraniu dobre štruktúrovaných a
čitateľných
programov
¨
bohatos
ť dátových typov
¨
relatívne
ľahká prenositeľnosť na rôzne typy
po
čítačov
Zápis programu v j. Pascal (1)
n
program v jazyku Pascal obsahuje
časti:
¨
hlavi
čka programu
¨
časť deklarácií a definícií
¨
príkazová
časť
n
iba príkazová
časť je povinná, ostatné časti
môžu by
ť vynechané
Zápis programu v j. Pascal (2)
program
názov programu;
uses
zoznam knižníc (modulov);
label
zoznam návestí;
const
definície konštánt;
type
definície dátových typov;
var
deklarácie premenných;
deklarácie procedúr a funkcií;
begin
end.
hlavi
čka programu
časť deklarácií
a definícií
príkazová
časť
Ukážka programu (1)
program Sucin;
uses crt;
var
a,b,c : integer;
begin
clrscr;
write('Zadajte hodnotu A: ');
readln(a);
write('Zadajte hodnotu B: ');
readln(b);
c:=a*b;
writeln('Sucin je: ',c);
end.
Ukážka programu (2)
Zákl. pojmy: Identifikátor
Odprednášaný bol len úvod k identifikátorom,
preto sa táto téma presúva do prednášky
č. 3.
Automaticky vygenerovaný textový náhľad. Pre plné formátovanie si stiahnite súbor.
nechodím na prednášky