Хелпикс

Главная

Контакты

Случайная статья





ЛАБОРАТОРНАЯ РАБОТА 6. РАБОТА С МАТРИЦАМИ. КРАТКИЕ СВЕДЕНИЯ ИЗ ТЕОРИИ. А Л Г О Р И Т М. П Р О Г Р А М М А. А Л Г О Р И Т М. П Р О Г Р А М М А



ЛАБОРАТОРНАЯ РАБОТА 6

 

РАБОТА С МАТРИЦАМИ

 

 

ЦЕЛЬ РАБОТЫ:

                                     Научиться составлять алгоритмы и

                                     программы для обработки двумерных

                                     массивов.

 

КРАТКИЕ СВЕДЕНИЯ ИЗ ТЕОРИИ

 

 

Двумерный массив состоит из элементов с двумя индексами: один показывает номер столбца в массиве, другой - номер строки.

В Турбо-Паскале возможны массивы и большей размерности. Для их описания возможны два подхода:

а) массив рассматривается как массив других массивов:

   type

        x=array[1.. 100] of real;

        y=array[1.. 2] of x;

или

   type y=array[1.. 100, 1.. 2] of real;

 

б) массив рассматривается как многоиндексный

    type y=array [ 1... 100, 1... 2 ] of real;

 

Оба описания равноценны.

 

 

ПРИМЕР 1: Получить матрицу, элементами которой являются

                   произведения номеров строк i и номеров столбцов j.   

 

А Л Г О Р И Т М

 

алг таблица умножения

рез р: цел таб [1.. 9, 1.. 9]

раб  i, j: цел

нач

нцдля  i от 1 до 9

нцдля   j от 1 до  9

    р[i, j]: =i*j

    вывод p[i, j]

кц

кц

 

П Р О Г Р А М М А

 

 

program umnog;

type mat=array[1.. 9, 1.. 9] of integer;

var i, j: integer;

       p: mat;

begin

for i: =1 to 9 do

   begin

      for j: =1 to 9 do

         begin

            p[i, j]: =i*j;

            write (p[i, j]: 3)

         end;

         writeln;

     end

end.

 

 

ПРИМЕР 2: Из матрицы А[3, 4] получить вектор В, элементами 

                      которого являются наибольшие элементы столбцов 

                      матрицы.

 

 

А Л Г О Р И Т М

 

 

алг массив максимумов

арг  а: вещ таб [1.. 3, 1.. 4]

рез b: вещ таб [1.. 4]

раб i, j: цел

нач

нцдля i от 1 до 3

нцдля j от 1 до 4

       ввод a[i, j]

кц

кц

нцдля j от 1 до 4

    b[j]: =a[1, j]

    нцдля i от 2 до 3

          если b[j]< a[i, j]

                     то b[j]: =a[i, j]

    все

кц

вывод b[j]

кц

кон

П Р О Г Р А М М А

 

program mag_max;

type x=array[1.. 3, 1.. 4] of integer;

     y=array[1.. 4] of integer;

var i, j: integer;

    a: x; b: y;

begin

writeln ('Введите матрицу А');

for i: =1 to 3 do begin

  for j: =1 to 4 do begin

      read(a[i, j]);

      write (' ')

  end;

  writeln

end;

writeln ('Массив В');

for j: =1 to 4 do

    begin

        b[j]: =a[1, j];

        for i: =2 to 3 do

           if b[j]< a[i, j]

            then b[j]: =a[i, j];

        write(b[j]: 4)

   end

end.

 



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.