Практическое занятие № 4

ТЕМА: Обработка одномерных массивов в программах на Turbo Pascal

ЦЕЛЬ РАБОТЫ: получить практические навыки по описанию и обработке массивов на TURBO PASCAL

 

Ход работы

1.      Составить программу,  выполняющую следующие функции

1.1.   дан массив чисел. Найти среднее значение положительных элементов и количество отрицательных  элементов;

1.2.   все элементы меньше 5 разделить на минимальный элемент;

1.3.   формирование массива выполнить случайным образом;

Пример выполнения занятия

{Подключаем модуль для работы с экраном}

uses crt;

{Описываем пользовательский тип Массив}

type mas=array [1..20] of real;

{Описываем необходимые переменные}

var m:mas;

    sr,min,sum:real;

    kol,i,a,n,b:integer;

begin

     {Очищаем экран}

     clrscr;

     {Вводим отрезок для формирования массива}

     write ('Введите отрезок (а в): ');

     readln (a,b);

     {Вводим количество элементов в массиве}

     write ('Введите кол-во эл-тов: ');

     readln (n);

     {Включаем генератор случайных чисел}

     randomize;

     {В цикле формируем массив}

     for i:=1 to n do

     begin

         {Формируем значение на отрезке}

         m[i]:=(b-a)*random+a;

         {Выводим полученное значение на экран для просмотра}

         write ('m[',i,']=',m[i]:3:1,' ');

     end;

     writeln;

     {Считаем количество отрицательных элементов}

     {В начале количество таких элементов 0}

     kol:=0;

     for i:=1 to n do

         {Если элемент меньше 0}

         if m[i]<0 then

                   {то количество увеличивается}

                   kol:=kol+1;

     {Печатаем найденное количество}

     writeln('Кол-во отрицательных эл-тов: ',kol);

 

     {Находим среднее положительных элементов}

     {В начале количество таких элементов 0 и их сумма 0}

     kol:=0;

     sum:=0;

     for i:=1 to n do

         {Если элемент положительный}

         if m[i]>0 then

                   begin

                        {то суммируем его}

                        sum:=sum+m[i];

                        {и увеличиваем количество}

                        kol:=kol+1

                   end;

     {находим среднее положительных элементов}

     sr:=sum/kol;

     {Выводим найденное значение на экран}

     writeln ('Сред. знач. положительных эл-тов: ',sr:4:2);

 

     {Находим минимальное значение в массиве}

     {В начале минимальным считаем первый элемент}

     min:=m[1];

     for i:=1 to n do

         {Если очередной элемент меньше минимального}

         if m[i]<min then

                     {то запоминает его как минимальный}

                     min:=m[i];

     {Выводим на экран найденный минимум}

     writeln('Минимум =',min:3:1);

 

     {Элементы, меньшие 5, делим на минимум}

     for i:=1 to n do

         {если элемент меньше 5}

         if m[i]<5 then

                       {то делим его на минимум}

                       m[i]:=m[i]/min;

 

     {Выводим полученный массив на экран}

     writeln('Полученный массив:');

     for i:=1 to n do

         write ('m[',i,']=',m[i]:3:1,' ');

     {Делаем паузу для просмотра результата}

     readln;

end.

 

Решить самостоятельно:

 

Дан одномерный массив вещественных чисел.

Найти минимальное и максимальное значения и их индексы (номера); найти сумму максимального и минимального значений.

Найти произведение элементов, больших 3.

Определить, каких элементов в массиве больше: положительных или отрицательных.

Найти произведение элементов массива до первого нуля.

Найти количество элементов, превышающих среднее значение. Заменить элементы, меньшие среднего нулями.

 

Сформировать два одномерных массива целых чисел.

Найти количество четных и количество нечетных элементов в каждом массиве.

Найти суммы элементов в массивах и сравнить их.

В массивах каждый элемент, имеющий нечетный индекс, заменить суммой.

Каждый элемент, имеющий четный индекс, увеличить в 2 раза.

Все отрицательные элементы заменить модулем.

 

Сформировать одномерный массив вещественных чисел, используя формулу:

Найти среднее геометрическое элементов массива.

 

Сформировать одномерный массив вещественных чисел, используя формулу:

Найти максималное и минимальное значения.