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

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

Extras din laborator

1. Noţiuni teoretice

1.1. Tablouri de şiruri

În programare utilizarea tablourilor de şiruri nu este atât de neobişnuită. De exemplu, procesorul de introducere a datelor într-o bază de date poate compara comenzile utilizatorului cu un tablou de comenzi valabile. Pentru a crea un tablou de şiruri se va folosi un tablou de caractere bidimensional. Dimensiunea indicelui stâng va determina numărul de şiruri, iar a celui din dreapta controlează dimensiunea maximă a fiecărui şir. Codul următor declară un tablou de 30 de şiruri, fiecare având lungime maximă de 79 de caractere:

char tablou_siruri[30][80];

Un exemplu de utilizare a tablourilor cu şiruri veţi găsi la punctul 2. Aplicaţii.

1.2. Tablouri multidimensionale

C/C++ acceptă tablouri cu mai mult de două dimensiuni. Limita exactă, dacă există, este determinată de compilator. Forma generală a unei declaraţii de tablou multidimensional este:

Tip nume[Dimensiune1][Dimensiune2][Dimensiune3]…[DimensiuneN]

Tablourile de trei sau de mai multe dimensiuni nu sunt folosite prea des, datorită cantităţii de memorie necesară pentru stocarea acestora. De exemplu, un tablou de caractere cvadridimensional, având dimensiunile 10, 6, 9, 4 necesită 10*6*9*4=2160 de octeţi. Dacă tabloul ar fi fost compus din întregi de 2 octeţi, ar fi necesari 4320 de octeţi, iar pentru double 17280 octeţi. Practic, spaţiul de memorie necesar se măreşte exponenţial cu numărul de dimensiuni ale tabloului.

1.3. Ataşarea de indici la pointeri

În C/C++ pointerii şi tablourile sunt elemente foarte apropiate. Numele unui tablou fără indice reprezintă un pointer al primului element al tabloului. Pentru

char p[10];

instrucţiunile: p şi &p[0] sunt identice, adică p = = &p[0].

Unui pointer i se poate ataşa un indice ca şi cum ar fi fost declarat ca fiind tablou. De exemplu, fie următorul fragment de program:

int *p, i[10];

p = i;

p[5] = 100; /* atribuire folosind indice */

*(p+5) = 100; /* atribuire folosind aritmetica pointerilor */

Ambele instrucţiuni de atribuire plasează valoarea 100 în cel de-al şaselea element al tabloului i.

Pentru un tablou de 10x10 următoarele expresii sunt adevărate:

a == &a[0][0];

a[0][4] == *(a+4);

a[1][2] == *(a+12);

1.4. Iniţializarea unui tablou

C/C++ permite iniţializarea unui tablou în momentul declarării acestuia. Forma generală a iniţializării unui tablou este similară cu aceea a iniţializării altor variabile:

tip_specificator nume_tablou[dimensiune1]…[dimensiuneN] = {lista_valori};

lista_valori este o listă de constante separate prin virgulă, al căror tip este comparabil cu tip_specificator.

Exemplu:

int x[10] = {1,2,3,4,5,6,7,8,9,10};

Tablourile de caractere care conţin şiruri permit o iniţializare rapidă, de forma:

char nume_sir[dimensiune]=”sir”

Dacă în instrucţiunea de iniţializare a unui tablou, dimensiunea tabloului nu este specificată, compilatorul de C/C++ creează automat un tablou suficient de mare pentru a memora toţi iniţializatorii. Acesta se numeşte tablou nedimensionat. Pentru tablourile nedimensionate multidimensionale trebuie precizate toate dimensiunile, în afară de cea situată cel mai la stânga.

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, Proiect7 ş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 Proiect7 ş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 calculează şi afişează suma a n numere:

#include <iostream>

using namespace std;

void main(void)

{

int a[20],n,i,s=0;

cout<<"Introduceti nr. de elemente: ";

cin>>n;

for (i=0; i<n; i++)

{

cout<<"Nr."<<i+1<<": ";

cin>>a[i];

}

for (i=0; i<n; i++)

{

s+=a[i];

}

cout<<"Suma elementelor este "<<s<<endl;

Preview document

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

Conținut arhivă zip

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

Alții au mai descărcat și

Matrici cu diferite forme geometrice în ele

Problema 1 AA101. Pentru un număr natural n dat, să se genereze într-o matrice pătratică de dimensiune 2n+1, un romb care să contină numere...

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...

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

Sisteme de securitate în rețele de calculatoare

1. Introducere in retelele cu acces la Internet TIPURI DE RISCURI - VEDERE GENERALA Conectarea unui sistem de calcul la Internet il expune la...

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...

Programare II - limbajul C

Cap 1 INTRODUCERE ÎN LIMBAJUL C 1.1 Scurt istoric 1.2 Forma unui program C 1.3 Compilarea unui program C 1.1 Scurt istoric Strămoşii...

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?