Подпрограммы - Pascal ABC (14274)

Узнай цену своей работы

Формулировка задачи:

Даны целочисленные матрицы А(4х5) и В(3х7) Проверить есть ли в матрице элементы А элементы ,равные D, а в матрице В - элементы ,равные Q,где D,Q -заданные значения

Решение задачи: «Подпрограммы»

textual
Листинг программы
type mtr=array[1..4,1..7] of integer;
procedure vvod(var a:mtr;m,n:byte;c:char);
var i,j:byte;
begin
writeln('Исходная матрица ',c);
for i:=1 to m do
 begin
  for j:=1 to n do
   begin
    a[i,j]:=random(100);
    write(a[i,j]:3);
   end;
  writeln;
 end;
end;
function poisk(a:mtr;m,n:byte;x:integer):boolean;
var i,j,k:byte;
begin
k:=0;
i:=1;
while(i<=m)and(k=0) do
 begin
  j:=1;
  while(j<=n)and(k=0) do
  if a[i,j]=x then k:=1
  else j:=j+1;
  if k=0 then i:=i+1;
 end;
poisk:=k=1;
end;
var a,b:mtr;
    d,q:integer;
begin
vvod(a,4,5,'A');
write('Введите число для поиска d=');
readln(d);
if poisk(a,4,5,d) then
writeln('В матрице есть числа равные ',d)
else writeln('В матрице нет чисел равных ',d);
vvod(b,3,7,'B');
write('Введите число для поиска q=');
readln(q);
if poisk(b,3,7,q) then
write('В матрице есть числа равные ',q)
else writeln('В матрице нет чисел равных ',q)
end.

Объяснение кода листинга программы

  1. Создается тип данных mtr, который представляет собой матрицу целых чисел размером от 1 до 4 в первой размерности и от 1 до 7 во второй размерности.
  2. Создается процедура vvod, которая принимает на вход матрицу a типа mtr, метки m и n типа byte, а также символ c типа char. Внутри процедуры выводится исходная матрица, а затем происходит итерация по каждому элементу матрицы a. Для каждого элемента выполняется проверка на равенство случайному числу в диапазоне от 1 до 100, и если условие выполняется, то выводится соответствующее значение. В конце выводится символ новой строки.
  3. Создается функция poisk, которая принимает на вход матрицу a типа mtr, метки m и n типа byte, а также число x типа integer. Функция выполняет поиск числа x в матрице a. Для этого используется цикл while, который выполняется до тех пор, пока не будет найдено совпадение или не будут проверены все элементы матрицы. Если совпадение найдено, то переменная k устанавливается в значение 1, иначе переменная j увеличивается на единицу. После завершения цикла выполняется проверка значения переменной k. Если оно равно 1, то функция возвращает значение true, иначе - значение false.
  4. Создаются переменные a, b, d и q типа mtr.
  5. Вызывается процедура vvod для матрицы a с метками m и n, и символом c.
  6. Выводится запрос на ввод числа для поиска d.
  7. Выполняется поиск числа d в матрице a с помощью функции poisk. Если совпадение найдено, то выводится сообщение о наличии числа в матрице, иначе выводится сообщение о том, что число в матрице отсутствует.
  8. Вызывается процедура vvod для матрицы b с метками m и n, и символом c.
  9. Выводится запрос на ввод числа для поиска q.
  10. Выполняется поиск числа q в матрице b с помощью функции poisk. Если совпадение найдено, то выводится сообщение о наличии числа в матрице, иначе выводится сообщение о том, что число в матрице отсутствует.
  11. Функция poisk возвращает значение true или false.
  12. Программа завершается.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 3.857 из 5
Похожие ответы