Program Sort;Const M = 200; { Максимальный размер массива } Type MasReal = Array [1..M] Of Real; Var A, B: MasReal; I, N: Integer; Procedure SortY (L: Integer; Var Y: MasReal); { Сортировка вещественных чисел методом " пузырька" } { L – размер массива; Y – массив вещественных чисел} Var i, k: Integer; Z: Real; Begin For k: =1 To L-1 Do For i: =1 To L-k Do If Y[i]> Y[i+1]Then Begin Z: = Y[i]; Y[i]: = Y[i+1]; Y[i+1]: = Z End; End; { SortY }
Begin {Основная программа} Writeln(’ Введите размер массивов’); ReadLn(n); Writeln(’Введите первый массив’); For i: =1 To n Do ReadLn(A[i]); Writeln (’Введите второй массив’); For i: = 1 To n Do ReadLn(B[i]); SortY (n, A); { Сортировка массива А } SortY (n, B); { Сортировка массива В } Writeln (’Первый массив’); For i: = 1 To n Do Write (A[i]: 8: 3); Writeln; Writeln (’Второй массив’); For i: = 1 To n Do Write(B[i]: 8: 3); Readln; { Ожидание нажатия клавиши ENTER } End.
Расположение процедур в программе Процедуры могут быть вложенными друг в друга (см. рис. 2.10, а).
P1 и P3 - внешние процедуры, Р1, P2 и P3 - внешние Р2 – внутренняя процедуры
Рис. 2.10. Расположение процедур в программе При таком расположении обращение к внутренней процедуре P2 возможно только из охватывающей ее процедуры P1, а из внешних (на рис. – Р3) - невозможно. Более предпочтительным является расположение процедур в виде рис. 2.10, б, на котором все процедуры являются внешними по отношению друг к другу. При таком расположении: 1) любая процедура имеет доступ к любой другой (в том числе и к самой себе); 2) облегчается отладка процедур, т.к. они могут быть написаны и отлажены независимо друг от друга.
|