Documente Academic
Documente Profesional
Documente Cultură
Lab 4
Lab 4
RAPORT
Lucrarea de laborator nr. 4
la Programarea Calculatoarelor
A efectuat:
st. gr. TI-237 Surdu Nichita
A verificat: V. Toncu
Asis. Univ.
Chișinău 2023
Lucrarea de laborator nr. 4
Sarcină:
Pentru tabloul bidimensional dat din n linii şi m coloane să se afişeze la ecran următorul meniu
de opţiuni:
1. Alocarea dinamică a memoriei pentru tablourile bidimensionale
2. Introducerea elementelor tabloului de la tastatură
3. Completarea tabloului cu valori aleatorii
4. Sortarea elementelor tabloului (cоnform variantelor)
5. Afișarea elementelor tabloului la ecran
6. Eliberarea memoriei alocate pentru tablou
0. Ieșire din program
Să se elaboreze funcţiile pentru realizarea opţiunilor meniului.
Varianta 18
Să se sorteze liniile impare ale tabloului în ordine ascendentă folosind metoda de sortare prin
inserție.
Noţiuni din teorie şi metodele folosite:
Funcții
Funcţiile împart taskuri complexe în bucăţi mici mai uşor de înţeles şi de programat. Acestea
pot fi refolosite cu alte ocazii, în loc să fie rescrise de la zero. De asemenea, funcţiile sunt
utile pentru a ascunde detalii de funcţionare ale anumitor părţi ale programului, ajutând la
modul de lucru al acestuia. Utilizând funcţii, care reprezintă unitatea fundamentală de
execuţie a programelor C, se obţine o divizare logică a programelor mari şi complexe.
Caracteristicile definitorii ale unei funcţii în C sunt: numele, parametrii de apel şi valorea
returnată. Sintaxa standard de declarare a unei funcţii este:
return expresie;
}
Limbajul C permite separarea declaraţiei unei funcţii de definiţia acesteia (codul care o
implementează). Pentru ca funcţia să poată fi folosită, este obligatorie doar declararea
acesteia înainte de codul care o apelează. Definiţia poate apărea mai departe în fişierul
sursă, sau chiar într-un alt fişier sursă sau bibliotecă.
Pointeri
Un pointer este o variabilă care reţine o adresă de memorie.
În C, un pointer poate reprezenta:
1. adresa unor date de un anumit tip
tip elementar, structură, şir de caractere etc.
operațiile cu pointeri sunt determinate de dimensiunea tipului de date
2. adresa unei funcții
adresa la care punctul curent de execuţie va sări, în cazul în care acea funcţie
este apelată
3. adresa unei adrese de memorie
acest tip de pointer poate fi redus la prima situaţie
4. adresa unei zone cu conținut necunoscut (pointer către void)
Operatorul de referențiere
& - apare în fața variabilei asupra căreia acționează
Este aplicat unei variabile, avand ORICE tip de date, și obține ADRESA de (din) memorie a
variabilei respective.
Operatorul de dereferențiere
* - apare în fața variabilei asupra căreia acționează
Este aplicat unei variabile de tip pointer și obține valoarea stocată la adresa respectivă
(indicata de pointer).
Pentru ca dereferențierea să aibă loc cu succes, pointer-ul trebuie să indice o adresă de
memorie validă, la care programul are acces. Această adresă poate fi adresa unei variabile
declarate în prealabil sau adresa unui bloc de memorie alocat dinamic.