profile
Опубликовано 5 лет назад по предмету Информатика от Аккаунт удален

ЗАДАНИЕ 1:

Набрать и протестировать на компьютере программу, организующую ввод -вывод двумерного массива целых чисел 3х4. Для ввода и вывода использовать процедуры, которые будут вызываться в основной программе.

Текст программы:

Program Prim;
Type vector=array[1..3] of integer;
matr=array[1..4] of vector ;
Var x:matr;

{Процедура ввода в режиме диалога}
Procedure wwod(var a:matr; Name:char);
Begin
for i:=1 to 3 do
for j:=1 to 4 do
begin
write(Name,'[',i,', j]=');
readln(a[i,j]);
end
End;

{Процедура вывода}
Procedure wywod(a:Matr);
Var i:integer;
Begin
for i:=1 to 3 do
begin
for j:=1 to 4 do
write(a[i,j]);
writeln;
end;
End;

{основная программа}
Begin
wwod(x, 'X');
writeln ('Ввод окончен.');
writeln ('Вывод: ');
wywod(x);
End.


ЗАДАНИЕ 2:

Видоизменить программу, добавив в нее описание и вызов процедуры, преобразующей введенный массив по следующему правилу: каждый элемент массива увеличивается на 4 - a[i,j]:=a[i,j]+4;.

  1. Ответ
    Ответ дан vladmor
    1. Большое количество ошибок в приведенном коде.
    - В нескольких местах в процедурах не описаны переменные i,j
    - В циклах неверно указано условие окончание цикла
    - Неправильно описаны переменные в заголовке процедур

    2. После исправления ошибок и добавления процедуры P4 (вторая часть задания) код программы будет таким:

    Program Prim;
      Type vector=array[1..4] of integer;
        matr=array[1..3] of vector ;
      Var x:matr;

    {Процедура ввода в режиме диалога}
    Procedure wwod(var a:matr; Name:char);
      var i,j:integer;
      Begin
        for i:=1 to 3 do
        for j:=1 to 4 do
          begin
            write(Name,'[',i,',', j,']=');
            readln(a[i,j]);
          end;
        End;

    {Процедура вывода}
    Procedure wywod(var a:Matr);
      Var i,j:integer;
      Begin
        for i:=1 to 3 do
          begin
            for j:=1 to 4 do
            write(a[i,j]);
            writeln;
          end;
      End;
    {каждый элемент массива увеличивается на 4}

    Procedure p4(var a:Matr);
      Var i,j:integer;
      Begin
        for i:=1 to 3 do
          begin
            for j:=1 to 4 do
              a[i,j]:=a[i,j]+4;
          end;
      End;

    {основная программа}
    Begin
      wwod(x, 'X');
      writeln ('Ввод окончен.');
      writeln ('Вывод: ');
      wywod(x);
      p4(x);
      wywod(x);
    end.

    Тестовое решение:
    X[1,1]=2
    X[1,2]=2
    X[1,3]=2
    X[1,4]=2
    X[2,1]=2
    X[2,2]=2
    X[2,3]=2
    X[2,4]=2
    X[3,1]=2
    X[3,2]=2
    X[3,3]=2
    X[3,4]=2
    Ввод окончен.
    Вывод:
    2222
    2222
    2222

    6666
    6666
    6666


Самые новые вопросы