Перейти к содержанию

Алгоритмы обработки массивов — практическая работа (2/12)

Раздел «Алгоритмы обработки массивов». Практическая работа по теме «Алгоритмы обработки массивов». КТП составлено по действующей официальной программе Республики Беларусь.

Открыт · Видео · Презентация · Методичка

Сначала — короткое объяснение

0:00 / 0:00
5 вариантов OpenAI

Ввод и вывод элементов массива

Короткое объяснение ввода и вывода элементов одномерного массива с помощью циклов в PascalABC.NET, порядка обхода и совпадения границ цикла с индексами массива.

Конспект урока

Язык примеров

Содержание урока адаптируется под выбранный язык

Ввод и вывод массива без повторения команд

Пять команд read ещё можно написать вручную. Но хороший алгоритм должен одинаково работать и для пяти, и для пятисот элементов. Повторяющееся действие поручим циклу.

Цель урока: ввести и вывести все элементы массива циклом, согласовав границы цикла с границами массива.

Как цикл проходит по массиву

Для array[1..5] переменная i последовательно принимает значения 1, 2, 3, 4, 5.

ШагiВыполняемая команда
11read(a[1])
22read(a[2])
33read(a[3])
44read(a[4])
55read(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;

Подсказка не изменяет алгоритм, но показывает пользователю, какой элемент вводится сейчас.

Практическая работа

  1. Введите массив 7 2 9 4 1.
  2. Выведите весь массив.
  3. Измените второй цикл так, чтобы вывести только элементы с индексами 2, 3 и 4.
  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 ответьте:

  1. Какие значения принимает индекс?
  2. Сколько элементов в массиве?
  3. Какими должны быть границы полного цикла?

Ключ: −2, −1, 0, 1, 2; пять элементов; от −2 до 2.

Источник программы курса: учебная программа Республики Беларусь.

Материалы урока

Скачать и открыть

Учителю

2 материала

Презентация · для учителей

Презентация «Ввод и вывод элементов массива»

Практическая работа: циклический ввод, вывод, трассировка и контроль границ массива в PascalABC.NET.

Скачать PPTX

Методичка · для учителей

Поурочное планирование и опорная схема (РБ)

План практической работы для учителя с рабочим листом, ключами и критериями.

Скачать DOCX

Поурочное планирование и опорная схема (РБ)

DOCX

Комментарии

Войдите, чтобы оставлять комментарии.

Пока нет комментариев. Будьте первым!