Arrays și tipurile lor

Trimiterea muncii tale bune la baza de cunoștințe este ușoară. Utilizați formularul de mai jos

Elevii, studenții absolvenți, tinerii oameni de știință care folosesc baza de cunoștințe în studiile și activitatea lor vor fi foarte recunoscători.







O matrice unidimensională poate fi reprezentată ca o structură liniară în care elementele se urmează unul pe altul. Cu toate acestea, există structuri de date mai complexe. De exemplu, reele bidimensionale, care pot fi descrise ca un tabel în care sunt localizate valorile celulelor. Pentru a accesa datele unui tablou, sunt indicate numerele rândurilor și coloanelor acestora. Adesea, matricele de tabelă sunt numite matrice.

De obicei, matricele bidimensionale din limbajul de programare Pascal sunt descrise după cum urmează: programarea array rascal array

array [1..m, 1..n] de bază_type

Cu toate acestea, le puteți descrie într-un alt mod:

matrice [1..m] de matrice [1..n] de bază_tip

1 - descrierea unei matrice prin secțiunea de tip:

matrice = matrice [1..M, 1..N] de intreg;

2 - descrierea matricei în secțiunea variabile:

a: matrice [1..M, 1..N] de intreg;

Când se utilizează a treia variantă a descrierii, este mai bine să se determine mai întâi un tip de matrice unidimensională (un șir dintr-o matrice bidimensională), care este apoi utilizat pentru a descrie o matrice bidimensională:

tip a = matrice [1..10] de octet;

var b: matrice [1..100] a;

Pentru a accesa elementul de matrice bidimensională trebuie să specifice numele de matrice și în paranteze pătrate, separate prin virgulă - valori ale celor doi indici (primul indică numărul liniei, iar al doilea - numărul coloanei) pentru trecerea care este un element (de exemplu, o [i, 2]: = 6 ). În indicii de separare acceptabilă limbajul de programare Pascal între paranteze pătrate (de exemplu, un [i] [5]: = 7) Când matrice bidimensional așa cum este descris tastat constant, atunci când setarea valorilor elementelor sale este tratat ca o matrice de matrice. Astfel, între paranteze generale separate prin virgulă între paranteze valori rânduri de elemente (fiecare linie în paranteze lor):

arr = array [1..4, 1..3] de număr întreg;

Să luăm în considerare un exemplu simplu de lucru cu o matrice bidimensională. Mai întâi, completați-l cu date, apoi afișați-le sub forma unui tabel.

matrice: matrice [1..3,1..5] de număr întreg;

writeln ('Introduceți 15 numere:');

pentru i: = 1 la 3 nu

pentru j: = 1 până la 5 nu

pentru i: = 1 - 3 începe

pentru j: = 1 până la 5 nu

matrice: matrice [1..M, 1..N] de întreg;

writeln ('Introduceți 15 numere:');

pentru i: = 1 până la M

pentru j: = 1 până la N

pentru i: = 1 până la M începe

pentru j: = 1 până la N

pentru i: = 1 până la lungime (s)

dacă s [i] în ['A' .. 'Z', 'A' .. 'P'] atunci s [i]: =

dacă s [i] în ['p' .. 'i'] atunci s [i]: = chr (ord (s [i]

altfel dacă s [i] = 'Atunci s [i]: =' e ';

Să presupunem că programul funcționează cu un număr mare de același tip de date. Să presupunem că aproximativ 100 de numere întregi trebuie procesate, efectuând niște calcule pe ele. Cum îți imaginezi 100 de variabile în program? Și pentru fiecare variabilă, trebuie să scrieți aceeași expresie pentru calcularea valorii? Acest lucru este foarte ineficient. Există o soluție mai simplă. Aceasta este utilizarea unei astfel de structuri de date (tip) ca matrice. O matrice este o secvență de celule de memorie în care sunt stocate aceleași date. În acest caz, există doar un singur nume al variabilei asociate matricei, iar referința la o anumită celulă se bazează pe indexul său (număr) din matrice. Trebuie să se înțeleagă clar că indexul unei celule de matrice nu este conținutul acesteia. Conținutul sunt datele stocate în celule, iar indicii indică doar la ele. Acțiunile în program peste matrice sunt realizate utilizând numele variabilei asociate cu aria de date alocată matricei. Deci, o matrice este un grup denumit de același tip de date stocate în celule de memorie succesive. Fiecare celulă conține un element de matrice. Elementele sunt numerotate în ordine, dar nu neapărat începând cu una (deși în limbajul de programare Pascal cel mai adesea este din ea). Numărul ordinal al unui element dintr-o matrice se numește indexul acestui element. Amintiți-vă că toate elementele dintr-o anumită matrice sunt de același tip. Pentru matrice diferite, tipurile de date pot fi diferite. De exemplu, o matrice poate fi formată din numere de tip integer și altul din numere de tip real.Indexele elementelor unei matrice sunt de obicei întregi, cu toate acestea ele pot fi atât simboluri, cât și descrise de alte tipuri ordinale. Ie Pentru un index, puteți utiliza un tip în care este definită o secvență de valori discrete și toate aceste valori pot fi recalculate în ordine. Puteți să indice atât constante și variabile, cât și expresii, rezultatul evaluării care dă valoarea unui tip enumerat. Dacă indexul matricei poate achiziționa toate valorile valide ale unui anumit tip enumerat, atunci în descrierea matricei este posibil să setați numele tipului în locul limitelor de modificare a indexului. În acest caz, limitele indexului vor fi prima și ultima valoare din descrierea tipului de index. Limitele schimbării indicilor pot fi specificate utilizând constantele declarate anterior. Se recomandă mai întâi să declarați tipul matricei în secțiunea descriere tip. O matrice poate fi creată în mai multe moduri.







oameni = array [de ani] de longint;

creștere: matrice [luni] reală;

note: matrice [1..n] de șir;

Accesul la un element specific al matricei se face prin specificarea numelui variabilei matricei și a parantezelor pătrate ale indexului elementului. O matrice simplă este una-dimensională. Este o structură liniară.

var ch: matrice [1..11] din char;

pentru i: = 1 la 11 nu citiți (ch [i]);

pentru i: = 1 la 11 nu scrie (ch [i]: 3);

Exemplul alocă o zonă de memorie pentru un tablou de 11 caractere. Indicii lor de la 1 la 11. În timpul execuției programului 11, utilizatorul introduce orice caracter (de exemplu, `q '' '' e w '' 2 '' t '' 9 '' u '' I ' , 'I', 'o', 'p'), care sunt scrise în celulele matricei. Valoarea curentă a variabilei i în buclă for este utilizată ca index al matricei. Cea de a doua pentru bucla este responsabil pentru producția de matrice de elemente de pe sizeof ekranFunktsiya, aplicat la numele matrice, sau numele unui tip masiv, returnează numărul de octeți care urmează să fie permise în sarcini de programare massiv.V este nevoie de foarte frecvente pentru a umple o serie de date, și apoi le-a pus pe ecran. Nu există atât de multe metode și nu diferă printr-o varietate specială.

Prin urmare, ar fi bine să-i elibereze sub formă de proceduri și de a utiliza ca rezolvarea problemei neobhodimostiAlgoritm: Creați două proceduri de numere întregi umple un tablou unidimensional, unul utilizând funcția aleatorie și unul, în cazul în care utilizatorul setează valoarea. Vom crea, de asemenea, o procedură pentru afișarea matricei pe ecran. Apoi suna în ramura principală a programului, aceste proceduri prin trecerea lor ca argumente pentru variabilele asociate cu matrice.

Program în limba Pascal:

miniarr = matrice [1..n] de număr întreg;

procedura arr_rand (k: integer; var arr: miniarr);

writeln ('Completarea unui matrice cu numere aleatorii');

Utilizarea pe scară largă a tehnologiei informatice și a informațiilor. Concepte ale tipurilor de date. Algoritmi pentru sortarea matricelor unidimensionale. Descrierea matricei bidimensionale Pascal. Metode pentru accesarea elementelor matrice. Matrice index, dinamice și eterogene.

Structura ierarhică a tipului de date derivat în Pascal. Definirea unei matrice ca set de ordine a unui număr fix de anumite valori. Sortarea matricelor unidimensionale și bidimensionale prin schimburi simple, selecție simplă și includere.

Transformarea structurilor de date complexe ca una dintre cele mai comune caracteristici ale limbajului de programare C ++. Avantajele folosirii subrutinelor. Parametrii parcurși, matricele unidimensionale și bidimensionale, funcțiile și revenirea lor la funcție.

Studierea funcțiilor și capabilităților mediului de dezvoltare a limbajului de programare Pascal. Luați în considerare lucrul cu mături unidimensionale și bidimensionale, cu șiruri și numere. Formularea matematică a problemelor. Dezvoltarea algoritmilor, descrierea structurii programului.

Familiarizarea cu conceptele de bază și organizarea intrărilor-ieșirilor, prelucrarea matricelor. Descrierea matricelor unidimensionale și bidimensionale. Descrierea șirurilor și operațiunilor cu ele. Tip de date combinat - înregistrări. Caracteristicile înregistrărilor utilizând partea variantă.

Conceptul de matrice și regulile pentru descrierea matricelor în programele din C. Considerația algoritmilor de bază pentru procesarea matricelor unidimensionale. Exemple de programe C pentru toți algoritmii luați în considerare. Exemple de rezolvare a problemelor legate de prelucrarea rețelelor unidimensionale.

Istoria dezvoltării lui Pascal, principalele sale avantaje și dezavantaje. Noțiunea și operațiile permise pe un tip de date multiple. Lucrați cu variabile de caractere, numere și șiruri de caractere. Exemple de înregistrări cu opțiuni. Dezvoltați o interfață de aplicație.

Caracteristicile sistemului informatic și ale instrumentelor de dezvoltare. Programarea în limba Pascal în Turbo Pascal și Object Pascal în mediul Delphi. Utilizarea procedurilor, funcțiilor, ariilor, căutare binară. Creați o bază de date ca fișier.

O matrice ca o secvență numerotată de valori de același tip, notată cu același nume. Amplasarea în celulele de memorie succesive, care denotă numele matricei și indexul, inițializarea. Transmiterea matricelor unidimensionale și bidimensionale unei funcții.

Lucrările din arhive sunt concepute frumos în conformitate cu cerințele universităților și conțin desene, diagrame, formule etc.
Fișierele PPT, PPTX și PDF sunt prezentate numai în arhive.
Vă recomandăm să descărcați lucrarea.







Articole similare

Trimiteți-le prietenilor: