Cum de a afișa un index de matrice

Conceptul de structură

Până în prezent, am fost de lucru cu tipuri de date simple - logice (boolean), întreg (număr întreg cuvânt octet longint ...), Real (real), caracter (char). Orice algoritm poate fi programat folosind cele patru tipuri de bază. Dar pentru procesarea informațiilor privind lumea reală diversă necesită date având o structură mai complicată. Astfel de structuri complexe, bazate pe tipuri de scalare simple sunt numite entități. Structura - un anumit tip de date compozit, format din scalar de bază. În cazul în care structura nu se schimba structura sa pe parcursul întregii executarea programului în care este descris, că o astfel de structură se numește statică.







Array - un set uniform de elemente

Cea mai comună structura vânzărilor în limbaje de programare, practic, toate, este o matrice.

Matricele compuse dintr-un număr limitat de componente, toate componentele matrice sunt de același tip, numit baza. Structura matrice este întotdeauna omogen. Matricea poate consta din elemente de tip întreg. real sau char. sau alte elemente similare. Din aceasta, cu toate acestea, nu ar trebui să se deducă faptul că gama de componente pot avea doar un tip scalar.

O altă caracteristică a matrice este că puteți accesa la întâmplare la oricare dintre componentele sale. Ce înseamnă? Programul poate obține imediat elementul dorit ei prin numărul său de serie (index).

index de matrice

numărul element de matrice se numește index. Index - această valoare tip de ordine definită ca tip index al matrice. Foarte adesea este un tip întreg (întreg. Word sau byte), dar poate fi o logică și caracter.

tip <имя _ типа>= Array [I] T;

unde am - tipul de index matrice, T - tipul elementelor sale.

Poate fi descris o dată variabile, cum ar fi matrice, și anume în secțiunea care descrie variabilele:

Var a, b: array [I] T;

De obicei, tipul de index se caracterizează printr-un anumit interval de valori de orice tip de comandă. I 1. I n. De exemplu, indicii pot fi modificate în intervalul 1..20 sau „a“ .. „n“.

În acest caz, lungimea Pascal matrice caracteristică a expresiei:

ord (I n) - ord (I 1) 1.

tip
Vector = array [1..10] din întreg;
Stroka = array [0..255] de char;

Cu un index de matrice, puteți accesa elementele individuale ale fiecărei matrice ca o variabilă normală: puteți obține valoarea acestui element separat a atribui o valoare, utilizați în expresii.

Să ne descrie variabilele vectorului și STROKA.

Var a: vector;
c: Stroka;

Urmeazã, putem accesa elementele individuale ale matrice a si c. De exemplu, o [5]: = 23; c [1]: = 'w'; o [7]: = a [5] * 2; writeln (c [1], c [3]).

Calcul Pascal indicele matrice

Indicele matrice în Pascal nu definește în mod necesar în mod explicit. Ca un index de matrice, puteți utiliza o variabilă sau o expresie corespunzătoare tipului de index. Cu alte cuvinte, indicii pot fi calculate.

Acest mecanism - un software foarte puternic. Dar creează o greșeală comună: rezultatul calculului poate fi în afara intervalului de valori acceptabile ale indicelui, care este, va încerca să facă apel la un element care nu există. Această eroare comună se numește „merge dincolo de matrice.“







Un exemplu de program cu o eroare Pascal matrice

primer program _ eroare;
tip
vector = array [1..80] cuvântului;
var
n: integer;
a: vector;
începe
n: = 45;
o [n * 2]: = 25;
end.

Deși programul este în deplină concordanță cu sintaxa limbii, și traducător „dor“ ei pe scena se va efectua de ieșire de eroare dincolo de Pascal matrice. Când expresia n = 45 n * 2 = 90, calculatorul va încerca să se aplice elementului matrice a [90], dar acest element nu este prezent, întrucât dimensiunea de matrice 80 este descrisă.

Presupunem că un program bun ar trebui să genereze un mesaj de avertizare atunci când încearcă să acceseze elementele de matrice non-existente. Nu fi rău pentru a verifica posibila soluție atât pentru dreapta și în stânga limitele matrice, deoarece este posibil ca, ca urmare a calculării valorii expresiei va fi numărul, situată în partea stângă a limitelor de matrice Pascal.

Din toate acestea se poate concluziona: programator trebuie să fie foarte atenți atunci când se lucrează cu indici de matrice.

Pașii de bază cu matrice Pascal

După cum se știe, determinarea tipului de date înseamnă limita sfera de valori acceptabile, reprezentarea internă într-un calculator și un set de operații permise pe acest tip de date. Am identificat tipul de date ca o serie de Pascal. Ce operații sunt definite pe acest tip de date? Singura acțiune care poate fi realizată pe întreaga matrice, și numai cu condiția ca matrice de același tip - această misiune. Dacă două variabile de același tip sunt descrise în program, de exemplu,

var
a. b. array [1..10] real;

este posibil să se atribuie o valoare variabilă a variabilei b (a: = b). Astfel, fiecare element al șirului se atribuie o valoare corespunzătoare a matrice b. Toate celelalte operații pe matrice Pascal realizate la nivelul fiecarui element (acest lucru este important!).

Introducerea matrice Pascal

Pentru a introduce valorile elementelor de matrice, este necesar să se schimbe secvențial valoarea indicelui începând de la primul la ultimul, și introduceți elementul corespunzător. Pentru punerea în aplicare a acestor acțiuni este convenabil de a folosi un ciclu cu un anumit număr de repetiții, și anume ciclu de aritmetică simplă în cazul în care parametrul ciclului va fi variabila - index de matrice Pascal. Valorile elementelor pot fi introduse de la tastatură sau determinată folosind operatorul de atribuire.

fragment EXEMPLU matrice Pascal program de intrare

Să considerăm acum cazul când matrice Pascal este populat automat cu numere aleatoare, acest lucru se va utiliza funcția aleatoare (N).

EXEMPLU fragment de program matrice Pascal umplere numere aleatoare

Concluzie Pascal matrice

matrice de ieșire în Pascal este de asemenea realizată element cu element, într-o buclă, în care parametrii sunt indicele matrice, luând succesiv toate valorile de la început până la sfârșit.

fragment EXEMPLU program de Pascal matrice de ieșire

Ieșirea poate fi efectuată într-o coloană cu indicele corespunzător. Dar în acest caz, este necesar să se ia în considerare faptul că dimensiunea mare a elementelor de matrice nu toate pot încăpea pe ecran, și derulând va avea loc, de exemplu, Atunci când toate rândurile ecranului elementului următor este tipărit, și trece dincolo de sus a ecranului.

EXEMPLU Pascal matrice de ieșire program dintr-o coloană

Pe ecran vom vedea, de exemplu, următoarele valori:

Un exemplu de rezolvare a problemei folosind matrici Pascal

Problema: Având în vedere două n vector -dimensional. Găsiți suma acestor vectori.

  • Datele de intrare pentru această problemă va fi o matrice bidimensională. Dimensiunea acestor matrice poate fi arbitrară, dar determinată. Ie putem descrie cu siguranță o gamă largă, și în program pentru a determina cât de multe elemente vor fi folosite efectiv. Elementele acestor matrice pot fi întreg. Apoi, descrierea va fi după cum urmează:

var a. b. array [1..100] din întreg;

  • Datele de ieșire sunt elementele de matrice care rezultă, numesc c. Tipul de matrice rezultat trebuie să fie, de asemenea, un număr întreg.
  • În afară de cele trei tablouri, avem nevoie de o variabilă - setare ciclu și matrice index, suna-l am. și n variabile pentru determinarea numărului de elemente din fiecare matrice.
    • Definim numărul de elemente (dimensiuni) matrice introduce valoarea n;
    • introducem o matrice a;
    • introducem o matrice b;
    • într-un ciclu, de cotitură valoarea indicelui i de la 1 la n. calculează secvențial valorile matrice c în conformitate cu formula:

    c [i] = a [i] + b [i];

  • Afișarea matrice rezultată.
  • EXEMPLU Programul vector însumare