Контрольная работа по предмету "Информатика, программирование"


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

ЛАБОРАТОРНАЯ РАБОТА 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.


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




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



Не сдавайте скачаную работу преподавателю!
Данную контрольную работу Вы можете использовать для выполнения своих заданий.

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :