Előadás a "Pascal ABC programozási környezet" témában. Programozási nyelvABC Pascal előadás számítástechnika és IKT órára témában Objektumorientált programozás alapjainak bemutatása Pascal ABC
Programozás Pascalban
![](https://i2.wp.com/fsd.kopilkaurokov.ru/uploads/user_file_55fee3782bb68/img_user_file_55fee3782bb68_1.jpg)
![](https://i2.wp.com/fsd.kopilkaurokov.ru/uploads/user_file_55fee3782bb68/img_user_file_55fee3782bb68_2.jpg)
1970-ben legalább két nagy esemény történt a programozás világában - megjelent az operációs rendszer UNIX rendszerés egy új programozási nyelv, amelyet Niklaus Wirth professzor, a zürichi Svájci Szövetségi Műszaki Intézet munkatársa készített. Wirth a nagy 17. századi francia matematikus és filozófus, Blaise Pascal tiszteletére nevezte el.
Niklaus Wirth
Blaise Pascal
![](https://i1.wp.com/fsd.kopilkaurokov.ru/uploads/user_file_55fee3782bb68/img_user_file_55fee3782bb68_3.jpg)
Pascal nyelv kényelmes a kezdeti programozási képzéshez, nem csak
mert megtanítja, hogyan kell helyesen programot írni, de azt is, hogyan kell helyesen
programozási problémák megoldási módszereinek kidolgozása
![](https://i0.wp.com/fsd.kopilkaurokov.ru/uploads/user_file_55fee3782bb68/img_user_file_55fee3782bb68_4.jpg)
- tól a latin ábécé nagy- és kisbetűi A-tól z-ig, valamint az aláhúzás (_), amely szintén betűnek számít.
- A kis- és nagybetűk felcserélhetők (azonos jelentésűek);
- Arab számok 0 1 2 3 4 5 6 7 8 9 ;
- speciális egyedi karakterek: + – * / = . , : ; ^ $ # @ ;
- speciális páros jelek: () { } ;
- összetett jelek: = .. (* *) (..) .
![](https://i1.wp.com/fsd.kopilkaurokov.ru/uploads/user_file_55fee3782bb68/img_user_file_55fee3782bb68_5.jpg)
A program felépítése
A Pascal program a következőkből áll:
// Címsor (nem kötelező rész)
![](https://i0.wp.com/fsd.kopilkaurokov.ru/uploads/user_file_55fee3782bb68/img_user_file_55fee3782bb68_6.jpg)
- A védjegyek leírása;
- Állandók meghatározása;
- A típusok meghatározása;
- Változók leírása;
- Az eljárások és funkciók leírása.
![](https://i1.wp.com/fsd.kopilkaurokov.ru/uploads/user_file_55fee3782bb68/img_user_file_55fee3782bb68_7.jpg)
- kezdődik { a program kezdete }
- { programtest }
- vége. { program vége }
![](https://i2.wp.com/fsd.kopilkaurokov.ru/uploads/user_file_55fee3782bb68/img_user_file_55fee3782bb68_8.jpg)
A program felépítése
Program program neve; ( program címe }
Felhasználások …; (modul csatlakozási szakasz)
Címke … ; { címkeleíró rész }
Const … ; { állandó leírás rész }
Toure … ; { típusdefiníciós rész }
Var … ; { változóleírás szakasz }
Funkció … ; Eljárás … ; { funkciókat és eljárásokat ismertető szakaszban }
... { operátorok rész }
![](https://i0.wp.com/fsd.kopilkaurokov.ru/uploads/user_file_55fee3782bb68/img_user_file_55fee3782bb68_9.jpg)
Miből áll a program?
Állandó – állandó mennyiség, amelynek neve van.
Változó – változó mennyiség, amelynek neve van (memóriacella).
Eljárás – néhány műveletet leíró segédalgoritmus (kör rajzolása).
Funkció – egy segédalgoritmus a számításokhoz (négyzetgyök kiszámításához, bűn) .
![](https://i2.wp.com/fsd.kopilkaurokov.ru/uploads/user_file_55fee3782bb68/img_user_file_55fee3782bb68_10.jpg)
Állandók
i2 = 45; { egész szám }
pi = 3,14; { valós szám }
q = " Vasya "; { karakterlánc }
L = igaz; { logikai érték }
az egész és a tört részt egy pont választja el egymástól
Használhat orosz betűket!
két jelentése lehet:
- Igaz (igaz, "igen") Hamis (hamis, "nem")
- Igaz (igazság, „igen”)
- Hamis (hamis, „nem”)
![](https://i0.wp.com/fsd.kopilkaurokov.ru/uploads/user_file_55fee3782bb68/img_user_file_55fee3782bb68_11.jpg)
Változók
Változó típusok:
- egész szám ( egész ) igazi ( igazi ) char ( egy karakter ) húr ( karakterlánc ) logikai ( logikus }
- egész szám ( egész }
- igazi ( igazi }
- char( egy karakter }
- húr ( karakterlánc }
- logikai( logikus }
Változók deklarálása ( memóriafoglalás ) :
változó– változó
típus - egész számok
var a, b, c: egész szám ;
változónevek listája
![](https://i1.wp.com/fsd.kopilkaurokov.ru/uploads/user_file_55fee3782bb68/img_user_file_55fee3782bb68_12.jpg)
Példa program
ír(' Ez az első programom ! ’);
Futtassa a programot, és nézze meg az eredményt.
![](https://i1.wp.com/fsd.kopilkaurokov.ru/uploads/user_file_55fee3782bb68/img_user_file_55fee3782bb68_13.jpg)
Következtetési operátor
Ír(' szöveg ’); - operátor a szöveg és a változók képernyőn történő megjelenítéséhez (a kurzort az aktuális sorban hagyja);
Writeln(' szöveg ’); - operátor a szöveg és a változók képernyőn történő megjelenítéséhez (új sorra mozgatja a kurzort);
![](https://i1.wp.com/fsd.kopilkaurokov.ru/uploads/user_file_55fee3782bb68/img_user_file_55fee3782bb68_14.jpg)
Gyakorlat
- Jelenítse meg a következő szöveget a képernyőn:
Sziasztok!
Én vagyok az SSH No. 3 legjobb programozója!
Felhívjuk figyelmét, hogy a szöveg két különböző sorban jelenik meg.
![](https://i0.wp.com/fsd.kopilkaurokov.ru/uploads/user_file_55fee3782bb68/img_user_file_55fee3782bb68_15.jpg)
![](https://i2.wp.com/fsd.kopilkaurokov.ru/uploads/user_file_55fee3782bb68/img_user_file_55fee3782bb68_16.jpg)
Számítsa ki a matematikai kifejezéseket ABC Pascal
![](https://i2.wp.com/fsd.kopilkaurokov.ru/uploads/user_file_55fee3782bb68/img_user_file_55fee3782bb68_17.jpg)
- A műveletek prioritása ABC Pascal ugyanaz, mint a matematikában.
- Csak meg kell tanulnia, hogyan kell helyesen írni a matematikai kifejezéseket a nyelven Pascal
![](https://i0.wp.com/fsd.kopilkaurokov.ru/uploads/user_file_55fee3782bb68/img_user_file_55fee3782bb68_18.jpg)
Aritmetikai műveletek
Művelet
Név
Kiegészítés
Kivonás
Szorzás
Osztály (csak valódi típus)
A div B
Az egész rész kiszámítása (nem teljes hányados)
A maradék kiszámítása
Kiszámítja:
10 div 3 18 mod 4
![](https://i1.wp.com/fsd.kopilkaurokov.ru/uploads/user_file_55fee3782bb68/img_user_file_55fee3782bb68_19.jpg)
Példák
Matematikai felvétel
Felvétel nyelven Pascal
37(25+87,5)-17(4,6+1,9)
37*(25+87.5)-17*(4.6+1.9)
(a +2* b-3*c)/(5*a+4)
(a+b)/(a-b)+a*b/3.14
Tizedespont be Pascal ponttal jelöljük
![](https://i1.wp.com/fsd.kopilkaurokov.ru/uploads/user_file_55fee3782bb68/img_user_file_55fee3782bb68_20.jpg)
Alapfelszereltség
Pascal függvénye
Matematikai jelölés
Név
Az X szám abszolút értéke (modulus)
Egy szám négyzetre emelése
Kiállító
A négyzetgyök kiszámítása
Kiszámítja egy szám tört részét
A legközelebbi egész számra kerekít
Levágja a töredékes részt
Határozza meg eredmény:
Frac(16,68); forduló(16,68); Trunc(16,68);
![](https://i1.wp.com/fsd.kopilkaurokov.ru/uploads/user_file_55fee3782bb68/img_user_file_55fee3782bb68_21.jpg)
Alapfelszereltség
Pascal függvénye
Matematikai jelölés
Név
Szinusz számítás
Koszinusz számítás
A szám egész része
A természetes logaritmus kiszámítása
Szám hatványra emelése
0 és X közötti véletlen számot ad vissza
Szám π
![](https://i1.wp.com/fsd.kopilkaurokov.ru/uploads/user_file_55fee3782bb68/img_user_file_55fee3782bb68_22.jpg)
Fokozatok be Pascal radiánra kell konvertálni
Felvétel nyelven Pascal
Matematikai jelölés
![](https://i2.wp.com/fsd.kopilkaurokov.ru/uploads/user_file_55fee3782bb68/img_user_file_55fee3782bb68_23.jpg)
PL operátorok Pascal ABC
![](https://i0.wp.com/fsd.kopilkaurokov.ru/uploads/user_file_55fee3782bb68/img_user_file_55fee3782bb68_24.jpg)
Hozzárendelés operátor
változó neve := kifejezés ;
Egy aritmetikai kifejezés tartalmazhat
- konstansok változók nevei aritmetikai műveletek előjelei:
- állandók
- változónevek
- aritmetikai műveletek jelei:
+ - * / div mod
- + - * / div mod
- függvény hívja a zárójeleket ()
- függvényhívások
- kerek zárójelek ()
teljes felosztás
szorzás
az osztály többi része
![](https://i2.wp.com/fsd.kopilkaurokov.ru/uploads/user_file_55fee3782bb68/img_user_file_55fee3782bb68_25.jpg)
Mely operátorok hibásak?
program qq;
var a, b: egész szám;
x, y: valós;
10 := x;
y:= 7 , 8;
b:= 2,5;
x:= 2*(a + y);
a:= b + x;
a változó nevének a jeltől balra kell lennie :=
az egész és a tört részek el vannak választva pont
Egész változóba nem lehet valós értéket írni
![](https://i2.wp.com/fsd.kopilkaurokov.ru/uploads/user_file_55fee3782bb68/img_user_file_55fee3782bb68_26.jpg)
Beviteli operátor
olvasni egy); { változó érték bevitele a)
olvas(a, b); { változó értékek bevitele a És b)
Hogyan írjunk be két számot?
szóközzel elválasztva:
keresztül Belép :
![](https://i2.wp.com/fsd.kopilkaurokov.ru/uploads/user_file_55fee3782bb68/img_user_file_55fee3782bb68_27.jpg)
Következtetési operátor
írj egy); { kimeneti változó értéke a)
ír ln (a); { kimeneti változó értéke a És lépjen új sorba }
writeln(" Helló! "); { szöveges kimenet }
writeln(" Válasz: ", c); { kimeneti szöveg és változó érték c)
writeln(a, "+", b, "=", c);
![](https://i2.wp.com/fsd.kopilkaurokov.ru/uploads/user_file_55fee3782bb68/img_user_file_55fee3782bb68_28.jpg)
Két szám összeadása
Feladat.Írjon be két egész számot, és jelenítse meg az összegüket.
A legegyszerűbb megoldás:
program qq;
var a, b, c: egész szám;
olvas(a, b);
c:= a + b;
writeln(c);
![](https://i1.wp.com/fsd.kopilkaurokov.ru/uploads/user_file_55fee3782bb68/img_user_file_55fee3782bb68_29.jpg)
Komplett megoldás
program qq;
var a, b, c: egész szám;
writeln(" Írjon be két egész számot ");
olvas(a, b);
c:= a + b;
writeln(a, "+", b, "=", c);
számítógép
Jegyzőkönyv :
Írjon be két egész számot
25+30=55
felhasználó
![](https://i1.wp.com/fsd.kopilkaurokov.ru/uploads/user_file_55fee3782bb68/img_user_file_55fee3782bb68_30.jpg)
![](https://i0.wp.com/fsd.kopilkaurokov.ru/uploads/user_file_55fee3782bb68/img_user_file_55fee3782bb68_31.jpg)
KISZÁMÍTJA:
12 div 4 =
1 9 div 5 =
12 mod 3 =
1 36 mod 10 =
![](https://i1.wp.com/fsd.kopilkaurokov.ru/uploads/user_file_55fee3782bb68/img_user_file_55fee3782bb68_32.jpg)
Pascalon
A matematika nyelvén
Az x szám modulusa
Négyzetre helyezés x
csonka(x)
e x
forduló (x)
Törtrész számítás
x négyzetgyöke
A legközelebbi egész számra kerekít
Véletlen (x)
Levágja a töredékes részt
Szinusz x
Exp/y*ln(x))
0 és x közötti véletlen számot ad vissza
Koszinusz x
[ x ]
x nál nél
Ln x
![](https://i0.wp.com/fsd.kopilkaurokov.ru/uploads/user_file_55fee3782bb68/img_user_file_55fee3782bb68_33.jpg)
Házi feladat
1. Számítsa ki a kör kerületét és területét egy adott sugarú körben!
2. Számítsa ki egy derékszögű háromszög kerületét a száraiból!
![](https://i2.wp.com/fsd.kopilkaurokov.ru/uploads/user_file_55fee3782bb68/img_user_file_55fee3782bb68_34.jpg)
![](https://i1.wp.com/fsd.kopilkaurokov.ru/uploads/user_file_55fee3782bb68/img_user_file_55fee3782bb68_35.jpg)
![](https://i2.wp.com/fsd.kopilkaurokov.ru/uploads/user_file_55fee3782bb68/img_user_file_55fee3782bb68_36.jpg)
Feltételes operátor ( teljes alak )
az elágazás teljes formája
feltétel
Akció1
Akció2
következtetés
![](https://i2.wp.com/fsd.kopilkaurokov.ru/uploads/user_file_55fee3782bb68/img_user_file_55fee3782bb68_37.jpg)
Feltételes operátor (hosszú alak)
ha feltétel akkor kezdődik
{ }
másképp kezdődik
{ mi a teendő, ha a feltétel hamis }
Sajátosságok:
- előtt más NEM tegyél pontosvesszőt, ha egy utasítás van a blokkban, akkor eltávolíthatod a szavakat kezdődik És vége
- előtt más NEM pontosvessző kerül hozzáadásra
- ha van egy utasítás a blokkban, akkor eltávolíthatja a szavakat kezdődik És vége
![](https://i0.wp.com/fsd.kopilkaurokov.ru/uploads/user_file_55fee3782bb68/img_user_file_55fee3782bb68_38.jpg)
Feltételes operátor (nem teljes alak )
hiányos elágazási forma
feltétel
Akció
következtetés
![](https://i1.wp.com/fsd.kopilkaurokov.ru/uploads/user_file_55fee3782bb68/img_user_file_55fee3782bb68_39.jpg)
Feltételes operátor (hiányos űrlap)
ha feltétel akkor kezdődik
{ mi a teendő, ha a feltétel igaz }
Sajátosságok:
- ha van egy utasítás a blokkban, akkor eltávolíthatja a szavakat kezdődik És vége
- ha van egy utasítás a blokkban, akkor eltávolíthatja a szavakat kezdődik És vége
![](https://i0.wp.com/fsd.kopilkaurokov.ru/uploads/user_file_55fee3782bb68/img_user_file_55fee3782bb68_40.jpg)
![](https://i0.wp.com/fsd.kopilkaurokov.ru/uploads/user_file_55fee3782bb68/img_user_file_55fee3782bb68_41.jpg)
Házi feladat
- Írjon programot, amely az első számot ötszörösére csökkenti, ha nagyobb, mint a második.
2. Írjon programot, amelyben a változó értéke! Val vel képlettel számolva: a+b , Ha A páratlan És a*b , Ha A még .
![](https://i2.wp.com/fsd.kopilkaurokov.ru/uploads/user_file_55fee3782bb68/img_user_file_55fee3782bb68_42.jpg)
![](https://i2.wp.com/fsd.kopilkaurokov.ru/uploads/user_file_55fee3782bb68/img_user_file_55fee3782bb68_43.jpg)
Házi feladat
1. Írjon programot a probléma megoldására:
A). Az x értéke ismert. Számítsd ki ha
b). A pont koordinátái adottak. Derítse ki, hogy ez a pont a 3. koordinátanegyedben van-e?
2. Határozza meg a változó értékét! c a következő programrészlet végrehajtása után:
a:= 6 ;
b:= 15 ;
a:= b – a*2;
ha a b akkor
c:= a + b
else c:= b – a;
![](https://i1.wp.com/fsd.kopilkaurokov.ru/uploads/user_file_55fee3782bb68/img_user_file_55fee3782bb68_44.jpg)
![](https://i1.wp.com/fsd.kopilkaurokov.ru/uploads/user_file_55fee3782bb68/img_user_file_55fee3782bb68_45.jpg)
![](https://i2.wp.com/fsd.kopilkaurokov.ru/uploads/user_file_55fee3782bb68/img_user_file_55fee3782bb68_46.jpg)
Ciklus - Ez ugyanazon műveletsorozat ismételt végrehajtása.
- ciklussal híres lépések száma ( hurok paraméterrel ) ciklussal ismeretlen lépések száma ( hurok feltétellel )
- ciklussal híres lépések száma ( hurok paraméterrel )
- ciklussal ismeretlen lépések száma ( hurok feltétellel )
![](https://i1.wp.com/fsd.kopilkaurokov.ru/uploads/user_file_55fee3782bb68/img_user_file_55fee3782bb68_47.jpg)
![](https://i0.wp.com/fsd.kopilkaurokov.ru/uploads/user_file_55fee3782bb68/img_user_file_55fee3782bb68_48.jpg)
![](https://i2.wp.com/fsd.kopilkaurokov.ru/uploads/user_file_55fee3782bb68/img_user_file_55fee3782bb68_49.jpg)
Növelje meg a változót 1-gyel (1. lépés):
számára változó := kezdő érték nak nek
végső érték csináld kezdődik
{ huroktest }
Változó csökkentése 1-gyel (1. lépés) :
számára változó := kezdő érték le
végső érték csináld kezdődik
{ huroktest }
![](https://i0.wp.com/fsd.kopilkaurokov.ru/uploads/user_file_55fee3782bb68/img_user_file_55fee3782bb68_50.jpg)
Sajátosságok:
- egész szám ) nak nek ) vagy -1 ( le ) kezdődik És vége nem kell írnod: nak nek ) soha nem hajtják végre (
- egy ciklusváltozó csak egész szám lehet ( egész szám )
- a hurokváltozó változás lépése mindig 1 ( nak nek ) vagy -1 ( le )
- ha csak egy állítás van a ciklus törzsében, akkor a szavak kezdődik És vége nem kell írnod:
- ha a végső érték kisebb, mint a kezdeti érték, hurok ( nak nek ) soha nem hajtják végre ( a feltétel ellenőrzése a ciklus elején, ciklus előfeltétellel)
nekem:= 1 8-ra csináld
writeln( " Helló " );
![](https://i2.wp.com/fsd.kopilkaurokov.ru/uploads/user_file_55fee3782bb68/img_user_file_55fee3782bb68_51.jpg)
- Nem megengedett a ciklusváltozó megváltoztatása a ciklus törzsében
- a cikluson belüli kezdő és végértékek megváltoztatásakor a lépések száma nem változik:
nekem:= 1 hogy n kezdd el
writeln( " Helló " );
n: = n + 1;
nincs hurok
![](https://i1.wp.com/fsd.kopilkaurokov.ru/uploads/user_file_55fee3782bb68/img_user_file_55fee3782bb68_52.jpg)
![](https://i1.wp.com/fsd.kopilkaurokov.ru/uploads/user_file_55fee3782bb68/img_user_file_55fee3782bb68_53.jpg)
![](https://i1.wp.com/fsd.kopilkaurokov.ru/uploads/user_file_55fee3782bb68/img_user_file_55fee3782bb68_54.jpg)
míg feltétel csináld kezdődik
{ huroktest }
Sajátosságok:
- összetett feltételeket használhat: ha csak egy operátor van a ciklustörzsben, akkor a szavak kezdődikÉs vége nem kell írnod:
- Összetett feltételeket használhat:
- ha csak egy állítás van a ciklus törzsében, akkor a szavak kezdődikÉs vége nem kell írnod:
míg (a d o kezdje
{ huroktest }
míg a d o
a:= a + 1;
![](https://i1.wp.com/fsd.kopilkaurokov.ru/uploads/user_file_55fee3782bb68/img_user_file_55fee3782bb68_55.jpg)
- a feltétel minden alkalommal újraszámításra kerül, amikor belép a hurokba
- ha a hurok bejáratánál a feltétel hamis, a ciklus soha nem hajtódik végre
- ha a feltétel soha nem válik hamissá, a program ciklusokat hajt végre
a:= 4; b:= 6;
míg a b d o
a:= a – b;
a:= 4; b:= 6;
míg a d o
d: = a + b;
![](https://i1.wp.com/fsd.kopilkaurokov.ru/uploads/user_file_55fee3782bb68/img_user_file_55fee3782bb68_56.jpg)
![](https://i1.wp.com/fsd.kopilkaurokov.ru/uploads/user_file_55fee3782bb68/img_user_file_55fee3782bb68_57.jpg)
![](https://i0.wp.com/fsd.kopilkaurokov.ru/uploads/user_file_55fee3782bb68/img_user_file_55fee3782bb68_58.jpg)
Hurok utófeltétellel egy ciklus, amelyben a ciklus végén állapottesztet hajtanak végre.
huroktest
amíg feltétel
![](https://i1.wp.com/fsd.kopilkaurokov.ru/uploads/user_file_55fee3782bb68/img_user_file_55fee3782bb68_59.jpg)
FELADAT
Határozzuk meg az összes természetes szám négyzetösszegét 1-től 100-ig! Oldjuk meg ezt a problémát mindhárom típusú hurok használatával.
![](https://i0.wp.com/fsd.kopilkaurokov.ru/uploads/user_file_55fee3782bb68/img_user_file_55fee3782bb68_60.jpg)
"Viszlát" .
Program qq;
var a, s: egész szám;
s:=s+a*a;
írás(ok);
![](https://i2.wp.com/fsd.kopilkaurokov.ru/uploads/user_file_55fee3782bb68/img_user_file_55fee3782bb68_61.jpg)
"Előtt"
Program qq;
var a, s: egész szám;
s:=s+a*a;
100-ig ;
írás(ok);
![](https://i1.wp.com/fsd.kopilkaurokov.ru/uploads/user_file_55fee3782bb68/img_user_file_55fee3782bb68_62.jpg)
"Paraméterrel"
Program qq;
var a, s: egész szám;
a:=1-től 100-ig
s:=s+a*a;
írás(ok);
![](https://i1.wp.com/fsd.kopilkaurokov.ru/uploads/user_file_55fee3782bb68/img_user_file_55fee3782bb68_63.jpg)
Feladat.
1 és 8 közötti egész számok négyzeteinek és kockáinak megjelenítése.
Sajátosság:
Ugyanazokat a műveleteket 8 alkalommal hajtják végre.
![](https://i2.wp.com/fsd.kopilkaurokov.ru/uploads/user_file_55fee3782bb68/img_user_file_55fee3782bb68_64.jpg)
"ciklus" blokk
én 1 := én * én;
én 2 := én 1 * én;
huroktest
én, én 1 , én 2
![](https://i1.wp.com/fsd.kopilkaurokov.ru/uploads/user_file_55fee3782bb68/img_user_file_55fee3782bb68_65.jpg)
Program
program qq;
var i, i1, i2: egész szám;
az i:=1-től 8-ig kezdje
i1:= i*i;
i2:= i1*i;
writeln(i, i1, i2);
kezdő érték
változó
végső érték
![](https://i0.wp.com/fsd.kopilkaurokov.ru/uploads/user_file_55fee3782bb68/img_user_file_55fee3782bb68_66.jpg)
Hurok csökkenő változóval
Feladat. 8 és 1 közötti egész számok négyzeteinek és kockáinak megjelenítése (fordított sorrendben).
Sajátosság: a hurokváltozónak csökkennie kell.
Megoldás:
for i:=8 1 kezdje
i1:= i*i;
i2:= i1*i;
writeln(i, i1, i2);
le- nak nek
![](https://i2.wp.com/fsd.kopilkaurokov.ru/uploads/user_file_55fee3782bb68/img_user_file_55fee3782bb68_67.jpg)
![](https://i1.wp.com/fsd.kopilkaurokov.ru/uploads/user_file_55fee3782bb68/img_user_file_55fee3782bb68_68.jpg)
![](https://i1.wp.com/fsd.kopilkaurokov.ru/uploads/user_file_55fee3782bb68/img_user_file_55fee3782bb68_69.jpg)
Sor – ez az azonos típusú elemek csoportja, amelyek közös névvel rendelkeznek, és a memóriában a közelben találhatók.
Sajátosságok:
- minden elem azonos típusú az egész tömbnek ugyanaz a neve
- minden elem azonos típusú
- az egész tömbnek ugyanaz a neve
- minden elem a közelben található a memóriában
Példák:
- osztályos tanulók névsora lakások egy házban iskolák a városban
- osztályos tanulók névsora
- lakások egy házban
- iskolák a városban
- évi levegő hőmérsékleti adatok
![](https://i0.wp.com/fsd.kopilkaurokov.ru/uploads/user_file_55fee3782bb68/img_user_file_55fee3782bb68_70.jpg)
SZÁM tömb elem
(INDEX)
sor
JELENTÉS tömb elem
SZÁM (INDEX) tömb elemei: 2
JELENTÉS tömb elemei: 10
![](https://i1.wp.com/fsd.kopilkaurokov.ru/uploads/user_file_55fee3782bb68/img_user_file_55fee3782bb68_71.jpg)
Tömbök deklarálása
Miért kell bejelenteni?
- meghatározni Név tömb határozza meg típus tömb határozza meg elemek száma Kiemel helyet az emlékezetben
- meghatározni Név sor
- meghatározni típus sor
- meghatározni elemek száma
- Kiemel helyet az emlékezetben
Egész számok tömbje:
Méret állandóval:
elemeket
záró index
kezdő index
var A : egész számból álló tömb[ 1 .. 5 ] ;
var A: egész számok tömbje ;
const N=5;
![](https://i1.wp.com/fsd.kopilkaurokov.ru/uploads/user_file_55fee3782bb68/img_user_file_55fee3782bb68_72.jpg)
Mi a baj?
var a: egész számok tömbje;
A:= 4,5;
var a: egész szám ["z".."a"] tömbje;
A["B"]:= 15;
["a".."z"]
var a: egész számok tömbje;
A := "X";
![](https://i0.wp.com/fsd.kopilkaurokov.ru/uploads/user_file_55fee3782bb68/img_user_file_55fee3782bb68_73.jpg)
Közlemény:
Billentyűzet bemenet:
Elemenkénti műveletek:
Kimenet a kijelzőn:
const N = 5;
var a: egész számok tömbje;
én: egész szám;
a =
a =
a =
a =
a =
mert i:=1-től N-ig kezdjük
write("a[", i, "]=");
olvas(a[i]);
Miért ír ?
ha i:=1-től N-ig, akkor a[i]:=a[i]*2;
writeln(" Sor A:");
az i:=1-től N-ig írás(a[i]:4);
Sor V:
1 0 24 68 112 26
![](https://i0.wp.com/fsd.kopilkaurokov.ru/uploads/user_file_55fee3782bb68/img_user_file_55fee3782bb68_74.jpg)
Feladat:
1. Belép c 5 elemből álló billentyűzettömb, keresse meg a tömb összes elemének számtani átlagát.
Példa:
Írjon be öt számot:
4 15 3 10 14
számtani átlag 9.200
MEGOLDÁS:
![](https://i0.wp.com/fsd.kopilkaurokov.ru/uploads/user_file_55fee3782bb68/img_user_file_55fee3782bb68_75.jpg)
Program qq;
var N: egész számok tömbje;
az i:=1-től 5-ig kezdje
write("N[",i,"]");
az i:=1-től 5-ig kezdje
write("átlag", k:6:2);
2. dia
A program felépítése
A Pascal ABC program a következő formájú: program program neve; modul csatlakozási szakasz leírása szakasz kezdete operátorok vége. Az első sort programfejlécnek nevezzük, és nem kötelező. A modulok csatlakoztatására szolgáló szakasz a szolgáltatásszóhasználattal kezdődik, amelyet a modulnevek listája követ, vesszővel elválasztva. A leírás rész tartalmazhat változókat, konstansokat, típusokat, eljárásokat és függvényeket leíró részeket, amelyek tetszőleges sorrendben követik egymást. Lehet, hogy hiányzik a modulcsatlakozási rész és a leírás rész. Az operátorokat pontosvessző választja el egymástól.
3. dia
program program neve;modul-kapcsolatot használ sectionvar descriptions sectionbegin operatorsend.
4. dia
Program - Program; Felhasználások – Használat; Var– leírás; Begin - Beginning; Vége – vége.
5. dia
6. dia
7. dia
8. dia
9. dia
10. dia
11. dia
12. dia
A uses parancs egy külön ablakban nyílik meg.
13. dia
Írjuk meg az első programunkat: Adjunk nevet a programunknak, latin betűkkel írjuk, és ne kezdődjön számmal. Minden utasítás - ; A Write egy parancs, amelyet a nézetablakba kell kiadni.
14. dia
1. feladat.
Mutassuk ki a köszöntőt: "Jó napot!" Programpriml; (opcionális eleme a programnak Ennek a programnak a neve prim1 (vegye figyelembe, hogy a program neve nem tartalmazhat szóközt, betűvel kell kezdődnie, csak latin betűkből állhat, számokból és egyes szimbólumokból, pontok és vesszők nem megengedettek ). Nincs leíró rész, és azonnal ott van az operátorok szakasza, amely a kezdeti szolgáltatás szóval kezdődik a TurboPascal 7.0-ban, utána jön a nyelvi operátor)begin (Szöveg kiírása) writeln("Jó napot"); (At a program vége TurboPascal 7.0-ban az end operátor szükséges.)end.
15. dia
Program priml; begin writeln("Jó napot");end.
16. dia
2. feladat Az N változó értékének bevitele a billentyűzetről
programInp; Crt-t használ; var N: egész szám; beginClrScr; write("Írjon be egy számot a billentyűzetről:"); readln(N); (Itt a program megáll, és vár a billentyűzetről érkező bevitelre. Írjon be egy számot a billentyűzeten, például 153, és nyomja meg az Enter billentyűt) writeln("Számot írt be ", N); readln ( Ez az üres bemeneti utasítás. Itt a program ismét szünetel, és megvárja az Enter billentyű lenyomását. Ezalatt lesz ideje megnézni a kimenetet a képernyőn.) end.
17. dia
programInp; usesCrt; var N: egész szám; beginClrScr; write("Írjon be egy számot a billentyűzetről:"); readln(N); writeln("Számot írt be ", N); readlnend.
18. dia
A testsebesség kiszámítása toronyból való leeséskor
Program Piza; const (Ez a konstansok szakasza. A var szakasz elé kerül) G=9.8; (A konstans típusa automatikusan, a szám alakja alapján kerül meghatározásra. Ebben az esetben a tizedespont jelenléte miatt valós típus) var V,H: real; begin write("Adja meg a torony magasságát:"); readln(H); V:=Sqrt(2*G*H); writeln("Falling speed", V:6:3): (A szöveg és a szám összetapadásának elkerülése érdekében az aposztrófok közé szóköz kerül) readln end.
19. dia
ProgramPiza; constcrt; G=9,8; var V,H,N:valós; start clrscr; write("Adja meg a torony magasságát:"); readln(H); V:=Sqrt(2*G*H); writeln("esési sebesség",V:6:3): readlnend. crt, clrscr; - képernyő tisztítás
20. dia
21. dia
Pascal ABC rendszer
A Pascal ABC rendszert a Pascal nyelvű programozás oktatására tervezték, és az iskolásoknak és a kisdiákoknak szól. A szerzők szerint a kezdeti programozási képzésnek meglehetősen egyszerű és barátságos környezetben kell történnie, ugyanakkor ezeknek a környezeteknek a programozási nyelvi képességek tekintetében közel kell lenniük a szabványhoz, és meglehetősen gazdag és modern szabványos rutinkönyvtárakkal kell rendelkezniük. A Pascal nyelvet sok orosz tanár az egyik legjobbnak ismeri el a kezdeti tanuláshoz. Az MS DOS-orientált BorlandPascal környezet azonban elavult, a gazdag képességekkel rendelkező BorlandDelphi környezet pedig nehézkes egy kezdő programozó számára. Így a Borland Delphiben egy rendezvényprogram megírásával való tanulási kísérlet sok nehézséget okoz a tanulónak, és számos rosszul kialakított készséghez vezet. A Pascal ABC rendszer a DelphiPascal nyelven alapul, és a legegyszerűbb programokról a moduláris, objektumorientált, esemény alapú és komponens programozásra való fokozatos átállásra készült. A Pascal ABC egyes nyelvi konstrukciói a fővel együtt lehetővé teszik az egyszerűsített használatot, ami lehetővé teszi a használatukat a tanulás korai szakaszában. Például előfordulhat, hogy a moduloknak nincs interfész szakasza és megvalósítási szakasza. Ebben az esetben a modulok felépítése szinte megegyezik a fő programéval, ami lehetővé teszi, hogy az „Eljárások és funkciók” témával párhuzamosan kezdje el a tanulást. A metódustestek közvetlenül az osztályokon belül definiálhatók (Java és C# stílusban), ami lehetővé teszi, hogy szinte azonnal osztályokat hozzon létre a rekordok, eljárások és függvények megtanulása után. A Pascal ABC programozási rendszer számos modulja kifejezetten oktatási célokra készült: Modul raszteres grafika A GraphABC megteszi az objektumokat, bár képességei szinte megegyeznek a BorlandDelphi grafikus képességeivel. Nem eseményprogramokban érhető el, és lehetővé teszi villogásmentes animációk könnyű készítését. Az Events modul lehetővé teszi egyszerű eseményprogramok létrehozását objektumok használata nélkül (az események közönséges eljárási változók). Az Időzítők és Hangok modulok lehetővé teszik időzítők és hangok létrehozását, amelyek szintén eljárási stílusban vannak megvalósítva. Ezek a modulok akár konzolos programokban is használhatók. A konténerosztályok Containers modulja lehetővé teszi, hogy alapvető adatstruktúrákkal (dinamikus tömbök, veremek, sorok, halmazok) dolgozzon osztályként. Modul vektoros grafika Az ABCObjects az objektum-orientált programozás alapjainak gyors elsajátítására készült, emellett meglehetősen összetett játék- és oktatási programok létrehozását is lehetővé teszi. A VCL Visual Components modul lehetővé teszi eseményvezérelt alkalmazások létrehozását fő forma Delphi stílusban. A VCL osztályok kissé leegyszerűsítettek a hasonló Delphi osztályokhoz képest. Van egy űrlapszerkesztő és egy objektumellenőr. Az űrlap programkód segítségével történő visszaállításának technológiája lehetővé teszi, hogy egyetlen fájlt használjunk egy alkalmazáshoz a fő űrlappal (!). A Pascal ABC nyelve gépelt mutató aritmetikát (C-stílus), valamint komplex típust biztosít a komplex számokkal való munkavégzéshez. A Pascal ABC fordító egy front-end fordító. Ez azt jelenti, hogy nem hoz létre futtatható kódot .exe fájlként, hanem a fordítás eredményeként egy programfát hoz létre a memóriában, amelyet aztán a beépített interpreter segítségével végrehajt. Ennek eredményeként a program sebessége körülbelül 20-szoros lassabb sebesség ugyanez a BorlandPascal környezetben lefordított program 50-szer lassabb, mint a BorlandDelphi környezetben lefordított program. A Pascal ABC rendszerben a hallgató úgynevezett ellenőrizhető feladatokat végezhet, amelyek véletlenszerű kiindulási adatokkal biztosítják a probléma megfogalmazását, a bemeneti-kimeneti műveletek ellenőrzését, a megoldás helyességének ellenőrzését, valamint a nyilvántartás vezetését. problémamegoldás. A tesztelt feladatok egy elektronikus programozási feladatfüzet, ProgramingTaskbook formájában valósulnak meg, amely 1000 különböző bonyolultságú programozási feladatot tartalmaz (az egyszerű feladatoktól a fájlokat, mutatókat és rekurziót érintő problémákig), valamint végrehajtók Robot és Draftsman formájában. , szánt gyors tanulás programozási alapismeretek általános és középiskolásoknak. A Pascal ABC & ProgrammingTaskbookMiniEdition szabadon terjesztett verziója tartalmazza az elektronikus problémafüzet mini-változatát (200 feladat), valamint egy lecsupaszított feladatkészletet a Robot és a Draftsman előadók számára. A Pascal ABC & ProgrammingTaskbookCompleteEdition a feladatok teljes készletét tartalmazza.
1 csúszda
PASKAL Belyakova Natalya Aleksandrovna Informatika, technológia és képzőművészet tanára, MBOU 6. számú középiskola, Kholmsk, Szahalin régió Pascal ABC
2 csúszda
3 csúszda
Adattípus REAL Ha egy szám vesszővel rendelkezik, és tört, akkor REAL-nak nevezzük. A valós számok tárolásához a Pascal egy speciális adattípust használ – REAL. A programba való beírásához használja a VAR (változó) operátort PÉLDA: program p15 ; VAR a, b, c: REAL ; Kezdés és ilyesmi……….
4 csúszda
REAL változók: program summa ; VAR A, B, C: REAL ; Kezdje A:= 3,5; B: = 7,6; C:=A + B; writeln("összeg = ", c) ; Vége. ________________________________________________ Minden valós számot nem vesszővel, hanem ponttal írunk!!!
5 csúszda
Formátumok valós változók írásához: Normál alak: 0,7 írható 0,7-ként vagy .7 -2,1 írható -2,1-ként. Jelölés kitevővel: Egy szám mantisszának (a szám törtrésze) van megszorozva 10-zel. teljesítmény 2700 = 2,7*10 A 10-es szám E betűvel, utána a hatvány: 2,7E3 0,002 = 2*10 A 10-es szám E betűvel, majd a hatvány: 2E-3 3 - 3
6 csúszda
REAL változók: program z16 ; var a, b, c: valós; kezdődik a:= 17,3; b:= 3,4; c:=a+b; writeln("A+B kiegészítés = ", c); c:=a-b; writeln("A-B kivonás = ", c); c:=a*b; writeln("A*B szorzása = ", c); c:=a/b; writeln("A/B osztás = ", c); Vége.
7 csúszda
REAL típusú funkciók: PROGRAM Z18 ; VAR A, B: REAL; KEZDÉS A:= 2,0 ; (négyzetgyök számítás) B:= SQRT(A); WRITELN (négyzetgyök (Sqrt (A)) = ", B) ; (szinuszszámítás) B:= SIN (A); WRITELN (a szám szinusza (SIN (A) = ", B) ; (koszinusz számítás) B : = COS (A); WRITELN ('a szám koszinusza (COS (A) = ", B) );
8 csúszda
(arktangens kiszámítása) B:= ARCTAN (A); WRITELN (a szám arktangense (Arctan (A)) = ", B) ; (a logaritmus kiszámítása) B:= LN (A); WRITELN ('a szám logaritmusa (LN (A) = ", B) ); (az E szám felemelése A hatványra) B:= EXP (A); WRITELN ('A hatványának kitevője (EXP (A) = ", B) ; (Pi kiszámítása) B:= PI; WRITELN ( 'pi szám (Pi) = ", B ) ; vége.
9. dia
(arktangens kiszámítása) B:= ARCTAN (A); WRITELN ('a szám arktangense (Arctan (A)) = ", B); ________________________________ Megadható egy valós szám kimenete. A „B” változó értékéhez 6 számjegyet adunk meg, ebből 4 a tizedespont: (arktangens kiszámítása) B:= ARCTAN (A ); WRITELN ('szám arktangense (Arctan (A))) = ", B: 6: 4) ; ____________________________________
10 csúszda
A rendszer fő operátorai: Programnév program Kezdete és vége Kezdete és vége. Változók VAR Integer integer Valós szám valós Kimenet a képernyőre Write(‘x= ‘, x) Kimenet a képernyőre új sor Writeln('x= ', x) Az Abs szám modulusa (x) Négyzetre emelés Sqr(x) A szám négyzetgyöke Sqrt(x) A szám szinusza Sin (x) A szám koszinusza Cos (x) A szám arktangense szám Arctan(x) Az Ln szám logaritmusa (x) Egy szám felemelése X hatványára Exp (x) A Pi szám kiszámítása Pi
11 csúszda
FELADAT: z15) Feltételezve, hogy a szorzás és a négyzetesítés művelete azonos bonyolultságú, írja be az optimális kifejezést: Z15a) Z15b) Z15c) Z15d) Z15e) Z16) Írjon be egy feladatot az alapvető számtani műveletekre (minta a notebookban) Z17 ) Számítsa ki a kifejezést: Z18) Írjon feladatot a d:=8 szám standard függvényeinek kiszámítására (modulus, négyzetgyök, szám négyzete, szinusz, koszinusz, érintő, arctangens, kotangens, egy szám logaritmusa) Z19) Írja fel másodfokú egyenlet diszkriminánsának kiszámítására szolgáló program. Állítsa be az együtthatókat a programban a hozzárendelési operátorral Z20) Számítsa ki a kifejezést:
12 csúszda
Z21) Adott a d kör átmérője. Határozza meg a hosszát () Z22) Adott a téglalap alakú paralelepipedon kocka éleinek hossza a, b, c. Határozza meg térfogatát és felületét Z23) Határozza meg egy adott R sugarú kör L kerületét és S területét: L=2πR, S = πR Z24) Adott 2 a és b szám. Határozzuk meg a számtani átlagukat Z25) Adott 2 nemnegatív a és b szám. Határozza meg geometriai átlagukat (szorzatuk négyzetgyöke) Z26) Határozza meg két pont távolságát adott x1 és x2 koordinátákkal a számtengelyen: |x2 - x1|. 2
13. dia
Irodalom: M. E. Abrahamyan. Programozási feladatfüzet. Elektronikus problémakönyv a programozásról. Verzió 4.6./ Rostov-on-Don - 2007 2. Ushakov D.M., Yurkova T.A. Pascal iskolásoknak. Szentpétervár: Péter, 2010. - 256 p.
1. dia
2. dia
![](https://i2.wp.com/bigslide.ru/images/44/43754/389/img1.jpg)
3. dia
![](https://i0.wp.com/bigslide.ru/images/44/43754/389/img2.jpg)
4. dia
![](https://i1.wp.com/bigslide.ru/images/44/43754/389/img3.jpg)
5. dia
![](https://i2.wp.com/bigslide.ru/images/44/43754/389/img4.jpg)
6. dia
![](https://i2.wp.com/bigslide.ru/images/44/43754/389/img5.jpg)
7. dia
![](https://i0.wp.com/bigslide.ru/images/44/43754/389/img6.jpg)