Решение задач на ввод и вывод массивов
Раздел «Алгоритмы обработки массивов». Практическая работа по теме «Алгоритмы обработки массивов». КТП составлено по действующей официальной программе Республики Беларусь.
Сначала — короткое объяснение
Ввод и вывод элементов массива
Короткое объяснение ввода и вывода элементов одномерного массива с помощью циклов в PascalABC.NET, порядка обхода и совпадения границ цикла с индексами массива.
Конспект урока
Язык примеров
Содержание урока адаптируется под выбранный язык
Ввод и вывод массива без повторения команд
Пять команд read ещё можно написать вручную. Но хороший алгоритм должен одинаково работать и для пяти, и для пятисот элементов. Повторяющееся действие поручим циклу.
Цель урока: ввести и вывести все элементы массива циклом, согласовав границы цикла с границами массива.
Как цикл проходит по массиву
Для array[1..5] переменная i последовательно принимает значения 1, 2, 3, 4, 5.
| Шаг | i | Выполняемая команда |
|---|---|---|
| 1 | 1 | read(a[1]) |
| 2 | 2 | read(a[2]) |
| 3 | 3 | read(a[3]) |
| 4 | 4 | read(a[4]) |
| 5 | 5 | read(a[5]) |
Полная программа
Предскажите результат для ввода 4 8 1 6 9.
program ArrayInputOutput;
var
a: array[1..5] of integer;
i: integer;
begin
for i := 1 to 5 do
read(a[i]);
for i := 1 to 5 do
write(a[i], ' ');
end.
Программа выведет 4 8 1 6 9: оба цикла обходят элементы в одном порядке.
Сделаем ввод понятнее
for i := 1 to 5 do
begin
write('a[', i, '] = ');
readln(a[i]);
end;
Подсказка не изменяет алгоритм, но показывает пользователю, какой элемент вводится сейчас.
Практическая работа
- Введите массив
7 2 9 4 1. - Выведите весь массив.
- Измените второй цикл так, чтобы вывести только элементы с индексами 2, 3 и 4.
- Сохраните программу и приложите контрольный вывод.
Для пункта 3 ожидается: 2 9 4.
Диагностика: найдите первый неверный шаг
Фрагмент A
for i := 0 to 5 do
read(a[i]);
Ошибка возникает уже при i=0: элемента a[0] нет.
Фрагмент B
for i := 1 to 6 do
write(a[i]);
Первые пять шагов допустимы, шестой обращается к несуществующему a[6].
Задача с другими границами
Дан b: array[3..7] of integer.
- цикл ввода:
for i := 3 to 7 do read(b[i]);; - цикл вывода имеет те же границы;
- каждый цикл выполняется 5 раз.
Самопроверка
Для c: array[-2..2] of integer ответьте:
- Какие значения принимает индекс?
- Сколько элементов в массиве?
- Какими должны быть границы полного цикла?
Ключ: −2, −1, 0, 1, 2; пять элементов; от −2 до 2.
Источник программы курса: учебная программа Республики Беларусь.
Скачать и открыть
Материалы урока
2 материалаОт сообщества
Материалы сообщества2
Дополнения от учителей к этому уроку. Проверены модерацией, но не являются редакционным контентом MediaSchool.
- Информатика, 10 класс — уроки 1–4
Проверка знаний за 1-4 уроки
Открыть тест: Информатика, 10 класс — уроки 1–4 → Индивидуальные листы А4 для 10 класса. Каждый содержит шпаргалку с полезными приёмами, готовую программу для набора и похожую задачу для самостоятельного решения. Только одномерные массивы. В комплекте — ответы для учителя и исходники программ.
Показано 2 из 2 · сначала новые
Все материалы урока
Комментарии
Войдите, чтобы оставлять комментарии.
Пока нет комментариев. Будьте первым!