Как поступить
в Онлайн-школу и получить аттестат?

Подробно расскажем о том, как перевестись на дистанционный формат обучения, как устроены онлайн-уроки и учебный процесс, как улучшить успеваемость и повысить мотивацию!

Нажимая на кнопку, я соглашаюсь на обработку персональных данных

Конспект урока: Одномерные массивы целых чисел. Описание, заполнение, вывод массива

Алгоритмы и программирование

12.12.2024
3161
0

Одномерные массивы целых чисел. Описание, заполнение, вывод массива

 

План занятия

 

  • Введение в тему
  • Описание массива
  • Заполнение массива
  • Вывод массива

 

Цели занятия

 

  • изучить, как описывается массив на языке программирования Pascal
  • научиться заполнять массив целыми числами с клавиатуры
  • научиться заполнять массив случайными целыми числами в заданном диапазоне
  • научиться выводить массив, состоящий из целых чисел

 

Разминка

 

  • Перечислите этапы решения задачи на компьютере.
  • Опишите, что происходит на каждом этапе решения задачи на компьютере.
  • Сформулируйте, каким образом математическая задача может быть преобразована в компьютерную программу.

 

Введение в тему 

 

Изучение массивов является очень важной темой в курсе обучения программированию. Дело в том, что в настоящее время созданы огромные базы данных различных организаций, с которыми постоянно приходится взаимодействовать, находить и обрабатывать информацию. Умение использовать массивы позволит структурировать имеющиеся данные и в кратчайшие сроки получить нужную информацию.

 

Описание массива


Массив  это совокупность набора элементов, которым присвоено общее имя. 

 

Одномерный массив — это массив, в котором значения располагаются в одну строку или в столбец.


 

В языке программирования Pascal в массив могут входить только однотипные элементы (например, массив целых чисел).

 

Чтобы получить доступ к конкретному элементу массива, необходимо обратиться к нему по индексу (адресу элемента массива).

 

Количество индексов составляют размеренность массива.

 

Самыми распространёнными задачами на применение массивов являются:

  1. Нахождение наибольшего/наименьшего значения элемента массива.
  2. Нахождение элемента массива, отвечающего заданным условиям.
  3. Нахождение суммы/произведения значений элементов массива.
  4. Сортировка значений элементов массива по возрастанию/убыванию.

Перед тем как использовать массив для написания программы на языке программирования Pascal, его необходимо описать.

 

Описание массива на языке Pascal означает, что необходимо указать его имя (символ или набор символов, довольно часто целиком состоит из букв латинского алфавита), количество элементов и их тип (например, целое число, строка и др.). Чаще всего массивы создаются в разделе описания переменных (var), но также они могут быть описаны в разделе констант (const).


Пример 1

 

Пример описания массива на языке Pascal в разделе var:

 

var

A: array [1 . . 5] of integer;

 

Пример 2

 

Пример описания массива на языке Pascal в разделе const:

 

const

A: array [1 . . 5] of integer = (5, -4, 3, -2, -7);


 

Сравнивая примеры 1 и 2, можно обратить внимание на то, что при описании массива в разделе var указывается, что массив состоит из 5 элементов целочисленного типа, при этом неизвестно, какие именно значения находятся. А в описании массива в разделе const указаны и сами значения, хранящиеся в массиве. 

 

Получается, что в разделе const не просто выделяются ячейки памяти (в случае примера 2–5 ячеек памяти), а также в данные ячейки заносятся конкретные значения.

 

Заполнение массива


Заполнение массива  это процедура распределения по выделенным ячейкам памяти конкретных значений.

 


Заполнить массив можно двумя способами:

  1. Пользователь вводит значения элементов массива с клавиатуры.
  2. Заполнение массива происходит программно. Значения в ячейки памяти расставляются случайным образом из заданного диапазона.

 

Рассмотрим оба случая. 


Пример 3

 

Задача 1. Дан массив А, состоящий из 10 элементов, представляющих собой целые числа. Написать программу для нахождения суммы значений элементов массива. Значения элементов массива пользователь самостоятельно вводит с клавиатуры.

 

Решение

 

1. Начнём написание программы с раздела описания переменных 
(рис. 1). Назовём программу summa_chisel.

 

Рис. 1. Раздел описания переменных

 

 

2. Затем создадим программный блок begin … end и попросим пользователя ввести 10 целых чисел (рис. 2).

Рис. 2. Оператор вывода

 

 

Просьбу ввести 10 целых чисел нужно записывать до цикла для того, чтобы она не выводилась в окно вывода много раз (в нашем случае 10 раз), пока пользователь продолжает вводить необходимое количество значений.

 

3. Теперь, чтобы обеспечить ввод всех 10 чисел, необходимо написать цикл for i:=1 to 10 do и, добавив операторные скобки begin … end, далее считываем вводимые пользователем числа в массив и производим суммирование (рис. 3).

Рис. 3. Цикл и суммирование данных

 

 

4. Чтобы вывести полученную сумму введённых пользователем 10 элементов массива, необходимо после закрытия операторных скобок написать оператор вывода writeln и указать сумму, которую нужно вывести (summa) (рис. 4).

Рис. 4. Вывод суммы

 

 

Вся программа, а также пример её работы, представлен на рис. 5.

Рис. 5. Готовая программа с примером выполнения

 

 

Рассмотрим пример задачи, где заполнение массива происходит программным способом, т. е. пользователь не вводит числа.

 

Для наглядности применения генератора случайных чисел изменим условие первой задачи.


Пример 4

 

Задача 2. Дан массив А, состоящий из 10 элементов, представляющих собой целые числа. Написать программу для нахождения суммы значений элементов массива. Значения элементов массива выбираются программой случайным образом, известно только, что числа находятся в диапазоне [0; 99].

 

Решение

 

1. В разделе описания переменных ничего не изменится (рис. 6).

 

Рис. 6. Раздел описания переменных

 

 

2. Из программного блок begin … end удалим просьбу к пользователю вводить 10 целых чисел. Вместо неё запишем процедуру randomize.

 

Далее в цикле for i:=1 to 10 do в операторных скобках для массива А используем функцию random.


Randomize — это процедура включения генератора случайных чисел, благодаря которой будут различные наборы исходных данных.

Random  это функция, определяющая диапазон случайных чисел.


В нашем случае диапазон [0; 99], т. е. random(100).

 

Все вышеописанное можно представить следующим программным кодом (рис. 7).

Рис. 7. Использование функции random()

 

 

3. Организуем вывод суммы целых чисел, образованной случайным образом (рис. 8).

Рис. 8. Оператор вывода

 

4. После запуска программа будет выводить разные суммы, но 10 сгенерированных значений выводиться не будут (рис. 9).

Рис. 9. Примеры результата выполнения

 

 

Рассмотрим организацию вывода данных массива и исправим задачу так, чтобы случайные числа, выбранные программой, отображались в окне вывода.

 

Вывод массива


Вывод массива — это процедура, с помощью которой результат работы программы отображается в окне вывода.


 

Массив, также как и другие данные, можно выводить в строку или в столбец; значения расположить рядом, через пробел или пропустив пустую строку и др. 

 

В отличие от других типов данных, конкретный элемент выводится только если обратиться к нему не только по имени, но и по индексу. Например, вывести переменную А можно, написав write (A), а вывести значение элемента массива можно, написав write (A[i]), i — это индекс массива (может обозначаться и другим символом).

 

Доработаем задачу 2, чтобы числа, выбранные программой, тоже отображались. Для этого после присваиванию элемента массива А рандомного числа: A[i]:= random(100) запишем вывод этого числа writeln (A[i]).

 

Исправленная программа будет выглядеть следующим образом (рис. 10).

 

Рис. 10. Исправленная программа

 

 

Результат работы исправленной программы представлен на рис. 11.

Рис. 11. Результат работы исправленной программы

 

 

Доработать задачу 2 нужно было обязательно, т. к. пользователю необходимо знать, какие исходные данные привели к полученному результату, иначе данная программа потеряет практическую значимость.


Контрольные вопросы

  1. Что такое массив?
  2. Какие массивы называются одномерными?
  3. Как будет записан массив с именем Zadanie3, вмещающий 20 значений, в разделе var и в разделе const?
  4. Какие существуют способы заполнения массива? Чем они отличаются?
  5. Как вывести значения элементов массива?
  6. Для чего в одной программе записывают и random, и randomize?


Предыдущий урок
Запись вспомогательных алгоритмов на языке Паскаль
Алгоритмы и программирование
Следующий урок
Алгоритмы управления
Алгоритмы и программирование
Урок подготовил(а)
teacher
Иван Андреевич
Учитель информатики
Опыт работы: 7 лет
Поделиться:
  • Деление клетки – основа размножения, роста и развития организма

    Биология

  • Относительная частота случайного события

    Алгебра

  • Строение атомного ядра. Зарядовое и массовое числа

    Физика

Зарегистрируйся, чтобы присоединиться к обсуждению урока

Добавьте свой отзыв об уроке, войдя на платфому или зарегистрировавшись.

Отзывы об уроке:
Пока никто не оставил отзыв об этом уроке