Scrigroup - Documente si articole

     

HomeDocumenteUploadResurseAlte limbi doc
AccessAdobe photoshopAlgoritmiAutocadBaze de dateCC sharp
CalculatoareCorel drawDot netExcelFox proFrontpageHardware
HtmlInternetJavaLinuxMatlabMs dosPascal
PhpPower pointRetele calculatoareSqlTutorialsWebdesignWindows
WordXml


INSTRUCTIUNI DE CICLARE: for, while, break

c



+ Font mai mare | - Font mai mic



INSTRUCTIUNI DE CICLARE

1. SCOPUL LUCRARII

In aceasta lucrare se vor studia instructiuni de ciclare for, while si do.while.



2. BREVIAR TEORETIC

2.1. 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.2. 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.3. 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.4. 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.5. 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.

Programul nr. 1

Se citeste un numar natural N. Sa se afiseze N stelute, pe verticala.

Sursa programului:

#include<stdio.h>

#include<conio.h>

void main(void)

Programul nr. 2

Sa se calculeze si sa se afiseze suma a N numere citite de la tastatura. (N este cunoscut).

Sursa programului:

# include <stdio.h>

# include <conio.h>

#define N 20

void main(void)

printf("Suma calculata este "%d",suma);

getch();

Programul nr. 3

Sa se calculeze si afiseze maximul a N numere intregi citite de la tastatura.

Sursa programului:

#include <stdio.h>

#include <conio.h>

void main(void)

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

getch();

Programul nr. 4

Se citeste un numar natural de la tastatura. Sa se stabileasca daca este numar prim sau nu.

Sursa programului:

#include <stdio.h>

#include <conio.h>

#include <math.h>

void main(void)

if(estePrim==1)printf("Este prim.");

else printf("Nu este prim.");

getch();

Programul nr. 5

Sa se realizeze un program care scoate ca rezultat numarul de numere naturale de trei cifre care au suma cifrelor mai mare decat 10.

Sursa programului:

#include <stdio.h>

#include <conio.h>

void main(void)

// if

} //for

printf('n%d',nr); //afisez numarul de numere care indeplinesc conditia

getch();

}// main

Programul nr. 6

Se citesc doua numere naturale a si b. Sa se afiseze daca sunt prime intre ele sau nu.

Sursa programului:

#include<stdio.h>

#include<conio.h>

void main(void)

int i;

int sunt=1;//presupunem ca sunt

for(i=2;i<=a;i++)

if((a%i==0)&&(b%i==0))

if(sunt==1)printf('Sunt prime intre ele');

else printf('Nu sunt prime intre ele');

getch();

Programul nr. 7

Sa se rezolve in numere naturale ecuatia: 2x + 3y + 4z = 71 .

Sursa programului:

# include <stdio.h>

# include <conio.h>

void main(void)

Programul nr. 8

Se repeta citirea unui numar intreg de la tastatura, pana cand numarul introdus se gaseste in intervalul [ 7, 20 ].

Sursa programului:

#include<stdio.h>

#include<conio.h>

void main(void)

printf("n S-a tastat %d",nr);

getch();

}//main

Programul nr. 9

Sa se calculeze numarul de cifre al unui numar intreg citit de la tastatura.

Sursa programului:

#include <stdio.h>

#include <conio.h>

void main(void)

printf('Numarul are %d cifre. ',nrCifre);

getch();

Programul nr. 10

Folosind instructiunea do..while, sa se scrie un program in care se executa urmatorul meniu de comenzi:

1. desen triunghi

2. desen patrat

3. iesire

Figurile geometrice se deseneaza in modul text, folosind caracterul steluta (asterisc).

Sursa programului:

# include <stdio.h>

# include <conio.h>

void main(void)

//switch

}while(stop==0);

}//end main

Programul nr. 11

Folosind instructiunea dowhile, sa se transpuna in limbajul C urmatoarea secventa de program, scrisa in pseudocod:

se repeta

se repeta

se citeste numarul intreg a

cat timp a este in afara intervalului [1 , 10]

se citeste numarul intreg b

cat timp b<a .

Sursa programului:

#include <conio.h>

# include <stdio.h>

void main(void)

while((a<1)||(a>10));

printf('b=');scanf('%d',&b);

}while(b<a);

printf('a=%d, b=%d',a,b);

getch();

Programul nr. 12

Sa se calculeze cel mai mare divizor comun a doua numere naturale a si b, folosind urmatorul algoritm:

cat timp a b repeta

daca a>b atunci a a-b

altfel b b-a

cmmdc a

Sursa programului:

#include <stdio.h>

#include conio.h>

void main()

4. PROBLEME PROPUSE

1. Sa se implementeze, folosind instructiunea for, urmatoarea secventa de instructiuni, descrisa in pseudocod:

se repeta

se repeta

se citeste a

pana cand a > 0

se citeste b

cat timp b < a

2. Se citeste un numar natural a. Sa se calculeze si afiseze primul numar prim mai mare decat a.

3. Sa se realizeze un program care realizeaza c.m.m.d.c. a trei numere.

4. Se citesc doua numere N1 si N2, naturale (N2 > N1). Cate numere prime sunt in intervalul [N1, N2] ?

5. Sa se implementeze jocul "afla numarul". Operatorul alege un numar intre 1 si 1000. Calculatorul trebuie sa-l determine din cat mai putine incercari. Calculatorul propune un numar. Operatorul ii raspunde: Este prea mare, este prea mic, sau egal.

6. Sa se arate ca fractia (65n+3)/(39n+2) este ireductibila pentru orice numar natural n cuprins intre 1 si 500.

7. Ce semne ( + sau -, deci adunare sau scadere) se pun in locul semnului ? pentru ca expresia urmatoare sa fie adevarata?

5 ? 7 ? 2 ? 20 = 30



Politica de confidentialitate | Termeni si conditii de utilizare



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 1364
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved