Автор конспекта:
Автор(ы): — Лилипу Светлана Владимировна

Место работы, должность: — МОУ «Лицей №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)

    С обработкой линейных массивов связано множество задач. Их мы рассмотрим на практических занятиях.

  • Практическая работа под руководством учителя:
  • Составьте программу формирования одномерного массива генератором случайных чисел в диапазоне от 0 до 1000 и вывести его на экран в виде строки.
  • Составьте программу формирования одномерного массива десятью первыми членами арифметической прогрессии с начальным членом xи шагом d, задаваемыми с клавиатуры, и вывести его на экран в виде столбца.
  • Составьте программу формирования одномерного массива десятью первыми четными натуральными числами, и вывести его на экран в прямом и обратном порядке в виде двух строк.
  • Составьте программу формирования вещественного одномерного массива генератором случайных чисел в диапазоне от 0 до 100 и вывести его на экран в виде строки.
  • Составьте программу формирования вещественного одномерного массива по формуле Ai= I3-1 вывести его на экран в виде строки.
  • Подведение итогов:
  • Способы формирования массива:

    • С клавиатуры;
    • Генератором случайных чисел;
    • По формуле.

    Способы вывода линейного массива на экран:

    • В строку;
    • В столбец.
    • Домашнее задание:

    Т. 2, стр. 177-181, конспект

    Задача: Составить программу формирования целого линейного массива двадцатью первыми членами геометрической прогрессии с начальным членом xи знаменателем – q, задаваемыми с клавиатуры, и вывести массив виде строки.

    Файлы: урок-преобраз графиков.xls
    Размер файла: 62976 байт.

    ( план – конспект урока 1 класс 5 класс. 6 класс 7 класс 8 класс 9 класс 10 класс Английский язык Литературное чтение Математика Музыка ОБЖ Окружающий мир Оренбургская область Физика ЦОР алгебра биология викторина внеклассное мероприятие география геометрия здоровье игра информатика история классный час конкурс конспект урока краеведение кроссворд литература начальная школа обществознание презентация программа проект рабочая программа русский язык тест технология урок химия экология