Sunteți pe pagina 1din 4

Ministerul Educaiei al Republicii Moldova

Universitatea Tehnic a Moldovei


Facultatea Radioelectronic i Telecomunicaii
Catedra CPAE

Lucrare de laborator Nr.3a


Disciplina: Programare
Prelucrarea masivelor unidimensionale

A efectuat

st.gr.SER-111,
Lasco Marina

A verificat
lect. sup.

Pocotilenco Valentin

Chiinu 2011

1. Sarcina lucrarii: De calculat suma dintre primul element al masivului si ultimul


element impar al masivului.
Datele initiale precum si rezultatele sa se afiseze la vizualizator, insotindu-se cu
identificarea variabilelor respective si comentariile necesare.
2. Algoritmul programului (schema-bloc):
Start

Valoare pentru:
n

i=1; i<=n;
i++
Valoare pentru:
x[i]

i=1; i<=n;
i++
Afisarea x[i]

fmod(n,2)!
=0

s+=x[n+1-n]+=x[n(fmod(n,2)==0)]
Afisarea s

End

Mod Coala
.
Elaborat

docum.

Semnat Data

Lasco M.programului:
3. Descrierea

Verificat

Mod Coal
a

V. Pocotilenco

document

Semnat Data

CPAE 525.1 020 01 ME

Prelucrarea masivelor
unidimensionale

Lit.

Coala

Coli

2
Coal

UTM FRT SER-111a

CPAE 525.1 020 01 ME

Acest program reprezinta un ciclu de tip FOR si in acelasi timp o functie ramificata in care
utilizatorului ii este oferita posibilitatea sa introduca niste valori intregi intr-un masiv
unidimensional cu n elemente, adica tot utilizatorului revenindu-i functia de a introduce si
marimea masivului. Dupa care compilatorul programului afiseaza la ecranul monitorului acele
valori ale tabloului unidimensional introdus si calculeaza suma valorii primului element cu
valoarea ultimului element impar al masivului.

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 x[500],i,n,s=0; /*declararea variabilelor de tip intreg si atribuirea variabilei s unui nr
nul*/
clrscr();
/*stergerea rezultatelor ale compilarii anterioare de pe ecran*/
printf("Culegeti marimea masivului x\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("Culegeti masivul x\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("x[%d]=",i);
scanf("%d",&x[i]);}
printf("Masivul initial:\n");
for(i=1;i<=n;i++) printf("%2d",x[i]); /* functia ciclica de tip FOR in care compilatorul
afiseaza la ecranul monitorului acele valori introduse de utilizator*/
if(fmod(n,2)!=0); s+=x[n+1-n]+=x[n-(fmod(n,2)==0)]; /*inceputul intructiunii de ramificare
in care daca conditia se satisface se aduna prima valoare a masivului cu ultima valoare
impara*/
printf("\nSuma elem dintre x[%d] si x[%d] este: %d",n+1-n,n-(fmod(n,2)==0),s);
/*afisarea sumei celor 2 valori*/
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:

5. Concluzii: Utilizind in acest program functia ciclica FOR si instructiunea de ramificare IF


am observat ca el capata deja o forma mult mai flexibila ca cele precedente unde utilizatorul are
are drepturi mult mai mari si anume de a introduce nu numai valorile masivului ci si marimea lui
si de afla foarte usor in cazul nostru suma primei valori a elementului si ultima valoare impara a
masivului

Mod Coal
a

document

Semnat Data

CPAE 525.1 020 01 ME

Coal
a