Programozási és szoftverfejlesztési ismeretek I.
A szg. a számokat mindig meghatározott számú számjeggyel ábrázolja Bináris/kettes számrendszer (van feszültség, nincs feszültség) 0 és 1 Programozási és szoftverfejlesztési ismeretek I. Számábrázolás Tizes számrsz. Kettes számrsz.
= =1· · · · · · · · · ·2 0 = = = = = = Programozási és szoftverfejlesztési ismeretek I. Számrendszerek – bináris átváltás 35 : 2 =17,maradék: 1 17 : 2 =8,maradék: 1 8 : 2 =4,maradék: 0 4 : 2 =2,maradék: 0 2 : 2 =1,maradék: 0 1 : 2 =0,maradék: = =
Programozási és szoftverfejlesztési ismeretek I. Számrendszerek – hexa átváltás 0000 = = = = = = A (10) 0011 = = B (11) 0100 = = C (12) 0101 = = D (13) 0110 = = E (14) 0111 = = F (15) Bináris Hexadecimális 9B23
Kiegészítve balról a számot nullákkal, a kívánt mennyiségű számjegyből fog állni Bit - az információ legkisebb egysége (kettes számrendszer egy számjegyének felel meg) Byte – 8 bit 1 kB=2 10 bit = 1024bit Szó - egyszerre feldolgozható bitek száma (pl.: 32 bites processzor) 2 10 = Programozási és szoftverfejlesztési ismeretek I. Számábrázolás
utasítássorozat, részletes útmutatás, mely valamely probléma megoldására alkalmas struktúráját szekvenciák, szelekciók illetve iterációk adják, amelyeket tetszőleges mélységben egymásba lehet ágyazni algoritmus leírásának –egyértelműnek, –pontosnak, –lépésenként végrehajthatónak kell lennie Cél: bemenő (input) adatokból kimenő (output) adatokat állítson elő Programozási és szoftverfejlesztési ismeretek I. Algoritmus
Segítségével a program viselkedését, folyamatát részletekbe menően ábrázolhatjuk – algoritmus leíró eszköz Nyilak, csomópontok –Tevékenység csomópont: Tevékenység végrehajtódik –Döntés csomópont Igaz, hamis elágazás Programozási és szoftverfejlesztési ismeretek I. Folyamatábra
Egyéb jelölések: Példa: ciklusutasítások megvalósítása Elöltesztelős ciklus Hátultesztelős ciklus i : ciklusváltozó i < 10 : feltétel Programozási és szoftverfejlesztési ismeretek I. Folyamatábra – folyt.
Programozási és szoftverfejlesztési ismeretek I. Folyamatábra – Példa 1 Készítsen folyamatábrát téglalap kerületének számítása! Olvassa be az oldalakat. Ellenőrizze a program, hogy az oldalakra pozitív értéket adtak-e meg! Számítsa ki a kerületet. Adja vissza az eredményt!
Programozási és szoftverfejlesztési ismeretek I. Folyamatábra – Példa 1
Elemzés – problémaelemzés, helyzetfelmérés, igényfelmérés, célok felállítása, idő és költségbecslés Tervezés – adatstruktúrák és algoritmusok kialakítása, ez a legnehezebb, legösszetettebb része a fejlesztésnek Kódolás – az elkészült terv implementálása, azaz a forráskód elkészítése adott nyelven Tesztelés – próbafuttatások végzése, ilyenkor merülnek fel a felhasználás közbeni problémák, melyeket orvosolni kell; szélsőséges helyzetek vizsgálata Dokumentálás – igen fontos része a fejlesztésnek az egyes fázisok pontos leírása, a felhasználói leírás; ez a továbbfejlesztésnél, felhasználásnál játszik fontos szerepet Programozási és szoftverfejlesztési ismeretek I. Szoftverfejlesztés lépései
Szimbólumok (műveleti, relációs jelek, stb.) Fenntartott szavak (a rsz. által használt kulcsszavak) Azonosítók (programnév, változók, konstansok, eljárások, függvények nevei) Címkék (label kulcsszóval adható meg, goto utasítással elérhető) Elválasztójelek (szóelválasztó a szóköz, sorvég jel a pontosvessző, a program végén lévő end után pont) - lásd késöbb - Programozási és szoftverfejlesztési ismeretek I. A Pascal nyelv építőelemei
program nev; {Programfej} uses egysegnev; {Beépített utasítások} var valtozonev:tipus; {Deklarációs rész} {ide kerül a konstans, eljárás, függvény deklaráció is} begin {Végrehajtó rész, főprogram} programtörzs end. Programozási és szoftverfejlesztési ismeretek I. A Pascal program szerkezete
Egy hely, ami alkalmas egy érték tárolására a számítógép memóriájában Név - nevet kap, mely segítségével a későbbiekben a változóban lévő objektumra hivatkozni lehet Érvényességi kör - lokális változók - globális változók Tartalom, típus - szám, szöveg, boolean kifejezés, konstans, stb. - fontos megadni, hogy mekkora memóriaterületen tároljuk az adatot Programozási és szoftverfejlesztési ismeretek I. Változók
Programozási és szoftverfejlesztési ismeretek I. Változó típusok Egész típusok shortint8 bitelőjeles integer16 bitelőjeles-32768…32767 longint32 bitelőjeles … byte8 bitelőjel nélküli word16 bitelőjel nélküli Valós típusok real6 bájt11-12 j.-2.9E E38 single4 bájt7-8 j.-1.5E E38 double8 bájt15-16 j.-5.0E E308 Karakter típuschar1 bájtASCII( ) Karakterlánc típus stringASCIIh max:255 Logikai típusboolean1 bájt0, 1False,True
Változó var valtozonev1 : tipus; valtozonev2, valtozonev3 : tipus; Tömb nev : array[1..10] of integer; matrix : array[1..10,1..10] of integer; Típusdefniálás type nev = set of elemek felsorolása; Record típus type nev = record a,b,c,d:típus; end; Konstans const konstansvaltozo = ertek; Programozási és szoftverfejlesztési ismeretek I. Delkaráció - szintaktika
Elöl tesztelős ciklus while kifejezes do utasitas; Programozási és szoftverfejlesztési ismeretek I. Iteráció - szintaktika
hátul tesztelős ciklus repeat utasitas until feltetel; Programozási és szoftverfejlesztési ismeretek I. Iteráció - szintaktika
növekményes ciklus fel for kezdo to veg do utasitas; növekményes ciklus le for kezdo down to veg do utasitas; Programozási és szoftverfejlesztési ismeretek I. Iteráció - szintaktika
választás case kifejezes of ertek:utasitas; … else utasitas; end; Programozási és szoftverfejlesztési ismeretek I. Szelekció - szintaktika
feltételes utasítás if feltetel then utasitas; if feltetel then utasitas else utasitas; Programozási és szoftverfejlesztési ismeretek I. Szelekció - szintaktika
maradékos osztás mod egészosztás div és and léptetés balra shl igaz, hamis true, false Programozási és szoftverfejlesztési ismeretek I. Műveletek
Függvények - programrészleteket foglal össze egy egységbe - visszatérési értéke van function nev(argumentumok):tipus; Pl.: Abs(numerikus kifejezés); függvény valós vagy egész szám abszolút értékét adja vissza Programozási és szoftverfejlesztési ismeretek I. Függvények, eljárások
adatbevitel Readln[(változóaz.)]; Read[(változóaz.)]; megjelenítés képernyőn Write[(kifejezés)]; Writeln[(kifejezés)]; képernyő pozíció GotoXY(Xpoz, Ypoz); képernyő törlés ClrScr; képernyő sor törlése ClrEol; /crt unit/ véletlen szám (0- h) Radom(h); négyzet Sqr(i); négyzet gyökvonás Sqrt(i); kerekítés Round(i); Programozási és szoftverfejlesztési ismeretek I. Függvények - példa
1. Olvasson be két számot és az összegükkel térjen vissza ! Programozási és szoftverfejlesztési ismeretek I. Feladatok program osszeg; uses newdelay, crt; var a,b,c: integer;{bekért számok és eredmény tárolására} begin clear; c:= 0; {lenullázott kezdőérték} readln(a); {beolvassuk az egyik adatot } readln(b); {beolvassuk a következő adatot } c:= a+b; {összeg } writeln(‘A megoldás: ’,c); {kiírjuk a végeredményt} readkey; end.
Írás write(fájl_változó, kifejezéslista); writeln(fájl_változó, kiflista); Olvasás read(fájl_változó, kifejezéslista); readln(fájl_változó, kifejezéslista); Programozási és szoftverfejlesztési ismeretek I. Szöveges fájlok – I/O műveletek