Lecții de programare pentru turbo pascal (al)

În practică, problemele sunt bine cunoscute, calea ulterioară a cărei soluționare depinde de îndeplinirea unor condiții. În viață, de multe ori trebuie să acționați în funcție de circumstanțe, din anumite condiții. Dar dacă viața ne caută adesea o cale de ieșire din situația numai atunci când prins în ea, programul este necesar să se prevadă toate acțiunile care urmează să fie efectuate după verificarea stării, ca și în cazul punerii sale în aplicare, iar în caz de neplată. Pentru a schimba secvența de execuție a diferitelor părți ale programului, aplicați o declarație condiționată.







7.1. Declarație condiționată.
Un operator condiționat vă permite să executați sau să săriți instrucțiunile programului, în funcție de o anumită condiție. O declarație condiționată poate avea două forme:

Operatorul complet.
Formatul de comandă
IF condiție THEN operator_1 ELSE statement_2;

Operatorul incomplet.
Formatul de comandă
IF condiție THEN declarație;

Dacă traducem în engleză cuvintele în engleză, obținem:

IF condiție THAT operatorul_1 OTHERWORD statement2; sau condiție IF;

Ca o condiție, comparați operațiunile folosite: =, <>, <=,>= <,>. Expresiile aritmetice sunt scrise în stânga și în dreapta semnului de comparație.

De exemplu, operatorul
Dacă x<>0 atunci z: = y / x
Altfel scrie ("Eroare!");
atribuie variabilei Z valoarea din coeficientul y / x, dacă x<>0, altfel se va afișa cuvântul "Eroare!" Pe ecran.

7.2. Operator compozit.
În unele cazuri, după cuvintele THEN și ELSE, este necesar să nu se execute niciun operator, ci mai multe. Apoi acești operatori sunt încorporați în așa-numitele paranteze de operare, unde BEGIN este paranteza de deschidere, END este paranteza de închidere. Toți operatorii din brațele operatorului sunt numiți operatori compuși. Înainte de cuvântul ELSE, nu se introduce niciodată punct și virgulă.

Formatul comenzii: instrucțiunea BEGIN; operator; operator END;

De exemplu:
Dacă aîncepe
R: = a;
A: = b
B: = r
capăt

După executarea unui astfel de operator, va exista o variabilă mai mare în A, iar în variabila B, cea mai mică dintre cele două valori găsite anterior.







Ca acțiunea efectuată în declarația condiționată, poate exista o altă declarație condiționată. De exemplu:
Dacă sqr (x) + sqr (y)> 1 atunci
Dacă x> y atunci z: = 0
Alt z: = 1;

Cu această formă de mișcare spre dreapta pentru fiecare acțiune internă, este ușor de înțeles care dintre cele două cuvinte IF aparține cuvântului ELSE. Luați în considerare un exemplu de program folosind o declarație condiționată. Să presupunem că pentru două numere întregi este necesar să se determine dacă acestea sunt chiar sau nu. Pentru a verifica paritatea, folosim condiția: restul de împărțire cu 2 numere parțiale este 0.

Programul prim_7;
Var a, b: întreg;
începe
Scrieți ("introduceți două numere întregi");
Citiți (a, b);
Dacă un mod 2 = 0 atunci Writeln ('a - even')
Else Writeln ("o - ciudat");
Dacă b mod 2 = 0 atunci Writeln ('b - par')
Else Writeln ("b-odd");
readln
capăt

Lucrări de instruire.
1. Calculați valoarea y pentru o valoare dată de x:

2. Introduceți două numere. Imprimați mai întâi cel mai mic, apoi cel mai mare.
3. Numerele x și y sunt date. Calculați numărul z, egal cu x + y, dacă x<=y, и 1 - х + y в противном случае
4. Sunt date două numere. Ieșiți primul dintre ele, dacă este mai mare decât cel de-al doilea și ambele numere, dacă nu este.
5. Dacă numărul dat x este mai mic decât zero, atunci z atribuie valoarea celei mai mari dintre cele două numere x și y, altfel z atribuie jumătate suma acestor numere.
6. * Sunt date două numere. Cel mai mic dintre ele este înlocuit cu jumătate de sumă dintre aceste numere și cu cât produsul este mai mare.
7. Se dă raza cercului și partea laterală a pătratului. Care cifră are o suprafață mai mare?
8. Având un număr întreg. definesc:
a. Este chiar;
b. Se termină cu numărul 7;
c. Se divide cu 13?

Lucrul cu lecția 6.

8. * Având un număr real A, care conține două semne înainte de virgulă și două după. Obțineți un număr nou schimbând întreaga și partea fracționată din numărul A.

Această problemă nu se aplică aritmeticii întregi, deoarece este dat un număr real și nu un număr întreg. Să încercăm să găsim părțile întregi și fracționate. Și apoi colectați noul număr prin mărirea fracțiunii de 100 de ori și reducerea întregii părți de asemenea de 100 de ori.

Program prim_8;
Var a, b, x1, x2: real;
începe
Scrieți ("introduceți numărul");
Citiți (a);
X1: = int (a);
X2: = frac (a);
b: = x1 / 100 + x2 * 100;
Writeln (b);
readln
Sfârșit.

9. * Sunt denominări în numerar în K ruble și 1 ruble. Emisiunea N rupe un set minim de note ale unei valori date.

Vom determina câte denumiri de valoare K sunt necesare pentru emiterea unei sume mai apropiate de aceasta, dar mai mică decât aceasta. Și apoi ce trebuie lăsat să dea.

Program prim_6;
Var k, n, m, p: întreg;
începe
Scrieți ('introduceți numărul de ruble');
Readln (n);
Scrieți ("introduceți denominația notei");
Readln (k);
m: = n div k;
p: = n mod k;
Writeln (p, denumiri de 1 ruble, ', m,' note de ', k,' fret = Total, p + m);
readln
Sfârșit.


Vă urez succes!
Tatiana Ganilova [email protected]







Trimiteți-le prietenilor: