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

Автор работы: Пользователь скрыл имя, 25 Мая 2015 в 22:57, лабораторная работа

Описание работы

При выполнении работы необходимо знать:
• Знать и уметь строить алгоритмы циклической структуры для обработки одномерных массивов, знать операторы цикла (смотри лаб. работу № 5).
• Знать принципы и приемы обработки одномерных числовых массивов с использованием операторов цикла.
• Уметь составить схему программы (алгоритм) циклической структуры для обработки одномерного числового массива и записать программу по готовому алгоритму.

Файлы: 1 файл

LAB_8_Odnomernye_massivy.doc

— 374.50 Кб (Скачать файл)

 

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;                              

                                    { переменные A, В типа массив }

           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


 

 

 


 



Информация о работе Обработка одномерных числовых массивов