Documente Academic
Documente Profesional
Documente Cultură
REFERAT
Tema: Un studiu cuprinzător al tabelelor unidimensionale, bidimensionale
și multidimensionale, precum și a șirurilor de caractere în informatică
Chișinău - 2023
Оглавление
1
.Abstract.............................................................................................................3
5. Strings...........................................................................................................24
6. Concluzie......................................................................................................27
Bibliografie:.....................................................................................................28
2
Abstract
3
Importanța tabelelor în informatică.
5
1. Introducere
1.1 Context
Tabelele, care organizează datele, au fost folosite încă de la primele eforturi de
calcul. Invenția cărților perforate și a mașinilor de tabelare la sfârșitul secolului al XIX-lea
de către Herman Hollerith a jucat un rol semnificativ în automatizarea procesării datelor și
în stabilirea utilizării tabelelor pentru reprezentarea informațiilor. Odată cu apariția
computerelor electronice la mijlocul secolului al XX-lea, tabelele au devenit din ce în ce
mai importante în domeniul informaticii. Electronic Numerical Integrator and Computer
(ENIAC), creat de John W. Mauchly și J. Presper Eckert, a jucat un rol crucial în
prezentarea potențialului computerului electronic și a pus bazele progreselor în
managementul datelor. Dezvoltarea și importanța tabelelor în prezentarea datelor.
Dezvoltarea tabelelor ca modalitate de a reprezenta datele a fost o călătorie fascinantă, de
la metode manuale de bază la structuri complexe utilizate în calculul modern. Inițial,
tabelele erau liste și registre scrise de mână, dar inventarea cardurilor perforate de către
Herman Hollerith a revoluționat procesarea datelor. Ulterior, tabelele au fost integrate în
calculatoarele timpurii precum ENIAC și au devenit o componentă crucială a bazelor de
date, oferind o modalitate structurată de organizare și accesare a informațiilor. Tabelele
sunt extrem de importante în reprezentarea datelor și sunt utilizate în diverse aspecte ale
tehnologiei informației. În bazele de date, tabelele ajută la organizarea diferitelor tipuri de
date și la stabilirea relațiilor între entități. Formatul tabelar facilitează căutarea, indexarea
și actualizarea datelor, ceea ce contribuie la dezvoltarea unor sisteme de date fiabile și
scalabile. Tabelele sunt, de asemenea, esențiale în aplicațiile de foi de calcul, analiza
statistică și vizualizarea datelor, deoarece oferă un cadru flexibil pentru interpretarea și
comunicarea informațiilor complexe. Evoluția tabelelor semnifică progrese în
reprezentarea datelor și influența durabilă a informațiilor structurate.
1.3 Obiective
Această lucrare își propune să studieze pe larg diferite tipuri de tabele în
informatică, în special structurile unidimensionale, bidimensionale și multidimensionale.
Obiectivul principal este de a examina caracteristicile tabelelor unidimensionale și de a
descoperi proprietățile lor fundamentale în reprezentarea și manipularea datelor.
Explorând complexitățile lor structurale, operațiunile de manipulare și dificultățile
asociate, cercetarea încearcă să ofere o înțelegere detaliată a modului în care rețelele
unidimensionale servesc ca elemente cruciale în proiectarea algoritmică și stocarea
datelor.
Scopul principal este de a studia caracteristicile și utilizările tablourilor
bidimensionale, care sunt de obicei prezentate ca matrici. Aceasta include examinarea
7
flexibilității lor, a modului în care pot fi manipulate și a modului în care sunt utilizate în
situații practice. Prin studierea tabelelor bidimensionale, lucrarea își propune să arate
importanța acestora în domenii precum procesarea imaginilor, algoritmii grafici și alte
situații în care o structură bidimensională este benefică. O bună înțelegere a punctelor forte
și a punctelor slabe ale matricelor bidimensionale va ajuta la înțelegerea completă a rolului
acestora în diferite sarcini de calcul.
Această lucrare își propune să exploreze utilizarea tabelelor multidimensionale în
tratarea scenariilor complexe de date. Acesta discută principiile și aplicațiile acestor tabele
și subliniază importanța acestora în contextele de depozitare a datelor și de business
intelligence. Lucrarea subliniază, de asemenea, capacitatea tabelelor multidimensionale de
a capta relații complexe în cadrul datelor, făcându-le un instrument valoros pentru
navigarea peisajelor complicate de date.
Pentru a rezuma, această lucrare își propune să examineze în detaliu caracteristicile
tabelelor unidimensionale, să exploreze în detaliu proprietățile și aplicațiile tabelelor
bidimensionale și să obțină o înțelegere nuanțată a principiilor și aplicațiilor tabelelor
multidimensionale. Această abordare cuprinzătoare încearcă să ofere perspective valoroase
asupra rolurilor pe care aceste structuri de tabel le joacă în informatică și să ne
îmbunătățească înțelegerea semnificației și utilității lor în diferite contexte de calcul.
9
Acest cod sursă Pascal demonstrează operațiunile de bază ale unui tabel
unidimensional, cum ar fi inițializarea, inserarea, preluarea și modificarea. Acesta servește
ca o introducere practică și simplă pentru înțelegerea caracteristicilor tabelelor
unidimensionale.
program UnidimensionalTableExample;
const
MaxSize = 10; // Marimea maxima a tabelului
var
MyTable: array[1..MaxSize] of Integer; // Declararea unui tabel
unidimensional
i: Integer;
procedure InitializeTable;
begin
// Initializarea elementelor tabelului
for i := 1 to MaxSize do
MyTable[i] := 0;
end;
begin
10
Acest cod sursă Pascal creează un tabel unidimensional de bază, își inițializează
elementele, inserează valori la indici specifici și preia și afișează acele valori. Acesta
servește ca punct de plecare practic pentru înțelegerea caracteristicilor fundamentale și a
operațiilor asociate cu tabelele unidimensionale în contextul implementării algoritmice.
12
2.3 Prezentare generală a tabelelor bidimensionale
program BidimensionalTableExample;
const
Rows = 3;
Columns = 4;
var
MyMatrix: array[1..Rows, 1..Columns] of Integer; // Declararea tabelului
bidimensional
i, j: Integer;
procedure InitializeMatrix;
begin
// Initializarea elementelor matricei
for i := 1 to Rows do
13
for j := 1 to Columns do
MyMatrix[i, j] := 0;
end;
begin
Acest cod sursă Pascal creează un tabel bidimensional de bază, își inițializează
elementele, inserează valori în anumite poziții și preia și afișează acele valori. Acesta
servește ca o ilustrare practică a caracteristicilor și operațiilor fundamentale asociate cu
tabelele bidimensionale în contextul implementării algoritmice.
14
2.4 Progrese și inovații în tabelele bidimensionale
15
Studiu de caz 2: Simulare computațională a dinamicii fluidelor
În simulările de dinamică computațională a fluidelor (CFD), tabelele
bidimensionale joacă un rol crucial în reprezentarea domeniilor fluidelor discretizate.
Inovațiile recente implică paralelizarea operațiunilor cu matrice în algoritmi CFD,
utilizând accelerația GPU pentru a îmbunătăți viteza și acuratețea simulărilor fluxului de
fluid. Această abordare este deosebit de benefică în optimizarea designurilor în industrii
precum aerospațial și auto.
Resursă: Anderson, J. D. (1995). Dinamica fluidelor computaționale: noțiuni de
bază cu aplicații. McGraw-Hill.
Aceste studii de caz evidențiază modul în care inovațiile recente în tabelele
bidimensionale au un impact semnificativ în diverse domenii. De la optimizarea
compresiei imaginii la accelerarea simulărilor de dinamică a fluidelor, aceste aplicații
prezintă adaptabilitatea și eficacitatea tabelelor bidimensionale în abordarea provocărilor
complexe de calcul. Pe măsură ce tehnologia continuă să evolueze, progresele în curs în
tabelele bidimensionale sunt gata să joace un rol esențial în modelarea viitorului
paradigmelor computaționale.
const
Dimensions = 3;
SizeDim1 = 4;
SizeDim2 = 3;
SizeDim3 = 2;
var
MyCube: array[1..SizeDim1, 1..SizeDim2, 1..SizeDim3] of Integer; //
Declararea tabelului multidimensional (3 dimensiuni)
i, j, k: Integer;
procedure InitializeCube;
begin
// Initializarea tabelului multidimensional
for i := 1 to SizeDim1 do
for j := 1 to SizeDim2 do
for k := 1 to SizeDim3 do
MyCube[i, j, k] := 0;
end;
17
else
RetrieveElement := -1; // Invalid position
end;
begin
Acest cod sursă Pascal prezintă operațiunile de bază asociate cu un tabel tridimensional,
oferind o ilustrare practică a caracteristicilor și funcțiilor tabelelor multidimensionale în
contextul implementării algoritmice.
18
Integrarea tabelelor multidimensionale cu învățarea automată și inteligența
artificială devine o tendință proeminentă. Aceasta implică combinarea algoritmilor
avansați, în special în deep learning, cu structuri de date multidimensionale. Scopul este de
a îmbunătăți recunoașterea modelelor, extragerea caracteristicilor și capacitățile de luare a
deciziilor. Această integrare este văzută ca o inovație semnificativă în domeniu.
Studii de caz care prezintă utilizări inovatoare
Studiu de caz 1: Conexiunile cerebrale
În neuroimagistică, tabele multidimensionale sunt folosite pentru a reprezenta
datele de conectivitate a creierului, unde fiecare dimensiune corespunde diferitelor regiuni
sau noduri din creier. Inovațiile recente implică aplicarea teoriei grafurilor și a tehnicilor
analitice avansate pentru a extrage modele semnificative din datele multidimensionale de
conectivitate a creierului. Această abordare este crucială pentru înțelegerea rețelelor
complexe ale creierului și are implicații pentru diagnosticarea tulburărilor neurologice.
Resursă: Rubinov, M., & Sporns, O. (2010). Măsuri complexe de rețea ale
conectivității creierului: utilizări și interpretări. NeuroImage, 52(3), 1059-1069.
19
2.7 Analiza comparativă a tabelelor unidimensionale, bidimensionale
și multidimensionale
Tabelele sunt structuri de date fundamentale în informatică, fiecare cu
caracteristicile și aplicațiile sale unice. O analiză comparativă a tabelelor unidimensionale,
bidimensionale și multidimensionale dezvăluie caracteristici distincte, prezentând în
același timp elementele comune care contribuie la versatilitatea lor.
Tip Unidimensionale Bidimensionale Multidimensionale
Caracteristici Structura Structura grilă: Dimensiuni multiple:
secvențială: Elementele sunt elementele sunt
Elementele sunt organizate în organizate pe mai
aranjate liniar de-a rânduri și mult de două
lungul unei singure coloane, formând dimensiuni, oferind o
dimensiuni, o grilă structură complexă.
identificate prin bidimensională. Dimensiune flexibilă:
indici. Forma dimensiunea de-a
Dimensiune fixă: dreptunghiulară: lungul fiecărei
dimensiunea este rândurile au dimensiuni poate fi
predeterminată și același număr de ajustată dinamic în
rămâne constantă în elemente, ca și timpul rulării.
timpul execuției. coloanele. Elemente omogene
Elemente omogene: Elemente sau heterogene:
elementele sunt de omogene: Similar elementele pot fi de
același tip de date. tabelelor aceleași tipuri de date
unidimensionale, sau diferite
elementele au
același tip de
date.
Exemplu de Într-o bază de date de Într-o aplicație de Într-un depozit de date
utilizare: studenți, un tabel procesare a imaginii, pentru analiza
unidimensional poate un tabel vânzărilor, un tabel
stoca scorurile de bidimensional multidimensional poate
examen pentru un reprezintă valorile reprezenta date de
singur subiect, unde pixelilor, cu rânduri vânzări cu dimensiuni
fiecare element și coloane care precum timpul,
corespunde punctajului definesc geografia și categoriile
unui student. aranjamentul spațial de produse.
al imaginii.
20
Analiza comparativă:
Caracteristici comune: Diferențe
Stocarea datelor: Toate Dimensionalitate: Tabelele unidimensionale au o
tipurile facilitează dimensiune, tabelele bidimensionale au două, iar
stocarea și preluarea tabelele multidimensionale au trei sau mai multe
datelor în mod eficient. dimensiuni.
Elemente omogene: Structura: Tabelele unidimensionale sunt liniare,
Tabelele unidimensionale tabelele bidimensionale formează o grilă, iar tabelele
și bidimensionale au de multidimensionale se extind dincolo de grile.
obicei elemente omogene, Flexibilitatea dimensiunilor: Tabelele
în timp ce tabelele unidimensionale și bidimensionale au de obicei o
multidimensionale pot dimensiune fixă, în timp ce tabelele
avea elemente omogene multidimensionale pot ajusta dinamic dimensiunile
sau heterogene. de-a lungul fiecărei dimensiuni
21
3.Aplicații. Tabele unidimensionale
program UnidimensionalTables;
const
MaxSize = 5;
var
MyTable: array[1..MaxSize] of Integer;
i: Integer;
begin
//
for i := Low(MyTable) to High(MyTable) do
MyTable[i] := 0;
program HomogeneousUnidimensionalTable;
var
Numbers: array[1..5] of Integer;
i: Integer;
begin
Numbers[1] := 10;
Numbers[2] := 20;
Numbers[3] := 30;
Numbers[4] := 40;
Numbers[5] := 50;
program InsertionModification;
var
MyArray: array[1..3] of String;
i: Integer;
begin
MyArray[1] := 'Mar';
MyArray[2] := 'Banana';
MyArray[3] := 'Portocala';
// Modificare
MyArray[2] := 'Strugure';
const
Rows = 3;
Columns = 4;
var
MyMatrix: array[1..Rows, 1..Columns] of Integer;
i, j: Integer;
begin
for i := 1 to Rows do
for j := 1 to Columns do
MyMatrix[i, j] := 0;
end..
program HomogeneousBidimensionalTable;
var
PixelValues: array[1..Rows, 1..Columns] of Integer;intensities
i, j: Integer;
begin
for i := 1 to Rows do
for j := 1 to Columns do
PixelValues[i, j] := Random(256);
end.
program AccessDisplayBidimensional;
var
MyData: array[1..Rows, 1..Columns] of Real;
i, j: Integer;
begin
for i := 1 to Rows do
for j := 1 to Columns do
writeln('Element at (', i, ',', j, '): ', MyData[i, j]);
end.
23
5. Strings
Un string se referă la o secvență de caractere folosită pentru a reprezenta textul în
computere. De obicei, un string este implementat ca o matrice (array) de caractere, unde
fiecare caracter este o unitate de informație mai mică, cum ar fi un byte. String-urile sunt
folosite pentru a stoca și manipula text, cum ar fi cuvinte, propoziții sau orice alte tipuri de
date textuale.
5.1 Proprietăți de bază:
Modificarea Caracterelor::
program: pascal
var
str: String;
begin
str := 'Mere';
str[1] := 'P';
writeln('String modificat: ', str);
end.
În acest exemplu, primul caracter al string-ului str este schimbat de la 'M' la 'P'
Compararea String-urilor:
var
str1, str2: String;
begin
str1 := 'mere';
str2 := 'pere';
if str1 = str2 then
writeln('String-urile sunt egale')
else
writeln('String-urile sunt diferite');
end.
Acest cod compară două string-uri și afișează rezultatul.
24
5.2 Aplicații:
program ReplaceSubstring;
var
source, toFind, toReplace, result: String;
posFound: Integer;
begin
source := 'Pascal este simplu și eficient';
toFind := 'simplu';
toReplace := 'puternic';
25
Programul parcurge fiecare caracter din string-ul „text”. Folosind o structură „case”,
verifică dacă fiecare caracter este o vocală (considerând atât litere mici, cât și mari). Dacă
este, crește contorul „vowelsCount”. La final, afișează numărul total de vocale găsite în
string.
26
6. Concluzie
27
Bibliografie:
Resursă: Weiss, M. A. (2016). Structuri de date și analiză de algoritm în Java.
Resurse: Kirk, D. B. și Hwu, W. W. (2016). Programarea procesoarelor masive paralele: o
abordare practică.
Resursă: Langmead, B., & Salzberg, S. L. (2012). Aliniere rapidă cu citire întreruptă cu
Bowtie 2.
Resursă: Tsay, R. S. (2005). Analiza serii temporale financiare.
Resursă: Davis, T. A., & Hu, Y. (2011). Colecția Sparse Matrix de la Universitatea din
Florida. ACM Transactions on Mathematical Software (TOMS), 38(1), 1-25.
Resursă: Sanders, J., & Kandrot, E. (2010). CUDA prin exemplu: o introducere în
programarea GPU de uz general. Addison-Wesley.
Resursă: Yang, J., & Sun, K. (2007). Comprimarea imaginii utilizând codificarea
trunchierii blocului și transformarea matriceală rară. IEEE Transactions on Image
Processing, 16(3), 736-746.
Resursă: Ma, J., & Perkins, S. (2003). Despre utilizarea hipercuburilor pentru gestionarea
și extragerea de seturi de date multidimensionale. În Proceedings of the 2003 SIAM
Resurse: LeCun, Y., Bengio, Y., & Hinton, G. (2015). Invatare profunda. Nature,
521(7553), 436-444.
Resursă: Rubinov, M., & Sporns, O. (2010). Măsuri complexe de rețea ale conectivității
creierului: utilizări și interpretări. NeuroImage, 52(3), 1059-1069.
Resurse: Kimball, R., Ross, M., Thornthwaite, W., Mundy, J., & Becker, B. (1996). Setul
de instrumente pentru ciclul de viață al depozitului de date.
Hollerith, H. (1889). „Mașina electrică de tabulare”. Brevetul SUA 395.791. Preluat de la:
https://patents.google.com/patent/US395791A
Mauchly, J. W. (1947). „ENIAC – Primul computer digital electronic de uz general”.
Proceedings of the Institute of Radio Engineers, 35(6), 627-640. DOI:
10.1109/JRPROC.1947.226069
Arhivele IBM. (n.d.). „Istoricul cardurilor perforate IBM”. IBM. Preluat de la:
https://www.ibm.com/ibm/history/exhibits/punchcard/punchcard_intro.html
Exemple de cod preluate de pe: https://www.geeksforgeeks.org/
28