Тема. Алгоритмы обработки табличных величин.
Продолжаем рассматривать некоторые типичные задачи обработки табличных величин:
- вычисления суммы значений всех ее элементов;
- вычисления суммы и количества значений элементов, отвечающих определенным условиям
- нахождения наибольшего и наименьшего элементов
- поиск заданного элемента
Задачи на нахождение суммы (произведения) элементов |
1. Найти произведение всех элементов массива А [1..N]. |
2. Найти сумму положительных элементов массива A [1..N]. |
Такие задачи достаточно часто решают на практике. Приведем лишь несколько примеров.
- Так, синоптики определяют,
- Наибольшую, наименьшую и среднюю температуру за день
- Среднее количество осадков в течение месяца
- В процессе определения победителей в некоторых соревнованиях отвергают наибольшее и наименьшее оценки судей и вычисляют среднее арифметическое тех оценок, которые остались.
- Администрацию вашего учебного заведения может интересовать, сколько учеников 9-х классов имеют семестровые оценки по информатике: 10, 11. 12
- Есть ли в вашем классе ученики, получившие оценку 8 за последние практическую работу, и т.
Во всех задачах, которые рассмотрим в этом пункте, будем вводить:
- значения элементов табличной величины с многострочного текстового поля,
- значения других переменных - из текстовых полей.
Если результатом является значение элементов табличной величины
то выводить их в многострочное текстовое поле
Если результатом является значение других переменных
то выводить их в надписи
Пример 6. Определить сумму значений всех элементов табличной величины.
Анализ решения:
- Разработка элементов табличной величины будет осуществляться с использованием цикла.
- Используем переменную s для накопления суммы значений элементов табличной величины. Перед циклом предоставим ей значение 0
- В цикле последовательно пересматривать элементы табличной величины и добавлять их значения к переменной s.
Алгоритм проекта Интерфейс проекта |
Программный код procedure TForm1.Button1Click(Sender: TObject);
|
Пример 7. Многострочное поле memo1 содержит действительные числа. Известно, что их количество не превышает 20. Ввести эти числа как значения элементов массива . Определить сумму и количества положительных элементов массива, среднее арифметическое суммы значений этих элементов. Вывести значение этих элементов в многострочное текстовое поле memo2.
- Поскольку по условию количество элементов может быть каждый раз произвольным, но не превышающим 20, в строке var объявляем размерность массива [0..19].
- Для определения реального количества элементов для каждого такого ввода (свойству readonly поля memo1 присвоить значение false) воспользуемся свойством memo1.lines.count, определяющем количество заполненных строк поля.
Интерфейс проекта
|
Программный код procedure TForm1.Button1Click(Sender: TObject); procedure TForm1.Button2Click(Sender: TObject); |
Пример 8. Найти наибольшее значение элементов линейного массива.
Алгоритм задания |
Описание программы поиска элемента с наибольшим или наименьшим значением Элементы табличной величины записанные в памяти, доступ к ячейкам которой осуществляется по номерам элементов.
|
procedure TForm1.Button2Click(Sender: TObject); |
procedure TForm1.Button2Click(Sender: TObject); for i:= 2 to 10 do label2.caption:= floattostr(max); |
Табличная форма отображения массива