Documente Academic
Documente Profesional
Documente Cultură
Descrierea temei:
Instrucțiunea for
Una dintre cele mai puternice instructiuni iterative ale limbajului C/C++
(si nu numai) este instructiunea for, care are urmatoarea sintaxă:
Instrucțiunea do while
Coala
SDE 525.1 081 01 ME
Mod Coala Nr. document Semnat. Data 3
Ciclul do while este utilizat in cazul când nu se cunoaşte numărul de repetări ale
ciclului şi există necesitatea ca ciclul să fie cel putin o singură dată. Sintaxa
instructiunii do while este urmatoarea:
Modul de functionare: La început se execută instructiunile din corpul lui do, apoi
se evaluează expresie. Dacã valoarea lui expresie este diferită de 0 ("adevărat"),
atunci controlul se paseazã la începutul instructiunii do şi procesul se repetă. Dacă
expresie se evaluează la 0 ("fals"), atunci controlul se pasează la instructiunile
urmatoare după while.
Coala
SDE 525.1 081 01 ME
Mod Coala Nr. document Semnat. Data 3
a−b2 +t
D= +t-1 ; X +1=t<Y interval min=12.
|a−2|
Listingul programului:
#include<conio.h>
#include<stdio.h>
#include<math.h>
void main()
{
clrscr();
int a,b,t,x,y,k,interval=0;
float S,sum=0;
printf("Introdu a=");
scanf("%d",&a);
printf("Introdu b=");
scanf("%d",&b);
printf("Interval min 12:\n");
scanf("%d%d",&x,&y);
printf("Introdu cazul:");
scanf("%d",&k);
switch(k)
{
case 1 : //for
{
printf ("\n -----Result-----");
printf ("\n Interval ---Rez---\n");
for(t=x+1;t<y;t++)
{
float S=(a-pow(b,2)+t)/(abs(a-2))+t-1;
printf (" | %d ",t);
printf (" - ");
printf (" %f \n", sum); interval++;
sum+=S;
}
printf ("\n-------------\n");
printf ("Interval: %d", interval);
Coala
SDE 525.1 081 01 ME
Mod Coala Nr. document Semnat. Data 3
printf ("\nTotal S: %f",sum);
break;
} //end case 1
case 2 : //while
{
printf ("\n -----Result-----");
printf ("\n Interval ---Rez---\n");
t=x+1;
while (t<y)
{
S=(a-pow(b,2)+t)/(abs(a-2))+t-1;
t++;
printf (" | %d ",t);
printf (" - ");
printf (" %f \n", S); interval++;
sum+=S;
}
printf ("\n-------------\n");
printf ("Interval: %d", interval);
printf ("\nTotal S: %f",sum);
break;
} //end case 2
case 3: //do while
{
printf ("\n -----Result-----");
printf ("\n Interval ---Rez---\n");
t=x+1;
do
{
S=(a-pow(b,2)+t)/(abs(a-2))+t-1;
printf (" | %d ",t);
printf (" - ");
printf (" %f \n", S); interval++;
sum+=S;
t++;
}
Coala
SDE 525.1 081 01 ME
Mod Coala Nr. document Semnat. Data 3
while(t<y);
printf ("\n-------------\n");
printf ("Interval: %d", interval);
printf ("\nTotal S: %f",sum);
break;
} //end case 3
}
getch ();
}
Rezultatul executiei:
Coala
SDE 525.1 081 01 ME
Mod Coala Nr. document Semnat. Data 3
Fig.2 Rezultatul execuției cazului 2 pentru instrucțiunea “while”
Coala
SDE 525.1 081 01 ME
Mod Coala Nr. document Semnat. Data 3
Concluzie:
In aceasta lucrare am scris un program in limbajul de programare C/C++ care sa ne
calculeze rezultatul expresiilor de mai sus. Conditia data era ca aceste expresii sa fie introduse
intr-un singur program. Şi să se scrie un program care va calcula valoarea expresiei matematice
pe un interval introdus de la tastatură. În program să se utilizeze instrucțiunele:
‘‘switch’’,‘‘for’’,‘‘while’’,‘‘do while’’,‘‘if’’și‘‘else’’.Programul este prezentat mai sus , la fel si
rezultatul sau obtinut in urma scrierii acestui program.Programul incepe prin decalarea
bibliotecilor principale <conio.h> , <stdio.h> si <math.h> precum si prin functia principala
main() si deschiderea/inchiderea programului prin { }.
Aici am utilizat functia printf care are scopul de a permite afisarea datelor de orice tip si
scanf de a alege si a memora in memoria programului, getch este functia care pastreaza rezultatul
la ecran. Declararea bibliotecilor se incepe cu semnul #. Aici am utilizat și instructiunea for, una
dintre cele mai puternice instructiuni iterative ale limbajului C/C++ (si nu numai). Ciclul while
este utilizat in cazul in care nu se cunoaşte numarul de repetări ale ciclului şi nu exista
necesitatea ca ciclul fie executat cel putin o singurå dată. Ciclul do while este utilizat in cazul
când nu se cunoaşte numărul de repetări ale ciclului şi există necesitatea ca ciclul să fie cel putin
o singură dată. Mai întîi am utilizat switch-ul şi in fiecare din cele trei cazuri am introdus
instrucţiunile de mai sus.În primul caz am utilizat for-ul, în cazul 2 while şi în cazul 3 do while,
care ne-a calculat expresia matematica S=(a-pow(b,2)+t)/(abs(a-2))+t-1.For-ul
este o instructiune ciclica, deoarece ciclul se repeat de atitea ori pîna cînd expresia 2 este
adevarata, la fel şi while,iar ciclul instructiunii do while se va repeat atitea ori pina cind valoarea
conditiei va fi adevarata.Intervalul minim in acest program este 12, iar numarul iteratiilor este
calculat din diferenta lui y de x.
Coala
SDE 525.1 081 01 ME
Mod Coala Nr. document Semnat. Data 3