Автор работы: Пользователь скрыл имя, 25 Мая 2015 в 22:57, лабораторная работа
При выполнении работы необходимо знать:
• Знать и уметь строить алгоритмы циклической структуры для обработки одномерных массивов, знать операторы цикла (смотри лаб. работу № 5).
• Знать принципы и приемы обработки одномерных числовых массивов с использованием операторов цикла.
• Уметь составить схему программы (алгоритм) циклической структуры для обработки одномерного числового массива и записать программу по готовому алгоритму.
A [12] – исходный одномерный массив.
17 |
6 |
19 |
97 |
34 |
1 |
2 |
3 |
4 |
5 |
В[5] – одномерный массив, сформированный из положительных элементов массива А.
Текст программы к задаче 8.2:
Program Ex_8_2;
Uses Crt;
Type Mas = array [1..15] of integer;
{ объявляем тип массив из 10 целых чисел }
Var A, В : Mas;
i: integer; { индексы массива A}
k: integer; { индексы массива В }
Begin
ClrScr; { очищение экрана }
Randomize;
For i:=1 to 15 do begin
A[i]:=random(200)-100;
Write(A[i]:5);
{ вывод элементов массива в одну строку }
End;
Writeln; { перевод строки }
k:=0;
For i:=1 to 15 do begin
If A[i]>0 then begin
k:=k+1; { увеличение индекса массива В }
B[k]:=A[i]; { записываем положительные элементы массива А в массив В }
Write(B[k]:5);
{ выводим элементы массива В на экран }
End;
End;
Writeln; { перевод строки }
Textcolor(4); { установим цвет текста красный }
Writeln(‘Количество элементов массива B ’,k);
Readln;
End.
Схема к задаче 8.1 Схема к задаче 8.2
Задача 8.3.
Задать одномерный числовой массив А [15] из целых чисел. Определить произведение четных по значениям элементов массива, стоящих после минимального элемента.
Математическая формулировка задачи:
Чтобы определить такое произведение, требуется сначала найти минимальное значение в массиве и запомнить в какой-либо переменной порядковый номер минимума. После этого надо подсчитать произведение четных по значениям элементов, начиная просмотр массива не с первого элемента, как обычно, а с этого номера.
Поиск минимума в массиве происходит по стандартному алгоритму. Сначала за минимум принимается значение первого по порядку элемента массива. Номер минимума соответственно принимается за 1. Массив просматривается поэлементно в цикле от первого элемента до последнего. Если найдется элемент, значение которого меньше, чем принятый минимум, то минимум равен ему. Одновременно меняется и номер минимума. После выхода из цикла в переменной минимум окажется наименьшее значение массива.
Текст программы к задаче 8.3:
Program Ex_8_3;
Uses Crt;
Type Mas = array [1..15] of integer;
{ объявляем тип массив из 10 целых элементов }
Var A : Mas;
{ переменные A, В типа массив }
i: integer; { индексы массива A}
Min: integer; { минимум в массиве }
k: integer; { номер минимума }
P: real;
{ произведение четных по значениям элементов}
Begin
ClrScr;
Randomize;
For i:=1 to 15 do begin
A[i]:=random(200)-100;
Write(A[i]:5);
{ вывод элементов массива в одну строку }
End;
Writeln; { перевод строки }
Min:=A[1];
k:=1;
For i:=1 to 15 do begin
If A[i]<Min then begin
k:=i; { увеличение индекса массива В }
Min:=A[i]; { записываем положительный элемент массива А в массив В }
End;
End;
Writeln; { перевод строки }
Writeln(‘ Номер минимума ’, k);
Writeln(‘ Значение минимума ’, Min);
P:=1; { начальное значение произведения }
For i:=k to 15 do begin
If A[i] mod 2=0 then P:=P*A[i];
End;
Writeln(‘ P= ’, P);
Readln;
End.
Схема программы к задаче 8.3