Задача: Процедуры. Функции
Описание
Характеристики решённой задачи
Список файлов
Возможно не удалось распознать кодировку файла
Задача:
В задачах по программированию очень часто встречается необходимость заполнить массив данными и вывести их потом на экран. Методов этого не так уж много и особым разнообразием они не отличаются. Поэтому хорошо бы их оформить в виде процедур и использовать по мере необходимости.
Алгоритм решения задачи:
Создадим две процедуры заполнения одномерного массива целыми числами: одну с использованием функции random и одну, где пользователь самостоятельно задает значения. Также создадим процедуру вывода массива на экран. Затем вызовем в основной ветке программы эти процедуры, передав им в качестве аргументов переменные, связанные с массивами.
Программа на языке Паскаль:
const
n = 10;
type
miniarr = array[1..n] of integer;
var
a, b: miniarr;
procedure arr_rand (k:integer; var arr: miniarr);
var i: byte;
begin
writeln ('Заполнение массива случайными числами.');
randomize;
for i := 1 to k do
arr[i] := random (100);
end;
procedure arr_user (k:integer; var arr: miniarr);
var i: byte;
begin
write ('Введите ', k, ' чисел через пробел: ');
for i := 1 to k do
read (arr[i]);
end;
procedure arr_out (k:integer; var arr: miniarr);
var i: byte;
begin
write ('Вывод массива: ');
for i := 1 to k do
write (arr[i]:4);
writeln;
end;
begin
arr_rand (n, a);
arr_out (n, a);
writeln;
arr_user (n, b);
arr_out (n, b);
readln
end.
Алгоритм решения задачи:
От пользователя требуется ввод двух чисел. Эти значения должны быть присвоены двум переменным, причем значение первой должно быть меньше второй. Конечно, можно предупредить об этом пользователя, но возможно ему удобней будет и не знать о требованиях программы. В коде программы можно реализовать процедуру, производящую обмен значений двух переменных, и вызывать ее после каждого очередного ввода пользователя.
Программа на языке Паскаль:
var
k, l: integer;
procedure exchange (var a,b: integer);
var c: integer;
begin
if a > b then begin
c := a;
a := b;
b := c;
end;
end;
begin
writeln ('Введите два числа: ');
readln (k, l);
exchange (k, l);
writeln ('k = ', k,'; l = ', l);
readln
end.
Возможно не удалось распознать кодировку файла
Возможно не удалось распознать кодировку файла