У вас вопросы?
У нас ответы:) SamZan.net

Лабораторная работа 15

Работа добавлена на сайт samzan.net: 2016-03-05

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 3.4.2025

Лабораторная работа № 15.

Работа с двумерными массивами.

Цель: изучение и приобретение навыков работы с двумерными массивами, и получение дальнейших навыков по отладке и тестированию программ.

Оборудование и программное обеспечение: компьютер, Turbo Pascal 7.0.

Место проведения:

Время:

Пример 1. Дана матрица действительных чисел размером 3x5. Вычислить сумму элементов матрицы.

PROGRAM EX_1;

CONST  n=3; {Количество строк}

   m=5; {Количество столбцов}

TYPE mas=array[1..n,1..m] of real;

VAR  b: mas;   {Массив}

  i: integer; {Индекс строки}

  j: integer; {Индекс столбца}

  s: real;   {Сумма}

BEGIN

{Ввод значений матрицы}

Writeln('Введите значения элементов матрицы:');

 for i:=1 to n do

 for j:=1 to m do

 readln(b[i,j]);

{Вычисление суммы}

 s:=0;

for i:=1 to n do

 for j:=1 to m do

 s:=s+b[i,j];

writeln('Сумма = ',s);

END.

Пример 2. Дана матрица целых чисел размером 4x4. Заменить все элементы главной диагонали на нули. Вывести на экран монитора содержимое матрицы до обработки и после обработки.

PROGRAM EX_2;

VAR matr: array[1..4,1..4] of integer; {Матрица}

  i: integer;             {Индекс строки}

  j: integer;             {Индекс солбца}

BEGIN

{Ввод значений матрицы}

  for i:=1 to 4 do

  for j:=1 to 4 do

    begin

     write('Введите элемент ',i,' ',j,' ');

     readln matr[i,j];

    end;

{Вывод содержимого матрицы до обработки}

  Writeln('Содержимое матрицы до обработки');

  for i:=1 to 4 do begin

  for j:=1 to 4 do

    write(matr[i,j]:4);

  writeln;

          end;

{Обработка матрицы}

  for i:=1 to 4 do matr[i,i]:=0;

{Вывод содержимого матрицы после обработки}

  Writeln('Содержимое обработанной матрицы ');

  for i:=1 t0 4 do begin

  for j:=1 to 4 do

    write(matr[i,j]:4);

  writeln;

          end;

END.

Пример 3. Сгенерировать 2-мерный числовой массив размера n*n. Найти скалярное произведение строки, в которой находится наименьший элемент, на столбец, в котором находится наибольший элемент.

Program min_na_max;

uses crt;

const n=3;

type matrix=array [1..n,1..n] of integer;

var ms:matrix;

   scalyar:integer;

procedure gener(a,b:integer; var m:matrix);

var ii,jj:byte;

begin

 randomize;

 for ii:=1 to n do

   for jj:=1 to n do

     m[ii,jj]:=a+random(b-a);

end;

procedure vivod(x,y,shagx,shagy:byte; m:matrix);

var ii,jj:byte;

 begin

   for ii:=1 to n do

     for jj:=1 to n do

     begin

       gotoxy(x+shagx*(ii-1),y+shagy*(jj-1));

       writeln(m[ii,jj]:shagx);

     end;

 end;

function stroka(m:matrix):integer;

var imin,jmin,rezmin:byte;

   min:integer;

begin

 min:=m[1,1];

 for imin:=1 to n do

 for jmin:=1 to n do

   if m[imin,jmin]<min then

     begin

       min:=m[imin,jmin];

       rezmin:=imin;

     end;

 stroka:=rezmin;

end;

function stolbets(m:matrix):integer;

var imax,jmax,rezmax:byte;

   max:integer;

begin

 max:=m[1,1];

 for imax:=1 to n do

 for jmax:=1 to n do

   if m[imax,jmax]>max then

     begin

       max:=m[imax,jmax];

       rezmax:=jmax;

     end;

 stolbets:=rezmax;

end;

function scalar_multiplication(str,stb:integer;m:matrix):integer;

var k:byte;

   sc:integer;

begin

 sc:=0;

 for k:=1 to n do

   sc:=sc+m[str,k]*m[k,stb];

   scalar_multiplication:=sc;

end;

BEGIN

 clrscr;

 writeln('Исходные данные');

 gener(-10,10,ms);

 vivod(2,2,5,1,ms);

 writeln;

 writeln('Скалярное произведение строки с наименьшим элементом');

 writeln('на столбец с наибольшим элементом равно ',

          scalar_multiplication(stroka(ms),stolbets(ms),ms));

 readln;

END.

Порядок выполнения работы:

Задание: Создать и отладить программу для решения следующую задачу (см. Приложение).

Содержание отчета по каждому заданию:

  •  исходные данные (условие задачи);
  •  алгоритм (блок-схема) решения задачи;
  •  текст программы (или основной фрагмент программы);
  •  результаты выполнения программы

Приложение лабораторной работе №15: (ваш номер по журналу соответствует номеру варианта)

  1.  Дана матрица целых чисел размером 4x3. Определите сумму каждой строки этой матрицы. Результат вывести на экран монитора.
  2.  Дана матрица целых чисел размером 3x4. Определите сумму каждого  столбца этой матрицы. Результат вывести на экран монитора.
  3.  Дана матрица целых чисел размером 4x4. Определите сумму элементов расположенных выше главной диагонали. Результат вывести на экран  монитора.
  4.  Дана матрица целых чисел размером 4x3. Отсортировать каждую строку матрицы по возрастанию. Вывести содержимое матрицы до обработки, и после обработки.
  5.  Дана матрица целых чисел размером 3x4. Отсортировать каждый столбец  матрицы по убыванию. Вывести содержимое матрицы до обработки, и после обработки.
  6.  Дана матрица целых чисел размером 5x3. Заменить все отрицательные  элементы матрицы на нули. Вывести содержимое матрицы до обработки и  после обработки.
  7.  Дана матрица целых чисел размером 5x3. Определить минимальный элемент матрицы. Результат вывести на экран монитора.
  8.  Дана матрица целых чисел размером 4x4. Увеличить все чётные элементы на 16. Вывести на экран  содержимое обработанной матрицы.
  9.  Дана матрица целых чисел размером 5x3. Заменить все положительные элементы матрицы на единицы. Вывести содержимое матрицы до обработки и  после обработки.
  10.  Дана матрица целых чисел размером 5x3. Определить максимальный элемент матрицы. Результат вывести на экран монитора.
  11.  Дана матрица целых чисел размером 4x4. Все нечётные элементы увеличить втрое. Вывести на экран  содержимое обработанной матрицы.
  12.  Дана матрица целых чисел размером 4x3. Отсортировать каждую строку матрицы по убыванию. Вывести содержимое матрицы до обработки, и после обработки.
  13.  Дана матрица целых чисел размером 3x4. Отсортировать каждый столбец  матрицы по возрастанию. Вывести содержимое матрицы до обработки, и после обработки.
  14.  Дана матрица целых чисел размером 4x4. Определите сумму элементов расположенных ниже главной диагонали. Результат вывести на экран  монитора.
  15.  Дана матрица целых чисел размером 4x4. поменять местами строки и  столбцы этой матрицы. Вывести содержимое матрицы до обработки и  после обработки.

  1.  



1. аутсорсинг.......
2. Беззаботное скитание в мире сокровенного и таинственного- М Хайдеггер и даосизм
3. Спектральні наземні дослідження
4. Пищеварительная система Органы ротовой полости
5.  Организация ~ понятие характеристики [2
6. Технология бурения нефтяных и газовых скважин
7. НАГОРНО-КАРАБАХСКИЙ КОНФЛИКТ В КОНТЕКСТЕ МЕЖДУНАРОДНОГО ПРАВА (1988-1994 гг)
8. Петр считал что материальные условия для деятельности Академии достаточно подготовлены
9. 122009 року нак698 З змінами від 23
10. Методические указания по самостоятельной работе студентов очной формы обучения