Анализ элементов массива

End.

Begin

Writeln('Введите строку');

readln(S);

nach:= Pos('-', S)+2;

kon:= Pos('$', S);

ZstrD:= copy(S, nach, kon-nach);

val(ZstrD, Znum,kod);

Znum:=Znum*2140;

Str(Znum:5:2,ZstrR);

delete(S, nach, kon-nach+1);

insert(concat(ZstrR,'руб.'),s,nach);

writeln(s);

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

Одномерные массивы – одни из наиболее часто используемых структур хранения технических данных (например, значения какого-либо параметра, изменяющегося во времени).

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

К задачам подобного рода можно отнести: вычисления суммы и среднеарифметического значений элементов, нахождение количества определённых элементов, вычисление статистических характеристик (отклонений, медиан, дисперсий) и т.п.

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

Рассмотрим в качестве примера программу, которая вычисляет процент положительных значений среди ненулевых элементов массива.

Алгоритм решения задачи представлен на рисунке 17.

На рисунке 17 блоки 2, 3, 4 используются для ввода исходных данных. Блок 3 организует цикл с параметром i, который, изменяясь от 1 n (n – количество элементов в массиве), перебирает все индексы элементов массива. Блок 4 в каждом новом проходе цикла заполняет последовательно каждый из элементов массива.

Блок 5 инициализирует служебные переменные: chNO используется для подсчёта количества ненулевых элементов, chP используется для подсчёта количества положительных элементов.

Далее блок 6 организует перебор всех элементов массива, аналогично блоку 3. В этом цикле каждый элемент проверяется на положительность и отличность от 0. Если элемент положительный (блок 7), то увеличивается на 1 значение переменной chP (блок 8). Затем снова выполняется проверка: если элемент не равен нулю (блок 9), то увеличивается на 1 значение переменной chNO (блок 10).

Рисунок 17 – Блок-схема алгоритма вычисления процента положительных значений среди ненулевых элементов массива

После окончания цикла вычисляем требуемый процент (блок 11) и выводим полученное значение (блок 12).

В таблице 8 приведена трассировка части алгоритма (рис. 17). Каждая строка трассировочной таблицы соответствует выполнению определённого алгоритмического блока. В колонках представлены значения определённых переменных, или выражений, необходимых для пояснения алгоритма. Для удобства восприятия жирным в таблице выделены значения, которые изменились во время выполнения соответствующего блока.

Таблица 8 – Трассировка алгоритма подсчёта количества
положительных и ненулевых элементов

№ блока i chNO chP A[i] A
         
...
        -2 -2       -1
        -2 -2       -1
        -2 -2       -1
        -2 -2       -1
          -2       -1
          -2       -1
          -2       -1
          -2       -1
          -2       -1
          -2       -1
          -2       -1
          -2       -1
          -2       -1
          -2       -1
          -2       -1
          -2       -1
          -2       -1
          -2       -1
        -1 -2       -1
        -1 -2       -1
        -1 -2       -1
        -1 -2       -1
        -1 -2       -1
        -1 -2       -1
...

Реализация алгоритма в программу выглядит следующим образом:

program Proz;


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: