+ All Categories
Home > Documents > Curs 9 - WordPress.com · Curs 9 19.11.2013 Introducere în programarea calculatoarelor Lăcr...

Curs 9 - WordPress.com · Curs 9 19.11.2013 Introducere în programarea calculatoarelor Lăcr...

Date post: 22-Feb-2020
Category:
Upload: others
View: 9 times
Download: 0 times
Share this document with a friend
5
19.11.2013 1 Introducere în programarea calculatoarelor Lăcrămioara Stoicu-Tivadar, 2013 03.09.1919 Introducere în programarea calculatoarelor Lăcrămioara Stoicu-Tivadar, 2013 Curs 9 19.11.2013 Introducere în programarea calculatoarelor Lăcrămioara Stoicu-Tivadar, 2013 7. Instrucţiunile limbajului C (continuare) 7.2. Instrucţiuni structurate Introducere în programarea calculatoarelor Lăcrămioara Stoicu-Tivadar, 2013 7.2.1. Structura asociativă în cadrul acesteia se grupează mai multe instrucţiuni rezultând astfel o secvenţă sau o instrucţiune compusă; instrucţiunile componente se execută secvenţial; blocul de instrucţiuni dintr-un program este o structură asociativă care începe cu { şi se termină cu } în cazul în care o secvenţă include o altă secvenţă, perechile { } se grupează după principiul parantezelor; separatorul ; este obligatoriu după fiecare instrucţiune. Introducere în programarea calculatoarelor Lăcrămioara Stoicu-Tivadar, 2013 7.2.2. Structuri selective implică alegerea, în funcţie de o anumită valoare, a uneia sau mai multor variante din program IF SWITCH
Transcript
Page 1: Curs 9 - WordPress.com · Curs 9 19.11.2013 Introducere în programarea calculatoarelor Lăcr ămioara Stoicu-Tivadar, 2013 7. Instrucţiunile limbajului C (continuare) 7.2. Instrucţiuni

19.11.2013

1

Introducere în programarea calculatoarelorLăcrămioara Stoicu-Tivadar, 2013

03.09.1919

Introducere în programarea calculatoarelorLăcrămioara Stoicu-Tivadar, 2013

Curs 9

19.11.2013

Introducere în programarea calculatoarelorLăcrămioara Stoicu-Tivadar, 2013

7. Instrucţiunile limbajului C(continuare) 7.2. Instrucţiuni structurate

Introducere în programarea calculatoarelorLăcrămioara Stoicu-Tivadar, 2013

7.2.1. Structura asociativă

� în cadrul acesteia se grupează mai multe instrucţiuni rezultând astfel o secvenţă sau o instrucţiune compusă;

� instrucţiunile componente se execută secvenţial;� blocul de instrucţiuni dintr-un program este o

structură asociativă care începe cu { şi se termină cu }

� în cazul în care o secvenţă include o altă secvenţă, perechile { } se grupează după principiul parantezelor;

� separatorul ; este obligatoriu după fiecare instrucţiune.

Introducere în programarea calculatoarelorLăcrămioara Stoicu-Tivadar, 2013

7.2.2. Structuri selective�implică alegerea, în funcţie de o

anumită valoare, a uneia sau mai multor variante din program

�IF

�SWITCH

Page 2: Curs 9 - WordPress.com · Curs 9 19.11.2013 Introducere în programarea calculatoarelor Lăcr ămioara Stoicu-Tivadar, 2013 7. Instrucţiunile limbajului C (continuare) 7.2. Instrucţiuni

19.11.2013

2

Introducere în programarea calculatoarelorLăcrămioara Stoicu-Tivadar, 2013

Introducere în programarea calculatoarelorLăcrămioara Stoicu-Tivadar, 2013

Instrucţiunea SWITCH - sintaxa

� selecţie multiplă

� se alege una dintre mai multe variante în funcţie de valoare unei expresii

� Sintaxa instrucţiunii SWITCH este:SWITCH (selector) {

case s1:bloc1;break;case s2:bloc2;break…default: bloc;

}

Introducere în programarea calculatoarelorLăcrămioara Stoicu-Tivadar, 2013

Instrucţiunea SWITCH - sintaxa

� ‘selector’ - expresie care reprezintă elementul decizional (deosebit de elementul decizional de la if, care era o condiţie)

� s1,s2,… - constante; constantele şi selectorul trebuie să fie de acelaşi tip, iar cosntantele trebuie să fie distincte.

� bloc1,bloc2,… - instrucţiunile care se execută în funcţie de rezultatul evaluării selectorului.

Introducere în programarea calculatoarelorLăcrămioara Stoicu-Tivadar, 2013

Instrucţiunea SWITCH

�La o parcurgere a instrucţiunii switch se va executa doar o variantă din cele n (în cazul în care este precizat break) sau dacă nici una nu corespunde valorii selectorului există alternativa default.

PC36.C

Introducere în programarea calculatoarelorLăcrămioara Stoicu-Tivadar, 2013

Instrucţiunea SWITCH - diagrama

Evaluarea selectorului s

s == s1

s == s2

s == sn

bloc

bloc1

bloc2

blocn

......

Adevărat

Adevărat

Adevărat

Fals

Fals

Fals

Discuţie break

Introducere în programarea calculatoarelorLăcrămioara Stoicu-Tivadar, 2013

Instrucţiunea SWITCH - exemple�PC37.C- program care realizează prelucrări

asupra caracterelor citite de la tastatură. Se tastează câte un caracter. Dacă este altceva decât cifră se semnalează eroare. Dacă este 0,1,2 se neglijează, pentru restul numerelor pare se calculează pătratul, iar pentru impare cubul valorii numerice corespunzătoare şi se afişează. Programul se termină dacă se tastează litera B.

�PC38.C PC39.C

Page 3: Curs 9 - WordPress.com · Curs 9 19.11.2013 Introducere în programarea calculatoarelor Lăcr ămioara Stoicu-Tivadar, 2013 7. Instrucţiunile limbajului C (continuare) 7.2. Instrucţiuni

19.11.2013

3

Introducere în programarea calculatoarelorLăcrămioara Stoicu-Tivadar, 2013

7.2.3. Structuri ciclice

� implică reluarea execuţiei unui bloc de instrucţiuni în mod repetat în funcţie de o anumită condiţie;

� condiţia poate fi evaluarea unei relaţii (adevărată sau falsă) sau poate defini un anumit domeniu de valori

� 3 categorii de structuri ciclice� cu test iniţial WHILE� cu test final DO-WHILE� cu contor FOR (cu test iniţial)

Introducere în programarea calculatoarelorLăcrămioara Stoicu-Tivadar, 2013

Instrucţiunea WHILE - sintaxa

WHILE (expresie) instrucţiune�instrucţiune se va executa atât timp cât

valoarea logică a expresiei este adevărată� dacă expresia este falsă instrucţiunea nu se va

executa niciodată� pentru a ieşi din ciclare în cadrul instrucţiunii (sau

în expresie) trebuie să se modifice valoarea expresiei (altfel se poate intra în cicluri infinite)

const n=5;…int i,s;...i=1;s=0;while (i < n) s=s+i;...

Introducere în programarea calculatoarelorLăcrămioara Stoicu-Tivadar, 2013

Instrucţiunea WHILE - diagrama

�PC40.C

expresie instrucţiuneAdevărat

Fals

Introducere în programarea calculatoarelorLăcrămioara Stoicu-Tivadar, 2013

Instrucţiunea DO-WHILE - sintaxa

DO bloc WHILE (expresie)�‘bloc’ - este format dintr-una sau mai

multe instrucţiuni separate prin ; �‘bloc’ va fi executat în mod repetat atât

timp cât ‘expresie’ va fi adevărată�‘bloc’ se va executa cel puţin o dată

Introducere în programarea calculatoarelorLăcrămioara Stoicu-Tivadar, 2013

Instrucţiunea DO-WHILE - diagramaDO bloc WHILE (expresie)

expresie

bloc

Adevărat

Fals

Introducere în programarea calculatoarelorLăcrămioara Stoicu-Tivadar, 2013

Instrucţiunea DO-WHILE - exemple

�PC41.C – suma cu while

�PC42.C – suma cu do-while

�dacă într-o instrucţiune do-while apare o altă instrucţiune do-while, cuvintele do, while se grupează conform principiului parantezelor.

Page 4: Curs 9 - WordPress.com · Curs 9 19.11.2013 Introducere în programarea calculatoarelor Lăcr ămioara Stoicu-Tivadar, 2013 7. Instrucţiunile limbajului C (continuare) 7.2. Instrucţiuni

19.11.2013

4

Introducere în programarea calculatoarelorLăcrămioara Stoicu-Tivadar, 2013

Instrucţiunea DO-WHILE - exemple

�PC43.C prelucrează un text,calculând numărul cuvintelor şi al propoziţiilor din care este alcătuit; textul se termină cu caracterul #

� restricţii: � cuvintele sunt alcătuite numai din litere, fiind

despărţite prin orice caracter diferit de literă� propoziţiile sunt formate din cel puţin 1 cuvânt şi se

termină cu punct� la începutul propoziţiilor se neglijează orice alt

caracter în afară de literă sau #

Introducere în programarea calculatoarelorLăcrămioara Stoicu-Tivadar, 2013

Instrucţiunea FOR - sintaxa

FOR (expresie1;expresie2;expresie3) instrucţiune

� ‘instrucţiune’ se va executa atât timp cât condiţia precizată în ‘expresie2’ este adevărată, începând cu o valoare precizată în ‘expresie1’ cu modificări aduse în ‘expresie3’;

� testul pentru ciclul for se face iniţial, iar în cazul în care condiţia din ‘expresie2’ nu este adevărată, ciclul nu se va executa niciodată.

Introducere în programarea calculatoarelorLăcrămioara Stoicu-Tivadar, 2013

Instrucţiunea FOR

�În general, ‘expresie1’ şi ‘expresie3’ sunt atribuiri sau apeluri de funcţii, iar ‘expresie2’ este o relaţie. Oricare dintre cele trei poate lipsi, dar punctul şi virgula trebuie menţinute.

�PC44-45-46.C; PC46a,b.C

8. Funcţii

Introducere în programarea calculatoarelorLăcrămioara Stoicu-Tivadar, 2013

Funcţii

� Atunci când se scriu programe complexe estenecesară utilizarea unităţilor de program careîn C sunt referite ca funcţii.

� Ele reprezintă prelucrări unitare care pot fiutilizate şi în alte programe.

� Funcţiile sunt specifice programăriistructurate.

� Pot fi standard sau definite de utilizator.

Introducere în programarea calculatoarelorLăcrămioara Stoicu-Tivadar, 2013

Funcţii

�Un program în limbaj C este format dintr-unprogram principal în care sunt definite funcţiicare se apelează din funcţia main() sau uneledin altele.

� În momentul când se apelează o funcţie,programul va continua cu executareainstrucţiunilor din funcţia respectivă, iar lafinalul acesteia se va reveni la instrucţiuneacare urmează după apel în funcţia în care s-afăcut apelul. PC47.C

Page 5: Curs 9 - WordPress.com · Curs 9 19.11.2013 Introducere în programarea calculatoarelor Lăcr ămioara Stoicu-Tivadar, 2013 7. Instrucţiunile limbajului C (continuare) 7.2. Instrucţiuni

19.11.2013

5

Introducere în programarea calculatoarelorLăcrămioara Stoicu-Tivadar, 2013

Atunci când apelează o funcţie se realizează următoarele acţiuni:

� Se întrerupe execuţia instrucţiunilor dinunitatea apelantă.

� Se realizează corespondenţa între numeleparametrilor formali şi valorile sau adreseleargumentelor.

� Se creează variabile locale funcţiei curezervarea locaţiilor de memorie.

� Se execută instrucţiunile din funcţie.� Se desfiinţează variabilele locale.� Se revine în unitatea apelantă.

Introducere în programarea calculatoarelorLăcrămioara Stoicu-Tivadar, 2013

Avantajele utilizării funcţiilor� Pentru operaţii care pot fi executate pentru diferite

variabile de acelaşi tip, declararea funcţiilor care ledescriu se face o singură dată, iar apelul ori de câteori este nevoie.

� Se obţine un program modularizat - mai uşor descris şi depanat.

� Funcţiile pot fi utilizate şi în alte programe decât celeîn care au fost declarate; aceasta se poate realiza în Cfolosind extern.

� Funcţiile pot “ascunde” detalii ale operaţiilor dinprogram (încapsulare), pe care nu este nevoie să lecunoaştem, clarificând astfel întregul şipermiţând modificări mai uşoare.

Introducere în programarea calculatoarelorLăcrămioara Stoicu-Tivadar, 2013

Sumar C10

�Funcții� Declarație, definiție, apel� Parametri formali și actuali� Transmiterea de parametri


Recommended