Sunteți pe pagina 1din 6

Ministerul Educaiei al Republicii Moldova

Universitatea Tehnic a Moldovei

Catedra: Informatica Aplicat

RAPORT
Lucrare de laborator Nr.4
la Programarea Calculatoarelor

A efectuat:
A verificat:

St. gr. TI-141


Z. Zzzzzzz
(10-)

lect.asist.
M. Potlog

Chiinu 2014
0

Lucrare de laborator Nr.4


Tema: Prelucrarea tablourilor unidimensionale
Scopul lucrrii: Obinerea deprinderilor practice de lucru cu tablouri
unidimensionale, cunoaterea particularitilor de declarare, de introducere i de
prelucrare a tablourilor unidimensionale.
Formularea condiii problemei: De prelucrat tabloul n conformitate cu
sarcina primit. De afiat tabelul i rezultatul n forma corespunztoare.
Varianta V:
Numrul de elemente pozitive ce se afl la stnga de elementul min al tabloului dat.
Mersul lucrrii:
Un tablou este o colecie de elemente(date) de acelai tip, fiecare din acestea
putnd fi accesibil. Declaraia:
int vector[10];
definete un tablou cu numele "vector" care are 10 elemente de acelai tip, ntreg.
Aadar, o declaraie de tablou cu o dimensiune conine tipul tabloului (tip), numele
tabloului (nume) - care este un identificator - precum i dimensiunea sa,
dimensiune. Dimensiunea este o constant ntreag i specific numrul
elementelor tabloului.
Elementele unui tablou pot fi accesate prin numele tabloului urmat de o
expresie ntre paranteze ptrate numit expresie indice - care trebuie s aib
valoarea ntre 0 i dimensiune - 1. Primul element al tabloului este cel de indice 0
iar ultimul este cel de indice dimensiune -1. n declaraia de mai sus, int vector[10];
cele 10 elemente ale tabloului vector sunt:
vector[0], vector[1],, vector[9]
La declararea unui tablou se aloc o zon de memorie contigu care s stocheze
toate elementele tabloului. Adresa primului element (cel de indice 0) este i
adresa tabloului iar celelalte elemente se raporteaz la acesta.
Tablourile se clasific n:
Unidimensionale;
Bidimensionale;
Multidimensionale.
Analiza datelor:
a)

Date de intrare: n numrul de elemente, variabil simpl de tip ntreg,


variabil de intrare de la tastatur; a[50] variabil compus, tablou
unidimensional de n elemente de tip ntreg;
b)
Date de ieire: min - variabil simpl de tip ntreg, care va afia valorea
elementului minim al tabloului; s - variabil simpl de tip ntreg care va
1

afia numrul de elemente de la stnga elementului minim; ; b[50]


variabil compus, tablou unidimensional de s elemente de tip ntreg, va
afia elementele de la stnga elementului minim; ii - variabil simpl de tip
ntreg, care va afia poziia elementului minim.
c)
Variabila lucrtoare: i - variabil simpl de tip ntreg.
Schema logic a programului:
Start

s=0;
i=0;i<ii;i++

clrscr();
Introduceti
valoarea
numarului n

a[i]>0
DA
b[s]=a[i];
s++;

n
Introduceti
elementele
tabloului

Afisarea rezultatelor:
"Numarul de elemente
pozitive de la stinga
elementului min: ",s

i=0;i<n;i++

"Min: , Pozitia:
",min,ii+1

a[,i+1,]=

"Elementele
pozitive din stinga
elementului minim: "

a[i+1]

min=a[0];
ii=0;

i=0;i<s;i++

i=0;i<n;i++

a[i]<=min
DA
min=a[i];
ii=i;

NU

,b[i]
NU
getch();

Stop

Textul programului n limbajul C


#include<stdio.h>
#include<conio.h>
#include<math.h>
int main()
{
clrscr();
int n,ii,min,s,a[50],b[50],i;
printf("Introduceti valoarea numarului n:\n");
scanf("%i",&n);
printf("Introduceti elementele tabloului:\n");
for(i=0;i<n;i++)
{
printf("a[%i]=",i+1);
scanf("%i",&a[i]);
}
min=a[0];
ii=0;
for(i=0;i<n;i++)
{
if(a[i]<=min)
{
min=a[i];
ii=i;
}
}
s=0;
for (i=0;i<ii;i++)
{
if (a[i]>0)
{
b[s]=a[i];
s++;
}
}
printf("Afisarea rezultatelor:\n");
printf("Numarul de elemente pozitive de la stinga elementului min:%i\n",s);
printf("Min:%i, Pozitia:%i\n",min,ii+1);
printf("Elementele pozitive din stinga elementului minim:\n");
for (i=0;i<s;i++)
{
printf("%i ",b[i]);
}
3

getch();
return 0;
}
Rezultatele obinute:
Introduceti valoarea numarului n:
5
Introduceti elementele tabloului:
a[1]=1
a[2]=-5
a[3]=6
a[4]=-8
a[5]=2
Afisarea rezultatelor:
Numarul de elemente pozitive de la stinga elementului min: 2
Min:-8,Pozitia:4
Elementele pozitive din stinga elementului minim:
16
Verificarea i analiza rezultatelor:
Din informaia prezentat mai sus observm c tabloul conine urmtoarele 5
elemente: 1, -5, 6, -8, 2, rezult c elementul minimal al tabloului este al 4-a
element cu valoarea -8, iar elementele pozitive din stnga elementului minim al
tabloului dat sunt: 1 i 6, respectiv 2 elemente pozitive.
Concluzie:
n aceast lucrare am lucrat cu tablouri unidimensionale, i anume: am introdus
tabloul, l-am afiat tabloul, l-am sortat. Am elaborat un program ce conine 2
tablouri unidimensionale de n50 de numere ntregi. Am determinat numrul
minimal al tabloului, poziia lui, numrul de elemente pozitive din stnga
elementului minimal precum i am afiat care sunt aceste elemente. Din rezultatele
obinute i analiza rezulatelor observm c rezultatele coincid, ceea ce ne duce la
concluzia c programul funcioneaz corect.
Bibliografie:
1.
Liberty Jess, Teach Yourself C++ in 21 Days, SAMS Publishing,
Indianapolis, 1994
2.
Oualline Steve, Practical C++ Programming, O'Reilly & Associates,
Sebastopol, 1997
3.
Brian W Kernigham, Dennis M Ritchie - The C Programming
Language
4.
Prentice-Hall Software Series, 1978
5.
Catrina Octavian, Cojocaru Iuliana, Turbo C++, Teora, 1993

6.
7.

http://devcentral.iftech.com/learning/tutorials/c-cpp/c/
http://www.cit.ac.nz/smac/cprogram/onlinet.htm