Documente Academic
Documente Profesional
Documente Cultură
A efectuat
st.gr.SER-111,
Lasco Marina
A verificat
lect. sup.
Pocotilenco Valentin
Chiinu 2011
CPAE 525.1 020 01 ME
Mod Coala
docum.
Semnat Data
.
1.
Sarcina
lucrarii:
Este dat masivul
Elaborat
Lasco M.
pozitiaV.primului
Verificat
Pocotilencoelement
Prelucrarea
masivelor
pozitiv din
masiv.
unidimensionale
Valoare pentru:
n
i=1; i<=n;
i++
Valoare pentru:
P[i]
i=1; i<=n;
i++
Afisarea P[i]
i=n; i>=1;
i--
P[i]>0
poz=P[i];
v=i;
Afisarea
P[poz]=v
End
3. Descrierea programului:
Acest program scris reprezinta o utilizare tripla a instructiunii ciclice FOR si o singura utilizare a
instructiunii de ramificare. Primele doua utilizari ale instructiunii ciclice ale programului se
folosesc pentru introducerea si afisarea tabloului unidimensional. A treia se foloseste pentru a
Mod Coal
a
document
Semnat Data
Coal
a
porni contorul de la n spre 1, adica de la sfirsit spre inceput scazind cite o unitate i
pentru a determina primul element cu valoare pozitiva.
4. Cod sursa:
#include<stdio.h>
/ *biblioteca raspunzatoare de functiile standard de intrare si iesire*/
#include<conio.h>
/*biblioteca raspunzatoare de functiile consolei intrare-iesire*/
#include<math.h>
/*biblioteca raspunzatoare de functiile matematice*/
main()
/*Inceputul functiei*/
{
/*Inceputul corpului functiei*/
int P[100],n,i,poz,v; /*declararea variabilelor de tip intreg si */
clrscr();
/*stergerea rezultatelor ale compilarii anterioare de pe ecran*/
printf("Culegeti marimea masivului n<=100\n"); /*Afisarea unui mesaj utilizatorului pentru
a culege de la tastatura marimea masivului*/
scanf("%d",&n); /* scanf-Functia de intrare care face posibila introducerea informatiei de
la tastatura, in cazul nostru a marimii masivului*/
/*%d indica functiei ca valoarea citita va fi de tip intreg*/
/*&n Adresa de memorie unde va fi inscrisa valoarea lui n*/
printf("Culege masivul P[%d]\n",n);
for (i=1;i<=n;i++) {
/* functia ciclica de tip FOR in care i se pune conditia
compilatorului de a introduce in masivul de marimea a n elemente valori intregi*/
printf("P[%d]=",i); scanf("%d",&P[i]);}
printf("\n Masivul initial:\n\n");
for(i=1;i<=n;i++) printf("%3d",P[i]);
/* functia ciclica de tip FOR in care
compilatorul afiseaza la ecranul monitorului acele valori introduse de utilizator*/
for(i=n;i>=1;i--)
/* functia ciclica de tip FOR porneste de de la n la 1*/
if (P[i]>0) {v=P[i]; poz=i;} /* instructiunea de ramificare IF in care compilatorul selecteaza
elementul a carei valoare este pozitiva*/
printf("\n\nPrimul element pozitiv din masiv este: P[%d]=%d",poz,v); /*Afisarea
informatiei utilizatorului despre primul element al masivului cu valoare pozitiva */
getch();
/*permite afisarea indelungata a informatiei dupa efectuarea calculelor de
catre compilator pina la tastarea de catre utilizator a unei taste anumite*/
}
/*Sfirsitul corpului functiei*/
4. Rezultatele obtinute:
Mod Coal
a
document
Semnat Data
Coal
a
5. Concluzii: In programul acesta dupa cum am mentionat mai sus este utilizata instructiunea
ciclica FOR de 3 ori nu numai pentru a scurta codul programului ci si pentru al face cit mai rapid
si eficient. Programul se putea la fel de efectuat si cu operatorul SWITCH. Insa cu ajutorul
instructiunilor ciclice se faciliteaza in cazul dat lucrul programatorului. Ca si in cazurile
precedente programele ulterioare scrise de noi capata un caracter din ce in ce mai flexibil.