Лабораторная работа: Обработка одномерных массивов и матриц
Название: Обработка одномерных массивов и матриц Раздел: Рефераты по информатике, программированию Тип: лабораторная работа |
ЛАБОРАТОРНАЯ РАБОТА 5 Цель работы : изучение и применение методов программирования действий по обработке одномерных массивов и матриц. Задача 1 Массив из 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. Вывод результата
Задача 2 массив число программа цикл Для заданной функции y = cos(0.5x/2)+cos(x) вычислить массив 11 ее значений в равноотстоящих точках интервала [2,4]. Вывести на экран таблицу значений функции. Обработать массив значений функции указанным образом. Результаты вывести на экран.Найти квадрат максимального из четных элементов массива и общее число нулевых элементов. Текст программы program lab2; {$APPTYPE CONSOLE} uses SysUtils; var my:array [1..11] of real; mx:array [1..11] of real; max,y,x1,x2,x,h:real; i,k:byte; begin x1:=2; x2:=4; x:=x1; h:=(x2-x1)/10; mx[1]:=x; for i:=1 to 11 do begin y:=cos((0.5*x)/2)+cos(x); my[i]:=y; x:=x+h; mx[i+1]:=x; writeln('x=',mx[i]:5:2,' y=',my[i]:5:2); end; max:=my[1]; for i:=1 to 11 do if (max<my[i]) and (i mod 2 =0) then max:=my[i]; max:= max*max; writeln ('max kvadr y= ',max:5:2); for i:=1 to 11 do if my[i]=0 then k:=k+1; writeln ('vsego nulevyh elementov= ',k); readln; end. Вывод результата
Задача 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<m[i,j] then max:=m[i,j]; 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. Вывод результата
Вывод: я изучил и применил методы программирования действий по обработке одномерных массивов и матриц. |