Microsoft Word - CarteC.doc

Documente similare
Operatorii in C Expresii Operatori aritmetici Operatori de asignare Operatori de incrementare si decrementare Operatori relationali Operatori logici O

Programarea şi utilizarea calculatoarelor

SUBPROGRAME

ALGORITMII ŞI REPREZENTAREA LOR Noţiunea de algoritm Noţiunea de algoritm este foarte veche. Ea a fost introdusă în secolele VIII-IX de către Abu Ja f

tehnologii web

Microsoft Word - CarteC.doc

E_d_Informatica_sp_SN_2014_bar_10_LRO

Laborator 2: Instrucţiuni Java şi lucru cu şiruri de caractere Întocmit de: Adina Neculai Îndrumător: Asist. Drd. Gabriel Danciu 18 octombrie 2011

E_d_Informatica_sp_MI_2015_bar_02_LRO

PCLPII-C16(9)

Lecţia 2 Structura liniară, alternativă şi repetitivă Clasa a V-a Structuri de bază(liniară, alternativă şi repetitivă) Programarea structurată este o

Microsoft Word - CarteC.doc

1. a. Să se scrie un algoritm care să afişeze toate numerele de patru cifre care au cifra sutelor egală cu o valoare dată k, şi cifra zecilor cu 2 mai

Limbaje de Programare Curs 6 – Functii de intrare-iesire

Microsoft Word - O problema cu bits.doc

Declararea variabilelor

Backtracking_2018

Microsoft Word - PCLP2_Curs_4_2019.doc

Slide 1

Microsoft PowerPoint - ImplementareLimbaj [Read-Only] [Compatibility Mode]

Declaraţii. Instrucţiuni 19 octombrie 2005 Programarea calculatoarelor 2. Curs 3b Marius Minea

ALGORITMICĂ. Seminar 3: Analiza eficienţei algoritmilor - estimarea timpului de execuţie şi notaţii asimptotice. Problema 1 (L) Să se determine număru

Analiză de flux de date 29 octombrie 2012

PowerPoint-Präsentation

Programarea şi utilizarea calculatoarelor

Curs 3 Permutari cu repetitie. Combinari. Algoritmi de ordonare si generare

Logică și structuri discrete Limbaje regulate și automate Marius Minea marius/curs/lsd/ 24 noiembrie 2014

Laborator 9: Fire de execuţie Întocmit de: Adina Neculai Îndrumător: Asist. Drd. Gabriel Danciu 20 noiembrie 2011

Limbaje de Programare Curs 8 – Fisiere

Subiectul 1

Programarea calculatoarelor. Note de curs Marius Minea 1 Introducere în programarea în C 1.1 Funcţii în limbajul C Calcule şi funcţii La origine, rolu

PROGRAMARE ORIENTATA PE OBIECTE

Laborator 2 Incompatibilităţi/Diferenţe între C şi C++ Completări C++ Supraîncărcarea (redefinirea) numelui de funcţii În C nu este permisă existenţa

LUCRAREA NR

Matrici și vectori în VBA În VBA, o matrice este un grup de variabile de același tip. De ce ar trebui să utilizați o matrice? Presupunem că ați vrut s

Limbaje de Programare Curs 5 – Siruri de caractere

Preprocesorul C Funcţii cu numǎr variabil de argumente 6 decembrie 2005 Programarea calculatoarelor 2. Curs 10 Marius Minea

Grile si probleme siruri de caractere in C++ ŞIRURI DE CARACTERE Itemii următori sunt preluaţi din variantele de bacalaureat În secvenţa de i

Diapositive 1

Analiză statică Analiza fluxului de date 23 octombrie 2014

Microsoft Word - 4-Interfete paralele.doc

O NOUA PROBLEMA DE CONCURS OLIMPIADA MUNICIPALA DE INFORMATICA, IASI 2019 V-am promis într-un articol mai vechi ca vom prezenta pe acest blog câteva p

MergedFile

Paradigme de Programare

Tablouri unidimensionale Problema 1 Să se determine mulţimea cifrelor unui număr natural n > 0, dat. Exemplu: n= Cifre = {1,2,3,7} Se cere să s

Microsoft Word - c6.doc

MergedFile

-

Anexa nr. 2 FIŞA DISCIPLINEI 1. Date despre program 1.1 Instituţia de învăţământ superior UNIVERSITATEA DE VEST TIMISOARA 1.2 Facultatea FIZICA 1.3 De

Ecuatii si sisteme de ecuatii neliniare 1 Metoda lui Newton Algorithm 1 Metoda lui Newton pentru ecuaţia f(x) = 0. Date de intrare: - Funcţia f - Apro

L7

Paradigme de programare

Interfețe și Protocoale de Comunicații Arduino-Port Paralel Arduino. Laborator 1- Portul Paralel 1 Caracteristici generale Arduino UNO este o placă de

Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare

Slide 1

Slide 1

Microsoft PowerPoint - Curs_SDA_4_RO_2019_v2.pptx

Ministerul Educatiei, Cercetarii si Tineretului Grup Scolar Gh. Asachi Galati Proiect pentru obtinerea certificatului de competente profesionale Speci

Probleme proiect TP BITPERM Implementați un algoritm care citește de la intrarea standard două numere naturale și scrie la ieșirea standard da

Laborator 4: Continuare Programare Orientată pe Obiecte Întocmit de: Adina Neculai Îndrumător: Asist. Drd. Gabriel Danciu 29 octombrie 2011

SSC-Impartire

Utilizarea îmbinării corespondenței pentru crearea şi imprimarea scrisorilor şi a altor documente Dacă utilizați îmbinarea corespondenței când doriți

proiectarea bazelor de date

Curs 8: Tehnica divizării (I) Algoritmi si structuri de date - Curs 8 1

Microsoft PowerPoint - Curs_SDA_10_RO_2019_v1.pptx

LOGICA MATEMATICA SI COMPUTATIONALA Sem. I,

PROIECT DIDACTIC DATE DE IDENTIFICARE Data: Școala : Școala Gimnazială Grigore Moisil Ploiești Clasa: a VI-a Profesor: Ilie Oana Magdalena Disciplina:

Top

Propunator: Morar Florin Colegiul National Silvania Zalau Discipina: Informatica Nivel liceal, cls. XII 1.Să se scrie în limbajul C/C++ definiţia comp

GHERCĂ MAGDA CASA CORPULUI DIDACTIC BRĂILA PORTOFOLIU EVALUARE INFORMATICĂ ȘI TIC PENTRU GIMNAZIU CLASA A V-A Neamț SERIA 1 GRUPA 1 CURSANT: GHERCĂ G

Microsoft PowerPoint - Curs_SDA_9_RO_2019_v2.pptx

Grafuri - Concepte de baza. Tipuri de grafuri. Modalitati de reprezentare

Lucrarea 10

Microsoft Word - lab1_2007.doc

Algoritmi elementari Metode de căutare secvenţială binară Metode de ordonare metoda bulelor metoda inserţiei metoda selecţiei metoda numărării Intercl

Aggregating Data

Laborator 3

Logică și structuri discrete Mulțimi Casandra Holotescu

Propunator: Morar Florin Colegiul National Silvania Zalau Discipina: Informatica Nivel liceal, cls. XI 1.Fişierul text bac.in conţine cel mult 1000 de

I

Limbaje de ordinul I LOGICA DE ORDINUL I Un limbaj L de ordinul I este format din: o mulţime numărabilă V = {v n n N} de variabile; conectorii şi ; pa

Capitole Speciale de Informatică Curs 1: Extragerea informaţiilor. Modelul boolean şi modelul boolean extins 27 septembrie 2018 Extragerea informaţiil

Microsoft Word - cap1p4.doc

Microsoft Word - Prezentare - A4 - cernavoda.doc

PHP (II)

Microsoft Word - Curs_08.doc

Retele Petri si Aplicatii

Lab6LCD

Logică și structuri discrete Logică propozițională Marius Minea marius/curs/lsd/ 3 noiembrie 2014

PowerPoint Presentation

Microsoft Word _POO_Lab_1_Modificari_v01.htm

ALGORITHMICS

Laborator5_SQL_an2

1. Operatii cu matrici 1 Cerinte: Sa se realizeze functii pentru operatii cu matrici patratice (de dimensiune maxima 10x10). Operatiile cerute sunt: A

Structuri de date pentru partiţii de mulţimi O partiţie finită a unei mulţimi nevide S este o mulţime finită de submulţimi ale lui S: {S 1, S 2,..., S

Curs8

PPSD

Microsoft PowerPoint - Curs_SDA_3_RO_2019_v2.pptx

Curs 6: Clasificarea surselor de informatii - Clasificarea Bayes Naiva. Modelul Bernoulli

Transcriere:

INSTRUCŢIUNILE LIMBAJULUI C (2) Instrucţiuni repetitive Instrucţiunea while Instrucţiunea while are formatul: while(expresie) Expresie DA Instrucţiune NU Instrucţiunea while produce în primul rând evaluarea pentru expresia din paranteze. Dacă valoarea obţinută este adevărat (este diferită de zero), atunci se execută prelucrarea dată de instrucţiune, după care se revine la evaluarea expresiei din paranteze. Dacă la evaluarea expresiei se obţine valoarea zero (false), atunci se trece la execuţia instrucţiunii care urmează după instrucţiune. Instrucţiunea while se mai numeşte instrucţiune cu test iniţial şi poate să nu se execute niciodată, dacă la prima evaluare a expresiei rezultatul este zero, iar în caz contrar ea 1

se poate executa de 1, 2, ori până când rezultatul evaluării este zero. instrucţiune este o instrucţiune simplă sau compusă. Corpul instrucţiunii while poate fi o altă instrucţiune while sau să fie o instrucţiune compusă care să conţină instrucţiuni while. In acest caz se spune ca instrucţiunile while respective sunt imbricate. Instrucţiunea while este o instrucţiune ciclică şi defineşte o structură repetitivă condiţionată anterior. Exemple : 1. Să se scrie un program care determină şi afişează suma primelor 10 numere naturale. int i=1, suma=0; while (i<=10) suma = suma + i; i = i + 1; printf("suma primelor 10 numere este %d\n",suma); 2. Calculul puterilor lui 2 2

int i = 0, putere = 1; while (++i <= 10) printf("%6d", putere *=2); printf("\n"); Rezultatul afişat de acest program este: 2 4 8 16 32 64 128 256 512 1024 Instrucţiunea for Instrucţiunea for, ca şi instrucţiunea while, se utilizează pentru a realiza o structură repetitivă condiţionată anterior. Formatul ei este: for(expresiel;expresie2;expresie3) unde: expresie1, expresie2 şi expresie3 - sunt expresii; iar instrucţiune poate fi formată din una sau mai multe instrucţiuni, care se execută repetat. 3

Expresie1 Expresie3 Expresie2 NU DA Instrucţiune Expresia expresie1 se numeşte partea de iniţializare a ciclului for, iar expresie3 este partea de reiniţializare a ciclului. Expresia expresie2 este condiţia de continuare a ciclului for şi ea joacă acelaşi rol cu expresia din ciclul while. Instrucţiunea for se execută astfel: 1. Se execută secvenţa de iniţializare definită de expresiel. 2. Se evaluează expresia expresie2. Dacă expresie2 are o valoare diferită de zero (este adevărată), atunci se execută instrucţiunea care formează corpul ciclului. Altfel (expresia are valoarea zero adică fals) se termină execuţia instrucţiunii for şi se trece la instrucţiunea următoare. 3. După executarea corpului ciclului se execută secvenţa de reiniţializare definită de expresie3 şi se reia execuţia de la pasul 2. Instrucţiunea din corpul ciclului for poate să nu se execută niciodată, dacă expresie2 are valoarea zero chiar de la început. Expresiile din antetul lui for pot fi şi vide. Caracterele punct şi virgulă sunt obligatorii. 4

Instrucţiunea for: for(expr1;expr2;expr3) este echivalentă cu următoarea secvenţă care utilizează instrucţiunea while: expr1; while(expr2) instrucţiune expr3; Obs. Această echivalare nu are loc într-un singur caz şi anume atunci când, în corpul instrucţiunii se utilizează instrucţiunea continue. Reciproc, orice instrucţiune while poate fi scrisă cu ajutorul unei instrucţiuni for în care expr1 şi expr3 sunt vide. Astfel, instrucţiunea while de mai jos: while(expr) este echivalentă cu instrucţiunea for: for(;expr;) O instrucţiune for de forma for(;;) instrucţiune ; este validă şi ea este echivalentă cu instrucţiunea while următoare: while(1) instrucţiune ; Un astfel de ciclu se poate termina prin alte mijloace decât cele obişnuite, cum ar fi instrucţiunea de revenire dintr-o funcţie, un salt la o etichetă. 5

Exemple: 1. Să se determine şi să se afişeze toate numerele prime cuprinse între două numere date, citite de la tastatură. int min,max,i,j,ind; printf("val min="); scanf("%d",&min); printf("val max="); scanf("%d",&max); while(min>max) printf("val min="); scanf("%d",&min); printf("val max="); scanf("%d",&max); for(i=min;i<=max;i++) ind=0; for(j=2;j<i;j++) if (i%j==0) ind=1; if (ind==0) printf("%d\t",i); printf("\n"); 2. Să se scrie un program care citeşte întregul n, calculează şi afişează pe n!. 6

int n,i; double f; printf( valoarea lui n: ); scanf( %d,&n) ; for( f=1.0, i=2; i <= n; i++) f*=i; printf( n =%d\tn!= %g\n, n, f); Folosind instrucţiunea while, acest program devine:. f=1.0; i=2; while (i <= n) f*=i; i++; printf( n =%d\tn!= %g\n, n, f); Instrucţiunea do-while Instrucţiunea do-while realizează structura ciclică condiţionată posterior. Ea are formatul: do while(expresie); 7

Instrucţiune Expresie DA NU Instrucţiunea do-while se execută în felul următor: 1. Se execută instrucţiune. 2. Se evaluează expresie; dacă aceasta are o valoare diferită de zero, atunci se revine la punctul 1, pentru a executa din nou altfel (expresia are valoarea zero) se trece în secvenţă, adică la execuţia instrucţiunii următoare instrucţiunii do-while. Această instrucțiune se mai numeşte şi instrucţiune repetitivă cu test final. Instrucţiunea do-while este echivalentă cu secvenţa: while(expresie) În cazul instrucţiunii do-while corpul ciclului se execută cel puţin o dată, spre deosebire de cazul instrucţiunilor while şi for, când este posibil să nu se execute niciodată. Exemplu: Să se scrie un program care calculează şi afişează suma unor numere întregi diferite de 0. Introducerea datelor se face pâna la tastarea caracterului 0. 8

int i=0, suma=0; do suma += i; printf("numar= ");scanf("%d", &i); while (i!= 0); printf("suma = %d\n", suma); Bibliografie: V. Iordan- Algoritmi si programare in C, Ed.Eurostampa, 2007 9