Capitol Ul 3

download Capitol Ul 3

If you can't read please download the document

description

c++

Transcript of Capitol Ul 3

CAP AL III-LEA

CAPITOLUL 3 Implementarea structurilor de control 48

3

IMPLEMENTAREA STRUCTURILOR DE CONTROL

3.1. Implementarea structurii secveniale3.3. Implementarea structurilor repetitive3.2. Implementarea structurii de decizie3.4. Faciliti de ntrerupere a unei secvene

Algoritmul proiectat pentru rezolvarea unei anumite probleme trebuie implementat ntr-un limbaj de programare; prelucrarea datelor se realizeaz cu ajutorul instruciunilor. Instruciunea descrie un proces de prelucrare pe care un calculator l poate executa. O instruciune este o construcie valid (care respect sintaxa limbajului) urmat de ; . Ordinea n care se execut instruciunile unui program definete aa-numita structur de control a programului.

Limbajele moderne sunt alctuite pe principiile programrii structurate. Conform lui C. Bohm i G. Jacobini, orice algoritm poate fi realizat prin combinarea a trei structuri fundamentale:qstructura secvenial;

qstructura alternativ (de decizie, de selecie);

qstructura repetitiv (ciclic).

3.1. IMPLEMENTAREA STRUCTURII SECVENIALE

Structura secvenial este o niruire de secvene de prelucrare (instruciuni), plasate una dup alta, n ordinea n care se dorete execuia acestora.Reprezentarea structurii secveniale cu ajutorul schemei logice ( figura 3.1.):Reprezentarea structurii secveniale cu ajutorul pseudocodului:

instr1;instr2;. . . . .S1S2SnFigura 3.1. Schema logic pentru structura secvenial

Implementarea structurii secveniale se realizeaz cu ajutorul instruciunilor:qInstruciunea vid

Sintaxa:;Instruciunea vid nu are nici un efect. Se utilizeaz n construcii n care se cere prezena unei instruciuni, dar nu se execut nimic (de obicei, n instruciunile repetitive).Exemple:int a;. . . . . . int j; ;for (;;){. . . . }qInstruciunea expresie

Sintaxa:expresie;sau:apel_funcie;

Exemple:int b, a=9;double c; b=a+9;coutb)z=a;else z=b;4.Aceeai construcie poate fi scris i astfel:

if (expresie1)instruciune1;else if (expresie2)instruciune2;else if (expresie3)instruciune3;. . . . .. . . . . . elseinstruciune_n;

Pentru claritatea programelor surs se recomand alinierea instruciunilor prin utilizarea tabulatorului orizontal.

5.Deseori, apare construcia:

if (expresie1)instruciune1;else if (expresie2)instruciune2;elseif (expresie3)instruciune3;. . . . . . . . . elseinstruciune_n;

Expresiile sunt evaluate n ordine; dac una dintre expresii are valoarea 1, se execut instruciunea corespunztoare i se termin ntreaga nlnuire. Ultima parte a lui else furnizeaz cazul cnd nici una dintre expresiile 1,2,. . ., n-1 nu are valoarea 1.6.n cazul n care instruciunile din cadrul if-else sunt simple, se poate folosi operatorul condiional.

Exerciii:1.S se citeasc de la tastatur un numr real. Daca acesta se afl n intervalul [-1000, 1000], s se afiseze 1, dac nu, s se afiseze -1.

#include void main() {double nr; coutnr;int afis = (nr>= -1000 && nr