Будь умным!


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

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

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

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

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

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

от 25%

Подписываем

договор

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

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

Лабораторная работа № 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. Лекция 4 Описание разделов бизнесплана Календарный план примерный вариант
2. Атинської декларації та Протоколу до Мінського договору
3. Понятие логистической системы- основные категории виды [3] 2
4. вельми непогано
5. Дефекты, эффекты в стереотипах рекламной продукции
6. Nendrosoglsnovozzreniyudzogchen- Во всех практиках которые мы выполняем нераздельны искусные методы и мудрость нераз
7. логистика известный до недавнего времени лишь узкому кругу специалистов получает сегодня широкое распро
8. ВВЕДЕНИЕ2
9. Subject 6503 Filltime student Group 11 Kiev 2013 Ukrine Protesters Wnt nswers on 15 Billion Russi id Ukrinin ntigovernment protesters demnded to kn
10. Алтынчеч общеразвивающего вида Заинского муниципального района Республики Татарстан
11. Курсовая работа- Влияние занятий легкой атлетикой на организм подростка
12. на тему- Гражданскоеправовые отношения Исполнитель Москва 2015 СОДЕР
13. преимущества и недостатки доходного подхода к оценке бизнеса
14. голых HTMLстраниц
15. реферат по дисциплине История по специальности СПО 150415 Сварочное производство базовой подгот
16. Аудит учета основных средств
17. Тема 2. Взаимосвязь основных сфер общества
18. Реферат- Исторические события в России в начале 20 века
19. Турдейская СОШ Из опыта работы по теме- Духовно ~ нравственный аспект на уроках русского яз
20. від Фалеса до Демокріта