Сформировать матрицу путем ввода с клавиатуры и с помощью ГСЧ - Turbo Pascal
Формулировка задачи:
Решение задачи: «Сформировать матрицу путем ввода с клавиатуры и с помощью ГСЧ»
program g;
uses crt;
const m=4;
n=7;
var z:array[1..m,1..n] of real;
w,i,j:integer;
s:real;
begin
randomize;
clrscr;
writeln('Выберите способ заполнения массива');
writeln('1-ввод с клавиатуры');
writeln('2-случайным образом');
repeat
readln(w);
until w in [1,2];
case w of
1:for i:=1 to m do
for j:=1 to n do
begin
write('z[',i,',',j,']=');
readln(z[i,j]);
end;
2:for i:=1 to m do
for j:=1 to n do
z[i,j]:=-15+random*30;
end;
clrscr;;
writeln('Исходный массив Z');
for i:=1 to m do
begin
for j:=1 to n do
write(z[i,j]:6:1);
writeln
end;
for j:=1 to n do
begin
s:=z[1,j];
z[1,j]:=z[3,j];
z[3,j]:=s;
end;
writeln('Обмен 1 и 3 строк');
for i:=1 to m do
begin
for j:=1 to n do
write(z[i,j]:6:1);
writeln
end;
readln
end.
Объяснение кода листинга программы
Этот код на языке Turbo Pascal представляет собой программу для формирования матрицы с помощью ввода с клавиатуры или случайным образом. В начале программы объявляются необходимые переменные: m (количество строк) и n (количество столбцов) массива z, а также переменные w, i и j для работы с индексами. Затем происходит инициализация генератора случайных чисел и очистка экрана. Далее выводится предложение для выбора способа заполнения массива, и пользователь приглашается ввести свой выбор с помощью функции readln. В зависимости от выбранного способа заполнения массива выполняется соответствующий код. Если выбран способ ввода с клавиатуры, то происходит последовательный запрос значений для каждой ячейки массива и их сохранение в массиве. Если выбран способ случайного заполнения, то каждая ячейка массива присваивается случайное число в диапазоне от -15 до 15. После этого происходит вывод исходного массива z с помощью цикла for и функции write. Затем выполняется обмен значениями в двух строках массива с помощью циклов for и переменной s. В конце программы выводится приглашение на ввод с клавиатуры и происходит очистка экрана.