Pascal - a programozás alapjai kezdőknek. Bevezetés a Pascal programozási nyelvbe

Pascal - a programozás alapjai kezdőknek.  Bevezetés a Pascal programozási nyelvbe
Pascal - a programozás alapjai kezdőknek. Bevezetés a Pascal programozási nyelvbe

Az első programot a PascalABC.NET-ben hozzuk létre. Elemezzük a főbb pontokat.

PascalABC.NET - ISKOLA - Prímszámok. Eratoszthenész szita

Elemezzük a prímszámok megtalálásának leggyorsabb algoritmusát. Eratoszthenész szita. Algoritmusokat összehasonlító kísérlet. Elemezzük a Pascal nyelv néhány további funkcióját és jellemzőjét ...

PascalABC.NET - ISKOLA - Fordítóprogramok (1.Bevezetés) - Számkinyerés

Kezdjük a fordítókkal. Egész és tört számokat keresünk a szövegben. Maradjon velünk ezen a vonalon!

PascalABC.NET - ISKOLA - Fordítóprogramok (2. Kiemelés befejezése) - Szavak és sorok

Folytatjuk a fordítóprogram fejlesztését. A szavak és a sorok kiemelésének megtanulása.

PascalABC.NET - ISKOLA - Feladat megoldása 7. évfolyamnak

PascalABC.NET - ISKOLA - ♫ zongora + OOP + Klitschko

Kitaláljuk, hogyan készítsünk egyszerű zongorát az OOP (objektumorientált programozás) segítségével.

PascalABC.NET - ISKOLA - 1. Menő számológép zárójelekkel. Kifejezés elemzése

Egy hatékony számológépet írunk, amely elemzi a zárójeleket és olyan függvényeket, mint a sin vagy a trunc. OOP (objektum-orientált programozás).

PascalABC.NET - ISKOLA - 2. Menő számológép zárójelekkel. Kifejezés elemzése

FOLYTATÁS!!! Eszembe jut egy hatékony számológép, amely elemzi a zárójeleket és a függvényeket, mint például a sin vagy a trunc. OOP (objektum-orientált programozás).

PascalABC.NET - ISKOLA - 1. Haladó telefonkönyv! Gyors keresés. Indexelés

Hogyan kell végrehajtani gyors keresés V nagy térfogatú adat. Gráfelmélet. Telefonkönyv példáján hozzuk létre.

Talán nincs olyan modern ember, aki ne ismerné a Pascal nyelvet (a programozás alapjait). És ez nem meglepő! Ennek az egyedülálló programnak a legalapvetőbb fogalmai még az iskolásoknak szóló számítástechnikai tankönyvben is megtalálhatók.

Most, a században információs technológiák, mindenki lebonyolíthat magának online önképzési képzést (a „Programozási nyelvek elsajátítása a semmiből”; „Pascal for dummies” és mások tanfolyamok elvégzése után).

A tanult nyelv története nem ilyen egyszerű: Pascal sok változáson ment keresztül, mielőtt az iskolások az osztályteremben tanított formában látták. Ez volt a legelső egyszerű programozási nyelv (ord Pascal), amely a múlt század (1970) számos gyakorlati problémájának megoldásában segített. Tudósok egy csoportja fejlesztette ki.

A platformok bővülésével ennek a programnak új verziói jöttek létre, és a Pascal klasszikus programozási nyelvvé vált.

Az alábbiakban megértjük: mi a Pascal, mik a fő eszközei. Tekintsük a program műveleteit és funkcióit, sajátosságait. Nézzük meg, hogyan működik ez példákkal. Tanulj meg Pascalban írni és dolgozni.

Mi az a Pascal programozási nyelv

Ez egy alapszintű magas szintű program. Az Orosz Föderáció számos iskolájának és egyetemének tantervében az első helyen áll.

A PascalABC.NET rendszer jellemzői

Összehasonlításképpen minden ismert, ezért megvizsgáljuk ennek a programnak az előnyeit egy másik BASIC nyelvhez képest.

Tehát mi jellemző a Pascal nyelvre és mi nem alkalmas a BASIC nyelvre:

  1. Először is, egy fordító jelenléte, amely lehetővé teszi a Pascal letöltését bármely platformra.
  2. Másodszor, a program minden verziója kompatibilis egymással.
  3. Harmadszor, a strukturált adattípusok segítik a programozót abban, hogy pontosan összeállítsa a gyakorlati probléma megoldásához szükséges algoritmust, miközben megvédi azt.
  4. Negyedszer, a programfelület láthatósága és logikája: minden parancs egyszerű és világos.
  5. Ötödször, az átállás egy másik, magasabb szintű programozási nyelvre meglehetősen egyszerű.

Példa programok a PascalABC.NET-ben

Bevitt egész számok összege

Egész számok szorzata

Hány páratlan lépett be n között

Érvénytelen bemeneti védelem

A kettő első 10 hatványának következtetése

Határozzuk meg egy m pozitív egész szám számjegyeinek összegét

Szám felbontása prímtényezőkre

Pascal kezdőknek - alapfogalmak

Elemezzük azokat az alapfogalmakat, amelyek segítenek a program helyes megírásában ezen a nyelven.

Munkaterület

Hogyan néz ki a munkaterület?

Most fontolja meg az alapokat: ábécét és szerkezetet.

Pascal ábécé

Mit kell tudnod? Az ábécé a program írásakor szükséges szimbólumok halmaza.

Ami rájuk vonatkozik:

  1. Latin nagybetűk, kisbetűk (A, B, C .... a, b, c).
  2. Aritmetikai szimbólumok (0, 1, 2…).
  3. Speciális karakterek (írásjelek, zárójelek, idézőjelek, számtani jelek stb.).
  4. Oszthatatlan karakterek (:=, ˃=…).
  5. Szolgálati szavak:
  • ésés;
  • array - egy tömb;
  • kezdődik - a kezdet;
  • csinálni - végrehajtani;
  • másként - különben;
  • for - for;
  • ha ha;
  • of - from;
  • vagy vagy;
  • eljárás - eljárás;
  • program - program;
  • ismétlés - ismétlés;
  • akkor - akkor;
  • to - előtt;
  • amíg - amíg (= míg);
  • var egy változó;
  • míg - míg.

Figyelembe kell venni: konstansok, a műveletek neve nem lehet ugyanaz, mint a szolgáltatásszavak (bármilyen hosszúság).

Program felépítése

Tehát mi szerepel ennek a programnak a "hierarchiájában"?

Felépítése szerint ez a nyelv 3 részre oszlik:

  • Név;
  • adat;
  • akciók.

Jegyzet: A változókat vesszővel elválasztva kell felsorolni, majd a ":"-en keresztül jelezni kell a típusukat. Egészítse ki a ";"-t.

A műveletek a „kezdet” szóval kezdődnek, és a „vége” ponttal végződnek.

A szerkezet a következőképpen ábrázolható:

Az operátorokat egyébként pontosvessző választja el.

Írj, írj, olvass, olvass kijelentéseket

Nézzük meg, hogyan történik az információ kiadása és bevitele.

Következtetés

Mint ilyen, ezen a nyelven nincsenek kimeneti operátorok, de vannak speciális szavak, amelyek segítik a szükséges funkciók futtatását. Ez írni, írni.

Mi a fő különbségük? Az utánuk következő információk bevitele vagy kiadásakor: az első esetben a későbbi információk ugyanabban a sorban jelennek meg, ahol az operátort írják. De a másodikban - a következőben.

Bemenet

Vannak szavak is a bevitelre: olvasni, olvasni(=olvasó gomb).

Pontosan ugyanúgy különböznek egymástól, mint az előző állítások (kimenetben).

Egész adattípus

3 fő típusa van:

  1. Egész szám.
  2. byte.
  3. longint.

Egyszerű műveleteket is végrehajtanak:

  • kiegészítés - "+";
  • kivonás - "-";
  • szorzás - "*";
  • felosztás - "div".

Ezen túlmenően megengedett a kapcsolatok és összehasonlítások végrehajtása (nagyobb vagy egyenlő, mint - ˃ =).

Valódi adattípusok

Az ilyen változók közé tartoznak a törtszámok (például a pi szám). Itt igazinak hívják őket.

Mire kell emlékezni? Törtszám-képlet beírásához vessző helyett pontot kell használni. A fokok (x * 10 y) írásához a 10-et E-vel helyettesítjük, és a szám jelölése:

Velük mind a legegyszerűbb, mind a bonyolultabb aritmetikai műveleteket elvégezheti:

  • négyzetgyök - sqrt;
  • abszolút érték - absz;
  • másodfokú függvény - sqr;
  • sine - bűn;
  • koszinusz - cos;
  • arctangens - arctan;
  • természetes logaritmus - ln;
  • kitevő - exp.

Adatfeldolgozás

A fent (az előző 2 bekezdésben) felsorolt ​​funkciókon kívül továbbiak is vannak:

  • a szám egész része int;
  • a szám tört része tört;
  • szám egész részének megszerzése - trunc;
  • kerekítés egész számra - kerek;
  • sorszámú típusátalakítás - ord;
  • kód konvertálása karaktertípusra - chr;
  • a mennyiség előző értékének meghatározása - pred;
  • a mennyiség utólagos értékének meghatározása - succ.

Matematikai műveletek

Az egész és valós adatok elemzésekor matematikai függvényeket és műveleteket vettünk figyelembe.

Foglalkozzunk az állandók és változók típusaival. Kik ők?

Az egyszerűek altípusokat tartalmaznak:

  • integers - integer;
  • logikai - logikai;
  • karakter - char;
  • felsorolható;
  • intervallum;
  • igazi.

A karakterláncokat a string paranccsal írjuk. A hivatkozásokat a megfelelő űrlap képviseli.

A strukturált a következőkre osztható:

  • tömbök - tömb;
  • rekordok - rekord;
  • készletek - készlet;
  • fájl - fájl.

Mindegyik típusnak megvan a maga műveletkészlete.

Körülmények

Ha vannak alternatív parancsok és függvények, akkor az if, then, else utasítások segítségével megírhatja a szükséges parancsokat egy gyakorlati probléma megoldásához.

A séma az alábbi ábrán látható.

Boole-műveletek

A műveletek egy tény igazságán vagy hazugságán alapulnak.

Az ilyen funkcióknak 3 típusa van:

  1. Páratlan - ha páratlan szám, akkor igaz (ellenkezőleg - hamis).
  2. Eoln - igaz a karakterlánc végén (máshol hamis).
  3. Az Eof igaz a fájl végén (máshol hamis).

Programkezelési funkciók

Milyen egyéb eljárások léteznek?

  • Inc számának növekedése;
  • Clrscr - a program korábbi eredményeinek törlése;
  • crt-t használ - clscr indítása;
  • Leng - visszaadja a karakterlánc hosszát;
  • Val - karakterlánc átalakítása számmá;
  • Pos - keresse meg az első transzformációt a karakterláncban;
  • Hozzárendelés - változó fájlhoz kötése;
  • Nagybetűs – kisbetűket nagybetűvé alakítani.

Következtetés

Így ahhoz, hogy jó programozóvá váljon, először meg kell tanulnia az alapokat. A Pascal a legjobb választás erre.

2. kiadás - Szentpétervár: 2011. - 320Val vel.

Ez a könyv nem egy tankönyv, hanem egy asszisztens a Pascal programozási nyelv elsajátításában, amellyel minden iskolás megismerkedik az informatika órákon. A programozás és a problémamegoldás gyakorlati kérdéseinek szentelt leckékből áll. Számos példa lehetővé teszi, hogy jobban megértse egy algoritmus kidolgozását, saját program megírását és szövegének helyes formázását. Tippek és megjegyzések segítik az olvasót, hogy a fontos részletekre figyeljen, elkerülje a buktatókat és hatékonyabban írjon programokat. A könyvet az iskola informatika szakos tanárai készítették, akik sokéves tapasztalattal rendelkeznek praktikus munka. A második kiadás számos új fejezettel bővül a rekordokról, a dinamikus változókról, a veremről, a sorról és a listákról. A programozás egyik legnehezebb témája is szóba kerül - a rekurzív algoritmusok felépítése.

Formátum: pdf(2011, 2. kiadás, 320 p.)

Méret: 14,5 MB

Megtekintés, letöltés: docs.google.com

Tartalom
Előszó a második kiadáshoz 15
Bevezetés 16
A kiadótól: 16
TÉMA 1. Hogyan írjunk egy egyszerű program Pascal 17-én
1.1. lecke. Üzenet megjelenítése a kijelzőn 18
1.2 lecke. Hogyan helyezzük be ezt a programot a számítógépbe 19
A teremtés szakaszai számítógépes program 20
lecke 1.3. Szöveg formázása a képernyőn 28
Megállapítások 34
Biztonsági kérdések 34
2. TÉMAKÖR: Hogyan lehet a számokat tettekre váltani 36
lecke 2.1. Kezdjük egyszerűen: egész számok 37
A változó fogalma 38
Egész típusú. hozzárendelés operátor. Képernyő kimenet 38
Integer 40 típusú műveletek
Integer 42 típusú szabványos függvények
Az egész változók ábrázolása
a számítógép memóriájában 43
lecke 2.2. Munkába vetettük magunkat valós számok 45
A valós adattípus leírása (real) 45
Valós változók rögzítési formátumai 46
Valós műveletek 46
Normál funkciók, mint a valódi 47
Matematikai kifejezések írása 48
Hogyan jelennek meg a valós típusú változók a számítógép memóriájában 50
lecke 2.3. Egész és valós típusú változók kombinálása 51
Típuskonverzió 51
A végrehajtott műveletek elsőbbségi szabályai 52
Adatokkal kapcsolatos műveletek különböző típusok 53
lecke 2.4. Adatbevitel és -kimenet 56
Változók bevitele a billentyűzetről 57
Gyönyörű képernyőkimenet 57
Változóértékek beállítása véletlenszám-generátorral 61
lecke 2.5. Miért van szükség konstansokra egy programban? 62
Megállapítások 64
Biztonsági kérdések 64
3. TÉMA: A szimbólumokkal való munka elsajátítása 66
lecke 3.1. Hogyan érti a számítógép a szimbólumokat 67
ASCII kódtábla 67
Char típus leírása és szabványos funkciók 68
lecke 3.2. A Char típus sorszámú! 70
Megállapítások 71
Biztonsági kérdések 72
4. TÉMA: George Boole és logikája 73
lecke 4.1. Szükségünk van még egy típusra – a logikai értékre! 74
Logikai adattípus (boolean) 75
Relációs műveletek 75
Logikai I/O 76
lecke 4.2. Logikai (logikai) műveletek 76
Logikai szorzás (kötőszó) 76
Logikai összeadás (disjunkció) 77
XOR (2. modul kiegészítése) 77
Logikai negáció (inverzió) 78
Alkalmazás logikai műveletek a 78-as programban
Logikai prioritás 80
Következtetések 81
Biztonsági kérdések 81
5. TÉMAKÖR A helyzet elemzése és a parancsok végrehajtásának sorrendje 82
5.1. lecke. Állapotellenőrzés és elágazás az algoritmusban 83
Az if utasítás teljes és hiányos formája 84
Programok tervezése 86
5.2 lecke. 88. kimutatásblokkok
lecke 5.3. Elágazás számos feltétel alapján (esetnyilatkozat) 92
Megállapítások 96
Biztonsági kérdések 96
6. TÉMAKÖR. Ismételt akciók 98
6.1. lecke. Operátor hurokhoz 99
100-as számlálóval növekvő kijelentéshez 101-es számlálóval növekvő utasításhoz
6.2 lecke. Ciklusok használata számlálóval 101
Ciklus a cikluson belül 102
103. nyom
Egy sorozat összegének kiszámítása 105
Megállapítások 108
Biztonsági kérdések 109
TÉMAKÖR 7. Hurok 110-es feltétellel
7.1. lecke. Hurok 111-es előfeltétellel
Hurokleírás 111-es előfeltétellel
Egy végtelen sorozat összegének közelítő számítása 112
Egy szám felemelése a megadott egész hatványra 115
lecke 7.2. Hurok 119-es utófeltétellel
Hurokleírás 120-as utófeltétellel
A 120. ismétlési és while ciklusok használata
A while és az ismétlés állítások megválasztásának relativitása 123
Megállapítások 129
Biztonsági kérdések 129
8. TÉMAKÖR Tömbök - strukturált adattípus 131
8.1. lecke. Azonos típusú adatok tárolása táblázat formájában 132
A tömbökkel való munka alapvető lépései 133
Egy tömb leírása Pascal 133-ban
Tömb kitöltése véletlen számokkal és a tömb megjelenítése a képernyőn 134
Egyéni adattípus létrehozása 137
Egy tömb maximális elemének megkeresése 140
Adott tulajdonságú tömb elemeinek összegének és számának kiszámítása 144
8.2 lecke. Tömbkeresés 148
Annak meghatározása, hogy egy tömbnek van-e negatív eleme zászló segítségével 148
Annak meghatározása, hogy egy tömbnek vannak-e negatív elemei, számuk 149 kiszámításával
A 150 negatív tömbelem számának meghatározása
lecke 8.3. 2D tömbök 154
Megállapítások 156
Biztonsági kérdések 157
9. TÉMAKÖR. Segédalgoritmusok. eljárások és funkciók. Strukturált programozás 1 58
9.1. lecke. Felülről lefelé irányuló algoritmus tervezése 159
Gyakorlati feladat használata segédalgoritmusok 160
lecke 9.2. Példa a függvénnyel való munkára: A 167-es maximális elem megkeresése
Megállapítások 168
Biztonsági kérdések 169
10. TÉMAKÖR. Hogyan dolgozzunk karakterláncokkal 170
10.1. lecke. Karakterláncokkal végzett munka: írja be a String 171-et
String változó leírása 171
Alapvető karakterláncműveletek 172
lecke 10.2. Néhány Pascal-függvény és eljárás a karakterláncokkal való munkához 173
A Library String rutinok használata 173
Következtetések 175
Biztonsági kérdések 175
11. TÉMAKÖR Eljárások és funkciók 176-os paraméterekkel
lecke 11.1. Egyszerű példák 177-es paraméterű szubrutinok használatával
A legegyszerűbb eljárások 177-es paraméterekkel
Formai és tényleges paraméterek 179
A legegyszerűbb függvények 179-es paraméterekkel
lecke 11.2. A paraméterek átadásának módjai 181
Következtetések 183
Biztonsági kérdések 184
12. TÉMA Fájlok: a munka mentése a következő alkalomig 185
12.1 lecke. Hogyan kell dolgozni a 186-os szövegfájllal
Fájl megnyitása olvasásra 186
Fájl megnyitása íráshoz 188
12.2 lecke. Megőrzés kétdimenziós tömb számok be szöveges fájl 192
Numerikus adatok mentése szöveges fájlba 192
Számtömb mentése szöveges fájlba 192
Információk hozzáfűzése egy fájl végéhez 196
Következtetések 197
Biztonsági kérdések 197
13. téma. Grafikus működési mód. 199. grafikon modul
lecke 13.1. Kapcsolja be a 200-as grafikus módot
A grafikával való munka jellemzői 200
Váltás a videoadapter grafikus üzemmódjára 201
lecke 13.2. Folytatjuk a Graph 203 modul lehetőségeinek feltárását
Vonalak rajzolása a Graph 203 modul segítségével
Körök rajzolása a Graph 205 modul segítségével
Következtetések 206
Biztonsági kérdések 207
14. témakör. A program természetes menetét megváltoztató operátorok 208
lecke 14.1. A goto 210 feltétel nélküli ugrás operátor használata
lecke 14.2. Kijelentések, amelyek megváltoztatják a hurok folyását 213
törési nyilatkozat 213
nyilatkozat folytatása 214
Következtetések 215
Biztonsági kérdések 215
15. témakör Adatok csoportosítása: Feljegyzések 216
15.1 lecke. 218. adattípus rekord leírása
lecke 15.2. Mikor és hogyan kell okosan használni a rekordokat 220?
Saját adattípus létrehozása – 220. bejegyzés
220-as rekordtömb
221 hozzáfűzés operátorral
223. példa az adatstruktúra kiválasztására
Bejegyzési rekordok 224
Következtetések 225
Ellenőrző kérdések és feladatok 225
16. téma. Dinamikus változók 226
lecke 16.1. Memóriakiosztás 227
lecke 16.2. Címek 229
lecke 16.3. Mutatók 230
Mutatók az egyes változókra 230
Mutatók a 232-es változóblokkra
lecke 16.4. Dinamikus memóriafoglalás 232
Új és selejt 233
Dinamikus memóriafoglalás tömbökhöz 235
GetMem és FreeMem 236
Dinamikusan létrehozott tömb elemeinek elérése 237
Változó hosszúságú tömb 238
Megállapítások 241
Biztonsági kérdések 242
17. témakör. Dinamikus adatszerkezetek. Stack 244
lecke 17.1. Leírjuk a 245-ös adattípust
lecke 17.2. Verem létrehozása és alapvető veremműveletek 247
Elem hozzáadása a köteghez (Push) 248
Elem kiemelése a veremből (Pop) 251
A verem ürességének ellenőrzése (StacklsEmpty) 252
lecke 17.3. Veremhasználat 253
Veremprogramozás tömbbel 255
Következtetések 256
Ellenőrző kérdések és feladatok 256
18. témakör. Dinamikus adatszerkezetek. 258-as sor
lecke 18.1. Működési elve és az adattípus leírása 259
lecke 18.2. Alapvető sorműveletek 261
Elem felvétele a sorba (EnQueue) 261
Elem lekérése a sorból (DeQueue) 263
A sor ürességének ellenőrzése (QueuelsEmpty) 264
lecke 18.3. A 264-es sor használata
Sor programozása tömbbel 267
Következtetések 269
Biztonsági kérdések 269
Témakör 19. Dinamikus adatszerkezetek. Egyirányú lista 270
lecke 19.1. Az adattípus leírása és működése 271
lecke 19.2. Alapműveletek egyedileg összekapcsolt listával 272
Egy lista összes elemének egymás utáni megtekintése 272
Elem felvétele egy listába 273
Elem eltávolítása a listából 275
lecke 19.3. Lista feldolgozás 276
Miért használjunk egyedileg linkelt listát 278
Következtetések 280
Biztonsági kérdések 280
20. téma. Rekurzió 281
lecke 20.1. 282. elvi leírás
lecke 20.2. Hanoi tornyai 285
lecke 20.3. Egy visszatérő szubrutin felépítése 287
lecke 20.4. Példa egy nem visszatérő probléma visszatérő megoldására 288
lecke 20.5. Példa egy visszatérő probléma visszatérő megoldására 289
Következtetések 291
Biztonsági kérdések 291
1. függelék Folyamatábra elemei 292
2. melléklet Feladatok 295
Egész szám. Leírás. Bemenet. Következtetés. Műveletek 296
Igazi. Leírás. Bemenet. Következtetés. Műveletek és funkciók 296
Igazi. Kifejezések írása és értékelése 297
Char. Leírás. Bemenet. Következtetés. Funkciók 298
Boolean. Kifejezések írása 298
Boolean. Kifejezésértékelés 299
ha. Egyszerű összehasonlítások. Min/max/átlag 300
ha. Egyenletek és egyenlőtlenségek 300 paraméterrel
számára. Átutalás 300
számára. Hurokszámláló számítások 301
számára. Brutális erő összehasonlításokkal 302
közben-ismétlés. Keresés a 302
közben-ismétlés. 303. sor
Grafika. Egyenes 303
Grafika. Körök 304
Tömbök. Kitöltés, kivonás, mennyiség/mennyiség 305
Tömbök. Permutációk 305
Tömbök. Keresés a 306
Tömbök. Csekk 307
Tömbök. Legmagasabb 307
Alprogramok paraméterek nélkül 307
Húrok. I. rész 308
Húrok. II. rész 309
Alprogramok paraméterekkel. I. rész 309
Alprogramok paraméterekkel. II. rész 310
Alprogramok paraméterekkel. rész III 310
Fájlok 311
Egyirányú lista 312
Rekurzió 313

A könyv első kiadásának megjelenése után kollégáink és hallgatóink egyre gyakrabban kerestek meg bennünket azzal a kéréssel, hogy az első kiadást kiegészítsük információkkal a leginkább tanulmányozott és legkeresettebb adatstruktúrákról. Ebben a kiadásban több fejezetet adtunk hozzá a rekordokról, a dinamikus változókról, a veremről, a sorról és a listákról. Igyekeztünk a programozás egyik legnehezebb témáját – a rekurzív algoritmusok építését – is körbejárni.
Az alkalmazásban úgy döntöttünk, hogy felhagyunk a házi feladatok gyűjtésével, amelyek számos témához kapcsolódnak. Ehelyett nagyszámú tematikus feladatot helyeztünk el az alkalmazásban, 5-8 feladatos blokkokba rendezve. Az egyes blokkok feladatai az egyszerűtől az összetettig vannak elrendezve. Ezeket használjuk óráinkon a rendszerezéshez gyakorlati gyakorlatok az elméleti anyag konszolidálásakor (egy lecke - egy blokk).
A szerzők legmélyebb köszönetüket fejezik ki egyik legjobb tanítványuknak, a Biztonsági Tanszék egyetemi docensének információs rendszerek SPbGUAP, Ph.D. Jevgenyij Mihajlovics Linszkij a támogatásért, sokan hasznos tippeketés nagy segítség a könyv második kiadásával kapcsolatos munkában.

Ez a cikk leírja a Pascal programozási nyelv alapjait, amelyek az első programok megírásához szükségesek: programstruktúra, változó fogalma, adattípusok, matematikai operátorokés funkciók, hozzárendelés operátor, adatbevitel és kimenet. Még egyszer hangsúlyozom, hogy ez a cikk a nyelvtanulás legelső lépéseihez szól a 7-8. osztályos tanulók számára. Nem lesz mélyreható megfontolás (erre van vonatkozó szakirodalom).

Program felépítése

A program felépítése a programot alkotó szakaszok összessége.

Az első program Pascalban írásához elegendő két szakaszt ismerni (sőt, több is van):

  • változó deklaráció szakasz - var- ez a rész felsorolja a programban használt változóneveket vesszővel elválasztva. A következő a típusuk.
  • programtörzs – szóval kezdődik kezdődikés a szóval végződik vége.(ponttal). Ez a rész magának a programnak a szövegét tartalmazza.
var változók: adattípus; kezdődik programtest vége.

Változók

Mi az a változó.

Képzeljünk el egy változót memóriahelyként, amelyhez nevet rendelünk, és amelyben tárolhatunk valamit (számot vagy szöveget).

A, b, c nevű memóriacellák

A változónévnek meg kell felelnie a következő követelményeknek:

  • a latin ábécé betűiből (a-z, A-Z), számokból és aláhúzásjelből (_) áll;
  • A változó neve nem kezdődhet számmal (de kezdődhet "_" karakterrel ( Például: _primer).
  • a változó neve nem tartalmazhat szóközt

Változó alapozóÉs Primer Pascal esetében egyenértékűek

Adattípusok

Miután felsoroltuk a változókat a részben var, meg kell adnunk a típusukat:

  • egész szám- egész típusú
  • igazi- valós típus (törtszámok)
  • húr- húrtípus

Például:

var a, b, c : egész szám ;

ahol a, b, c változók, az integer ezeknek a változóknak a típusa. Azok. az a, b, c változók (memóriacellák) csak egész számokat tartalmazhatnak.

Sok más adattípus is létezik, de az első három program elegendő.

Ha azt szeretné, hogy a változók egy része azonos típusú legyen, a többi pedig:

var a, b : egész szám ; a :real;

azok. változók a, b egész számok, és a változó Val vel egy valós szám (nem egész).

hozzárendelés operátor

A hozzárendelési operátor értéket rendel egy változóhoz.

:= hozzárendelés operátor

Felvétel a:=23;"Változó Aértéket rendeltek hozzá 23 ". Most egy nevű memóriacellában A tárolt szám 23.

bemeneti operátor

Van egy másik operátor, amellyel értéket írhat egy változóhoz, de a billentyűzet segítségével.

readln(a)

Amint a pascal végrehajtja a parancsot readln(a), ehhez meg kell adnunk egy értéket a billentyűzetről, ami a zárójelben lévő változóhoz lesz írva. Esetünkben változóban a.

Matematikai műveletek

+ - összeadás művelet

- kivonási művelet

* - szorzási művelet

/ - hadosztály működése

mod- az osztály többi része

div- az osztás egész része

Példa:

S:=22 mod 5; Ennek végrehajtása után, amikor a változó S egyenlővé válik 2 .

S:=22 oszt 5; A kód végrehajtása után a változó S egyenlővé válik 4.

Kimeneti operátor

Egy változó értékének a képernyőn való megjelenítéséhez használja a parancsot írj egy) vagy írva(a). A parancs végrehajtása után írva van egy átmenet új sor, az írási parancs végrehajtása után - nem történik meg.

Ha szöveget szeretne megjeleníteni a képernyőn, akkor azt aposztrófok közé kell tenni:

writeln('Anya kimosta a keretet');

Szöveget is megjeleníthet a változó értékével együtt:

a:=6;
writeln(' Az a = változó értéke ‘, a);

A képernyőn látni fogjuk: Az a=6 változó értéke.

Fontolja meg a problémát:

A billentyűzetről beírt hosszúság és szélesség értékek segítségével keresse meg a téglalap területét és kerületét.

var a,b,S,P:egész szám; //változók deklarálása kezdődik writeln(" Adja meg a téglalap hosszát"); readln( a); //adja meg a hosszt writeln(" Adja meg a téglalap szélességét"); readln( b); // írja be a szélességet S:=a*b; //számolja ki a téglalap területét P:=2*(a+b); //számítsuk ki a téglalap kerületét writeln(" A téglalap területe a ",S); //kijelző writeln(" A téglalap kerülete a ",P); vége.

Ez a könyv nem egy tankönyv, hanem egy asszisztens a Pascal programozási nyelv elsajátításában, amellyel minden iskolás megismerkedik az informatika órákon. A programozás és problémamegoldás gyakorlati kérdéseiről szóló előadásokból áll. Számos példa lehetővé teszi, hogy jobban megértse egy algoritmus kidolgozását, saját program megírását és szövegének helyes formázását. A tippek és megjegyzések felhívják az olvasók figyelmét a fontos részletekre, elkerülik a buktatókat, és hatékonyabban írnak programokat.
A könyvet informatikus iskolai tanárok írták, akik sokéves gyakorlati munkával rendelkeznek.

Mi az a programozási nyelv? A számítógép által megoldott problémákat parancssorozatként írják le. Az ilyen sorozatot programnak nevezzük. A parancsokat természetesen a számítógép számára érthető nyelven kell kiadni. Az egyik ilyen nyelv a Pascal programozási nyelv. Nikolaus Wirth svájci professzor fejlesztette ki kifejezetten a diákok programozásának megtanítására. A nyelv sajátosságai közé tartozik a szerkezete is. Ez azt jelenti, hogy a program könnyen felosztható egyszerűbb, nem metsző blokkra, amelyek viszont még többre egyszerű blokkok. A programozást is megkönnyíti. 1979-ben a nyelvet szabványként hagyták jóvá. Wirth a francia tudósról, Blaise Pascalról, a számológép feltalálójáról nevezte el. A Pascal nyelv egyszerű, logikus és hatékony. Az egész világon elterjedt. Beszélgetéseink azon alapulnak konkrét példák programokat. Nincsenek hosszadalmas elméleti fejtegetések, ezért rendkívül szükséges a műsorok szövegében található megjegyzések figyelmes elolvasása!
Tehát az első beszélgetést rögtön az első Pascal programmal kezdjük;

Tartalom
Bevezetés 7
Köszönöm 7
A kiadótól 8
TÉMAKÖR 1. Hogyan írjunk egyszerű programot Pascal 9-ben
1.1. lecke. Üzenet megjelenítése a 10. képernyőn
1.2 lecke. Hogyan lehet ezt a programot berakni a számítógépbe? tizenegy
A számítógépes program létrehozásának szakaszai 12
1. Indítsa el a Pascal 14 környezetet
2. Munka a Szerkesztés 16 ablakban
3. A program mentése fájlba a 19-es lemezen
4. A fordító futtatása 20
5. A program futtatása 21
6. A program eredményeinek megtekintése 21
7. Lépjen ki a Pascal 22 környezetből
lecke 1.3. Szöveg formázása a képernyőn 22
Megállapítások 28
Biztonsági kérdések 28
2. TÉMAKÖR. A numerikus adatok működésbe hozása 30
lecke 2.1. Kezdjük egyszerűen: egész számok 31
A változó fogalma 32
Egész típusú. hozzárendelés operátor. Képernyő kimenet 32
Integer 34 típusú műveletek
Integer 36 típusú szabványos függvények
Hogyan jelennek meg az egész típusú változók a számítógép memóriájában 38
lecke 2.2. Valós számok gyakorlatba ültetése 39
A valós adattípus leírása (Real) 40
Valós változók rögzítési formátumai 40
Valós műveletek 41
Real 41 típusú szabványos függvények
Matematikai kifejezések írása 43
Hogyan jelennek meg a valós változók a memóriában
számítógép 45
lecke 2.3. Az egész és a valós típusú változók kombinálása 46
Típuskonverzió 46
A végrehajtott műveletek elsőbbségi szabályai 47
Különböző típusú adatokkal kapcsolatos műveletek 47
lecke 2.4. Adatbevitel és -kimenet 51
Változók bevitele a billentyűzetről 52
Gyönyörű képernyőkimenet 52
Változóértékek beállítása véletlenszám-generátorral 55
lecke 2.5. Miért van szükség konstansokra egy programban? 57
Megállapítások 59
Biztonsági kérdések 60
3. TÉMA: A szimbólumokkal való munka elsajátítása 61
lecke 3.1. Hogyan érti a számítógép a szimbólumokat 62
ASCII kódtábla 62
Karaktertípus leírása és szabványos funkciók 63
lecke 3.2. A Char típus sorszámú! 64
Megállapítások 66
Biztonsági kérdések 67
4. TÉMA: George Boole és logikája 68
lecke 4.1. Szükségünk van még egy típusra – a logikai értékre! 69
Logikai adattípus (boolean) 70
Kapcsolati műveletek 70
Logikai I/O 71
lecke 4.2. Logikai (logikai) műveletek 71
Logikai szorzás (kötőszó) 72
Logikai összeadás (disjunkció) 72
XOR (2. modul kiegészítése) 73
Logikai negáció (inverzió) 74
Logikai műveletek alkalmazása a programban 74
Logikai prioritás 76
Megállapítások 77
Biztonsági kérdések 78
5. TÉMAKÖR A helyzet elemzése és a parancsok végrehajtásának sorrendje 79
5.1. lecke. Állapotellenőrzés és elágazás a 80-as algoritmusban
Az if utasítás teljes és hiányos formája 81
Programok tervezése 84
5.2 lecke. 85. kimutatásblokkok
lecke 5.3. Elágazás számos feltétel mellett (esetnyilatkozat) 90
Megállapítások 94
Biztonsági kérdések 95
6. TÉMAKÖR. Ismételt akciók 96
6.1. lecke. hurokutasítás a 97-hez
97-es inkrementális számlálóval rendelkező kimutatáshoz
a 99-es számláló szekvenciális csökkenésével rendelkező kimutatáshoz
6.2 lecke. Ciklusok használata 99-es számlálóval
Ciklus a 100-as ciklusban
101. nyom
Egy sorozat összegének kiszámítása 103
Megállapítások 107
Biztonsági kérdések 108
TÉMAKÖR 7. Hurok 109-es feltétellel
7.1. lecke. Hurok 110-es előfeltétellel
Hurokleírás 110-es előfeltétellel
Egy végtelen sorozat összegének közelítő számítása 111
Szám beírása egy megadott egész hatványba 114
lecke 7.2. Hurok 118-as utófeltétellel
Hurokleírás 119-es utófeltétellel
Az ismétlés és a while ciklusok használata 119
A while és az ismétlés állítások megválasztásának relativitása 123
Megállapítások 129
Biztonsági kérdések 129
8. TÉMAKÖR Tömbök - strukturált adattípus 131
8.1. lecke. Azonos típusú adatok tárolása táblázat formájában 132
A tömbökkel való munka alapvető lépései 133
Egy tömb leírása Pascal 133-ban
Tömb kitöltése véletlen számokkal és a tömb megjelenítése a képernyőn 134
Egyéni adattípus létrehozása 137
Egy tömb maximális elemének megkeresése 141
Adott tulajdonságú tömbelemek összegének és számának kiszámítása 146
8.2 lecke. Tömbkeresés 148
Annak meghatározása, hogy egy tömbnek van-e negatív eleme zászló segítségével 149
Annak meghatározása, hogy egy tömb tartalmaz-e negatív elemeket a számuk 150 kiszámításával
A negatív elem számának megkeresése egy tömbben 152
lecke 8.3. 2D tömbök 156
Megállapítások 158
Biztonsági kérdések 159
9. TÉMAKÖR. Segédalgoritmusok. eljárások és funkciók. Strukturált programozás 160
9.1. lecke. Felülről lefelé haladó algoritmus tervezése 161
Gyakorlati probléma segédalgoritmusokkal 162
lecke 9.2. Példa egy függvénnyel való munkavégzésre: a maximális elem megkeresése 169
Megállapítások 171
Biztonsági kérdések 171
10. TÉMAKÖR. Hogyan dolgozzunk karakterláncokkal 1 72
10.1. lecke. Karakterláncokkal végzett munka: írja be a String 1-et 73
A 173 karakterlánc-változó leírása
Alapvető karakterláncműveletek 174
lecke 10.2. Néhány Pascal-függvény és eljárás a karakterláncokkal való munkához 175
A Library String rutinok használata 175
Megállapítások 177
Biztonsági kérdések 178
11. TÉMAKÖR. Eljárások és funkciók a 179. paraméterekkel
lecke 11.1. Egyszerű példák szubrutinok használatára 180-as paraméterekkel
A legegyszerűbb eljárások 180-as paraméterekkel
Formai és tényleges paraméterek 182
A legegyszerűbb függvények 183-as paraméterekkel
lecke 11.2. A paraméterek átadásának módjai 184
Következtetések 187
Biztonsági kérdések 187
12. TÉMA Fájlok: a munkád mentése a következő alkalomig 189
12.1 lecke. Hogyan dolgozzunk szöveges fájlokkal 190
Fájl megnyitása olvasásra 190
Fájl megnyitása íráshoz 193
12.2 lecke. Kétdimenziós számtömb mentése szöveges fájlba 196
Numerikus adatok mentése szöveges fájlba 196
Számtömb mentése szöveges fájlba 197
Információk hozzáadása a fájl végéhez 201
Következtetések 202
Biztonsági kérdések 203
13. TÉMAKÖR Grafikus működési mód. Graph 204 modul
lecke 13.1. Kapcsolja be a grafikus módot 205
A grafikával való munka jellemzői 205
Váltás a videoadapter grafikus üzemmódjára 206
lecke 13.2. Folytatjuk a Graph 208 modul lehetőségeinek feltárását
Vonalak rajzolása a Graph 209 modul segítségével
Körök rajzolása a Graph 210 modul segítségével
Következtetések 212
Biztonsági kérdések 212
14. TÉMAKÖR. A program természetes menetét megváltoztató operátorok 213
lecke 14.1. A goto 215 feltétel nélküli ugrás operátor használatával
lecke 14.2. Kijelentések, amelyek megváltoztatják a hurok folyását 218
szünet nyilatkozat 2.19
220. nyilatkozat folytatása
Következtetések 220
Biztonsági kérdések 221
1. függelék Folyamatábra elemei 222
2. melléklet Házi feladat 224
Feladatok a 2. fejezethez 224
Feladatok a 4 227 fejezethez
Feladatok a 6-7. fejezethez 229
Feladatok a 8 236 fejezethez
Betűrend 254