Обработка одномерных массивов и матриц


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


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

  1. Задача 1

  2. Массив из 30 целых чисел заполнить, присваивая элементам, делящимся на 4, значения 0, остальным элементам значение -1. Cоставить три варианта программы с использованием различных операторов организации циклов.

Вариант 1. Использование оператора For

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



program lab5_1_1;

{$APPTYPE CONSOLE}

uses

SysUtils;

var

m:array [1..30] of integer;

i:byte;

begin

for i:=1 to 30 do begin

if i mod 4 =0 then m[i]:=0

else m[i]:=-1;

writeln(m[i]);

end;

readln;

end.

Вывод результата







Вариант 2. Использование оператора While

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



program lab5_1_2;

{$APPTYPE CONSOLE}

uses

SysUtils;

var

m:array [1..30] of integer;

i:byte;

begin

i:=0;

while i<=30 do begin

i:=i+1;

if i mod 4 =0 then m[i]:=0

else m[i]:=-1;

writeln(m[i]);

end;

readln;

end.

Вывод результата







Вариант 3. Использование оператора Repeat

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



program lab5_1_3;

{$APPTYPE CONSOLE}

uses

SysUtils;

var

m:array [1..30] of integer;

i:byte;

begin

i:=0;

repeat

i:=i+1;

if i mod 4 =0 then m[i]:=0

else m[i]:=-1;

writeln(m[i]);

until i=30;

readln;

end.

Вывод результата






  1. Задача 2

  2. массив число программа цикл

  3. Для заданной функции y = cos(0.5x/2)+cos(x) вычислить массив 11 ее значений в равноотстоящих точках интервала [2,4]. Вывести на экран таблицу значений функции. Обработать массив значений функции указанным образом. Результаты вывести на экран. Найти квадрат максимального из четных элементов массива и общее число нулевых элементов.

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

  5. program lab2;

  6. {$APPTYPE CONSOLE}

  7. uses

  8. SysUtils;

  9. var my:array [1..11] of real;

  10. mx:array [1..11] of real;

  11. max,y,x1,x2,x,h:real;

  12. i,k:byte;

  13. begin

  14. x1:=2;

  15. x2:=4;

  16. x:=x1;

  17. h:=(x2-x1)/10;

  18. mx[1]:=x;

  19. for i:=1 to 11 do

  20. begin

  21. y:=cos((0.5*x)/2)+cos(x);

  22. my[i]:=y;

  23. x:=x+h;

  24. mx[i+1]:=x;

  25. writeln('x=',mx[i]:5:2,' y=',my[i]:5:2);

  26. end;

  27. max:=my[1];

  28. for i:=1 to 11 do

  29. if (max

  30. max:=my[i];

  31. max:= max*max;

  32. writeln ('max kvadr y= ',max:5:2);

  33. for i:=1 to 11 do

  34. if my[i]=0 then k:=k+1;

  35. writeln ('vsego nulevyh elementov= ',k);

  36. readln;

  37. end.

  38. Вывод результата


  1. Задача 3

Дан двумерный массив [3..4]. Получить новый массив путем умножения всех элементов исходного массива на его элемент, наибольший по абсолютной величине.

Текст программы (массив заполняется случ. числами).


program lab5_3;

{$APPTYPE CONSOLE}

uses

SysUtils;

var

m:array [1..3,1..4] of real;

i,j:byte;

max:real;

begin

randomize;

{zapolnenie}

for i:=1 to 3 do

for j:=1 to 4 do

begin

m[i,j]:=random;

writeln(m[i,j]:5:3);

end;

{nahozhdenie max}

max:=m[1,1];

for i:=1 to 3 do

for j:=1 to 4 do

if max

writeln ('max= ',max:5:3);

{umnozhenie}

for i:=1 to 3 do

for j:=1 to 4 do

begin

m[i,j]:=m[i,j]*max;

{vyvod}

writeln('new massiv= ',m[i,j]:5:3);

end;

readln;

end.


Вывод результата




Вывод: я изучил и применил методы программирования действий по обработке одномерных массивов и матриц.




Нравится материал? Поддержи автора!

Ещё документы из категории информатика:

X Код для использования на сайте:
Ширина блока px

Скопируйте этот код и вставьте себе на сайт

X

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

После чего кнопка «СКАЧАТЬ» станет доступной!

Кнопочки находятся чуть ниже. Спасибо!

Кнопки:

Скачать документ