Bevezetés - Algoritmizálás, adatmodellezés tanítása

Download Report

Transcript Bevezetés - Algoritmizálás, adatmodellezés tanítása

Algoritmizálás, adatmodellezés
1. előadás
Algoritmus-leíró eszközök
Folyamatábra
Irányított gráf, amely csomópontokból és őket összekötő
élekből áll, egyetlen induló és befejező éle van, az induló élből
bármely csomópont elérhető, s bármely csomópontból el
lehet jutni a befejező élre.
Háromféle csomópontot tartalmaz:
Pap Gáborné, Zsakó László: Algoritmizálás, adatmodellezés
2015.04.09.
2/30
Algoritmus-leíró eszközök
Folyamatábra
A csomópontokból előállíthatók az algoritmikus struktúrák:
Pap Gáborné, Zsakó László: Algoritmizálás, adatmodellezés
2015.04.09.
3/30
Algoritmus-leíró eszközök
Definíció: Strukturált programnak nevezzük azt a programot,
amely csak a fenti három algoritmikus szerkezetet (szekvencia,
elágazás, ciklus) tartalmazza.
Nem strukturált
alapszerkezetek:
Pap Gáborné, Zsakó László: Algoritmizálás, adatmodellezés
2015.04.09.
4/30
Algoritmus-leíró eszközök
Nem strukturált alapszerkezetek:
Pap Gáborné, Zsakó László: Algoritmizálás, adatmodellezés
2015.04.09.
5/30
Algoritmus-leíró eszközök
Kiegészítő elemek a folyamatábrához:
Pap Gáborné, Zsakó László: Algoritmizálás, adatmodellezés
2015.04.09.
6/30
Algoritmus-leíró eszközök
Struktogram
Programgráf élek nélkül:
Pap Gáborné, Zsakó László: Algoritmizálás, adatmodellezés
2015.04.09.
7/30
Algoritmus-leíró eszközök
Mondatszerű leírás
Program:
utasítássorok
Program vége.
azonosító := kifejezés
Be: azonosítók [feltételek]
Ki: kifejezések [formátum megkötés]
Pap Gáborné, Zsakó László: Algoritmizálás, adatmodellezés
2015.04.09.
8/30
Algoritmus-leíró eszközök
Mondatszerű leírás
Ha logikai kifejezés akkor utasítássor
Ha logikai kifejezés akkor utasítássor1
különben utasítássor2
Ha logikai kifejezés akkor
utasítássorok1
különben
utasítássorok2
Elágazás vége
Pap Gáborné, Zsakó László: Algoritmizálás, adatmodellezés
2015.04.09.
9/30
Algoritmus-leíró eszközök
Mondatszerű leírás
Ha logikai kifejezés1 akkor
utasítássorok1
különben ha logikai kifejezés2 akkor
utasítássorok2
különben ha ...
különben
utasítássorokn
Elágazás vége
Pap Gáborné, Zsakó László: Algoritmizálás, adatmodellezés
2015.04.09.
10/30
Algoritmus-leíró eszközök
Mondatszerű leírás
Elágazás
feltétel1
esetén
feltétel2
esetén
…
feltételn
esetén
egyéb esetben
Elágazás vége
utasítássorok1
utasítássorok2
utasítássorokn
utasítássorokn+1
Pap Gáborné, Zsakó László: Algoritmizálás, adatmodellezés
2015.04.09.
11/30
Algoritmus-leíró eszközök
Mondatszerű leírás
Ciklus amíg logikai kifejezés
utasítássorok
Ciklus vége
Ciklus
utasítássorok
amíg logikai kifejezés
Ciklus vége
Pap Gáborné, Zsakó László: Algoritmizálás, adatmodellezés
2015.04.09.
12/30
Algoritmus-leíró eszközök
Mondatszerű leírás
Ciklus cv=K-tól V-ig
utasítássorok
Ciklus vége
Ciklus cv=K-tól V-ig L-esével
utasítássorok
Ciklus vége
Ciklus cvH
utasítássorok
Ciklus vége
Pap Gáborné, Zsakó László: Algoritmizálás, adatmodellezés
2015.04.09.
13/30
Algoritmus-leíró eszközök
Mondatszerű leírás
Eljárás Eljárásnév(paraméterek):
utasítássorok
Eljárás vége.
Függvény Függvénynév(paraméterek): értéktípus
utasítássorok
Függvénynév := kifejezés
Függvény vége.
Pap Gáborné, Zsakó László: Algoritmizálás, adatmodellezés
2015.04.09.
14/30
Algoritmus-leíró eszközök
Mondatszerű leírás
Művelet Operátornév(paraméterek) név: értéktípus
utasítássorok
név := kifejezés
Eljárás vége.
Pap Gáborné, Zsakó László: Algoritmizálás, adatmodellezés
2015.04.09.
15/30
Pascal programozási nyelv
A Pascal nyelv elemei
Mindent deklarálni kell a felhasználása előtt.
Mindent mindentől pontosvessző választ el.
Műveletek (nem szokásosak): and, or, not, xor, div, mod.
Blokkstruktúra, hatáskör, láthatóság.
Fejlesztői környezet
Geany
Pap Gáborné, Zsakó László: Algoritmizálás, adatmodellezés
2015.04.09.
16/30
Kódolási szabályok
Program
Program:
deklarációk
utasítások
Program vége.
eljárásdefiníciók
Program Név;
deklarációk
eljárásdefiníciók
Begin
utasítások
End.
Pap Gáborné, Zsakó László: Algoritmizálás, adatmodellezés
2015.04.09.
17/30
Kódolási szabályok
Deklarációk
Pap Gáborné, Zsakó László: Algoritmizálás, adatmodellezés
2015.04.09.
18/30
Kódolási szabályok
Típusok:
Egész
Valós
Karakter
Logikai
Felsorolás:
Integer
Real
Char
Boolean
(kons1,... )
(kons1,... )
Speciális egész: longint, byte, word.
Speciális műveletek: succ, pred, ord, shl, shr, <<, >>.
Pap Gáborné, Zsakó László: Algoritmizálás, adatmodellezés
2015.04.09.
19/30
Kódolási szabályok
Típusok:
Rekord(
mezőnév1:Típus1,
…
)
Halmaz(Típusnév)
Record
mezőnév1:Típus1;
…
End
Set of Típusnév
Szöveg
String
Tömb[indextípus:
elemtípus]
Array [indextípus]
of elemtípus
Fájl típus: file of elemtípus; szövegfájl típus: text.
Pap Gáborné, Zsakó László: Algoritmizálás, adatmodellezés
2015.04.09.
20/30
Kódolási szabályok
Elemi utasítások
változó:=kifejezés
Be:változó [feltétel]
Ki:kifejezés
változó:=kifejezés
Repeat
write('kérdés?');
readln(változó);
Until feltétel
write(kifejezés)
vagy
Writeln(kifejezés)
Pap Gáborné, Zsakó László: Algoritmizálás, adatmodellezés
2015.04.09.
21/30
Kódolási szabályok
Elágazások
Ha feltétel akkor
utasítások
Elágazás vége
Ha feltétel akkor
utasítás1
különben
utasítás2
Elágazás vége
If feltétel then
Begin
utasítások
End
If feltétel then
Begin
utasítás1
End
else
Begin
utasítás2
End
Pap Gáborné, Zsakó László: Algoritmizálás, adatmodellezés
2015.04.09.
22/30
Kódolási szabályok
Elágazások
Elágazás
felt1 esetén utasítás1
felt2 esetén utasítás2
…
egyéb esetben utasítás
Elágazás vége
If felt1 then
Begin
utasítás1
End
else if felt2 then
Begin
utasítás2
End
…
else
Begin
utasítás
End
Pap Gáborné, Zsakó László: Algoritmizálás, adatmodellezés
2015.04.09.
23/30
Kódolási szabályok
Elágazások
Elágazás
felt1 esetén utasítás1
felt2 esetén utasítás2
…
egyéb esetben utasítás
Elágazás vége
Case kifejezés of
ért1: utasítás1;
ért2: utasítás2;
…
else utasítás
End
Pap Gáborné, Zsakó László: Algoritmizálás, adatmodellezés
2015.04.09.
24/30
Kódolási szabályok
Ciklusok
Ciklus amíg feltétel
utasítások
Ciklus vége
While feltétel Do
Begin
utasítások
End
Ciklus
utasítások
amíg feltétel
Ciklus vége
Repeat
utasítások
Until not feltétel
Pap Gáborné, Zsakó László: Algoritmizálás, adatmodellezés
2015.04.09.
25/30
Kódolási szabályok
Ciklusok
Ciklus c=K-tól V-ig
utasítások
Ciklus vége
Ciklus c=K-tól V-ig
-1-esével
utasítások
Ciklusvége
For c:=K to V do
Begin
utasítások
End
For c:=K downto V do
Begin
utasítások
End
Pap Gáborné, Zsakó László: Algoritmizálás, adatmodellezés
2015.04.09.
26/30
M21_1_1_10K.png
Kódolási szabályok
Eljárások
Eljárás név(par,...):
deklarációk
utasítások
Eljárás vége.
Függvény név(par,...):típus
deklarációk
utasítások
név:=érték
Függvény vége.
Procedure név(par...);
deklarációk
Begin
utasítások
End
Function név(fpar;...):típus;
deklarációk
Begin
utasítások
név:=érték
End
Pap Gáborné, Zsakó László: Algoritmizálás, adatmodellezés
2015.04.09.
27/30
M21_1_1_10K.png
Kódolási szabályok
Operátorok
Művelet név(par1,par2):típus operator OP(par1,par2)kimenet:típus
deklarációk
deklarációk
utasítások
Begin
név:=érték
utasítások
Művelet vége.
kimenet:=érték
End
Pap Gáborné, Zsakó László: Algoritmizálás, adatmodellezés
2015.04.09.
28/30
Algoritmizálás, adatmodellezés
1. előadás vége