Exemple de programare în programa școlară Pascal. Fundamentele programării Pascal pentru studenți

În acest articol vă voi spune despre principiile de bază ale lucrului cu limbajul. Pascal. Informațiile postate aici sunt simple și ușor de înțeles pentru programatorii începători. După ce ați studiat acest articol, veți avea cunoștințe de bază despre Pascal și despre dvs proces ulteriorînvățarea va fi mult mai ușoară decât ar putea fi.

Pascal- una dintre cele mai limbi cunoscute programare. Creat în 1968 - 1969 de omul de știință elvețian Niklaus Wirth, a fost numit după matematicianul și fizicianul francez Blaise Pascal și este folosit pentru a preda programarea până astăzi.

1. Pregătirea pentru muncă

Deci, ați decis să învățați cum să programați și să începeți cu limbajul cel mai potrivit pentru asta - Pascal. Pentru a începe, trebuie să achiziționați (descărcați) un compilator.

Ce anume este asta "compilator"? Acest program special, care citește codul programului și apoi îl traduce în limbajul codului mașinii. Adică, în esență, toate limbajele de programare sunt o modalitate de „comunicare” cu un computer, iar compilatorul ajută la traducerea „vorbirii” noastre în ceva pe care îl înțelege.

Există multe compilatoare pentru Pascal, cele mai faimoase dintre ele: Pascal ABC, Pascal liber, Pascal ABC.NET, Turbo Pascal. Toate aceste programe sunt bune în felul lor, dar pentru mine personal (autorul), Pascal ABC (sau Pascal ABC.NET) este foarte convenabil, deoarece are foarte interfață ușor de utilizat, ajutor detaliat și chiar o colecție de probleme pregătite special pentru începători.

2. Noțiuni introductive

Ei bine, fereastra compilatorului este deschisă în fața noastră. O foaie curată, albă (sau albastră?). Aici se vor naște primele noastre programe. Înainte de a începe, amintește-ți asta limbajul Pascal este o combinație de trei componente: alfabetul, sintaxa (reguli de scriere a obiectelor limbaj) și semantică (reguli de utilizare a acestor obiecte).
Alfabetul Pascal este format din:
  1. Litere mari și litere mici Litere latine: A...Z, a...z;
  2. Cifre: 0...9;
  3. Caractere speciale: + - * / =< >.,:; ‘ # () ( ) și combinațiile acestora: „>=" „
Sarcina sintaxei și semanticii este să scrieți corect o secțiune a programului și să compuneți corect structura acesteia, altfel programul nostru va funcționa incorect (sau nu va funcționa deloc!).
Probabil că abia așteptați să ajungeți la partea cea mai interesantă, așa că acum vom încerca să vă scriem primele programe.

Structura programului arată astfel:

Program „numele programului”; - titlul programului;
(Notă: există un punct și virgulă la sfârșitul rândului, nu toate, dar majoritatea)
Utilizări (numele bibliotecii); biblioteci care furnizează caracteristici suplimentare la crearea programelor;
Etichetă (numele etichetei); aici, dacă este necesar, sunt scrise etichete care vă permit să accesați locuri diferite programe (mai multe despre ele mai târziu);
Const aici indicăm variabile cu o valoare constantă, de exemplu, p=3,14;
Var aici enumeram toate variabilele separate prin virgula, iar apoi indicam tipul de date (Exemplu: Var: K, L, M: intreg; N, O: real; (daca sunt mai multe tipuri));
Începe (fără punct și virgulă aici)
Urmează blocul principal al programului;
Sfârşit. – sfârșitul programului (un punct este necesar după „sfârșit”, cu excepția cazului în care acesta este sfârșitul programului și nu parantezele operatorului).

3. Crearea primelor programe

Acum sunteți familiarizat cu structura de bază a programului. Trebuie remarcat faptul că dintre secțiunile de mai sus, sunt obligatorii doar „Var”, „Begin” și „end”, în timp ce restul pot fi folosite dacă este necesar în timpul sarcinii.

Deschideți fereastra compilatorului și introduceți următoarele rânduri:

Program Programma1;
ÎNCEPE
Sfârşit.

Faceți clic pe butonul „Run”. Nimic nu se intampla? Așa este, deoarece programul nostru este „gol”, nu am indicat ce ar trebui să facă, așa că nu s-a întâmplat nimic. De obicei, principiul de funcționare al unui program scris în Pascal constă în trei etape: intrarea datelor – prelucrarea datelor – iesirea datelor. Acum să facem cunoștință cu operatorul „scriere”. Servește doar pentru a scoate date fără a trece la linie nouă. Să încercăm să o aplicăm, făcând astfel programul nostru puțin mai complicat și mai interesant:

Program Programma1;
ÎNCEPE
scrie ("Pascal");
Sfârşit.

De fapt, așa este folosit. Între apostrofe putem introduce orice text, pe orice aspect, iar după executarea programului va apărea în fereastra de ieșire (sau în Linie de comanda, în funcție de ce compilator aveți). ÎN în acest caz,, ar trebui să apară cuvântul „Pascal”.

3.1. Operatorii scriu, scriu, citesc, citesc
Acum să vorbim despre introducerea datelor. Am văzut deja operatorul de scriere, dar există și alții. Writeln, de exemplu, este folosit pentru a scoate date cu o linie nouă. Pentru ce? Ei bine, de exemplu, pentru a da o valoare unei variabile:

Program Programma1;
var A:întreg;
ÎNCEPE
writeln("A= "); Citeste o); (introduceți o valoare și „atașați-o” variabilei A)
scrie o); (Ieșiți valoarea variabilei A)
Sfârşit.

După cum puteți vedea, am descris pe scurt fiecare acțiune în acolade. Acesta se numește comentariu. Pe viitor le voi folosi și pentru explicații.
În acest exemplu, pentru a atribui o valoare introdusă de la tastatură unei variabile, utilizați operator de citire. Vedem că atunci când este executat, citește șirul în variabila A. Și celălalt operator, readln, funcționează diferit. Folosindu-l putem intra imediat linia dorită, și va fi citit în variabila:

Program Programma1;
var A:întreg;
ÎNCEPE
readln(A);
scrie ("A= ", A); (linia va arăta astfel: „A = „valoarea introdusă A” „)
Sfârşit.

Acum că știți puțin despre introducerea datelor, să vorbim despre ce pot fi datele și cum să le procesăm.

3.2. Tipuri de date în Pascal
În timp ce citiți acest articol, probabil că ați dat deja peste un număr întreg pe care nu l-ați înțeles de câteva ori. După ce ați studiat cu atenție structura de bază a programului, probabil v-ați dat seama că acesta este un tip de date. Dar ce înseamnă asta? Să aruncăm o privire mai atentă la asta.

Datele sursă, care sunt introduse de la tastatură sau citite dintr-un fișier, sunt situate în variabile, iar acestea, la rândul lor, sunt stocate în memorie cu acces aleator. Tipul de date determină ce fel de date pot fi stocate și câtă memorie RAM va ocupa. Tipurile de date sunt întregi și reale.

Tipuri de date întregi (pentru numere întregi):
-octet
Capacitatea de stocare pentru valori de acest tip este de 1 octet. Intervalul de valori pentru acest tip este de la 0 la 255.
- cuvânt
Valorile de acest tip ocupă deja 2 octeți de memorie, iar intervalul de valori este deja mai mare: de la 0 la 65535.
- întreg (deja familiar pentru noi)
Valorile ocupă, de asemenea, 2 octeți de memorie, intervalul este de aceeași dimensiune, dar include numere negative: -32786…32787.
-LongInt
Cantitatea de memorie ocupată de o valoare de tip este de 4 octeți. Intervalul de valori corespunde complet numelui tipului de date: de la -2147483648 la 2147483647
-ScurtInt
Valoarea tipului consumă 1 octet de memorie, intervalul este relativ mic: -128…127.

Tipuri de date reale (pentru numere cu parte fracționată):
- Adevărat
Ocupat de o valoare de tip – 6 octeți. Numărul de cifre semnificative este de 11-12. (cifrele semnificative sunt numere exacte, adică nu rotunjite). Interval de valori tip: de la 2,9*10-39 la 1,7*1038.
-Dubla
Dimensiunea valorii tip este de 8 octeți. Numărul cifrelor semnificative este de 15-16. Interval: 5,0*10324…1,7*10308.
- Extins
Ocupă 10 octeți. Numărul cifrelor semnificative este de 19-20. Interval: 3,4*10-4932…1,1*104932.
Pe lângă acestea, există și un tip de date caracter (char) și chiar un tip de date logic (boolean), ale căror variabile pot lua doar valorile adevărate sau false.

Deci, am învățat deja multe despre intrarea și ieșirea datelor. Acum să trecem la partea cea mai dificilă - prelucrarea datelor.

3.3. Procesarea datelor. Operatii matematice. Condiții. Operații logice.
Am învățat deja cum să introducem date în program, acum să încercăm să învățăm cum să le procesăm. Primul și cel mai important lucru care ne va fi de folos în această chestiune este operatorul de atribuire. Se exprimă astfel: „:=”, și este folosit pentru a atribui o valoare unei variabile. Exemple: A:=1,5; B:=2+A. Acum că suntem familiarizați cu operatorul de atribuire, ne putem uita la operațiile matematice ale lui Pascal:
  1. Adăugarea (+);
  2. Scăderea (-);
  3. Înmulțirea (*);
  4. Divizia(/);
  5. Diviziune întreagă (div) – returnează partea întreagă a diviziunii (Exemplu: 10 div 3 = 3);
  6. Restul diviziunii (mod) – returnează doar restul diviziunii (Exemplu: 5 mod 2 = 1);
Pe lângă cele de mai sus, există și următoarele operații și funcții pentru lucrul cu numere:

Abs(x) – returnează modulul lui x;
sin(x) – sinusul unghiului x (în radiani);
cos(x) – cosinusul unghiului x (în radiani);
int(x) – returnează partea întreagă a lui x;
random(number) – număr aleator de la 0 la unul dat;
sqr(x) – pătratul x;
sqrt(x) – Rădăcină pătrată X;
inc(x) – crește x cu 1;
dec(x) – scade x cu 1.

Condiții
Condițiile în Pascal joacă un rol foarte important, mai ales dacă algoritmul de execuție a programului este ramificat. Condiția este formulată după cum urmează:

Dacă (condiția 1) atunci (acțiunea 1 - principală) altfel (acțiunea 2 - alternativă)
(dacă – dacă, atunci – atunci, altfel – altfel)

Când construiți condiții, utilizați operațiile logice și, nu, sau, xor:

Și este un operand care combină mai multe condiții într-una singură. Acțiunea va fi executată numai dacă toate condițiile enumerate sunt adevărate.
Condițiile programului;
var a:intger;
ÎNCEPE
readln(a);
dacă (2*2=4) și (3+2=5) atunci a:=a+1 altfel a:=a-1;
scrie o);
Sfârşit.

În acest exemplu, vedem că toate condițiile enumerate prin și sunt adevărate, prin urmare doar prima acțiune, care trece prin than, a fost efectuată. Dacă cel puțin o condiție nu era adevărată, atunci a doua acțiune ar fi executată.

Nu – o acțiune logică cu o condiție dintr-o parte. Dacă condiția este falsă, atunci acțiunea principală (prima) va fi efectuată, dacă este adevărată, atunci alternativa (a doua).

Condițiile programului;
var b:intger;
ÎNCEPE
readln(b);
dacă nu 5=4 atunci b:=b+1 altfel b:=b-1;
scrie (b);
Sfârşit.

Condiția 5=4 este falsă, prin urmare se va executa prima acțiune.

Sau sau) - operator logic pentru o condiție cu mai multe părți. Acțiunea principală va fi executată dacă cel puțin o condiție este adevărată.
Condițiile programului;
var d:intger;
ÎNCEPE
readln(d);
dacă (5=4+1) sau (5=4) atunci d:=d+1 altfel d:=d-1;
scrie(d);
Sfârşit.

Una dintre condiții este adevărată, așa că programul va merge la acțiunea principală. Același lucru se va întâmpla din nou dacă toate condițiile sunt adevărate. Dacă nicio condiție nu este adevărată, atunci se efectuează o acțiune alternativă.

Xor – Cu acest operator, acțiunea principală este efectuată dacă o singură condiție este adevărată. Dacă mai multe condiții sunt adevărate sau nici una dintre ele nu este adevărată, se va efectua o acțiune alternativă.

Condițiile programului;
var n:întreg;
ÎNCEPE
readln(n);
dacă (6=4) xor (3=5-2) atunci n:=n+1 altfel n:=n-1;
scrie(n);
Sfârşit.

(Notă: Nu uitați că prioritatea operațiilor logice este mai mare decât a celor matematice, prin urmare, dacă unele sunt combinate cu altele, atunci este recomandabil să separați operațiile matematice cu paranteze, astfel încât erorile să nu apară în timpul execuției programului.)

Acum suntem familiarizați cu elementele de bază ale procesării datelor. Rămâne să vorbim despre unii proceduri suplimentare, și funcții pentru gestionarea programului, care vă vor fi utile de mai multe ori în formarea dumneavoastră ulterioară în Pascal.

3.4. Proceduri și funcții pentru managementul programelor
Să vorbim despre marca menționată mai devreme. Această procedură este foarte ușor de utilizat și permite, dacă este necesar, să mergeți la orice parte a programului, „sărind” una dintre următoarele părți sau, dimpotrivă, să reveniți la partea anterioară. Înregistrarea unei etichete este foarte simplă: mai întâi descriem eticheta în secțiunea de etichete (vezi paragraful 3. Noțiuni introductive. Structura programului), apoi este indicată locația de tranziție, iar operatorul dorit este marcat cu o etichetă.

Marca de program;
eticheta 1,2;
var A, B: întreg;
ÎNCEPE
readln(A);
2: dacă A=5 atunci treci la 1; (2: - acțiune după trecerea la eticheta corespunzătoare,)
A:=A+1; (du-te - mergi la etichetă)
trece la 2;
1: scrie (A);
Sfârşit.

Pe în acest exemplu, programul crește numărul introdus cu 1 până când este egal cu cinci. Aici putem urmări efectul mărcii.

Delay (time) – opriți programul cu o întârziere, timpul între ghilimele este indicat în milisecunde.
Tasta Read – oprește programul înainte de a apăsa o tastă, valoarea funcției este codul tastei apăsate.
Ieșire – finalizarea timpurie a procedurii.
Trebuie remarcat faptul că pentru ca delay, readkey și exit să funcționeze, trebuie să conectați modulul crt (folosește crt).

Urmărește și videoclipul: Pascal de la zero - primul program.

4. Concluzie

După ce ați citit acest articol, ați dobândit cunoștințe de bază ale limbii Programare Pascal. Conceptele și principiile de bază ale lucrului cu acest limbaj au fost prezentate aici în formulări accesibile și ușor de înțeles. Acum problema este în mâinile tale. Dacă utilizați corect aceste informații și continuați să învățați limba Pascal, în curând o veți putea stăpâni perfect.

După ce ați înțeles principiul lucrului cu Pascal, veți putea să studiați alte limbaje de programare și, în viitor, să scrieți programe mai „serioase” decât cele pe care le-ați întâlnit în timp ce studiați acest articol. Continua sa inveti! Noroc!

a 2-a ed. - Sankt Petersburg: 2011. - 320Cu.

Această carte nu este un manual, ci mai degrabă un asistent în stăpânirea limbajului de programare Pascal, pe care toți școlarii sunt introduși la lecțiile de informatică. Constă în lecții despre probleme practice programare și rezolvare de probleme. Numeroase exemple vă permit să înțelegeți mai bine cum să dezvoltați un algoritm, să scrieți program propriu, formatați-i textul corect. Sfaturile și notele ajută cititorul să acorde atenție detaliilor importante, evitând capcaneleși scrie programe mai eficient. Cartea a fost pregătită de profesori de informatică de la școală care au o experiență vastă de mulți ani munca practica. A doua ediție adaugă câteva capitole noi despre înregistrări, variabile dinamice, stiva, cozi și liste. De asemenea, iluminat este unul dintre cele mai multe subiecte dificileîn programare – construirea de algoritmi recursivi.

Format: pdf(2011, ed. a 2-a, 320 p.)

Mărimea: 14,5 MB

Urmăriți, descărcați: docs.google.com

Conţinut
Prefață la a doua ediție 15
Introducere 16
De la editor 16
TEMA 1. Cum se scrie un program simplu pe Pascal 17
Lecția 1.1. Afișăm un mesaj pe ecranul de afișare 18
Lecția 1.2. Cum se instalează acest program pe un computer 19
Etapele creării unui program de calculator 20
Lecția 1.3. Formatarea textului pe ecran 28
Concluzii 34
Întrebări de test 34
TEMA 2. Cum să încorporezi date numerice în munca ta 36
Lecția 2.1. Să începem cu ceva simplu: numerele întregi 37
Conceptul de variabilă 38
Tastați Integer. Operator de atribuire. Afișajul 38
Operații cu tipul Integer 40
Funcții standard de tip Integer 42
Cum sunt reprezentate variabilele de tip întreg
în memoria computerului 43
Lecția 2.2. Să-l punem la treabă numere reale 45
Descriere tip real date (reale) 45
Formate pentru înregistrarea variabilelor reale 46
Operații materiale 46
Funcții standard de tip real 47
Scrierea expresiilor matematice 48
Cum sunt reprezentate variabilele de tip real în memoria computerului 50
Lecția 2.3. Cum să combinați variabilele de tip întreg și real 51
Conversie de tip 51
Reguli de prioritate în acțiunile efectuate 52
Acțiuni asupra datelor tipuri diferite 53
Lecția 2.4. Intrarea și ieșirea datelor 56
Introducerea variabilelor de la tastatură 57
Afișaj frumos 57
Setarea valorilor variabile prin senzor numere aleatorii 61
Lecția 2.5. De ce sunt necesare constante într-un program? 62
Concluzii 64
Întrebări de test 64
TEMA 3. Învățarea lucrului cu simboluri 66
Lecția 3.1. Cum înțelege un computer simbolurile 67
Cod Tabel ASCII 67
Descrierea tipului Char și specificații standard 68
Lecția 3.2. Tip Char - tip ordinal! 70
Concluzii 71
Întrebări de test 72
TEMA 4. George Boole și logica sa 73
Lecția 4.1. Este nevoie de încă un tip - logic! 74
Tipul de date boolean 75
Operații relaționale 75
I/O boolean 76
Lecția 4.2. Operații logice (booleene) 76
Înmulțirea logică (conjuncție) 76
Adunare (disjuncție) logică 77
SAU exclusiv (adăugare modulo 2) 77
Negație logică (inversie) 78
Utilizarea operațiilor logice în programul 78
Prioritatea operației logice 80
Concluzii 81
Întrebări de test 81
TEMA 5. Analiza situației și succesiunea executării comenzii 82
Lecția 5.1. Verificarea condițiilor și ramificarea în algoritmul 83
Forma completă și parțială a declarației if 84
Proiectarea programelor 86
Lecția 5.2. Blocuri operator 88
Lecția 5.3. Ramificare în funcție de un număr de condiții (expunere de caz) 92
Concluzii 96
Întrebări de test 96
TEMA 6. Acțiuni repetate 98
Lecția 6.1. Operator pentru buclă 99
pentru declarație cu creștere secvențială a contorului 100 Operator pentru cu decrementare secvențială a contorului 101
Lecția 6.2. Utilizarea buclelor cu contorul 101
Ciclu în cadrul unui ciclu 102
Urma 103
Calcularea sumei seriei 105
Concluzii 108
Întrebări de test 109
TEMA 7. Bucle cu condiția 110
Lecția 7.1. Buclă cu precondiția 111
Descrierea buclei cu precondiția 111
Calculul aproximativ al sumei unei serii infinite 112
Ridicarea unui număr la puterea întregă specificată 115
Lecția 7.2. Bucla cu postcondiție 119
Descrierea unei bucle cu postcondiție 120
Folosind buclele repeat și while 120
Relativitatea alegerii în timp ce declaraţiileși repetați 123
Concluzii 129
Întrebări de test 129
TEMA 8. Arrays - tip de date structurate 131
Lecția 8.1. Stocarea datelor similare sub forma unui tabel 132
Pași de bază pentru lucrul cu matrice 133
Descrierea unui tablou în Pascal 133
Completarea unei matrice cu numere aleatoare și afișarea matricei pe ecran 134
Creare tip personalizat datele 137
Căutare element maxim matricea 140
Calcularea sumei și numărului de elemente ale matricei cu proprietăți date 144
Lecția 8.2. Căutați în matricea 148
Determinarea prezenței unui element negativ într-o matrice folosind un indicator 148
Determinarea prezenței elementelor negative într-o matrice prin calcularea numărului lor 149
Găsirea numărului elementului negativ al matricei 150
Lecția 8.3. Rețele bidimensionale 154
Concluzii 156
Întrebări de test 157
TEMA 9. Algoritmi auxiliari. Proceduri și funcții. Programare structurată 1 58
Lecția 9.1. Proiectarea unui algoritm de sus în jos 159
Probleme practice de utilizare algoritmi auxiliari 160
Lecția 9.2. Exemplu de lucru cu funcția: Găsirea elementului maxim 167
Concluzii 168
Întrebări de test 169
TEMA 10. Cum să lucrezi cu șiruri de caractere 170
Lecția 10.1. Lucrul cu șiruri de caractere: tastați String 171
Descrierea unei variabile șir 171
Operații de bază cu 172 de șiruri
Lecția 10.2. Câteva funcții și proceduri Pascal pentru lucrul cu șiruri 173
Utilizarea rutinelor șirurilor de bibliotecă 173
Concluzii 175
Întrebări de test 175
TEMA 11. Proceduri și funcții cu parametri 176
Lecția 11.1. Exemple simple folosind subrutine cu parametrii 177
Cele mai simple proceduri cu parametrii 177
Parametri formali și actuali 179
Cele mai simple funcții cu parametrii 179
Lecția 11.2. Metode de trecere a parametrilor 181
Concluzii 183
Întrebări de test 184
TEMA 12. Fișiere: salvarea rezultatelor lucrării până data viitoare 185
Lecția 12.1. Cum se lucrează cu un fișier text 186
Deschiderea unui fișier pentru citire 186
Deschiderea unui fișier pentru scriere 188
Lecția 12.2. Conservare matrice bidimensională numere în fisier text 192
Salvarea datelor numerice într-un fișier text 192
Salvarea unei matrice de numere într-un fișier text 192
Adăugarea de informații la sfârșitul fișierului 196
Concluzii 197
Întrebări de test 197
Tema 13. Modul grafic de operare. Modulul grafic 199
Lecția 13.1. Porniți modul grafic lucrari 200
Caracteristici de lucru cu grafica 200
Comutarea la modul grafic al adaptorului video 201
Lecția 13.2. Continuăm să explorăm capacitățile modulului Graph 203
Desenarea liniilor folosind modulul Graph 203
Desenați cercuri folosind modulul Graph 205
Concluzii 206
Întrebări de test 207
Tema 14. Operatorii care modifică fluxul natural al programului 208
Lecția 14.1. Folosind operatorul de salt necondiționat goto 210
Lecția 14.2. Declarații care modifică fluxul unei bucle 213
declarația de pauză 213
Continuați operatorul 214
Concluzii 215
Întrebări de test 215
Subiectul 15. Gruparea datelor: înregistrări 216
Lecția 15.1. Descrierea tipului de date de înregistrare 218
Lecția 15.2. Când și cum să utilizați cu înțelepciune 220 de înregistrări
Creare tip propriu date - înregistrarea 220
Matrice de înregistrări 220
Alăturați-vă operatorului cu 221
Exemplul de selecție a structurii datelor 223
Înregistrările înregistrărilor 224
Concluzii 225
Întrebări și teme de testare 225
Subiectul 16. Variabile dinamice 226
Lecția 16.1. Alocarea memoriei 227
Lecția 16.2. Adresele 229
Lecția 16.3. Semnele 230
Indicatori către variabile individuale 230
Indicatori către blocuri variabile 232
Lecția 16.4. Alocarea memoriei dinamice 232
Nou și Eliminați 233
Alocarea dinamică a memoriei pentru matrice 235
GetMem și FreeMem 236
Accesarea elementelor unei matrice create dinamic 237
Matrice de lungime variabilă 238
Concluzii 241
Întrebări de test 242
Subiectul 17. Structuri dinamice date. Stiva 244
Lecția 17.1. Să descriem tipul de date 245
Lecția 17.2. Crearea unei stive și operațiuni de bază ale stivei 247
Adăugarea unui element la stivă (Push) 248
Scoaterea unui element din stivă (Pop) 251
Verificarea stivei pentru golire (StacklsEmpty) 252
Lecția 17.3. Folosind stiva de 253
Programarea unei stive folosind o matrice 255
Concluzii 256
Întrebări și teme de testare 256
Tema 18. Structuri dinamice de date. Coada 258
Lecția 18.1. Principiul de funcționare și descrierea tipului de date 259
Lecția 18.2. Operații de bază în coadă 261
Adăugarea unui element la coadă (EnQueue) 261
Eliminarea unui element dintr-o coadă (DeQueue) 263
Verificarea cozii pentru gol (QueuelsEmpty) 264
Lecția 18.3. Folosind coada 264
Programarea unei cozi folosind o matrice 267
Concluzii 269
Întrebări de test 269
Tema 19. Structuri dinamice de date. Lista cu sens unic 270
Lecția 19.1. Descrierea tipului de date și a principiului de funcționare 271
Lecția 19.2. Operații de bază cu o listă unidirecțională 272
Vizualizarea secvenţială a tuturor elementelor listei 272
Plasarea unui element într-o listă 273
Eliminarea unui element dintr-o listă 275
Lecția 19.3. Procesarea listei 276
Fezabilitatea utilizării unei liste unidirecționale 278
Concluzii 280
Întrebări de test 280
Subiectul 20. Recursiune 281
Lecția 20.1. Descrierea principiului 282
Lecția 20.2. Turnurile din Hanoi 285
Lecția 20.3. Structura unei subrutine recurente 287
Lecția 20.4. Un exemplu de soluție recurentă a unei probleme nerecurente 288
Lecția 20.5. Un exemplu de soluție recurentă la o problemă recurentă 289
Concluzii 291
Întrebări de test 291
Anexa 1. Elementele diagramei bloc 292
Anexa 2. Probleme 295
Întreg. Descriere. Introduce. Concluzie. Operațiuni 296
Real. Descriere. Introduce. Concluzie. Operațiuni și funcții 296
Real. Scrierea și evaluarea expresiilor 297
Char. Descriere. Introduce. Concluzie. Funcții 298
boolean. Scrierea expresiilor 298
boolean. Evaluarea expresiilor 299
Dacă. Comparații simple. Min/max/medie 300
Dacă. Ecuații și inegalități cu 300 de parametri
Pentru. Transferuri 300
Pentru. Calcule cu Loop Counter 301
Pentru. Exagerat cu comparații 302
În timp ce-Repetă. Caută 302
În timp ce-Repetă. Rândurile 303
Arte grafice. Drept 303
Arte grafice. Cercuri 304
Matrice. Umplere, retragere, sumă/cantitate 305
Matrice. Permutările 305
Matrice. Caută 306
Matrice. Cecurile 307
Matrice. Maxime 307
Subprograme fără parametri 307
Linii. Partea I 308
Linii. Partea a II-a 309
Subrutine cu parametri. Partea I 309
Subrutine cu parametri. Partea a II-a 310
Subrutine cu parametri. Partea a III-a 310
Dosarele 311
Lista unidirecțională 312
Recursiune 313

După lansarea primei ediții a cărții, colegii și studenții noștri au început să ne contacteze din ce în ce mai mult cu o solicitare de completare a primei ediții cu informații despre cele mai studiate și solicitate structuri de date. În această ediție am adăugat câteva capitole despre înregistrări, variabile dinamice, stivă, coadă și liste. De asemenea, am încercat să acoperim unul dintre cele mai dificile subiecte din programare - construcția algoritmilor recursivi.
În aplicație, am decis să renunțăm la colecția de teme cu multe opțiuni pe mai multe subiecte. În schimb, punem un număr mare în aplicație sarcini tematice, organizate în blocuri de 5-8 sarcini. Sarcinile din fiecare bloc sunt aranjate de la simplu la complex. Le folosim în lecțiile noastre pentru organizare. orele practice la consolidarea materialului teoretic (o lecție - un bloc).
Autorii își exprimă cea mai profundă mulțumire unuia dintre cei mai buni studenți ai lor, profesor asociat al Departamentului de Securitate sisteme de informare SPbSUAP, Ph.D. Evgeny Mikhailovici Linsky pentru sprijin, mulți sfaturi utileși de mare ajutor în timpul lucrului la cea de-a doua ediție a cărții.

(pentru clasele 6-7)

Uneori auzim de la școlari că Pascal este plictisitor și neinteresant. De fapt, limbajul Pascal este un fel de „tabel de înmulțire” pentru toți cei care doresc să obțină „gust” de programare. Ușor și ușor de înțeles, devine baza pentru stăpânirea tuturor celorlalte limbaje de programare.

La scoala alfabetizare computer Comp-Ca și în Minsk, predăm Pascal pentru copii. Am dezvoltat proiectul „Lecții video gratuite de Pascal” pentru a-i ajuta pe școlari să vadă că programarea este interesantă și incitantă!

Ce oferă tutorialele video gratuite despre Pascal?

Lecțiile video gratuite se bazează pe programa școlară. Aici veți găsi multe probleme rezolvate și pregătește-ți temele cu ușurință.

Din ce poți învăța cursuri față în față La scoala?

Pe cursuri de informatică Pentru școlari, studiem Pascal și alte limbaje de programare mai aprofundat: PHP, C, C++ și Java. Vrei să-ți continui studiile, să devii un as al programării și, în viitor, să obții un loc de muncă promițător în domeniul IT? Sună-ne și vino la cursuri la Școala Comp-As!

Cum să studiezi lecții video gratuite?

Este imposibil să vorbești o limbă dacă o înveți doar dintr-un manual. În același mod, nu poți deveni programator fără a scrie un singur program. De aceea, vă recomandăm ca, după ce vizionați fiecare dintre lecțiile video gratuite, să treceți imediat la exersare - și să verificați funcționarea programelor de pe computer.

clasa a 6-a

clasa a 7-a

Vă invităm într-o călătorie prin țara programării!
„Programarea poate fi comparată cu o țară uriașă, plină de minuni, surprize, descoperiri minunate și chiar... pericole! Un utilizator începător sau un „jucator” experimentat - câștigătorul monștrilor virtuali - nu știe întotdeauna că, stăpânind chiar și elementele de bază ale programării, poate face computerul să deseneze imagini care sunt doar puțin inferioare ca frumusețe față de capodoperele jocului. grafica pe computer, sau redați o melodie în timp ce faceți cu ochiul cu indicatoarele luminoase ale tastaturii.

Ei bine, ceea ce nu este o perspectivă minunată - soluția la o problemă complexă de programare, o soluție pe care tu și nimeni altcineva nu ai putea-o găsi, iar acum programul tău este „descărcat” prin Internet de sute și mii de utilizatori, care se transmit unul altuia numele creatorului său!

Ei bine, ce zici de pericole? Există și pericole. Istoria programării este marcată de greșeala programatorului care a creat program de control pentru sonda interplanetară americană și „a completat” un punct în loc de o virgulă. Virgula și-a pierdut coada, iar sonda interplanetară „a ratat” Venus cu câteva milioane de kilometri. Ce se întâmplă dacă ceva similar se întâmplă într-un program care controlează, de exemplu, zborul unei rachete de luptă?”