Урок информатики "Массивы" 11-й класс

Разделы: Информатика

Класс: 11


Тип урока: Лекция, 11 класс (2 часа)

Цель урока:

  • Опираясь на представление данных, необходимость их описания перед использованием в программе, сформировать осознанное отношение к понятию тип данных
  • Через опыт, ассоциации, знания учащихся классифицировать типы данных в языке программирования Qbasic, ввести понятие массива и обозначить основные алгоритмы работы с ним

План лекции:

  1. Понятие массива. Тип. Размерность. Оператор DIM.
  2. Алгоритм создания массива.
  3. Способы заполнения массива.
  4. Основные формулы, используемые в задачах с массивами.

 Ход урока

I. Актуализация знаний, умений и навыков. Определение темы урока.

На доске:

1) 2) 3)
Наташа
Оля
Марина
Света
2,6 -0,8 5,02 6,32 -7,1
6 3
7 -5
-6 4

Повторим, какие типы данных используем при решении алгоритмов? (ответ: целые, вещественные, текстовые)

Попробуем узнать объект изучения на уроке.

Да. Это таблицы. Часто в повседневной практике нам приходится их использовать. Попробуйте определить преимущества оформления и восприятия информации в виде таблицы. Это, конечно, компактность, определённость структуры и тематики, наглядность. Всё это не осталось незамеченным и определило возможность использования представления информации в виде таблиц и в компьютере. Можно ли определить таблицу знакомыми нам простыми типами данных? (ответ: нет). Поэтому таблицы в системе программирования получили название: массивы – это новый более сложный тип данных.

II. Целеполагание.

III. Лекция.

1. Примерные вопросы к классу для определения основных понятий по 1 пункту плана:

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

Из беседы с учащимися делаем вывод:

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

Одно данное от другого отличается индексом. Индекс – это порядковый номер элемента в массиве.

Массивы отличаются друг от друга по имени, типу и размерности.

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

Тип массива определяется типом данных: целые, вещественные или текстовые и обозначается привычным видом - %, ! (или без знака), $.

Размерность – это количество чисел, однозначно определяемых положение элемента в массиве. Массивы бывают одномерные, двумерные, трёхмерные и т.д. (многомерные). Мы будем использовать только одно- и двухмерные, при этом, для одномерного массива в скобках указывается одно число – количество элементов, а для двумерного два числа через запятую – количество строк и столбцов.

Полное имя массива состоит из: имени типа (размерности).

Запишем полные имена для наших массивов, записанных на доске:

А(5) К2%(2,3) Р$(4)

2. Как же организовать массив на языке программирования?

Давайте построим все этапы создания привычной для нас таблицы в тетради:

  1. Определяем структуру таблицы, размер строк, столбцов в зависимости от данных.
  2. Строим таблицу.
  3. Заносим в неё данные.

Аналогично организуем работу и с массивами.

Прежде, чем использовать таблицу в программе, надо дать компьютеру указание, чтобы он зарезервировал место в памяти. Для этого служит оператор DIM (по-английски: dimension – размер).

Формат: DIM полные имена массивов через запятую.

Для нашего примера: DIM А(5), К2%(2,3), Р$(4)

DIM – невыполняемый оператор, обычно ставится в начале программы (чтоб улучшить её читаемость), до первого обращения к элементам массива.

Какой алгоритм поможет нам заполнить массив элементами? Конечно, циклический, т.к. способ ввода данных одного массива будет одинаков для каждого элемента. Циклический алгоритм поможет и вывести массив на экран.

Алгоритм создания массива

  1. До обращения к элементам массива зарезервировать в памяти компьютера место оператором DIM.
  2. С помощью цикла ввести элементы массива.
  3. С помощью цикла вывести элементы массива.

Учесть и следующее: если в массиве количество строк и столбцов (или элементов) определено величиной переменной, а не постоянной, то ввести значения переменных необходимо до оператора DIM (мы сначала решаем сколько элементов в таблице, а затем уже её чертим).

Задача 1. Создать одномерный массив.

Аргументы: массив A(N)-вещ
N-цел (к-во элементов массива)
А(I) – вещ (элементы массива)
Промежуточная величина:
I-цел (индекс элементов, управляющая переменная цикла)
Результат: A(I)-вещ
Блок-схема: рис. 1
Программа
REM создание одном. массива
CLS
INPUT «введи к-во элементов»; N
DIM A(N)
FOR I=1 TO N
PRINT «введи»;I; «элемент»
INPUT A(I)
NEXT I
FOR I=1 TO N
PRINT A(I)
NEXT I
END


Рис. 1

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

Это можно сделать на примере работы часов.

Задача 2. Создать двумерный массив.

Аргументы: массив К%(3,5) – цел
К%(I,J) – цел
Промеж. вел: I, J –цел
Результат: К%(I, J) - цел
Блок-схема: рис. 2
REM создание двумерного массива
CLS
DIM К%(3,5)
FOR I=1 TO 3
FOR J=1 TO 5
INPUT K%(I,J)
NEXT I
NEXT J
FOR I=1 TO 3
FOR J=1 TO 5
PRINT K%(I,J);
NEXT I
PRINT
NEXT J
END

ПРАКТИКУМ НА ПК

Цель: Увидеть на экране создание массива.

А) Одномерный массив:

  • горизонтальное и вертикальное положение элементов массива;
  • разные способы вывода элементов (например, –2 4 5 7 или А(1)=-2, А(2)=4 и т.д.)

Б) Двумерный массив:

  • каким образом идёт заполнение массива (по строчкам)
  • необходимость разделителя в конце PRINT
  • необходимость пустого PRINT

3. Способы заполнения массива

Вопросы для водной беседы.

  1. Какой способ ввода элементов использовался в рассмотренных задачах? (С помощью оператора INPUT)
  2. Удобен ли он для ввода элементов массива? Почему? (Неудобен, т.к. ввод значений элементов происходит через клавиатуру, а если массив большой? Кроме этого невозможно соединить цикл ввода и вывода, т.к. нарушится наглядность вывода элементов на экран, программа получается громоздкой)

Конечно, способ ввода элементов массива через INPUT не единственный. Рассмотрим их.

На доске три алгоритма создания массива. Составить к каждому блок-схему.

1) 2) 3)  
CLS
DIM А%(8)
FOR I=1 TO 8
А%(I)=INT(RND(1)*10)
? А%(I)
NEXT I
CLS
DIM B(10)
FOR X=1 TO 10
B(X)=X/2+3
? B(X)
NEXT X
CLS
DIM К$(2,3)
FOR A=1 TO 2
FOR B=1 TO 3
READ K$(A,B)
? K$(A,B);
NEXT В
?
NEXT А
DATA Ж, Л, О
DATA Е, З, Р

Определите способы ввода элементов каждого массива. Оцените их удобства и преимущества.

Итак, способы вода элементов:

  • Через клавиатуру, с помощью оператора INPUT.
  • С помощью счётчика случайного числа RND.
  • По формуле.
  • Через операторы READ и DATA.

ПОМНИТЬ!

  • 1 способ: не соединять цикл ввода и вывода – это нарушает читаемость массива.
  • 2 способ: удобнее RND использовать с функцией INT, что уменьшает количество цифр в числе. Регулировать отрезок используемых чисел домножением RND.
  • 3 способ: в формулах использовать переменные, значения которых изменяются в ходе работы цикла (например, управляющую переменную), с одинаковыми числами работать монотонно.
  • 4 способ: данные операторы удобнее использовать для создания массива, заранее определённого условием задачи. Недопустимо использование массива, количество элементов которого определено переменной.

ПРАКТИКУМ.

Цель: рассмотреть создание массива разными способами ввода элементов, отработать навыки грамотного использования каждого из способов.

4. Основные формулы, используемые в задачах с массивами.

ДО ЦИКЛА В ЦИКЛЕ
Сумма элементов
S=0 S=S+A(I)
Произведение элементов
P=1 P=P*A(I)
Подсчёт количества элементов
К=0 К=К+1
Нахождение максимума (минимума)
М=А(1) если А(I)>М (A(I)<M), то М=А(I)
Формула обмена (перестановка элементов местами)
Место формулы в алгоритме зависит от условия задачи.
С=A(I), A(I)=B(I), B(I)=C

ПРАКТИКУМ.

Цель: закрепить знания, отработать умения и навыки по теме: «Массив» при решении задач.

По теме предлагается провести:

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

Примерные алгоритмы, решение которых можно рассмотреть:

  1. Заменить элементы массива с чётными номерами на их квадраты, а с нечётными – увеличить на номер элемента в массиве.
  2. Найти сумму элементов в каждой строке двумерного массива.
  3. В массиве найти количество элементов, превосходящих число х.
  4. В двумерном массиве найти максимальный элемент и вывести его индексы на экран.
  5. Фамилии участников олимпиады хранятся в одном массиве, а количество баллов – в другом. Составить программу, которая будет печатать фамилию победителя, если он набрал 100 баллов.