Pascal ABC
Задание 16. Загрузка одномерного массива
Первая операция с массивом, это его загрузка, то есть указание его элементов. Для этого используется цикл "ДЛЯ". Рассмотрим по порядку программу введения одномерного массива, содержащего n элементов:
var m: array[0..20] of integer; n, i: integer; | Описание целочисленного массива и переменных для работы цикла. |
begin | |
read(n) | Ввод количества элементов массива. |
for i:=1 to n do readln(m[i]) | Ввод значения i-того элемента массива. |
end. | |
Введите эту программу и проверьте ее работоспособность. Для усовершенствования программы:
- введите текст подсказку в строку ввода количества элементов массива с пояснением, что число не должно превышать 20;
- добавить тест с подсказкой номера вводимого элемента в теле цикла (после ключевого слова do). Не забывайте, что после do может быть только один оператор и придётся использовать составной оператор.
- Добавьте в программу еще один цикл для вывода элементов массива в строчку и столбик с указанием его номеров.
Задание 17. Выбор максимального элемента массива
Одна из самых простых операций над массивом - выбор его максимального элемента. Познакомиться с теорией и вариантом программы можно на сайте
programmado.ru
В конце статьи имеется программа, способная выбрать из массива максимальное и минимальное значение cреди его элементов. Обратите внимание на строку
for i:=1 to s do a[i]:=random(89)+10;min:=maxint; max:=-maxint; - в ней, для задания очередного элемента массива используется генератор случайных чисел. Более подробно с работой можно на сайтах vbbook.ru и programmado.ru. Обратите вынимание на то какие значения могут использоваться в качестве аргумента генератора и назначение команды randomize для нормальной работы генератора.
Задание 1. Создайте программу автоматически задающую одномерный массива из n (вводится с клавиатуры) элементов и определяющую наибольший элемент массива. Предусмотрите в программе вывод элементов массива в строчку.
Задание 2. Составьте программу задания одномерного массива, вывода его на экран и определения среднего значения его элементов.
Задание 18. Вложенные циклы
Некоторые программы обработки массово в своей работе используют конструкцию, которая называется "вложенные массивы". В таких конструкциях телом одного цикла будет являться другой.
| На рисунке представлено схематичное отображена структура вложенных циклов. Внешний цикл выделен желтым цветом, внутренний - бледно-голубым. При первом выполнении переменная внешнего цикла получает значение 1 и начинается работа второго (вложенного) цикла. Переменная вложенного цикла, во время его выполнения последовательно получает значения от 1 до n2, в то же время переменная внешнего значения не меняет. После достижения переменной j вложенного цикла, он завершает свою работу и управление переходит первому циклу. Его переменная получает следующее значение и вновь начинает работать вложенный, при выполнении которого j вновь значения от 1 до n2. Работа вложенных циклов закончится тогда, когда обе переменные циклов достигнут своих максимальных значений.
|
Для проверки работы вложенных циклов можно создать программу, выводящую на экран значения переменных циклов (i и j) во время работы вложенных циклов.
Дополнительную информация о вложенных циклах можно получить на сайте Kvodo
Задание 19. Упорядочение массива
Важным вариантом обработки одномерного массива является расположение его элементов в порядке возрастания или убывания его элементов (упорядочение). Существует несколько вариантов выполнения этой операции. В программах будет использоваться процедура SWAP, предназначенная для обмена значениями двух переменных. В результате выполнения команды swap(x,y) приведёт к тому, что переменная x получит значение переменной y, и наоборот. Как видите, команда не сложная, но она упрощает создание программы упорядочения массива.
Существует несколько разных способов упорядочения массива. Познакомиться с некоторыми вариантами программы можно по ссылке tehnari.ru. Вам предстоит разобраться с методом "Пузырька". Обратите внимание на то, что программа упорядочения массива приведена не полностью, а только тот участок, непосредственно выполняющий упорядочение массива.
Вам предстоит дополнить эту программу описанием переменных и массива, указанием количества элементов массива и циклом, генерирующим целочисленный массив из n элементов с использованием генератора случайных чисел. Это и является вашей первой задачей. Вторая задача: создать программу располагающую одномерный массив в порядке убывания значений элементов и предусмотреть одновременный вывод на экран исходного (до обработки) и итогового (после обработки) массивов. Естественно во втором задании нужно использовать два массива.
Задание 20. Определение элементов массива, удовлетворяющих условию.
Мы уже познакомились с некоторыми примерами обработки одномерного массива. Следующая задача заключается в том, что нужно выбрать элементы массива, удовлетворяющие определённому условию. При этом нужно вывести на экран значения, соответствующие выбранному условию с указанием их порядкового номера (индекса).
Начинается программа с ввода элементов массива с использованием генератора случайных чисел, так как это делалось в предыдущих программах. Далее вводится значение, с которым будет выполняться сравнение элементов массива. Для начала выберем только те элементы, значение которых меньше указанного значения. Ниже приводится вариант программы (только обработка массива).
...
read(a); for i:=1 to n do
if mass[i]<a then writeln('Элемент ',i,' меньше ',a,' он имеет значение ',mass[i])
Как видно из примера, программа довольно проста. Задание: модернизируйте программы так, чтобы она классифицировала все элементы массива по принципу "меньше" - "равно" - "больше", то есть выводила на экран массив с соответствующим сообщением.
Задание: составьте программу, выводящую на экран элементы массива, чьи значения лежат в интервале указываемого минимального и максимального значения.
|