Задание 7.
Какую из основных характеристик величин приняли в качестве признака классификации при решении задач на массивы. Ответ обоснуйте.
Задание 8.
Приведите классификацию задач.
Задание 9.
Перечислите способы заполнения массивов.
Задание 10.
Изобразите двумя способами блок-схему для заполнения массива целыми числами от 0 до 9 с использованием датчика сложных чисел.
Способ 1. | Способ 2. |
![]() |
Задание 11.
Изобразите двумя способами блок-схему для заполнения массива по следующему правилу: каждый нечётный элемент массива равен утроенному индексу, а каждый чётный – индексу, увеличенному на 2.
Способ 1. | Способ 2. |
![]() |
Задачи для самостоятельного выполнения на компьютере.
Задача 1.
Составьте программу, иллюстрирующую заполнение массивов разными способами.
Требования к оформлению программы:
1. Придумайте своё правило, по которому формируются значения элементов массива, и реализуёте его.
2. Используя возможности текстового вывода модуля CRT, оформите комментированный вывод всех сформированных массивов на экран одновременно, организуя вывод элементов некоторых массивов в строку, а некоторых – в столбец.
3. Предусмотрите повтор программы по желанию пользователя.
Задача 2.
Составьте программу, позволяющую сформировать массив по желанию пользователя из двух предложенных способов:
1. в диалоге с пользователем;
2. с использованием датчика случайных чисел
и вывести его на экран.
Дополнительно: для тех, кто быстро справился с программой, предложить модифицировать программу таким образом, чтобы реализовать заполнение массива как положительными, так и отрицательными элементами с использованием датчика случайных чисел.
Задача 3.
Составить программу формирования массива, элементы которого являются числами последовательности Фибоначчи.
(последовательность чисел Фибоначчи составляется по следующему правилу:
f1=1,
f2=1,
fi=fi-1+fi-2, для i>2.
Т. е. первые два числа равны 1, а далее, каждое последующее равно сумме двух предыдущих чисел).
Задачи анализа.
В задачах анализа требуется просмотреть весь массив и определить какие-то его характеристики (нахождение суммы элементов массива, нахождение произведения элементов массива, определение количества элементов массива, обладающим заданным свойством, определение максимального и минимального элементов массива и т. д.).
Алгоритм решения каждой задачи на компьютере можно представить в виде следующей блок-схемы:
![]() |
Таким образом, каждая задача при решении на компьютере должна содержать:
Задача 1.
Найти сумму элементов целочисленного массива.
Пусть имеем целочисленный массив из (количество элементов можно спросить у учащихся и рассматривать для этого значения) 7 элементов. Имя массива а. Индекс первого элемента возьмём 1.
1. Опишите этот массив
type mas = array [1 .. 7] of integer;
var a: mas;
2. Все значения массива располагаются в последовательных ячейках памяти. Значит модель хранения информации в памяти компьютера можно представить в виде:
1 | 2 | 3 | 4 | 5 | 6 | 7 |
3. Заполним ячейки памяти конкретными значениями.
4 | 16 | 8 | -17 | 9 | 21 | -3 |
1 | 2 | 3 | 4 | 5 | 6 | 7 |
4. Как вы будете находить сумму значений элементов данного массива без использования компьютера?
4 + 16 = 20 – результата сложения двух первых элементов
20 + 8 = 28 – результата сложения трёх элементов
28 + (-17) = 11 – результата сложения четырёх элементов
11 + 9 = 20 – результата сложения пяти элементов
20 + 21 = 41 – результата сложения шести элементов
41 + (-3) = 38 – результата сложения семи элементов
На каждом шаге, начиная со второго, мы к предыдущему значению результата добавляли (складывали) очередное следующее значение элемента и находили сумму. Используя обозначения, что 4 – это значение первого элемента массива а[1], 16 – это значение второго элемента массива a[2] и т. д., и обозначив результат (сумму) идентификатором S, запишем эти действия в виде:
S = a[1] + a[2]
S = S + a[3]
S = S + a[4]
S = S + a[5]
S = S + a[6]
S = S + a[7]
Начиная со второй строки – все они имеют одинаковую структуру, отличающуюся только индексом элемента. Как можно записать первую строку в таком же виде?
S = 0 S: = 0 S: = 0;
S = a[1] for i: = 1 to n do
S = S + a[1] S: = S + a[1]; S: = S + a[i]
S = S + a[2]
S = S + a[3] S: = S + a[2];
………….. …………….
S = S + a[n]
S: = S + a[n];
Задача 2.
Найти произведение отрицательных элементов массива.
Вопрос: Для нахождения произведения отрицательных элементов в массиве будем просматривать весь массив? (Да).
Вопрос: Какая алгоритмическая конструкция позволит это реализовать? (Цикл).
for i: = 1 to n do
Вопрос: Прежде чем умножить очередной элемент, что необходимо сделать? (Проверить, является ли он отрицательным).
Вопрос: Какая алгоритмическая конструкция позволяет это реализовать? (Ветвление).
Вопрос: Как она записывается по правилу языка Pascal?
if логическое выражение then оператор 1 else оператор 2;
Вопрос: В какой форме используется оператор if? (В краткой). Почему? (Находим произведение только отрицательных элементов, если же элемент не отрицательный, то переходим к следующему элементу).
Вопрос: Какое действие повторяется (Умножение).
Вопрос: Структура записи. P: = P*a[i].
Вопрос: Чему равно P предыдущее на первом шаге? (P = 1).
P: = 1;
fоr i: = 1 to n do
if a[i]<0 then P: = P*a[i];
Задача 3.
Найти максимальный элемент массива
Вопрос: Чтобы найти максимальный элемент будем просматривать все элементы массива? (Да).
Вопрос: Какая алгоритмическая конструкция позволит реализовать просмотр всех элементов массива? (Цикл).
Вопрос: Какой из видов циклов предпочтительнее использовать в данной ситуации? (Цикл с параметром, потому что все элементы массива упорядочены, а параметр цикла увеличивается автоматически на единицу, позволяя переходить к следующему элементу массива).
Вопрос: Как выглядит заголовок цикла?
for i: = 1 to n do оператор;
где n – количество элементов массива.
Вопрос: Как обозначим наибольший элемент? (Например max). Пусть (это наше предположение) наибольшим является первый элемент массива.
Вопрос: Как можно, просматривая элементы массива, выделить наибольший? (Выслушать ответы учеников. Они обязательно скажут, что необходимо сравнивать элементы). Если учащиеся затрудняются, то можно предложить следующий подход.
Вопрос: Как записать это предположение?
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 |





