Home - qdidactic.com
Didactica si proiecte didacticeBani si dezvoltarea cariereiStiinta  si proiecte tehniceIstorie si biografiiSanatate si medicinaDezvoltare personala
referate stiintaSa fii al doilea inseamna sa fii primul care pierde - Ayrton Senna





Aeronautica Comunicatii Drept Informatica Nutritie Sociologie
Tehnica mecanica

C


Qdidactic » stiinta & tehnica » informatica » c
Studiul instructiunilor de ciclare in limbajul c



Studiul instructiunilor de ciclare in limbajul c


LUCRARE DE LABORATOR NR. 1


STUDIUL INSTRUCTIUNILOR DE CICLARE IN LIMBAJUL C

(pentru evitarea instructiunii goto )

In aceasta lucrare se vor studia urmatoarele instructiuni:

-Instructiunea goto

-Instructiunea for

-Instructiunea do-while

-Instructiunea while

-Instructiunea continue

-Instructiunea break




2. BREVIAR TEORETIC


2.1. Instructiunea goto

Sintaxa:

goto eticheta;

Exemplu:

a=0;

start:

printf(”%dn”,a);

a++;

if(a<10) goto start;


2.2. Instructiunea for

Sintaxa:

for(<expr1: initializarea variabilelor de control ale ciclului>;

<expr2: testul de continuare a ciclului>;

<expr3: actualizarea variabilelor de control ale ciclului>)


Observatii:

- INAINTE de prima iteratie se evalueaza expr1.

- DUPA fiecare iteratie pe bucla, este evaluata expr3.

- Toate cele 3 expresii sunt optionale.

- Repetarea la infinit a unui grup de instructiuni se face astfel:

for(;;)

Exemplu:

for(i=0;i<=10;i++)

printf('nPatratul lui %d este %d',i,i*i);


2.3. Instructiunea do-while

Sintaxa:

dowhile(expresie_conditie);

Descriere:

Grupul de instructiuni este executat repetitiv, cat timp valoarea  expresiei ramane diferita de zero (ramane adevarata). Expresia de test este evaluata DUPA fiecare executie a grupului de instructiuni.

Exemplu:

dowhile(nr<=0);


2.4. Instructiunea while

Sintaxa:

while(expresie_conditie)//end while

Descriere:

Grupul de instructiuni se executa repetat, cat timp valoarea expresiei ramane diferita de 0 (ramane adevarata). Expresia de test este evaluata INAINTE de fiecare executie a grupului de instructiuni.


Exemplu:

stop=0;

while(!stop)


2.5. Instructiunea continue

Sintaxa:

continue;

Descriere:

Determina, in iteratia curenta, saltul la sfarsitul secventei de instructiuni ce formeaza corpul unui ciclu (for, do-while, while) si reluarea ciclului cu iteratia urmatoare (daca mai sunt iteratii de facut).

Exemplu:

for(i=1;i<=10;i++)


2.6. Instructiunea break

Sintaxa:

break;

Descriere:

Realizeaza iesirea fortata in afara ciclului curent ( for, do-while, while).

Exemplu:

for(;;)


3. DESFASURAREA LUCRARII

Se vor edita si apoi executa programele descrise in continuare.

La fiecare program se vor opera modificarile precizate in tema asociata programului.


Programul 1

Sa se calculeaze maximul a N numere intregi citite de la tastatura.(N>=2).

Se va folosi instructiunea goto.

Listingul programului

#include <stdio.h>

#include <conio.h>

void main(void)


Tema

Sa se afiseze pe langa maxim si minimul dintre cele N numere.



Programul 2

Sa se calculeaze maximul a N numere intregi citite de la tastatura.

Se va folosi instructiunea goto.

Listingul programului

#include <stdio.h>

#include <conio.h>

void main(void)


printf('Maximul dintre numerele tastate este %d .',maxim);

getch( );


Tema

Sa se afiseze pe langa maxim si minimul dintre cele N numere.


Programul 3

Sa se rezolve in multimea numerelor naturale ecuatia: x*y*z=45 .

Listingul programului

#include <stdio.h>

#include <conio.h>

void main(void)


Tema

-Rescrieti programul folosind instructiunea goto in loc de for. .


Programul 4

Se repeta de 10 ori urmatoarea secventa: se citeste un numar natural a si i se vor afisa toti divizorii.

Rezolvare

#include <stdio.h>

#include <conio.h>

void main(void)



Programul 5

Sa se scrie programul prin care se repeta citirea de la tastatura a 3 numere intregi a,b si c, pana cand toate cele 3 numere sunt distincte.

Rezolvare

#include <stdio.h>

#include <conio.h>

void main(void)


printf('Cele 3 numere distincte sunt: %d, %d, %d.',a,b,c);


Programul 6

Fie polinomul P(x)=ax2+b*x+c, in care a,b si c sunt 3 numere reale citite de la tastatura. Se citeste de asemenea un numar real x0. Sa se calculeze si afiseze valorile lui P(x) in 20 de puncte, plecand de la punctul x0 si apoi crescand cu un pas de 0.5 pentru calcularea punctului urmator. (Deci punctele vor fi: x0, x0+0.5, x0+2*0.5, x0+3*0.5, etc.)

Rezolvare

#include <stdio.h>

#include <conio.h>

void main(void)


getch();


Programul 7

Se citesc de la tastatura doua numere naturale N1 si N2 (cu N2 > N1). Sa se calculeze si afiseze suma numerelor impare cuprinse intre N1 si N2.

Exemplu: pentru N1=4 si N2=13 suma de calculat este: S=5+7+9+11+13.

Rezolvare

#include <stdio.h>

#include <conio.h>

void main(void)


Programul 8

Se citeste un numar natural N de la tastatura. Sa se afiseze toti divizorii acestui numar.

Rezolvare

#include <stdio.h>

#include <conio.h>

void main(void)



Probleme propuse

1. Se citeste un numar natural N de la tastatura. Sa se afiseze cel mai mic divizor diferit de 1 al numarului N.

Exemplu: daca N=77, se va afisa drept rezultat numarul 7.

2.

Sa se transpuna in limbajul C urmatoarea secventa de instructiuni, descrisa in pseudocod:

SE REPETA

se citeste a

SE REPETA

se citeste b

PANA CAND b>100

PANA CAND a+b > 500

r           Aceasta secventa va fi codata in limbajul C in trei variante: folosind instructiunea goto, folosind instructiunea do..while cat si folosind instructiunea for(;;) ..





Contact |- ia legatura cu noi -| contact
Adauga document |- pune-ti documente online -| adauga-document
Termeni & conditii de utilizare |- politica de cookies si de confidentialitate -| termeni
Copyright © |- 2024 - Toate drepturile rezervate -| copyright