Internet ablakok Android

Előadás programozás témában Pascal nyelven. Pascal bemutató programozási környezet

1 csúszda

"ISMERET A PASCAL NYELVVEL" LECKE A TÉMÁBAN: Matematika és számítástechnika tanár, MBO USOSH № 2, Kalach-on-Don, Volgograd régió Anisimova N.А.

2 csúszda

AZ ÓRA CÉLJA: a Turbo Pascal nyelv program felépítésének, operátorainak, tervezési szabályainak és írásjeleinek megismerése.

3 csúszda

TURBO PASCAL programozó rendszer. A Pascal egy univerzális programozási nyelv, amely sokféle információfeldolgozási probléma megoldását teszi lehetővé.

4 csúszda

1) a Turbo Pascal programozási nyelv; 2) integrált programozási környezet (fordító: gépi kódra fordítja a programot és az interpreter: parancsokat hajt végre) A TR PROGRAMOZÓ RENDSZER FELÉPÍTÉSE:

5 csúszda

1) latin betűk - nagy és kicsi; 2) az orosz ábécé betűi - nagy és kicsi; 3) számok - 0-tól 9-ig; 4) műveleti jelek - +, -, /, *, =, =; 5) elválasztó jelek - () (); ... , '_% & #, stb. A TURBO PASCAL programozási nyelv ábécéje

6 csúszda

7 csúszda

Programfejléc Változó deklarációs szakasz Operátor rész (fő rész)

8 csúszda

A változóleírás szakasz a Var szóval kezdődik, amelyet az azonos típusú változók vesszővel elválasztott listája követ. A Pascalban két numerikus típus létezik: Real és Integer. A változónevek latin betűkből és számokból állnak, az első karakter egy betű. Az azonos típusú változók VAR listája: INTEGER; azonos típusú változók listája: REAL;

9 csúszda

Az operátori rész a program fő része. A szakasz elejét és végét a BEGIN és END szolgáltatásszavak jelölik, amelyek operátori zárójelek. Az algoritmus Pascalban írt összes utasítása (operátorok) e szavak közé kerül. Az operátorelválasztó pontosvessző. A program legvégére pontot tesznek. BEGIN READ (bejegyzési lista); READLN (bejegyzési lista); változó: = aritmetikai kifejezés; ÍRÁS (kimeneti lista); WRITELN (kimeneti lista); VÉGE.

10 csúszda

A kezdeti adatok bevitele a billentyűzetről a READ vagy a READLN (olvasás) operátor által történik. A READLN utasítás csak annyiban tér el a READ-tól, hogy az adatbevitel után a kurzor egy új sor elejére kerül. változó: = aritmetikai kifejezés; ÍRÁS (kimeneti lista); WRITELN (kimeneti lista); VÉGE. OLVASSA (bejegyzési lista); READLN (bejegyzési lista);

11 csúszda

változó: = aritmetikai kifejezés; Aritmetikai hozzárendelés operátora: bal oldalon egy változó, jobb oldalon egy kiértékelendő számtani kifejezés található. Összetett karakter: = „hozzárendelésként” olvasható. Először az aritmetikai kifejezést értékeljük ki, majd a kapott értéket hozzárendeljük a változóhoz.Példa: a: = sqr (x) + sin (y) / (12 * z + 5)

12 csúszda

mod div / * - + SIN (x) COS (x) SQR (x) SQRT (x) ABS (x) Sin x Cos x x 2 | x | x összeadás kivonás szorzás osztás egész szám osztás Az osztás maradéka

13 csúszda

A számtani kifejezések írásának szabályai A számtani kifejezést egy karakterláncba írjuk Nem lehet két számtani művelet előjelét egy sorba tenni Nem hagyhatja ki a szorzójelet a tényezők között Csak zárójeleket használunk A műveletek sorrendjét a prioritásuk határozza meg () F ( x) * / + - div mod

14 csúszda

Az eredményeket WRITE vagy WRITELN (írás) adja ki. Az eredmények a listában szereplő sorrendben jelennek meg. A WRITE és WRITELN utasítások végrehajtásában az a különbség, hogy a WRITELN utasítás kiadása után a kurzor egy új sor elejére lép. ÍRÁS (kimeneti lista); WRITELN (kimeneti lista);

15 csúszda

1. feladat: AXby 6) TU154 2) R&B 3) 4 kerék 4) Vasya 5) „PesBarbos” 7) 8) _ABBA 9) A + B

16 csúszda

program zadacha1; var a, b: egész szám; x, y: valós; kezdődik a: = 5; 10: = x; y: = 7,8; b: = 2,5; x: = 2* (a + y); a: = b + x; vége. a változó nevének az előjeltől balra kell lennie: = az egész szám és a tört részek vesszővel vannak elválasztva, és típus nem illik Típushibák 2. FELADAT: Hibák keresése a programbejegyzésben.

PASCAL BEVEZETÉS A PROGRAMOZÓ NYELVBE 2006 TANFOLYAM FELÉPÍTÉSE felület és alapvető definíciók; a program felépítése; szöveges információk megjelenítése; adatbevitel a billentyűzetről; rendszermodulok csatlakoztatása és használata; alapvető adattípusokkal (egész, valós, karakterlánc, tömb, fájl) dolgozni, grafikával dolgozni; szubrutinok (eljárások és funkciók) használata; modulok segítségével. 2 PASCAL KÖRNYEZETI INTERFÉSZ A Turbo Pascal 7.0 programozási nyelv egy shellbe van zárva. Tartalmaz: több ablakos szövegszerkesztőt; programok linkerje; programhibakereső; súgórendszer; fordítóprogram. 3 PASCAL KÖRNYEZET 4 Megnyitott fájlok listája: Alt + 0 Gyors hozzáférés a megnyitott fájlokhoz: Alt +<№ окна> ALAPVETŐ DEFINÍCIÓK A fenntartott szó egy speciális szó, amelyet a programozási nyelv a program logikai területeinek elkülönítésére használ. Az operátor egy nyelvi parancs, amely valamilyen műveletet hajt végre (feltétel ellenőrzése, ciklus szervezése stb.) Az azonosító a programozó által szabadon választott név a programelemekhez. Az adattípus egy azonosító jellemzője, amely meghatározza az általa felvehető értékkészletet (egész vagy tört számok, karakterláncok, logikai kifejezések stb.). 5 A PROGRAM ÁLTALÁNOS FELÉPÍTÉSE Program Programnév; A beépülő modulok szakaszát használja; Címkéket leíró rész; Const konstansokat leíró szakasz; A natív adattípusokat leíró típusszakasz; A Var a változó deklarációs szakasza; Kezdés A program fő része; Vége. Minimális kód: 6 KIJELZÉS A KÉPERNYŐN Az információk képernyőn történő megjelenítéséhez a következő operátorokat kell használni: Write vagy Writeln. F9 - Fordítás + ellenőrzés Ctrl + F9 - F9 futtatása → Ctrl + F9 - hibák elkerülése Programvégrehajtási eredmények megjelenítése 7 KIJELZÉS A KÉPERNYŐN Utasítások használatának eredménye: WRITE "Üres" A WRITELN utasítás egy üres sort ad hozzá WRITELN 8 GYAKORLAT Információk megjelenítése az alábbiak szerint Hello ! Örülök, hogy látlak! Hívjon számítógépet. Felhasznált anyag: Kimeneti utasítások: Write, WriteLn "Üres" WriteLn utasítás; beszúr egy üres sort. 9 TOVÁBBI MODULOK CSATLAKOZTATÁSA A további modulok további operátorok bevezetésével bővítik a programjainak képességeit. A modulok csatlakoztatása a Felhasználások részben történik. Program Saját; Modul1, Modul2; ____________________________ _______________________________ ____________________________ _____________________________ 1. MODUL 1. erőforráskészlet ... N MODUL Modulok: Rendszer saját erőforráskészlet N Tiszta szöveges képernyő Várakozás billentyűlenyomásra CRT 10 nevű beépülő modul OUTPUT TO ANY SCRXEENY (Ahol a képernyőre lép): X, Y - az ismerősség koordinátája a képernyőn. X értéket 1 és 80 között vehet fel, Y értéket 1 és 25 között. Például: Program Saját_program; (Modul csatlakozás) Crt-t használ; Kezdje a ClrScr-t; (Adatkimenet) GotoXY (1, 1); írás ("▒"); GotoXY (80, 1); írás ("▒"); GotoXY (1, 25); írás ("▒"); GotoXY (80, 25); írás ("▒"); (Képernyő késleltetés) ReadKey; Vége. A program megjeleníti a „▒” szimbólumot (kód: 177) a képernyő sarkaiban. 11 KIMENETI SZÍNES TextColor (Színes); Meghatározza a karakterek színét. TextBackground (Színes); Meghatározza az ismerősség színét. Program MyProgram; Crt-t használ; Kezdje TextColor (piros); TextBackGround (kék); Írj ("Az udvaron"); TextColor (fehér); Írj ("fű"); TextColor (zöld); TextBackGround (sárga); Írj ("a fűben"); TextBackGround (bíbor); Írd ("tűzifa. "); End. 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Colors lila - barna - világosszürke - sötétszürke - kék - világoszöld - világos cián - rózsaszín - világos lila - sárga - fehér ADATKEZELÉS ADATKEZELÉS AZONOSÍTÓK 14 AZ ADATTÍPUS BEÁLLÍTÁSA Adatazonosítás Egyértelmű műveletek az adatokon MUNKA ÉRTÉKEK Adatműveletek AZONOSÍTÓK Az azonosító kifejezést konstansokra, változókra, függvényekre, eljárásokra, komponensekre és egyéb felhasználó által definiált objektumokra használják. .nem tartalmazhat több szót sem egyezhet meg egyik kulcsszóval sem. Az azonosítók nem különböztetik meg a kis- és nagybetűket ... Hibás azonosítók: Adat Saját nevem 2Tömb Var ((((orosz karakterek használatosak) Szóköz van amit vehet (egész vagy tört számok, karakterláncok, logikai kifejezések stb.). 16 INTEGRÁLIS ADAT TÍPUS 17 A lehetséges értékek véges halmaza típus byte shortint word integer longint range 0..255 -128..127 0..65535 -32768..32767 -2147483648..2147483647! A tartományon kívül eső hibát eredményez! méret VÁLTOZÓK DEKLARÁCIÓJA A változó olyan azonosító, amely a program működése során értéket (számot, karakterláncot stb.) képes tárolni és megváltoztatni. Szintaxis: Var<имя переменной> : <тип переменной>; Program Program_neve; A beépülő modulok szakaszát használja; A Var a változó deklarációs szakasza; Kezdés A program fő része; Vége. Fenntartott hely a számítógép memóriájában 3 változó számára 18 ÉRTÉKEK BEÁLLÍTÁSA VÁLTOZÓKHOZ Egy változó értékének beállításához a hozzárendelési operátort kell használni: = Rekord szintaxisa:<Переменная> := <Значение>; Az A nevű változó (egész szám) a következő értékkel van kitöltve: 3 19 MŰVELETEK EGÉSZ SZÁMÚ VÁLTOZÓKKAL 20 Aritmetikai műveletek: + - * / Szabványos műveletek: div | mod | sqr Nem használható egész típusokkal Az S nevű változó az X és Y változókban tárolt értékek összegével van kitöltve. Megjelenik az S nevű változóban tárolt érték 21. GYAKORLAT 1. Írjon egy programot, amely megjeleníti a 15 és 20 számok szorzása 2. Írjon programot, amely megjeleníti az f 2 x 3 y függvény értékét x = 11, y = 3 esetén Felhasznált anyag: A változók deklarálása a Var szekcióban Az egész típust Integernek nevezzük A szintaxis Egy változó értékének hozzárendelése a következő:<Переменная> := <Значение> ; Minden operátort egy jel követ; (kivéve az elejét és az utolsó végét) VALÓS ADATTÍPUS Értékkészlet√ √ Sorrendi típus Valós típus Egyirányú kompatibilitás: Valós egész Egész Valós! A tartományon kívül eső és a kompatibilitási szabályok be nem tartása hibát eredményez! 22 MŰVELETEK VALÓS VÁLTOZÓKRA 23 Standard műveletek: pi | Sqrt | Bűn | Cos | Abs | Exp | Ln Round | Csonka (valós → egész) Például (X, S - típusú Real): X: = pi / 3; S: = Sin (X) * 100; Írás (Kerek (S)); Az S nevű változóba beírjuk az X és Y változókban tárolt értékek arányát. A szám helye és a karakterek száma a szám törtrészében E - a szám hatványát jelöli . 5.6E-5 = 5.6 · 10-5 SOR ADATTÍPUS 24 A karakterláncok rendezett karakterkészletek. A sorok aposztrófok közé vannak zárva. A karakterláncok nem kompatibilisek az egész és valós típusokkal. Típus Tartomány String 255 karakter (a karakterláncok alapvető operátorai) + (összefűzés) Hossz (S); (sorhossz) Például: X: = 'Vasya'; Írd (’A te nevedben’, Hossz (X), ‘betűk’); S: = X; X: = S; GYAKORLAT Írjon programot, amely kiírja a 12,89 és 0,22 elosztásának eredményét, a tizedesvessző után csak három jelentős számjegyet jelenít meg a következő formátumban: az első szám elosztása a másodikkal = eredmény Írja (X: 1: 3, 'razdelit na', y: 1 : 3, '=' z: 1: 3) Felhasznált anyag: A karakterlánc típus neve String A karakterláncok oposztrafákba vannak zárva A karakterláncok összefűzése a + jelen keresztül történik A megjelenítési operátorban a különböző típusokat vessző választja el 25 KEYBOARD BEMENET 26 Az információk billentyűzetről történő beviteléhez a beviteli operátort kell használnia: Read vagy ReadLn. Szintaxis: Olvasás (N1, N2, ... Nn); Ahol N1, N2, ... Nn változók (egész, valós, karakterlánc) Az X változóban a billentyűzetről beírt érték kerül be Az érték megadása után meg kell nyomni az Enter billentyűt Ha az operátorban több változó is szerepel , szóközzel vagy az Enter megnyomásával írhatók be. 27. GYAKORLAT 1. Írjon egy "mini-számológépet", amely kiszámolja a billentyűzetről beírt két szám összegét. 2. Írjon egy programot, amely megkérdezi a nevét, és miután beírta a nevét, megjelenik egy üdvözlő üzenet. Például, ha megadta a Ványa nevet, a program a következő kifejezést jeleníti meg: Hello, Vanya !!! Felhasznált anyagok: Bemeneti utasítások: Read, ReadLn OPERATORS FELTÉTELES NYILATKOZAT 29 A feltételes utasítás "elágazást" valósít meg, vagyis egy bizonyos feltétel igazságától vagy hamisságától függően megváltoztatja az utasítások végrehajtási sorrendjét. Állapot ellenőrzése NEM 1. lépés Kimegyek a strandra Esik az eső IGEN 2. lépés viszek egy esernyőt 3. lépés Elmegyek moziba A FELTÉTELEK ELLENŐRZÉSE Összehasonlítási műveletek:> - tovább< - меньше = - равно >= - több vagy egyenlő<= - меньше или равно <>- nem egyenlő 30 Logikai műveletek: Nem És Vagy - Nem -És - Vagy Például: Ha a magasságom> Petit magassága, akkor magasabb vagyok Petitnél Ha (esik az eső) Vagy (esik a hó), akkor maradok otthon Ha Nem ((esik az eső ) ÉS (szél)), Akkor megyek sétálni Logikai műveletek használatakor a feltételek zárójelben vannak FELTÉTELES NYILATKOZAT ÁTTEKINTÉS Rövid forma: Ha<условие>azután<оператор>; Például, ha az X változó értéke kisebb, mint 0, akkor az 1-es érték ugyanahhoz a változóhoz lesz írva: Ha X<0 Then X:= 1; Полная форма: If <условие>azután<оператор_1>más<оператор_2>; Például: Ha X> 5 Akkor X: = X - 1 Egyéb X: = X + 1; Csak egy utasítás használható a Akkor és más előtte, jel után; hiányzik 31 32. GYAKORLAT 1. Írjon programot, amely dollárban és euróban kap egy bevitelt, majd megjeleníti, hogy melyik pénznemben nagyobb az összeg (1 dollár = 28 rubel, 1 euró = 35 rubel.) 2. Írjon programot , amely három számot vesz be bevitelként, majd ezek közül a maximumot jeleníti meg. Felhasznált anyag: Feltételes állítás formái: Ha<условие>Azután<оператор>; Ha<условие>Azután<оператор_1>Más<оператор_2>; Mielőtt Else jel; not put Összehasonlítási műveletek:>< = <> >= <= Логические операции: Not Or And ОПЕРАТОРНЫЕ СКОБКИ Если после слов Then или Else необходимо записать несколько операторов, то их заключают в операторные скобки (составной оператор). Операторные скобки начинаются словом Begin, а заканчиваются словом End; Например: If Z >0 Ezután kezdődik X: = 1; Y: = -1; WriteLn (’Beérkezett információ’); End Else WriteLn ('Hiba'); 33 SELECT STATE CASE A select utasítás a beágyazott feltételes utasításokból származó konstrukciók lecserélésére szolgál. Kisbetűk szintaxisa<порядковая_переменная>nak,-nek<значение_1> : <оператор_1> ; <значение_2> : <оператор_2> ; ……… <значение_N> : <оператор_N>Más<оператор_N+1>; Vége; A kezelői zárójelek használhatók a select utasításban Választható sor 34 SELECTOR CASE Case Diák magassága 16..30: Ön általános iskolás; 31,32,33: 5-6. osztályba jársz; 34..50: Ön gimnazista.Vesszővel az értékeket, kettősponttal a tartományt választjuk.Egyébként Ön egyértelműen nem diák; Vége; -128 ..- 1 x esete: writeln (’Negatív’); 0: writeln (’Nulla’); 1..127: writeln (’Pozitív’) Else WriteLn (’Tartományon kívül’); Vége; GYAKORLAT Írjon programot, amely kap egy számot, és megjeleníti a hét megfelelő napját. Például, ha beírta a 2-es számot, a programnak ki kell nyomtatnia a „kedd” szót. Ha a szám meghaladja az 1...7-et, akkor egy üzenetet kell megjeleníteni, hogy nincs ilyen nap. Felhasznált anyag: Kiválasztási nyilatkozat: Case<порядковая_переменная>nak,-nek<значение_1> : <оператор_1> ; ……… <значение_N> : <оператор_N>; Más<оператор_N+1>; Vége; 36 CIKLUSOK 37 A ciklikus algoritmusok azok az algoritmusok, amelyekben egyes operátorokat többször is végrehajtanak ugyanazokkal a módosított adatokkal (például a számok többszörös összeadása révén történő szorzásának eljárása). A Pascalban három ciklusutasítás létezik: For (paraméteres ciklus vagy adott számú ismétlés esetén) While (egy WHILE ciklus) Repeat (TO ciklus) Ha ismert az ismétlések száma, jobb egy hurokoperátor egy paraméterrel. CIKLUS 38-AS PARAMÉTERTEL Ciklus adott ismétlésszámhoz a paraméter növekvő vagy csökkenő értékével For (pairs): = (start_zn) To (end_zn) Do (operátor); Cikk törzse Megjegyzések A paraméter egész típusú; A kezelői zárójeleket hurokban használhatja; A ciklus törzsében nem módosíthatja a ciklusparamétert; A ciklusparaméter eggyel nő; Kezdő érték> Végérték, ellenkező esetben a ciklus törzsét figyelmen kívül hagyja; A paraméter csökkentéséhez a To helyett használja a DownTo gombot. CIKLUS A 39-ES PARAMÉTERTEL Írjon egy programot, amely egész számokat kér (a, b), egy := <нач_зн>Nak nek<кон_зн>Tedd<оператор>; A paraméter egész típusú (általában Integer); A kezelői zárójeleket hurokban használhatja; A ciklusparaméter eggyel növekszik, 40 WHILE CIKLUS A While Loop először a feltételt ellenőrzi, és csak akkor, ha valóban végrehajtja a hurok törzsét. Míg (feltétel) do (operátor); Az alább írt kód törzsében a ciklus soha nem kerül végrehajtásra: x: = 1; Míg x> 1, akkor x: = x-1; Végtelen hurkot kaphat. Például: x: = 1 Míg x> 0 nem x: = x + 1; 41 CIKLUS KÖZBEN Olyan program, amely megjeleníti a számok összegét a-tól b-ig. Ha nincs lenyomva, kezdje el a késleltetést (2000); Vége; A ciklus addig működik, amíg az f változó nagyobb nem lesz a b értéknél. 42 43. GYAKORLAT 1. A kozmonauták úgy döntöttek, hogy nyírfákat ültetnek a Holdra, és minden évben megduplázzák a nyírfák számát, az első évben 3 nyírt ültettek. Nyomtassa ki a képernyőre, hogy a nyírfák száma hány év alatt haladja meg a 10 000-et 2. Írjon programot, amely meghatározza a billentyűzetről beírt számok maximumát (a számok bevitele 0-ra végződik). Alább látható a javasolt képernyőelrendezés: Írja be a számokat. Írjon be 0-t. 89 15 0 Maximum 89 a bevitel befejezéséhez Felhasznált anyag: While Loop utasítás: While<условие>csináld<оператор>; A While Loop először a feltételt ellenőrzi, és csak akkor, ha valóban végrehajtja a ciklus fő törzsét. ISMÉTLÉS CIKLUS 44 Az Ismétlés ciklus először a hurok törzsét hajtja végre, és csak ezután ellenőrzi az Ismétlés feltételt (hurok-test) Amíg (feltétel); Nincs szükség összetett operátor használatára az Ismétlés ciklusban, mert ez a konstrukció nem egy, hanem több operátor végrehajtását teszi lehetővé a Repeat és az Until szavak közé zárva. CIKLUS ismétlése Olyan program, amely a számok összegét a-tól b-ig jeleníti meg. A hurok addig fut, amíg az f változó nem nagyobb, mint a b érték. Szinte mindig használhatunk egy másik ciklustípus helyett mást GYAKORLAT Számítsuk ki az y x 3 x 2 16 x 43 függvény értékét x -4-től 4-ig terjedő tartományban, bezárólag, 0,5 lépéssel! Felhasznált anyag: Loop utasítás ismétlése: Ismétlés<тело_цикла>Amíg<условие>A Repeat ciklus először a ciklus törzsét hajtja végre, és csak ezután ellenőrzi a feltételt 47 CIKLUSOK MEGSZAKÍTÁSA 48 Ciklikus operátorok rugalmas vezérléséhez a következő eljárásokat alkalmazzuk: Break - kilépés a ciklusból; Folytatás - a következő huroklépés befejezése; Példák: Keresse meg azt a minimális i számot, amelyre az 1-től i-ig terjedő számok összege nagyobb, mint 100. Amint s (1-től i-ig terjedő számok összege) nagyobb lesz 100-nál, a break utasítás aktiválódik, és a ciklus kilépett. s: = 0; I: = 1-től 100-ig kezdje, ha s> 100, majd törje meg; s: = s + i; vége; Writeln (’a minimális i szám, hogy (1 + 2 + .. + i)> 100 az’, i); 10 számot ír be a billentyűzetről, és csak a pozitív összegeket számolja a ciklus. Ha a szám negatív, akkor a folytatódik utasítás végrehajtásra kerül, amely megkezdi a cikluson keresztüli következő lépést. s: = 0; I: = 1-től 10-ig kezdje a Readln-t (k); ha k<0 then Сontinue; s:= s + k; end; Writeln (‘Сумма положительных чисел равна ’,s); МАССИВЫ МАССИВЫ 50 Простые типы: одна переменная – одно значение Структурированные типы: одна переменная – несколько значений Массив – это фиксированное количество значений одного типа. Доступ к конкретному значению осуществляется через индекс. Переменная массива Структура массива: A= Доступ к массиву: 0 1 2 3 Индекс 9 7 0 0 Значения <Имя массива> [ <Индекс>] A: = 7; TÖMBÖK Egy tömb deklarálva van a Var szekcióban: (Név): Tömb [(start_zn) .. (end_zn)] of (type); Példák deklaráló tömbökre: Var A: Array of String; B: Valódi tömb; С: Egész számok tömbje; Példák tömbök értékekkel való kitöltésére: A: = 'Vasya'; A: = 'Petya'; A: = 'Mása'; A: = 'Olesya'; Írj egy); f esetén: = 1-10 do C [f]: = f * 2; f esetén: = 1-től 10-ig tegye a WriteLn-t (C [f]); 52. GYAKORLAT Írjon programot, amely 7 egész számot kér a felhasználótól, és ezeket egy tömbben tárolja. A tömb a maximális elemet tartalmazza, és megjelenik a képernyőn. Például: Írjon be 1 számot: 4 Írjon be 2 számot: 8 Írjon be 3 számot: 9 Írjon be 4 számot: 2 Írjon be 5 számot: 4 Írjon be 6 számot: 5 Írjon be 7 számot: 0 Maximális szám: 9 Felhasznált anyag: Tömb deklarációk:<Имя>: Array [<нач_зн> … <кон_зн>] nak,-nek<тип>; Tömb hozzáférés:<Имя массива> [ <Индекс>] VÉLETLENSZERŰ SZÁM GENERATOR (RNG) Véletlen számok generálásához a programban használja a következő operátorokat: Randomize - RNG inicializálás. Csak a program legelején deklarálják; Véletlenszerű – véletlen számot generál 0 és 1 között (valós típus); Véletlenszerű (N) - véletlen számot generál 0-tól N-1-ig (egész típusú); 53 TÖBBdimenziós tömbök 54 A tömb egyes dimenzióihoz tartozó intervallumok listája (Név): Tömb [(start_zn) .. (end_zn), (start_zn) .. (end_zn), (stb.)] of (type); Példa egy 4 sorból és 6 oszlopból álló kétdimenziós tömb (mátrix, táblázat) deklarálására: Var A: Egész számok tömbje; Példa egy tömb kitöltésére: i esetén: = 1-től 4-ig do j esetén: = 1-től 6-ig do A: = i + j; Ai, j 2 3 4 5 3 4 5 6 4 5 6 7 5 6 7 8 6 7 8 9 7 8 9 10 GYAKORLAT Írjon programot, amely kitölt egy kétdimenziós tömböt -10 és 20 közötti véletlen számokkal, és megjeleníti az összegeket az asztal átlójában található elemek közül ... Felhasznált anyag: RNG inicializálás: Véletlenszerűvé tétel Véletlenszerű szám 0-tól N-1-ig: Véletlen (N) 55 FÁJLOK MUNKAVÉGZÉSE FÁJLOK MŰKÖDÉSE 57 Fájl: Fájl eleje Index) [e-mail védett]$ ku⌂ | "Hd9v * 9 (L * M = BYGRMxduV █ 8e * BOtCDrTVzHGJ1aBD> @ B \ (r8sE) █: wcJvAmRa" v / .Wai; $ `SWI = y2] suB █ ^.Pcq>] o (QkВ8 █ cu<6`8Z":M^1;:8ANwak;,b2-4…u5 █ 2]suB?Hq>vF (LmBcAdz4wcP] o (QkВ █ 8c8df] e "v, su> +), VAEFБjFV, W $ Q- █ y0G1GjN $ -eБ | sqZ0`QnВ% \ БD% █ - terminátor █ - sorzáró ∈ Létrehozás, olvasás, írás, bezárás MŰVELET FÁJLOKKAL A műveletek sorrendje fájlokkal való munka során: 1. Fájlváltozó (FP) deklarálása 2. Az FP társítása egy fájllal 3. Fájl megnyitása olvasásra / írásra; 4. Műveletek fájllal 5. Fájl bezárása (a fájl és az FP közötti kapcsolat is megszakad) 1. Az FP nyilatkozata<Имя>: Fájl<тип> ; <Имя>: Szöveg; Var f: Szöveg; h: Egész szám fájlja; 2. Az FP társítása a hozzárendeléssel (<ФП>, <имя файла>); Hozzárendelés (f, ‘c: \ my \ Data.ghm’) 58 FÁJLOK MŰKÖDÉSE 3. Fájl megnyitása olvasáshoz/íráshoz Reset (<ФП>); - megnyitja a fájlt olvasáshoz Újraírás (<ФП>); - megnyit egy fájlt írásra 4. Műveletek a fájllal Read (<ФП>, <П1> , <П2>, ...); - változókba olvas<П1>, <П2>stb. egy-egy elemet a mutató pozíciójából. Ír (<ФП> , <П1> , <П2>, ...); - beírja a változók értékeit a fájlba<П1>, <П2>stb. egy-egy elemet a mutató pozíciójából. EoLn (<ФП>); - Igaz értéket ad vissza, ha elérjük a karakterlánc végét. EoF (<ФП>); - Igaz értéket ad vissza, ha elérte a fájl végét. 5. A fájl bezárása Close (<ФП>); 59 MUNKA FÁJLOKKAL Egyszerűsítse a programot, ha tudja, hogy a mátrix 5x5 (használja a For ciklust) 60 61. GYAKORLAT Írja meg a "DOM-3" programot. Az első fájl a névelős eset résztvevőinek nevét tartalmazza. A másodikban ugyanazok a nevek, de ragozásban. A harmadikban - az érzések vagy valamilyen cselekvés kifejezéseinek listája (szeret, nem szeret, csókol, harapni akar, imád, tisztel, utál, látni akar, ölelés). A programnak véletlenszerűen információt kell vennie ezekből a fájlokból, és újat kell létrehoznia a következő elv szerint:<имя в им. пад> <чувство/действие> <имя в вин. пад> Olga szereti Sergeyt Oleg látni akarja, hogy Roman Katya tiszteli Nastyát stb. Felhasznált anyag: Operátornevek: Hozzárendelés, Újraírás, Visszaállítás, Írás, Olvasás, Bezárás. GRAFIKA GRAFIKA A Pascal grafikával való munkához két fájlra van szükség – a graph.tpu modulra és az egavga.bgi grafikus illesztőprogramra. Az első a \ UNITS könyvtárban, a második pedig a \ BGI-ben található. ! Egavga.bgi driver. Exe fájl futtatásakor kötelező! A rajzoláshoz: 1. csatlakoztassa a GRAPH modult (a Felhasználások részben); 2. inicializálja a grafikát (InitGraph); 3. lerajzol valamit; 4. grafikus mód bezárása (CloseGraph) 63 GRAFIKA Grafikus mód inicializálása Vonalrajz. A toll a (0,0) ponttól a (639, 479) pontig mozog. PROGRAM Primer_1; Graphot használ, crt; Var Gd, Gm: egész szám; BEGIN Gd: = 0; InitGraph (Gd, Gm, 'd: \ BP \ bgi "); Line (0,0,639,479); ReadKey; CloseGraph; END. 639 pixel Koordinátarendszer 479 pixel 64 Grafikus mód bezárása 65. GYAKORLAT 1. 2. Rajzoljon a képernyő közepére egy téglalapot, amelynek oldalai kétszer kisebbek, mint a képernyő megfelelő oldalai Felhasznált anyag: Grafikus modul: Grafikon Grafikai inicializálás: InitGraph Grafikus mód bezárása: CloseGraph; GRAFIKA + SZÍN SetColor (Color : szó); Beállítja a toll színét GetColor: szó; Visszaadja a toll színét SetBkColor (szín: szó); Beállítja a háttérszínt GetBkColor: szó; Visszaadja a háttérszínt Színek Fekete Kék Zöld Ciánpiros Magenta Barna Világosszürke Sötétszürke Világoskék Világoszöld Világoscián Világospiros VilágosMagenta Yellow White 66 - fekete - kék - zöld - cián - piros - lila - barna - világosszürke - sötétszürke - kék - világoszöld - világos cián - rózsaszín - világos lila - sárga - fehér GRAFIKAI PRIMITÍVEK Vonal (x, y); Egy vonalat húz az aktuális tollkoordinátától az (x, y) koordinátákig. MoveTo (x, y); A tollat ​​koordinátákra állítja (x, y). PutPixel (x, y, színes); Pontot rajzol koordinátákon (x, y) színnel. GetPixel (x, y): szó; Visszaadja a pont színét koordinátákkal (x, y). Téglalap (x1, y1, x2, y2); Megrajzolja egy téglalap körvonalát. Kör (x, y, r); Rajzol egy kört, amelynek középpontja (x, y) és sugara r. SetLineStyle (Ln, 0, T) Módosítja a kontúrok paramétereit. Ln - vonalstílus (0..3): 67 x1, y1 T - vonalvastagság: 1 = normál; 3 = vastag. FillEllipse (x, y, Xr, Yr); Rajzol egy kitöltött ellipszist, amelynek középpontja (x, y) Xr és Yr sugarakkal. SetFillStyle (típus, szín); A zárt alakzatok típusát (0..11) és sraffozási színét ClearDevice-re állítja; Törli a grafikus képernyőt az aktuális háttérszínre festve x2, y2 GRAFIKAI PRIMITÍVOK 68 69. GYAKORLAT 1. Írjon programot, amely házat rajzol a monitor képernyőjére; 2. Írjon programot, amely a monitor képernyőjére egy csillagos eget rajzol véletlenszerű sugarú (1-5 pixel) csillagokkal és véletlenszerű elrendezéssel. A szín is véletlenszerű (fehér, világosszürke, sötétszürke); Felhasznált anyag: SetColor (Szín: szó); - Beállítja a rajz színét SetBkColor (szín: szó); - Beállítja az aktuális háttérszínt. sor (x, y); - Egy vonalat húz az aktuális tollkoordinátától az (x, y) koordinátákig. MoveTo (x, y); - A tollat ​​koordinátákra állítja (x, y). PutPixel (x, y, színes); - Színnel egy pontot rajzol koordinátákkal (x, y). Téglalap (x1, y1, x2, y2); - Téglalap körvonalat készít az aktuális színű vonalakból. Kör (x, y, r); - Rajzol egy kört, amelynek középpontja (x, y) és sugara r. FillEllipse (x, y, Xr, Yr); - Rajzol egy kitöltött ellipszist, amelynek középpontja (x, y) és sugara Xr és Yr. GRAFIKA + ANIMÁCIÓ Szünet mS-ben. 70 ALPROGRAMOK ALPROGRAMOK Az alprogramok lehetővé teszik, hogy a kód egy ismétlődő részét külön-külön töredékekben jelölje ki, és illessze be a programban a szükséges helyekre. A függvény az eljárástól eltérően a hívás eredményét adja vissza. Eljárások Funkciók Alprogramok: a Begin End kulcsszavak közé íródnak; nevekkel azonosítva, amelyeket az azonosítók megadására vonatkozó szabályok szerint írnak le; bemeneti és kimeneti paraméterei lehetnek; ismételje meg teljesen a főprogram szerkezetét. 72 Program My; 1. szubrutin [1. szubrutin kód] 2. szubrutin [2. szubrutin kód] 2. szubrutin indítása 1. szubrutin Példa a rendszer szubrutinjaira: Írjon ("Ok"); ClrScr; Hossz (S); Véletlen; // // // // eljárás egy paraméterrel eljárás paraméterek nélkül funkció egy paraméterrel funkció paraméterek nélkül 2. szubrutin vége. ALPROGRAMOK (PPR) Alprogramok egymásba ágyazása 1. program szubrutin 3. szubrutin 4. szubrutin 2. szubrutin 73 Változók hozzáférhetőségének tartománya Néhány PPR-ben leírt változók ismertek a törzsében, BELEÉRTVE az összes beágyazott PPR-t (a PPR1-ben leírt változó elérhető lesz a PPR3-ban,4 )... A PMD-ben leírt változók neve egybeeshet más PMD változók nevével (minden PMD-ben ugyanaz a változó deklarálható). A PPR-ben leírt változónév az adott változót körülvevő PPR-ből szűri ki az azonos nevű változókat (ha a PPR1-ben és a PPR3-ban ugyanazok a változók vannak deklarálva, akkor minden PPR-ben ezek a változók egyediek lesznek). A programváltozókat globálisnak, a szubrutinváltozókat pedig lokálisnak nevezzük. PARAMÉTEREK NÉLKÜLI ELJÁRÁSOK Szintaxis: Eljárás (eljárás neve); (Változók, konstansok, típusok, címkék, modulok szakasza) Begin (Eljárás törzse); Vége; Példa paraméterek nélküli eljárás használatára: 74 PARAMÉTEREK NÉLKÜLI ELJÁRÁSOK Példa azonos nevű menekülő változókra: Program Saját_program; Crt-t használ; Var A: String; // Az eljárás leírása Eljárás My_Procedure; Var A: String; Begin A: = "Subrutin"; Írott (A); Vége; Begin A: = "Body"; Írott (A); Saját_eljárás; Írott (A); Vége. // Eljáráshívás 75 ELJÁRÁSOK PARAMÉTEREKVEL 76 Az alprogramok univerzálisabbá tétele érdekében a program és alprogramjai közötti adatcsere speciális mechanizmusait alkalmazzák. Rendszereljárások paraméterekkel: SetColor (piros); (Eljárás téglalappal (0, 0, 639, 479); (Eljárás InitGraph-al (Gd, Gm, 'd: \ BP \ bgi "); (Eljárás (egy paraméter) több paraméterrel) többféle típus)) Írja be a szintaxist eljárások paraméterekkel Eljárás (Név) ((Bemeneti változók köre) Var (Kimeneti változók köre (minden változóhoz saját Var))); Területek szerkezete: Változó_1, Változó_2,…: Típus; ....... .... ............. Változó_N-1, Változó_N,…: Típus Bármelyik terület hiányozhat ELJÁRÁSOK PARAMÉTEREKKEL Bemeneti paraméterek használata Eljárás egy képernyőt határoló téglalap rajzolására megadott szín Paraméterek nélkül Paraméterekkel Eljárás Cir; Kezdje SetColor (i); SetBkColor (b); Téglalap (0, 0, 639, 479); Vége; Eljárási kör (i, b: Integer); Kezdje SetColor (i); SetBkColor (b); Téglalap (0, 0, 639, 479); Vége; Eljáráshívás a programban: Eljáráshívás a programban: i: = 6; b: = 12; Cir; Cir (6, 12); 77 ELJÁRÁSOK PARAMÉTEREKKEL A kimeneti paraméterek használata Eljárás Ra egy szög átszámítása fokról radiánra. PROGRAM EX_26_3; VAR x, a: valós; ELJÁRÁS Rad (alfa: valódi; var betta: valódi); (kimeneti változó) BEGIN Betta: = pi * alfa / 180; VÉGE; BEGIN Írás ("Adja meg a szöget fokban:"); Readln (x); Rad (x, a); (Eljáráshívás) Writeln ("Egyenlő a radiánban mért szöggel =", a: 6: 4); VÉGE. 79. FELADAT 1. Írjon egy eljárást, amely háromszöget rajzol a következő formátumban: Háromszög (x1, y1, x2, y2, x3, y3, szín) 2. Írjon eljárást egy téglalap területének kiszámítására a következő formátumban : SRect (a, b, S) ahol, S az eljárás kimeneti paramétere. Felhasznált anyag: Eljárás (Név) ((Input Variable Area) Var (Output Variable Area)); Területek szerkezete: Var_1, Var_2,…: Típus; ........................ Változó_N-1, Változó_N,…: Típus; FUNKCIÓK 80 A függvény írásának szintaxisa Funkció ((Bemeneti változó területe) Var (Kimeneti változó területe)): (Típus); Az eljárás formázása A függvény formázása S eljárás (a, b: valós; var s: valós); Kezdje s: = a + b; Vége; Függvényösszeg (a, b: valós): valós; Kezdő összeg: = a + b; Vége; Eljáráshívás Funkcióhívás S (10, 20, A); Írj egy); A: = S (10, 20); WriteLN (A); WriteLN (S (20, 30)); Valamelyik szubrutint csak akkor célszerű függvényként megtervezni, ha a munkájának valamilyen eredménye várható. Ha egy szubrutin csak egy bizonyos műveletsor végrehajtására koncentrál (megjelenítés, rajzolás stb.), akkor jobb eljárásként megtervezni. GYAKORLAT Írjon függvényt egy téglalap területének kiszámításához a következő formátumban: SRect (a, b) Felhasznált anyag: Függvény (Név) ((Bemeneti változók köre) Var (Kimeneti változók köre)): (Típus) ; Területek szerkezete: Var_1, Var_2,…: Típus; ........................ Változó_N-1, Változó_N,…: Típus; 81 MODUL EGYSÉGEK 83 A UNIT egy független programegység, amelynek erőforrásait (eljárásait és funkcióit) más programok is használhatják. Program My1; Modul1, Modul2; __________________________ ______________________________ ______________________________ ______________________ 1. MODUL Erőforráskészlet 1… Program My2; Modul1, Modul2; __________________________ ______________________________ ______________________________ ______________________ N MODUL Erőforráskészlet N A modulok a MODULOK HASZNÁLATA szakaszon keresztül csatlakoznak a programhoz. FELÉPÍTÉS 84 A modul a következő részekből áll: 1. Modul fejléce. 2. Interfész rész. (látható objektumok leírása) 3. Megvalósítási rész. (rejtett objektumok leírása) 4. Inicializálási rész (opcionális). Unit (Unit name); Interfész (Globális változók, konstansok, típusok szekciója) (modulok) (Eljárások és függvények fejléceinek listája) Megvalósítás (Lokális változók, konstansok, típusok szekciója) (Eljárások és függvények megvalósítása) Kezdete (Inicializálás része) Vége. ! A modul fejléc nevének meg kell egyeznie a modul fájl nevével! MODULOK Példa egy modulra: Unit My_Unit; Interfész Var ms: Valódi tömb; (Globális tömb) Funkció Cub (x: egész): Integer; (Cub függvény = x ^ 3) Ext4 függvény (x: egész): Egész; (ext4 függvény = x ^ 4) Cub megvalósítási függvény (x: egész): Integer; (A Cub függvény megvalósítása) Begin Cub: = x * x * x; Vége; Függvény Ext4 (x: egész): Integer; (Az ext4 függvény megvalósítása) Kezdje el az Ext4-et: = x * x * x * x; Vége; Vége. 85 86. GYAKORLAT Írjon egy modult egy függvénnyel és egy eljárással: (Függvényszámítás X1 = 1 / x) X1 (a: valós): valós; (Az S szó kinyomtatásának eljárása a képernyőn, X, Y pozícióban WriteXY (S: String; X, Y: Iteger); Felhasznált anyag (modulstruktúra): Egység (Modul neve); Interfész (Globális változók szekciója, konstansok, típusok) ( modulok) (Eljárások és függvényfejlécek listája) Megvalósítás (Lokális változók, konstansok, típusok szekciója) (Eljárások és függvények megvalósítása) Kezdete (Inicializálási rész) Vége.)

A prezentációk előnézetének használatához hozzon létre magának egy Google-fiókot (fiókot), és jelentkezzen be: https://accounts.google.com


Diafeliratok:

Pascal programozási nyelv Alapfogalmak A. Zhidkov

Programozási nyelv A programozási nyelv (PL) egy formalizált rendszer az algoritmusok leírására, amely ábécét (karakterkészletet) definiál Lexikont (lexikai elemek halmazát) Szintaxist (operátorok írásának szabályait) Szemantikát (operátorok végrehajtására vonatkozó szabályokat)

NYELVI ABC Az ábécé a karakterek rendezett halmaza. Számjegyek 0 1 2…. 9 latin betű a b c…. z A B C… Z Műveleti jelek + * / ->

A nyelvi kulcsszavak lexikai elemei (kezdete, vége, ha, ...) konstansok (2, "ABC", # 5) azonosítók (a, b1) speciális karakterek (: = + = * + /) megjegyzések (3 típus (..) (* .. *) // ..)

Nyelvi kulcsszavak (Vigyázat !!! Nem használhatók azonosítóként) és a tömb kezdete break case class const konstruktor folytatódik destructor div do downto else end exit külső külső szinkronfájl véglegesítése továbbító függvényhez, ha az öröklött inicializálásban mod not of vagy privát eljárás programtulajdonság védett nyilvános rekord ismétlés állítsa be az shl shr sizeof string értéket, majd írja be a unit-ot, amíg a var értéket nem használja az xor mellett

A Pascal program program felépítése Először; const Pi = 3,14; var r: valódi; S, C: valódi; begin write ("Adja meg a kör sugarát:"); readln (r); S: = Pi * r * r; C: = 2 * Pi * r; writeln ("A kerület egyenlő C =, C); writeln ("A kör területe S =", S); vége. Program neve Cím Leírás szakasz Operátorok (blokk) Utasításblokk eleje Utasításblokk vége Figyelem !!! A nyelvkezelőket jel választja el; Figyelem!!! A program a végével ér véget.

Összetett állítás (blokk) Az összetett utasítás állítások csoportja, amelyek „állítási zárójelekbe” vannak zárva. Begin…. e nd. Egy üres utasítás csak a következőt tartalmazza: , nem végez semmilyen műveletet.

Azonosítók (nevek) Az azonosító egy objektum (modul, függvény, változó) neve. Szintaxis: Az azonosító egy betűvel kezdődő latin betűk és számok sorozata. A fordító nem tesz különbséget a kis- és nagybetűk között. Korlátozza az azonosító hosszát (63 karakter). Ajánlott!!! Használjon értelmes azonosítókat és gyakori rövidítéseket a program olvashatóságának javítása érdekében. Példák: srednee; V; F; m; massa; m1; skorost

Állandók A konstans olyan érték, amely nem változhat. A numerikus állandók számok 3 3,5 1,75e2 $ 4ff A karakterlánc-konstansok a „Hello kadet” aposztrófban szereplő karakterek. FIGYELEM!!! A megnevezett konstansokat a const deklaráció szakaszban kell leírni. Szintaxis: const =; Például: const Pi = 3,14; Szám = 10; Név = "Mike";

Változók és leírásuk A változó memóriacellák csoportja, amelynek neve, típusa és értéke van. A változó neve egy azonosító. Változó típusa - meghatározza: a szükséges értékkészletet, a hozzá tartozó memóriacellák számát. Egy változó értéke a számára lefoglalt memóriacellák egy csoportjának tartalma. FIGYELEM!!! A változót a VAR leírása részben le kell írni.

Változóleíró szakasz VAR – változónevek csoportja, vesszővel elválasztva. FIGYELEM!!! Jelek: és; kívánt. Példa: var a, b, c: integer; d: valódi; e, f: egész szám; s, s1: karakterlánc; ch: char; Szintaxis: VAR:;

Változótípusok logikai valós komplex string típus "tömb" típus "rekord" típus "pointer" Eljárási fájlosztály típusok: egész bájt (byte) char (karakter) Felsorolható Tartomány, amelyet hívnak Csak ezek a típusok lehetnek tömb indexek, eset utasítás kapcsolók és for ciklus paramétereket.

A szükséges típusok: type long comment string (szöveg) 256 bájt Karaktersorozat, a nulla bájt a karakterlánc hosszát tárolja. egész szám 4 bájt Egész számok - 2 147 483 648-tól 2 147 483 647-ig valós (valós) 8 bájt C 15-16 decimális számjegyet tartalmaz és modulo

Adattípusok Az alábbi számok közül melyek egész számok? 1 2,1E3 4 0,7E-1 7 22,78 2 128 5 +0,9 8 -2100 3 -350 6 +71 9 1E5 2 3 6 8

Adattípusok Az alábbi számok közül melyek valós állandók exponenciális formában? 1 11 4 -0,5E-2 7 2,7E05 2 1,3 5 1050 8 -1,38 3 -1,2E5 6 37,75 9 + 3,21E-03 3 7 9

Azonosítók Az alábbi kifejezések közül melyik szolgálhat változónévként? 1 5B 4 SIN 7 1AB 2 E6 5 G 8 + LN 3 L1 6 10 9 L5 2 5 9

Szabványos Pascal-függvények neve és paraméterei Művelet Abs (x) modul |x | Sqr (x) négyzet x 2 Sqrt (x) négyzetgyök Sin (x) szinusz Sin x Cos (x) koszinusz Cos x Ln (x) természetes logaritmus Ln (x) Exp (x) (ahol e = 2,718281 ... ) Arctan (x) arctangens arctan x Hatvány (x, y) x yxy hatványához Int (x) egész rész x Tört (x) tört rész x Véletlen véletlenszám a tartományban)