КЛАСС 9
ДАТА УРОКА ________________________________
УРОК №10. Массивы
Цели урока:
Образовательные: ознакомить учащихся с понятием массивы и стандартными алгоритмами обработки массивов.
Развивающие: развитие логического мышления, памяти, внимательности.
Воспитательные: формирование интереса к познанию, трудолюбию.
ПЛАН УРОКА
Организационный момент (2 мин)
Проверка домашнего задания (4 мин)
Изучение нового материала (18 мин)
Закрепление (14 мин)
Подведение итогов урока (5 мин)
Домашнее задание (2 мин)
ХОД УРОКА
1. Организационный момент
Приветствие, проверка присутствующих. ПТБ.
2. Проверка д/з.
Фронтальный опрос по пройденной теме.
3. Изучение нового материала.
Решение многих задач было бы просто невозможно, если бы данные не были каким-либо образом организованы: упорядочены, классифицированы, пронумерованы и т.д. Итак, нужно уметь организовать не только действия, но и те данные, с которыми эти действия производятся.
Однородные данные удобно представить в виде таблицы.
Давайте рассмотрим таблицу, содержащую сведения об учащихся (стр.183 Таблица 16).
№ | Фамилия | Оценка | Ср.Балл | Участие в работе НОУ |
1 | | | 4.5 | 1 |
2 | | | 3 | 0 |
… | | | | |
N | | | 4.25 | 1 |
Каким может быть тип данных в таблице?
Каким может быть размер таблицы?
Как обратиться к данным об определенном ученике?
Что объединяет элементы в одном столбце, кроме типа?
В таблице могут содержаться данные различных типов — целые, вещественные, символьные, логические. Чтобы обратиться к данным об определенном ученике, достаточно будет указать его номер. В каждом из столбцов размещать можно данные только одного типа, объединяет их, кроме этого, общее имя.
Для представления табличных данных в языке Pascal используют массивы.
• Массив — объединенное одним именем множество однотипных элементов.
Массивы могут быть одномерными и многомерными. Сейчас мы будем рассматривать только одномерный массив, который определяется одним индексом. Массив в программах должен быть объявлен. В разделе описания переменных в общем виде описание выглядит так:
:array [..] of ;
— имя переменной массива;
array – зарезервированное слово языка Pascal, обозначающее, что переменная является массивом;
, - целые константы, определяющее диапазон изменения индексов элементов одномерного массива (то есть размер массива);
- тип элементов массива;
Например, для столбца Ср. балл описание массива в разделе описания переменных будет выглядеть следующим образом:
Var S: array[1..N] of REAL;
RANDOM(x) – функция генератор случайных чисел предназначенное для ввода больших чисел.
Например, если необходимо случайное число на отрезке [10..99]: Otr:=10+random(90);
Эта функция обычно используется совместно с процедурой randomize.
Пример: Программа заполнения одномерного массива A[10] случайными числами из диапазона 1..50 и вывода их на экран.
program massiv; uses crt; var a:array[1..10] of integer; i:integer; begin clrscr; randomize; for i:=1 to 10 do begin a[i]:=1+random(50); writeln('a[':3,i,']=',a[i]); end; End. | |
Для обработки массивов чаще всего используют цикл со счетчиком, так как заранее известно количество обрабатываемых элементов. Приведем еще два примера:
1. Поэлементный ввод значений массива mas[n] пользователем:
For i:=1 to n do
Read (mas[i]);
2. Вывод значений элементов массива mas[n] в строку:
For i:=1 to n do
Write (mas[i]);
//Задача 1. Вывести на экран элементы массива Program p13; var a:array [1..5] of integer; i:integer; Begin Writeln ('Введите элементы массива'); for i:=1 to 5 do readln (a[i]); for i:=1 to 5 do writeln('a[',i,']= ',a[i]); end. |
4. Закрепление.
Выполнение практической работы (стр.187 Уровень — A,B,C).
program prA; uses crt; var B:array [1..10] of real; i:integer; begin clrscr; randomize; for i:=1 to 10 do begin b[i]:=random; writeln('b[':3,i,']=', b[i]:2:2); end; write('Введите индекс: '); read(i); writeln('b[':3,i,']=',b[i]:2:2); end. | |
program prB; uses crt; var a:array [1..10] of integer; i:integer; begin clrscr; randomize; writeln('Элементы массива:'); for i:=1 to 10 do begin a[i]:=1+random(20); writeln('a[':3,i,']=', a[i]); end; writeln('Элементы массива в обратном порядке:'); for i:=10 downto 1 do writeln('a[':3,i,']=', a[i]); end. | |
program prC; uses crt; var a:array [1..20] of integer; i:integer; begin clrscr; randomize; writeln('Элементы массива:'); for i:=1 to 10 do begin a[i]:=1+random(50); writeln('a[':3,i,']=', a[i]); end; writeln('Элементы с нечетными индексами:'); i:=1; while i begin writeln('a[':3,i,']=', a[i]); i:=i+2; end; end. | |
5. Подведение итогов урока
Проверка выполненных работ.
Выставление оценок.
6. Домашнее задание:
стр.183 Массивы.
Ответить на контрольные вопросы.