Pentru a ajuta studenții și studenților


Gorbaciov LI Bazele programării în mediul Turbo Pascal.

1. Operatorii de simplu. Programarea structurii algoritmilor liniare

Operator - instruire într-un limbaj de programare, care este proiectat pentru a stabili o acțiune finalizată în procesul de prelucrare a informațiilor pe un PC.

Principala parte a programului în Pascal este o secvență de declarații, fiecare dintre care produce o acțiune asupra datelor. Operatorii sunt executate secvențial în ordinea în care acestea sunt scrise în program. Declarația de separare este un punct și virgulă.

Toți operatorii Pascal sunt împărțite în trei grupe: simplu de intrare-ieșire și structurale. De fapt, declarațiile input-output sunt o trimitere la procedura standard, deoarece nu există situații speciale de intrare-ieșire în Pascal. Cu toate acestea, în conformitate cu tradiția stabilită, un astfel de tratament este numit un operator.

1.1. Declarații simple.

Operatorii care nu conțin în ele însele alți operatori se numesc simplu. Acestea includ declarații de atribuire, salt necondiționat, apelul de procedură și declarația goală.

1.1.1. Operatorul de atribuire.

Operatorul de atribuire (=) prevede efectuarea expresiei specificate în partea sa dreaptă, și atribui rezultatul unei variabile a cărei identificator este situat pe partea stângă. Variabilă și exprimare trebuie să fie de același tip. O excepție este cazul în care variabila este un tip real și expresia - un număr întreg. Atribuirea admisă a oricărui tip de date, cu excepția fișierului.

Format: variable_name: = expresie;
Exemplu: Sortare: = 1; Cost: = 15.23;
Nume: = 'model 2109';
Rezultat: = sin (A) + cos (B);
Y: = sqrt (X) + 1; L: = M și N;

1.1.2. Declarație de salt necondiționat (Goto).

Partea executabil a programului este o anumită declarație compus în care situațiile sale constitutive sunt executate în ordinea în care acestea sunt scrise. Dacă doriți să modificați o secvență, utilizați operatorul de tranziție. Declarație de ramură necondiționată (Goto) înseamnă „du-te la.“ și este folosit în cazurile în care, după un anumit operator de este necesar să se efectueze la următoarea, în ordine, precum și orice alt operator de etichete marcate. Ie pentru a transfera controlul declarației, precedat de eticheta specificată în declarația goto.

Format: eticheta goto;
Exemplu.
Etichetă Metka1, Metka2;
.
Metka1:
Goto Metka2;
Metka2:
Goto Metka1;
.

Eticheta este un identificator sau orice număr întreg fără semn care variază de la 0 la 9999. Eticheta trebuie să fie descrisă în secțiunea înainte ca eticheta să fie marcată și înregistrată de către operator, care este separat de două puncte. Între etichetă și datele pot include una sau mai multe spații.

În cazul în care înregistrarea declarația goto trebuie să rețineți următoarele:
a) eticheta, controlul este transferat să fie descrisă în secțiunea de descriere a procedurilor de bloc etichetă, funcțiile programului principal, în care este utilizată această etichetă;
b) scoped tag-uri este blocul în care este descris. Ora de vară este posibilă numai în cadrul blocului;
c) încearcă să depășească limitele unității, sau controlul de transfer în interiorul altui bloc este o întrerupere de software.

Trebuie amintit faptul că, în conformitate cu ar trebui să fie utilizate cât mai puțin posibil regulile structurate Goto operatorului de programare, deoarece se crede că utilizarea sa frecventă complică înțelegerea logicii programului, complică depanare. Într-un caz extrem, se poate folosi o ieșire prematură din declarația de repetare.

Exemplu: Un program care implementează operatorul GoTo.
Programul GoTo;
Utilizeaza CRT;
Etichetați Finish; <Описание метки>
parola Var. întreg;
începe
Finish:
ClrScr;
Scrie ( „Introduceți parola“); Readln (parola);
<999 - правильное значение пароля>
dacă parola <> 999 apoi
începe
WriteLn ( 'nevalid parola de acces refuzat!');
Goto Finish
capăt
altceva WriteLn ( „credincios parola de acces acordate!“);
readln
Sfârșit.

1.1.3. Procedura de operator call.

Declarație de apel de procedură este folosită pentru a activa o persoană predeterminată sau procedura standard.

1.1.4. Declarație goală.

O declarație goală nu conține niciun caracter și nu face nimic. Acesta poate fi amplasat oriunde într-un program în care sintaxa permite prezența operatorului. La fel ca toți ceilalți operatori, o declarație gol poate fi marcat cu o etichetă. Cel mai adesea, o declarație gol este folosit pentru a organiza ieșirea din mijlocul programului, sau o declarație compus:
începe
Goto Metka;
.
Metka:
end.

Lăsați operatorul corespunde caracterului „;“ În locul în care regulile trebuie să fie o declarație.

Exemplu: A: = B; ; M: = 7,2;

1.1.5. operatori IO.

În orice limbaj de programare prevede posibilitatea schimbului sau transferul informațiilor între un RAM (memorie cu acces aleator) și dispozitive externe (imprimantă, afișare, unități de disc, etc.).

Pentru a intra în RAM (citit) și de ieșire din RAM există (înregistrare) date în Turbo Pascal standardul (built-in) procedurile IO numit, respectiv, citească și să scrie operatori.

Introducere de date. Pentru a organiza procedura de citire a datelor cu tastatura trei operatori sunt utilizate în RAM:
  • Citește (spisok_peremennyh); - fiecare valoare de intrare este alocat consecutiv unei variabile din listă; Numerele de intrare trebuie să fie separate unul de celălalt atunci când intră spații sau apăsând tasta Enter;
  • Readln (spisok_peremennyh); - la fel ca operatorul de citire, numai ecranul după introducere a datelor este o tranziție la un rând nou (adică, datele de intrare următoare operator pot fi introduse într-o nouă linie); Numerele de intrare trebuie să fie separate unul de celălalt atunci când intră spații sau apăsând tasta Enter;
  • readln; - trecerea la o nouă linie fără introducere de date.

Valorile variabilelor de intrare trebuie să corespundă tipurilor de variabile din lista de intrare. In Turbo Pascal se permite să introduceți valori pentru următoarele date: întreg (integer), reale (real), caracter (char) și variabile șir (string).

Cu tastatura nu pot fi introduse:
  • valoarea logică a variabilei;
  • valoarea unei variabile de tip „transfer“;
  • tip variabilă „matrice“ (valoarea poate fi introduse elementele de matrice separate);
  • variabila, cum ar fi „set“ (valoarea poate fi introdusă elemente separate ale setului);
  • valoare variabilă, cum ar fi „înregistrare“ (valori pot fi administrate câmpuri de intrare separate);
Exemplu: Să presupunem că există următoarele tipuri de variabile: R: real; C1, C2, C3: char, care este necesar să se atribuie valori corespunzătoare: 1.5, 'M', 'N', 'K'. În acest scop, operatorul Read (R, C1, C2, C3). Când introduceți valori pentru variabilele pot fi aranjate după cum urmează: 1.5MNK sau 1.5E0MNK (fara apostroful), dar nu se poate pune un spațiu după un 1,5, deoarece este perceput ca valoarea unei constante caracter. de ieșire. Datele de ieșire se realizează de obicei sub forma de care depinde de dispozitivul de ieșire: pe ecran, dispozitive de stocare, porturi I / O. Pentru a organiza procedura de citire a datelor de la RAM și scrie pe ecran, folosind trei operatori:
  • Scrie (spisok_peremennyh); - Se afișează în mod constant variabile din listă;
  • WriteLn (spisok_peremennyh); - la fel ca Write operatorului, dar după retragerea valorilor pe ecran se mută la noua linie (următoarea declarație va fi de ieșire la datele de ieșire de la începutul unei noi linii);
  • WriteLn; - face o tranziție la o nouă linie, fără ieșire de date (de ieșire a liniilor de „goale“).
Turbo Pascal, valori de ieșire din următoarele date:
  • variabile întregi (întregi);
  • variabile reale (reale);
  • variabile simbolice (char);
  • variabile logice (boolean);
  • Constantele caracter;
  • expresii aritmetice și logice;
  • variabile string.
nu poate fi dedus de către operatorul terminalului:
  • valoarea unei variabile de tip „transfer“;
  • tip variabilă „matrice“ (este posibil să se deducă valorile elementelor de matrice individuale);
  • variabilei cum ar fi „set“ (poate valori de ieșire ale elementelor individuale ale setului);
  • valoare variabilă, cum ar fi „înregistrare“ (cutie valorile de ieșire ale câmpurilor de înregistrări individuale);
Exemplu: Fie rezultatul variabilelor programului valorile obținute: I = -5, R = 3,52, C = '+', B = True. Aduceți-le pe ecran:
Pr de program;
var I: integer; R: real;
C: char; B: boolean;
.
Write ( 'Exemplu'); WriteLn;
WriteLn ( 'I =', I 'R =', R);
WriteLn ( 'Symbol -', C);
Write ( 'B =', B);

Ca urmare, valorile de ieșire sunt după cum urmează:

Turbo Pascal furnizează date de ieșire într-un format specific (de ieșire formatate). În general, formatul este după cum urmează: P: M, unde P - este numele variabilei, M - constanta întreagă care specifică numărul de posturi necesare pentru valoarea de ieșire a P (ca parametru M poate fi indicată nu numărul și numele constant care este descrisă în secțiunea const).

Pentru format variabilă reală poate fi specificată în această formă: P: M: N (număr de cifre din lungimea elementului ..), unde M - numărul total de posturi pentru variabila de ieșire P, inclusiv semnul numărului, partea întreagă și partea fracționară a punctului; N - numărul de poziții ale părții fracționară. În acest caz, P variabila este derivat ca un punct fix constant.

Exemplu: Folosind variabilele de ieșire formatate din exemplul precedent:
.
WriteLn ( 'I =' I: 3, 'R =', R: 5: 2);
WriteLn ( 'Symbol -', C: 5);
Write ( 'B =', B: 8);

rezultat:
I = -5 R = 3,52
Simbol - +
B = TRUE

1.2. Exemple de structuri liniare de programe.

Ca urmare a programului pentru a obține o masă:
----------------------------------------
| Partea A | Partea B | zona |
----------------------------------------
| 8 | 4 | 32 |
----------------------------------------
fiecare linie să fie imprimate din prima poziție a unui nou rând al aparatului de imprimare.

Exemplu: Programul recalculează distanța în mile, în distanța în kilometri.
Programul MilToKm;
utilizează CRT;
var Mil. reale; <Расстояние в милях>
Km. reale; <Расстояние в километрах>
începe
ClrScr;
Scrie ( „Introduceți distanța în mile:„); Readln (Mil);
Km: = Mil * 1.6;
WriteLn (Mil: 5: 2, 'kilometrii, Km: 5: 2, 'kilometri');
readln
Sfârșit.

Notă: Operatorul readln poate fi folosit pentru a întârzia ieșirea program de pe ecran până când apăsați tasta Enter.