web view1. – kristína dobrocká. problé. m – stav, v ktorom jestvuje...
TRANSCRIPT
1. – Kristína Dobrocká
Problém – Stav, v ktorom jestvuje rozdiel medzi tým, čo v danom momente poznáme
(vieme, máme) a tým čo potrebujeme.
Program – Vývojový diagram zapísaný v programovacom jazyku.
Algoritmus – Postup riešenia úlohy.
2. – Kristína Dobrocká
Programovací jazyk – Jazyk, ktorému rozumie počítač.
Syntax – Pravidlá určujúce prípustný tvar zápisu tvar zápisu programu v danom
formálnom (najmä programovacom) jazyku
Testovanie – Ladenie - kontrola, či program funguje správne. Kontrolujeme chyby syntaktické a logické.
Logické chyby – Sú to chyby, ktoré spraví len človek.
3. – Michal Hermann
Cyklus s podmienkou na začiatku:
While podmienka do príkaz
pokiaľ je podmienka splnená vykonáva sa príkaz
ak chceme vykonať viac príkazov, vytvoríme
z nich zložený príkaz, uzavrieme ich medzi begin
a end
ak podmienka neplatí, cyklus sa nevykoná ani raz
1
Cyklus s podmienkou na konci:
príkazy sa budú opakovať, až kým sa nesplní
podmienka, vtedy sa opakovanie skončí
a pokračuje sa nasledujúcim príkazom
Cyklus s pevným počtom opakovaní:
Príkaz alebo skupina príkazov v programe sa
opakujú zadaný počet krát.
for premenná:=dolná hranica to horná hranica
do prikaz.
Horná hranica cyklu môže byť zadaná aj do
premennej.
4. – Martina Bulková
Údajové štruktúry:
Údajová štruktúra alebo dátová štruktúra je údajový typ alebo zostrojenie oblasti hodnôt z elementárnych oblastí hodnôt pomocou konštruktorov. Je to najmä spôsob ukladania údajov v počítači za účelom efektívneho použitia.
Všetky značky vývojových diagramov:
Spojka
Vopred definovaná činnosť
Príprava – modifikácia
Hraničná značka – začiatok, koniec
2
Rozhodovanie, vetvenie, prepínanie
Spracovanie
Vstup, výstup
Poznámka ] .........
Všeobecný algoritmus programu:
Začiatok
Vstup
Spracovanie
Výstup
Koniec
3
readln – čítaj writeln – píš
begin – začiatok end. – koniec
if – ak then – potom
else – ešte while – pokial
do – rob repeat – opakuj
until – kým to – do
for – pre
5
Hľadanie maxima a minima:
program MaximumMinimum;
var a, i, pocet, max, min: integer;
begin
writeln('Hladanie maxima a minima bez pouzitia pola.');
write('Vlozte pocet cisel:');
readln(pocet);
write('Vlozte 1. cislo: ');
readln(a);
max:= a;
min:= a;
for i:= 2 to pocet do
begin
write('Vlozte ', i:2, '. cislo:');
readln(a);
if a > max then max:= a;
if a < min then min:= a;
end;
writeln('Maximum precitanych cisel je ', max, ' , minimum je ', min);
readln;
end.
7. – Marek Gábriš
Hádanie náhodných čísel
Program hadanie;
var pokusne, cislo, pokus, pom: integer;
begin
Randomize;
Cislo:=random(100)+1;
Repeat
Writeln ('Napis cislo: ');
Readln (pokusne);
If pokusne < cislo then begin
Writeln('Myslim si vacsie');
6
End;
If pokusne > cislo then begin
Writeln ('Myslim si mensie');
End;
Until pokusne =cislo;
Pokus:=pokus+1;
Writeln ('Pocet pokusov: ' ,pokus );
End.
Zápalky:
program Zápalky;
var
pz,a,odobrane:integer;
begin
pz:=15;
begin
writeln(‘hra sa z 15 zapalkami, beries 1-3‘);
repeat
writeln(‘Kolko beries?‘);
readln (odobrané);
pz:=pz-odobrané;
if (pz=11) or (pz=7) then begin
writeln(‘beriem 3‘);
pz:=pz-3
writeln(‘Ostalo‘,pz);
end;
else
begin
if (pz=14) or (pz=10) or (pz=6) then begin
writeln(‘beriem 2‘);
pz:=pz-2;
writeln(‘Ostalo‘,pz);
end;
else
begin
7
if (pz=13) or (pz=12) or
(pz=9) or (pz=8) or (pz=5) then begin
writeln(‘beriem 2‘);
pz:=pz-2;
writeln(‘Ostalo‘,pz);
end
end;
until pz<5;
if (pz=4) then writeln (‘prehral som‘);
if (pz=3) or (pz=2) or (pz=1) then writeln (‘vyhral som‘);
readln;
end.
8. – prof. Igor Krucovčin
Pole:
Pole umožňuje ukladať do jednej premennej viac hodnôt rovnakého typu. K prvkom poľa pristupujeme cez index, napr. pole[i]. S poliami sa zvyčajne pracuje pomocou cyklu.
Triedenie:
Usporiadanie množiny čísel alebo zoznamu mien podľa veľkosti resp. abecedy.
Triedenie výmenou/prebublávanie/bublinkové triedenie:
Princíp triedenia spočíva v cyklickom porovnávaní dvoch susedných položiek.
Ak potrebujeme pole zotriediť vzostupne (od najmenšieho po najväčšie) a ak prvé porovnávané číslo je väčšie ako druhé, musíme čísla vymeniť. Obdobným spôsobom postupujeme pri porovnaní druhého a tretieho čísla... n-1 a n-čísla (posledného).
Ak máme zoradiť 5 čísel budeme realizovať v prvom kroku 4 porovnania a výsledkom bude určite utriedené posledné číslo (piate).
Ostáva zatriediť 4 čísla.
Následne teda budeme realizovať v druhom kroku 3 porovnania a výsledkom bude určite utriedené posledné číslo (štvrté).
Ostáva zatriediť 3 čísla.
8
Následne teda budeme realizovať v treťom kroku 2 porovnania a výsledkom bude určite utriedené posledné číslo (tretie).
Ostáva zatriediť 2 čísla.
Následne teda budeme realizovať v štvrtok kroku 1 porovnanie a výsledkom bude určite utriedené posledné číslo v zozname (druhé).
Ak je správne zotriedené 2., 3., 4., a 5. číslo, je logické, že je zotriedené/usporiadané aj 1. číslo, teda celý zoznam čísel.
Počet porovnaní = 10, t.j. 4 + 3 + 2 +1.
Zotriedenie 3 čísel = 2 + 1 = 3 porovnania
Zotriedenie 4 čísel = 3 +2 + 1 = 6 porovnaní
Zotriedenie 5 čísel = 4 + 3 + 2 +1 = 10 porovnaní
Zotriedenie 6 čísel = 5 + 4 + 3 + 2 +1 = 15 porovnaní
Zotriedenie 7 čísel = 6 + 5 + 4 + 3 + 2 +1 = 21 porovnaní
Toto triedenie je časovo veľmi náročné a neefektívne, ale zato je principiálne najjednoduchšie.
V Pascale, kde potrebujeme zoradiť údaje v poli a, by sme to robili takto:
program bubblesort;
var
a:array [1..5] of integer;
i,j,pom:integer;
begin
writeln ('Zadaj 5 cisel');
for i:= 1 to 5 do
readln (a[i]);
for j:= 4 downto 1 do
begin
for i:=1 to j do
begin
if a[i]>a[i+1] then begin
pom:=a[i];
a[i]:=a[i+1];
a[i+1]:=pom;
end;
9
end;
end;
for i:= 1 to 5 do
write (a[i],' ');
readln;
end.
Premenná j predstavuje počet porovnaní, premenná i označuje poradie čísel poľa, ktoré budeme porovnávať.
a:array [1..5] of integer;
Toto je definovanie/deklarácia poľa 5-tich prvkov, ktoré budú celé čísla.
begin
pom:=a[i];
a[i]:=a[i+1];
a[i+1]:=pom;
end;
Toto je výmena obsahu 2 premenných pomocou tretej, označenie ako pom.
if a[i]>a[i+1]
Toto je podmienka, ktorá rozhoduje o tom, či čísla budú zoradené od najväčšieho po najmenšie alebo od najmenšieho po najväčšie.
Pre 1. tretinu spracovala: Gabriela Kandová
10