matrice dimensionale în Pascal și aleatoare în Pascal
matrice dimensionale în Pascal
var dlina: array [1..3] din întreg; începe dlina [1]: = 500; dlina [2]: = 400; dlina [3]: = 150;.
Declararea dimensiunea este posibilă prin constanta:
matrice de inițializare
In plus, matricea în sine poate fi constantă. și anume toate elementele programului sunt predefinite. Descrierea unei astfel de matrice este după cum urmează:
var a: array [1..5] din întreg; i: integer; începe o [1]: = 2; o [2]: = 4; o [3]: = 8; o [4]: = 6; o [5] = 3; writeln ( 'Array A:'); pentru i: = 1 până la 5 do write (a [i]: 4); end.
Pentru matrice adesea folosite în Pascal pentru un parametru ciclu, așa cum este cunoscut de obicei cât de multe elemente în matrice, iar contorul buclei poate fi folosit ca elemente indexează.
În acest exemplu, matrice cu unidimensională are un dezavantaj: atribuirea de valori elementelor.
matrice de prelucrare în Pascal și matrice precum și de umplere, este de obicei folosind pentru ciclul.
Funcție aleatorie în Pascal
Pentru a eșuat în mod constant de a solicita valorile elementelor de matrice folosind un generator de numere aleatoare în Pascal, care este implementat de către funcția aleatorie. De fapt, numere pseudo-aleatoare sunt generate, dar nu este punctul.
Pentru a genera numere de la 0 la n (n nu include valoarea în sine. Întregi în intervalul [0, N)) se utilizează înregistrarea aleatorie (n).
Înainte de a utiliza funcțiile necesare initsializirovt număr aleatoriu utilizând procedura Aleator.
Range Pascal aceste numere mai aleatoare de la A la B este dată de:
Exemplu: Completarea unei matrice cu numere aleatoare în Pascal:
var f: array [1..10] din întreg; i: integer; începe Aleator; pentru i: = 1 până la 10 nu înceapă f [i]: = random (10); <интервал [0,9]> scrie (f [i], ''); se încheie; end.
Pentru numere reale în intervalul [0,1):
Array țintă 1. Trebuie să setați dimensiunea matrice 5, umple matrice cu numere aleatoare în intervalul [-1,1] și elementele de afișare de la ecran pentru a defini trei poziții pentru ieșirea fiecărui element
Numerele Fibonacci în Pascal
Cel mai frecvent exemplu de utilizarea ieșirii de matrice este un număr Fibonacci în Pascal. Consideră-l.
Exemplu: Un număr de numere Fibonacci: 1 1 2 3 5 8 13 ...
var i: integer; f: array [0..19] din întreg; începe f [0]: = 1; f [1]: = 1; pentru i: = 2 și 19 nu înceapă f [i]: = f [i-1] + f [i-2]; writeln (f [i]) final; end.
În acest exemplu, devine clar modul de lucru cu serii numerice. De obicei, pentru secvența numerică este afișarea de formula pentru determinarea fiecărui membru al seriei. Astfel, în cazul numerelor lui Fibonacci, formula-regula apare ca f [i]: = f [i-1] + f [i-2]. Prin urmare, este necesar să se utilizeze în ciclul de formare a elementelor de matrice.
Ținta 2. Array serie Dan de 10 numere aleatoare: o [1], o [2]. o [10]. Se calculează cantitatea și tipul triplează în picioare numere următoarele: a [1] + a [2] + o [3]. o [2] + a [3] + o [4]. o [3] + o [4] + o [5]. ....... o [8] + o [9] + a [10]
Target Array 3. program de scriere pentru rezolvarea problemei imprimarea unui număr de numerele 2 4 8 16 32 512; pentru a umple o utilizare Repetare ciclu matrice
Maxim (minim) element de matrice
Elementul de căutare maxim de indexul său:
Sarcină: Găsiți elementul minim de matrice
Target Array 4. Având în vedere o serie de 10 elemente întregi. Găsiți numărul de negativ și imprima numărul de pe ecran
Target Array 5. Găsiți numărul minim și maxim de n intrare (matrice) și indicii lor
Sarcina Array 6. Având în vedere o serie de dimensiuni N. Lista toate conținute în această matrice chiar și numere, în ordinea descrescătoare indicilor lor, precum și numărul K
Target Array 7. cheie într-o serie de cinci elemente cuprinse în el două elemente maximale și numărul acestora.
Căutați un element dintr-o matrice
Luați în considerare exemplul unei lucrări complex cu matrice unidimensionale:
Exemplu: Având în vedere o serie de 10 întregi. Determinați dacă există o serie de numere introduse de către utilizator. Dacă există - ieșire „găsit“ - în cazul în care nu „găsit“
Pentru a rezolva această problemă veți avea nevoie de o declarație pauză - în afara buclei.
Soluție Opțiunea 1:
var f: array [1..10] din întreg; pavilion: boolean; i, c: întreg; începe Aleator; pentru i: = 1 până la 10 nu înceapă f [i]: = random (10); scrie (f [i], ''); se încheie; flag: = false; writeln ( 'Introduceți proba'); readln (c); pentru i: = 1 până la 10 fac dacă f [i] = c apoi începe writeln ( 'gasit'); pavilion: = true; pauză; se încheie; dacă flag = fals atunci writeln ( 'nu a fost găsit'); end.
Luați în considerare soluție eficientă:
Provocarea: pentru a găsi în elementul de matrice este egal cu X. sau pentru a stabili că nu este.
- începe cu primul element (i: = 1)
- În cazul în care elementul următor (A [i]) este lista completă X. în caz contrar du-te la elementul următor
Căutați un element dintr-o matrice
Target matrice matrice 8. umplere de 10 numere aleatoare în intervalul [0..4] și numerele de ieșire ale tuturor elementelor egal cu X.