Programarea calculatoarelor și limbaje de programare - tablouri și șiruri

Laborator
8/10 (2 voturi)
Conține 1 fișier: doc
Pagini : 4 în total
Cuvinte : 1428
Mărime: 15.23KB (arhivat)
Puncte necesare: 0
Profesor îndrumător / Prezentat Profesorului: Vasilescu Dragos

Extras din laborator

1. Noţiuni teoretice

1.1. Introducere

Un tablou (array) este un ansamblu de variabile de acelaşi tip la care se face referire folosindu-se un acelaşi nume. Un anume element dintr-un tablou este indicat prin intermediul unui indice (index). În C/C++ toate tablourile sunt alcătuite din locaţii de memorie învecinate. Adresa de memorie cea mai mică corespunde primului element, iar adresa cea mai mare corespunde ultimului element. Tablourile pot avea de la una la mai multe dimensiuni. Tabloul cel mai des folosit în C/C++ este şirul (string), care este un tablou de caractere care se încheie cu un zero. Acest mod de a privi şirurile conferă limbajului C/C++ mai multă putere şi eficienţă decât, alte limbaje.

În C/C++, tablourile şi pointerii sunt legaţi printr-o relaţie strânsă; de obicei, orice abordare a unuia trebuie să se refere şi la celălalt.

1.2. Tablouri unidimensionale

Forma generală de declarare a unui tablou unidimensional este:

tip variabila_nume[dimensiune]

Tip declară tipul de bază al tabloului, care este tipul fiecărui element inclus în tablou, dimensiune defineşte numărul de elemente conţinute în tablou. În C/C++, indicele primului element din orice tablou este 0.

Cantitatea de memorie necesară pentru stocarea unui tablou depinde direct de tipul şi dimensiunea acestuia.

În C/C++ nu se poate transmite un întreg tablou ca argument al unei funcţii. Totuşi, funcţiei i se poate transmite un pointer către un tablou, indicând numele tabloului fără a fi urmat de vreun indice. Ex:

void main (void)

{int i[10];

funct1(i);

1.2.1. Generarea unui pointer către un tablou

Un pointer către primul element al unui tablou se poate genera specificand numai numele tabloului, fără a fi urmat de indice. De exemplu, fie:

int test[10];

Se poate genera un pointer pentru primul element folosind numele test. De exemplu, programul următor atribuie variabilei p adresa primului element din tabloul test:

int *p;

int test[10];

p=test;

De asemenea, adresa primului element dintr-un tablou poate fi specificată folosind operatorul &. De exemplu, dacă scrieţi test şi &test[0], obţinem acelaşi rezultat.

1.2.2. Şiruri

Cea mai des utilizată întrebuinţare a tablourilor unidimensionale o reprezintă şirurile. În C/C++, un şir este definit ca un tablou de caractere care se încheie printr-un caracter nul (zero). Un caracter nul este specificat ca ‘’ şi este zero. Din acest motiv, este necesar să declaraţi şirurile de caractere ca fiind cu un caracter mai lungi decât cel mai lung şir pe care îl pot memora. De exemplu, pentru a declara un tablou şir care poate memora un şir de 10 caractere, vom declara:

char sir[11];

Deşi nu dispune de un tip de dată şir, permite existenţa constantelor şir. O constantă şir este o listă de caractere încadrate între ghilimele duble.

Nu este necesar să inserăm manual zeroul de la sfârşitul constantelor şir. Compilatorul C/C++ va efectua automat această operaţie.

C/C++ dispune de o varietate de funcţii pentru manipularea şirurilor. Cel mai des folosite sunt:

Nume Funcţie

strcpy(s1,s2) Copiază s2 în s1

strcat(s1,s2) Concatenează s2 la sfârşitul lui s1

strlen(s1) Calculează lungimea lui s1

strcmp(s1,s2) Dă valoarea 0 dacă s1 şi s2 sunt identice, negative dacă s1<s2 şi pozitiv dacă s1>s2

strchr(s1,ch) Returnează pointerul primei apariţii a caracterului ch în s1

strstr(s1,s2) Returnează pointerul primei apariţii a lui s2 în s1

1.2. Tablouri bidimensionale

C/C++ acceptă tablouri multidimensionale. Forma cea mai simplă a unui tablou multidimensional este tabloul bidimensional. În esenţă, un tablou bidimensional este un tablou de tablouri unidimensionale. Pentru a declara un tablou de întregi d, de dimensiunea 10x20 se va scrie:

int d[10][20];

Când un tablou bidimensional este folosit ca argument al unei funcţii este transmis efectiv numai pointerul primului element. Cu toate acestea, paramentul care primeşte un tablou bidimensional trebuie să definească măcar dimensiunea din dreapta a tabloului. Ex:

void funct1 (int x[][10])

2. Aplicaţii

2.1. Lansaţi în execuţie aplicaţia Visual C++ 2008 Express Edition:

Din meniul Start-> Programs-> Microsoft Visual C++ 2008 Express Edition, executaţi clic pe opţiunea Microsoft Visual C++ 2008 Express Edition.

2.2. Creaţi un nou proiect, Proiect4 şi un nou fişier File1.cpp:

a) Din meniul File->New, alegeţi opţiunea Project;

b) În fereastra New Project selectaţi opţiunea Win32 şi verificaţi să fie selectat Win32 Console Application;

c) În câmpul Name introduceţi Proiect4 şi apăsaţi OK;

d) În fereastra deschisă apăsaţi Next şi apoi selectaţi opţiunea Empty Project şi apăsaţi Finish;

e) În secţiunea Solution Explorer executaţi clic dreapta pe directorul Source File şi alegeţi opţiunea New-> Item;

f) În fereastra Add New Item selectaţi categoria Code şi verificaţi să fie selectată opţiunea C++ File (.cpp);

g) În câmpul Name tastaţi numele File1 şi apăsaţi Add.

2.3. În fişierul File1.cpp introduceţi şi testaţi următorul program care atribuie valoarea ‘R’ celui de-al patrulea element (tablourile în C/C++ încep cu zero) din tabloul s, apoi afişează acel element.

Preview document

Programarea calculatoarelor și limbaje de programare - tablouri și șiruri - Pagina 1
Programarea calculatoarelor și limbaje de programare - tablouri și șiruri - Pagina 2
Programarea calculatoarelor și limbaje de programare - tablouri și șiruri - Pagina 3
Programarea calculatoarelor și limbaje de programare - tablouri și șiruri - Pagina 4

Conținut arhivă zip

  • Programarea Calculatoarelor si Limbaje de Programare - Tablouri si Siruri .doc

Alții au mai descărcat și

Programarea Calculatoarelor - Anul 1 - ETTI - C++

LUCRAREA 9 Scopul lucrarii îl constituie prezentarea tipurilor de date neomogene (structurile), utilizarea operatorului typedef în contextul...

Noțiuni introductive C++

Pentru testare se poate folosi urmatorul program: // include obiectele standard // pentru intrari/iesiri cu consola 1 #include <iostream> //...

VHDL

Simularea structurilor hardware digitale cu ACTIVE-HDL Această lucrare are ca principal obiectiv prezentarea mediului de dezvoltare ALDEC ACTIVE...

Programarea Calculatoarelor

1. Introducere in programarea calculatoarelor si prezentarea notiunii de algoritm Programarea calculatoarelor este procesul de proiectare,...

Structuri de Date și Algoritmi

Se citesc m perechi de numere întregi (x,y) reprezentând extremitatile muchiilor unui graf neorientat cu n vârfuri si m muchii. Sa se verifice...

Limbaj de Programare C++

1. Prezentarea mediului de dezvoltare Microsoft Visual C++ 6.0 Microsoft Visual C++ 6.0 este mediul de dezvoltare integrat (Integrated Development...

Sisteme de Operare

Laborator nr. 1 Introducere in sistemul de operare Linux Surt istoric: Sistemul de operare UNIX a fost creat la Bell Laboratories in 1969, de...

Te-ar putea interesa și

Programare

Scopul lucrarii: Insusirea procedeelor de utilizare a constructiilor elementare a limbajului C destinate calculelor conform formulelor propuse....

Bazele Informaticii

1. INTRODUCERE 1.1. Evoluţia sistemelor de calcul Sistemele de calcul au evoluat si evoluează odată cu dezvoltarea tehnologiei de realizare a...

Structuri de Date și Algoritmi

1.Sarcina Sa se creeze o baza de date care contine datele despre sortimentul unei sectii dintr-un MARKETING .Aceasta baza de date va contine...

Programarea Calculatoarelor și Limbaje de Programare

Introducere Lucrarea de faţă îşi propune să acopere, nevoile programatorului de aplicaţie inginerească care, spre deosebire de informaticianul de...

Limbaje de Programare

PREZENTAREA GENERALĂ A MEDIULUI DE DEZVOLTARE Borlandc C++, produs al firmei Borland International, este un pachet de programe care oferă o...

Fortran

0. Introducere Fortran este un limbaj de programare potrivit în special pentru calculule numerice si calcule stiintifice. Limbajul dezvoltat...

Limbaje de Programare

4. LIMBAJE DE PROGRAMARE 4.1. Scurta prezentare a limbajelor de programare Calculatorul “stie” sa execute un set de operatii simple, ca de...

Ai nevoie de altceva?