Luați în considerare fragmentele de program propuse mai jos pentru soluții unor probleme comune.
Sarcină. Înlocuiți elementele negative în semn opus.
Pentru a descrie această procedură. Ea va trece un parametru - o matrice care este rezultatul punerii sale în aplicare, deoarece unele elemente pot fi schimbate.
Procedura Zamena (Var m myArray; n :. Integer);
var
i. întreg;
începe
pentru i: = 1 la n do
dacă m [i] <0
atunci
m [i]: = -1 * m [i];
End;
Sarcină. Găsiți și afișa numărul de elemente chiar.
Procedura PoiskChet (m myArray; n :. Integer);
var
i. întreg;
începe
pentru i: = 1 la n do
dacă m [i] mod 2 = 0
atunci
Write (i: 5);
End;
Sarcină. Găsiți numărul de elemente pozitive și negative în matrice.
Să ne descrie procedura, care va trimite trei parametri - matrice și două contoare, unul pentru obiecte mai mari decât zero, iar al doilea - pentru elementele negative.
Procedura OtrPol (m myArray ;; n :. Integer; Var k1, k2 Integer.);
var
i. întreg;
începe
k1: = 0;
k2: = 0;
pentru i: = 1 la n do
dacă m [i]> 0
atunci
Inc (k1)
altfel
dacă m [i] <0
atunci
Inc (k2);
End;
Există ceva în acest elementele de matrice cu această proprietate?
Pentru a rezolva aceste probleme este mult mai convenabil de a folosi ciclurile cu condițiile și pentru a face funcția, al cărei rezultat este un boolean.
Sarcină. Există un element negativ în matrice?
Funcție Control (m myArray; n :. Integer). boolean;
var
i. întreg;
începe
i: = 1;
în timp ce (i<=n) and (m[i]>0) do
Inc (i);
Control: = (i<=n);
End;
Sarcină. Selectați cu sarcina profesor de decizie independentă.
- matrice Dan-dimensionale. Găsiți diferența dintre cele mai mari și cele mai mici numere din această matrice.
a) A [i] b) A [i] = B [i];
a) A [i]> B [i].