matrice dimensionale 1
Sinopsis a subiectului: rețea unidimensională
profesor de științe Batrakova LV
Pana acum am lucrat 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 prelucrarea informațiilor în diverse date din lumea reală este necesară, care au o structură mai complicată. Astfel de structuri complexe bazate pe scalar simplu tipuri (simple) sunt cunoscute ca structuri (tipuri complexe). 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ă.
Cea mai comună structura vânzărilor în limbaje de programare, practic, toate, este o matrice.
Definiție: Array - o secvență fixă de componente similare (elemente) care au un nume.
Matricele sunt compuse dintr-un set limitat în prealabil, numărul de componente. în care toate componentele solide au același tip, numit baza. Numărul de componente din matrice se numește dimensiunea sa. 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ă componentele matrice pot avea numai de 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).
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 și enumerate.
Descriere matrice în Pascal
unde I - tip index de matrice (ref orice tip: întreg, caracter, boolean, o, gama enumerate), T - elemente de tip (de orice tip, cu excepția fișierului).
Poate fi descris o dată variabile, cum ar fi matrice, și anume în secțiunea declarație de variabilă (aceasta este o descriere locală):
De obicei, tipul de index se caracterizează printr-un anumit interval de valori de orice tip de comandă. I 1. I n. De exemplu, codurile pot fi modificate în intervalul 1..20 sau „a“ .. „n“.
Vector = array [1. 10] din întreg;
Stroka = array [0..255] de char;
Tem = array [Luna] real;
Mas = array [L] de octet;
Ch = array [char] de octet;
Folosind un index de matrice se poate referi la elementele individuale ale oricărei matrice, ca o variabilă: puteți obține valoarea acestui element separat a atribui o valoare, utilizați în expresii.
Urmeazã, putem accesa elementele individuale ale șirului.
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 constantă, variabilă sau expresie corespunzătoare tipului de index. Cu alte cuvinte, indicii pot fi calculate.
De exemplu: o [5], [n], a [n div 2]
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.“
Exemplu de eroare de program
primer program _ eroare;
vector = array [1..80] cuvântului;
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,
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
var
A. array [1. 10] din întreg;
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
var
A: array [1. 10] din întreg;
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
var
A. array [1. 10] din întreg;
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ă
var
A: array [1. 10] din întreg;
Pe ecran vom vedea, de exemplu, următoarele valori:
Exemple de probleme de rezolvare folosind matrice în Pascal
Problema 1: Dată fiind două n - matrice dimensionale. Găsiți suma acestor matrice.
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ă:
Vara. 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ă - ciclu de setare, și anume indicele matrice, am eu numesc. și n variabile pentru determinarea numărului de elemente din fiecare matrice.
Progresul în rezolvarea problemei:
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ă.
Textul programului:
matrice EXEMPLU Program însumare
Programul summa;
a, b, c: array [1 100] din întreg;
Write ( „introduceți dimensiunea matrice:“);
Până la (n> = 1) și (n max apoi începe max: = a [i]; imax: = i termina;
Notă: pentru că după apoi efectuată de către doi operatori, operatorul utilizează paranteze începe ... capăt;
Afișează elementul maxim și indexul său.
Textul programului:
EXEMPLU constatare maximă a programului în matrice
max program;
Write ( „introduceți dimensiunea matrice:“);
Dacă un [i]> max apoi începe max; = a [i]; imax: = Inchei;
Sfârșit.O listă de sarcini pentru soluție independentă
Dan-dimensionale matrice număr întreg, găsi suma tuturor numerelor întregi pozitive ale șirului.
Ia-o serie de noi matrice de aceleași elemente, care merg în ordine inversă.
Dubla toate elementele impare ale unui tablou întreg și înlocuiți jumătate din valoarea tuturor chiar elemente.
Se scoate din matrice, care constă din n elemente, m element de linie -lea.
Dan-dimensionale matrice întreg pentru a găsi elementele maxime și minime și să le schimb.
Având în vedere o matrice unidimensională de reale, pentru a găsi elementul minim și swap-l cu ultimul element al matrice.
Având în vedere o matrice unidimensională de material, care determină un număr mai pozitiv sau negativ.
matrice Dan-dimensionale de numere întregi, determina dacă oricare dintre aceste numere prime.
Având în vedere o matrice caracter unidimensional, determina dacă caractere numerice.
Având în vedere două numere întregi, aranjate în creșterea matrice de 10 elemente fiecare. Creați o serie ordonată constând din elemente primul și al doilea.
matrice Dan-dimensionale. Primul element pozitiv în matrice pentru a plasa pe ultimul loc, se deplasează cu toate cele anterioare. Să presupunem că un element din matrice este.
matrice Dan-dimensionale. Primele și ultimele elemente ale swap-ului negativ. Să presupunem că aceste elemente în matrice este.
Având în vedere o matrice caracter unidimensional. Înlocuiți consecutiv caractere identice unul cu ajutorul unui algoritm de compresie.
Având în vedere o matrice unidimensională de caractere formate din litere. Aranjați literele în ordine alfabetică.
Dan-dimensional întreg matrice insera numărul x în poziția de a.
Lecția pe „matrice pătrat“ este o parte a liniei de conținut „Tehnologia Informației“