Автор конспекта:
Автор(ы): — Лилипу Светлана Владимировна
Место работы, должность: — МОУ «Лицей №57″ г.Прокопьевск, учитель информатики
Регион: — Кемеровская область
Характеристики урока (занятия) Уровень образования: — основное общее образование
Уровень образования: — среднее (полное) общее образование
Целевая аудитория: — Учащийся (студент)
Целевая аудитория: — Учитель (преподаватель)
Класс(ы): — 8 класс
Класс(ы): — 9 класс
Класс(ы): — 10 класс
Класс(ы): — 11 класс
Предмет(ы): — Информатика и ИКТ
Цель урока: —
Знакомство с понятием «массив», видами массивов, описанием массивов в программе, формированием и выводом массивов на экран. Закрепление умений и навыков создания программ в среде TurboPascal.
Тип урока: — Урок изучения и первичного закрепления новых знаний
Используемые учебники и учебные пособия: —
Информатика и ИКТ. 10-11 классы. Профильный уровень. М.Е. Фиошин, А.А. Рессин, С.М. Юнусов. часть 2
Используемое оборудование: —
Класс ПК для индивидуальной работы обучающихся
Используемые ЦОР: —
http:\\lilipusv.narod.ru
Краткое описание: — Знакомство с понятием «массив», видами массивов, описанием массивов в программе, формированием и выводом массивов на экран. Закрепление умений и навыков создания программ в среде TurboPascal.
Ресурс для профильной школы: — Ресурс для профильной школы
Тема занятия: ПОНЯТИЕ МАССИВА. ВИДЫ. ОПИСАНИЕ. ФОРМИРОВАНИЕ ОДНОМЕРНОГО МАССИВА. ВЫВОД ОДНОМЕРНЫХ МАССИВОВ
Цель занятия:
- Познакомить с понятием «массив», видами массивов,
- Научить описывать массивы в программе, формировать и выводить массив на экран;
- закрепить умения и навыки создания программ в среде TurboPascal.
Оборудование:
- класс персональных компьютеров IBMPC, среда TurboPascal.
План урока:
Ход занятия:
До сих пор мы рассматривали переменные, которые имели только одно значение, могли содержать в себе только одну величину определенного типа.
Вы знаете, что компьютер предназначен в основном для облегчения работы человека с большими информационными объемами. Как же, используя только переменные известных вам типов, сохранить в памяти и обработать данные, содержащие десяток, сотню, тысячу чисел? А ведь такие задачи встречаются в любой области знания. Конечно, можно завести столько переменных, сколько данных, можно даже занести в них значения, но только представьте, какой величины будет текст такой программы, сколько времени потребуется для его составления, как много места для возможных ошибок? Естественно, об этом задумывались и авторы языков программирования. Поэтому во всех существующих языках имеются типы переменных, отвечающие за хранение больших массивов данных. В языке Паскаль они так и называются: "массивы".
Массивомбудем называть упорядоченную последовательность данных одного типа, объединенных под одним именем.
Кстати, под это определение подходит множество объектов из реального мира: словарь (последовательность слов), мультфильм (последовательность картинок) и т. д. Проще всего представить себе массив в виде таблицы, где каждая величина находится в собственной ячейке.
Положение ячейки в таблице должно однозначно определяться набором координат (индексов). Самой простой является линейная таблица, в которой для точного указания на элемент данных достаточно знания только одного числа (индекса).
Мы с вами пока будем заниматься только линейными массивами, так как более сложные структуры строятся на их основе.
Описание типа линейного массива выглядит так:
Type =Array [] Of ;
В качестве индексов могут выступать переменные любых порядковых типов. При указании диапазона начальный индекс не должен превышать конечный. Тип элементов массива может быть любым (стандартным или описанным ранее).
Описать переменную-массив можно и сразу (без предварительного описания типа) в разделе описания переменных:
Var : Array [] Of ;
Примеры описания массивов:
Var
S, BB : Array [1..40] Of Real;
N : Array ['A'..'Z'] Of Integer;
R : Array [-20..20] Of Word;
T : Array [1..40] Of Real;
Теперь переменные S, BB и T представляют собой массивы из сорока вещественных чисел; массив N имеет индексы символьного типа и целочисленные элементы; массив R может хранить в себе 41 число типа Word.
Единственным действием, которое возможно произвести с массивом целиком — присваивание. Для данного примера описания впоследствии допустима следующая запись:
S:=BB;
Однако, присваивать можно только массивы одинаковых типов. Даже массиву T присвоить массив S нельзя, хотя, казалось бы, их описания совпадают, произведены они в различных записях раздела описания.
Никаких других операций с массивами целиком произвести невозможно, но с элементами массивов можно работать точно также как с простыми переменными соответствующего типа. Обращение к отдельному элементу массива производится при помощи указания имени всего массива и в квадратных скобках — индекса конкретного элемента. Например:
R[10] — элемент массива R с индексом 10.
Фундаментальное отличие компонента массива от простой переменной состоит в том, что для элемента массива в квадратных скобках может стоять не только непосредственное значение индекса, но и выражение, приводящее к значению индексного типа. Таким образом реализуется косвенная адресация:
BB[15] — прямая адресация;
BB[K] — косвенная адресация через переменную K, значение которой будет использовано в качестве индекса элемента массива BB.
Такая организация работы с такой структурой данных, как массив, позволяет использовать цикл для заполнения, обработки и распечатки его содержимого.
Теперь рассмотрим несколько способов заполнения массивов и вывода их содержимого на экран. В основном мы будем пользоваться числовыми типами компонент, но приведенные примеры будут справедливы и для других типов (если они допускают указанные действия).
Program M1;
Var
A : Array [1..20] Of Integer;
Begin
A[1]:=7; {Заполняем массив значениями (отдельно каждый компонент)}
A[2]:=32;
A[3]:=-70;
………….. {Трудоемкая задача?}
A[20]:=56;
Writeln(A[1],A[2],A[3], ?,A[20])
End.
Как бы ни был примитивен приведенный пример, он все же иллюстрирует возможность непосредственного обращения к каждому элементу массива отдельно. Правда, никакого преимущества массива перед несколькими простыми переменными здесь не видно. Поэтому — другой способ:
Program M2;
Var
A : Array [1..20] Of Integer;
I : Integer;
Begin
For I:=1 To 20 Do {Организуем цикл с параметром I по всем возможным}
Readln(A[I]); {значениям индексов и вводим A[I] с клавиатуры }
For I:=20 Downto 1 Do {Распечатываем массив в обратном порядке}
Write(A[I],' ');
End.
Эта программа вводит с клавиатуры 20 целых чисел, а затем распечатывает их в обратном порядке. Теперь попробуйте написать такую же программу, но без использования структуры массива. Во сколько раз она станет длиннее? Кстати, введение язык Паскаль цикла с параметром было обусловлено во многом необходимостью обработки информационных последовательностей, т. е. массивов.
Следующая программа заполняет массив значениям квадратов индексов элементов:
Program M3;
Const
N=50; {Константа N будет содержать количество элементов массива}
Var
A : Array [1..N] Of Integer;
I : Integer;
Begin
For I:=1 To N Do
A[I]:=I*I
For I:=1 To N Do
Write(A[I],' ')
End.
В дальнейшем для учебных целей мы будем использовать массивы, заданные с помощью генератора случайных чисел. В языке Паскаль случайные числа формирует функция Random. Числа получаются дробными, равномерно расположенными в интервале от 0 до 1. Выражение, дающее целое случайное число в интервале [-50,50] будет выглядеть так:
Trunc(Random*101)-50
Зададим и распечатаем случайный массив из сорока целых чисел:
Program M4;
Const
N=40; {Константа N будет содержать количество элементов массива}
Var
A : Array [1..N] Of Integer;
I : Integer;
Begin
Randomize;
For I:=1 To N Do
Begin
A[I]:= random(100)-50
Write(A[I],' ')
End
End.
Выводить одномерный массив на экран тоже можно несколькими способами: в строку (уже рассмотренный нами способ, в предыдущих программах) и в столбец (для этого используется оператор writeln)
С обработкой линейных массивов связано множество задач. Их мы рассмотрим на практических занятиях.
Способы формирования массива:
- С клавиатуры;
- Генератором случайных чисел;
- По формуле.
Способы вывода линейного массива на экран:
- В строку;
- В столбец.
- Домашнее задание:
Т. 2, стр. 177-181, конспект
Задача: Составить программу формирования целого линейного массива двадцатью первыми членами геометрической прогрессии с начальным членом xи знаменателем – q, задаваемыми с клавиатуры, и вывести массив виде строки.
Файлы: урок-преобраз графиков.xls
Размер файла: 62976 байт.