Сегодня: 09.07.2020
6+
Регистрация
Вход на сайт



Главная » Методическая копилка » Конкурсы » Конкурс "Я - Учитель 2013!"


Конспект урока(+презентация) информатики и ИКТ в 9 классе "Одномерные массивы в Паскале"

СКАЧАТЬ (538.1 Kb) 02.11.2013, 02:34
Устименко Людмила Викторовна
учитель информатики и ИКТ, МКОУ Новохарьковская СОШ
Урок разработала учитель информатики и ИКТ МКОУ Новохарьковская СОШ Устименко Людмила Викторовна.

Урок «Информатики и ИКТ» в 9 классе.

Тема урока: «Одномерные массивы в Паскале».

Цели урока:

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

Тип урока: изучение нового материала.

План урока:
I. Организационный момент.
II. Актуализация знаний и мотивация учащихся.
III. Изучение нового материала.
IV. Физкультминутка.
V. Закрепление изученного материала.
VI. Д/з.
VII. Итог урока.

Оборудование: компьютеры, мультимедийный проектор, компьютерная презентация.

ХОД УРОКА

I. Организационный момент.
II. Мотивация учащихся

Проблемный вопрос: (слайд 2)
Надо расположить команды в турнирной таблице футбольного чемпионата в порядке убывания набранных ими очков. Команд немного, всего 16. После каждого тура количество набранных ими очков меняется и сортировку надо выполнять заново. Что будем делать? Корпеть над этим вручную? Нет, призовем в помощники компьютер. Будущая программа должна принимать с клавиатуры очки, набранные командами, и распечатывать команды в порядке убывания этих чисел.

Актуализация знаний

Мы умеем сравнивать два числа. Используем этот алгоритм для сортировки двух команд, например «Динамо» и «Спартак».
Программа будет выглядеть так: (слайд 3)
Здесь для каждой из команд отведена переменная, хранящая набранные очки: Т1 – для «Динамо», Т2 – для «Спартака». Вариантов расстановки команд всего два, поэтому и программа проста, - всего 14 строк. Если добавим в программу команду «Зенит». Вариантов расстановки стало 6, и программа заметно усложнится. Программа «вырастит» до 45 строк, что втрое больше варианта для двух команд.
С добавлением новых команд программа будет «разбухать» как снежный ком. Вариант с 4 командами станет длиннее предыдущего еще в 4 раза (180 строк), с пятью – еще в 5 раз (900 строк) и так далее. А когда мы дойдем до 16 команд, мы насчитаем в программе триллионы строк!
Где же выход?
Переменными Т1, Т2 … Т16 мы обозначили очки, набранные командами. Цифры этих переменных для нас означают порядковые имена команд. Но для компьютера эти цифры – всего лишь часть имени переменных, и применить цикл к переменным с именами Т1…Т16 невозможно. Как же втолковать компьютеру, чего мы добиваемся нумерацией переменных? Оказывается можно! Для этого в Паскале есть тип данных, называемый массивом.

III. Изучение нового материала (слайд 4)
1. Что такое массив?
2. Объявление массивов.
3. Доступ к элементам массива (индексация).
4. Ввод и вывод массивов.
5. Обработка массивов.
6. Задание 1.
7. Задание 2.
8. Итоги урока.
1. Что такое массив? (слайды 5, 6)

Рассмотрите рисунок и попытайтесь определить, в чем разница между простыми переменными и массивом переменных.
Учитель обобщает: массив объединяет несколько однотипных переменных под одним общим именем. Отдельные переменные в массиве являются его элементами, доступ к ним возможен по их номерам. Массивы придумали отнюдь не программисты. Возьмите любую спортивную команду. Здесь, кроме фамилии, игрок носит номер, - он лучше виден на поле. И это не единственный пример массива. Если отдельную переменную уподобить ящику с хранящейся в нем информацией, то массив переменных – это комод с пронумерованными ящиками.
Итак, массив – это собранные в одну «команду» переменные. Они получают одно общее имя – имя своей «команды». А внутри неё каждая переменная – элемент массива – имеет свой номер.

2. Объявление массивов (слайды 7-10)

Прежде, чем пользоваться массивом, его надо объявить. Это делается либо в разделе VAR, либо через объявление пользовательского типа в разделе TYPE.
Рассмотрим первый вариант: (слайд 7)
Var Имя_массива : ARRAY [MIN..MAX] OF Тип_элемента;

В этом объявлении используется пара ключевых слов ARRAY … OF …, что переводится как «массив … из …». На месте многоточий указываются две характеристики массива: диапазон для индексов и тип его элементов. Эти характеристики называются атрибутами массива, рассмотрим их ближе.
Имя массива – это обычный идентификатор, его программист придумывает сам.
Диапазон для индексов – определяет допустимые номера элементов внутри массива. Диапазон указывается после слова ARRAY в квадратных скобках и представляет собой два выражения порядкового типа, условно обозначенные как MIN и MAX. Эти выражения разделяются двумя точками. Говоря спортивным языком, здесь назначается диапазон номеров для «игроков команды».
После ключевого слова OF, следует второй атрибут массива – это тип данных для всех его элементов. Если вновь прибегнуть к спортивному языку, можно сказать, что здесь определяется «вид спорта» для команды.

Вот примеры объявления трех массивов: Names (фамилии), Ratings (оценки) и ChampShip (чемпионат) (слайд 8):

{30 строковых переменных с фамилиями учеников класса}
Names : ARRAY [1..30] OF string;
{30 байтовых переменных с оценками учеников этого класса}
Ratings : ARRAY [1..30] OF byte;
{16 целых переменных с очками, набранными командами в чемпионате}
ChampShip : ARRAY [1..16] OF integer;

Как видите, массив может быть составлен из элементов любого типа. Так массив Names содержит внутри себя 30 переменных строкового типа: Names[1], Names[2] и так далее.

Второй способ объявление массива в разделе TYPE: (слайд 9):

TYPE Имя_типа = ARRAY [MIN..MAX] OF Тип_элемента;

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

TYPE { примеры объявления типов массивов}
{ тип для 30 строковых переменных с фамилиями учеников класса}
TNames = ARRAY [1..30] OF string;

{тип для 30 байтовых переменных с оценками учеников }
TRatings = ARRAY [1..30] OF byte;

{ тип для 16 целых переменных с очками, набранными командами в чемпионате}
TChampionShip = ARRAY [1..16] OF integer;

3. Доступ к элементам (индексация) (слайд 11)

Переменной-массивом можно управлять как единым целым, например, при копировании одного массива в другой. Но чаще приходится работать с отдельными его элементами. Как взять элемент из массива?
Очень просто, - для доступа к элементу массива необходимо указать его индекс, то есть порядковый номер в массиве.
Рассмотрим примеры доступа к элементам ранее объявленных массивов.
Пример 1. Трем элементам массива Names присваиваются фамилии хоккеистов.
Names[1] :=’Петров‘;
Names[2] :=’Михайлов‘;
Names[3] :=’Харламов‘;

Пример 2. Сравниваются третий и четвертый элемент массива Ratings.
i:= 3;
if Ratings[i] > Ratings[i+1] then … else …;

Как видите, индекс в массиве можно вычислять, а это значит, что можно и нужно использовать циклы.

4. Ввод и вывод массивов (слайд 12)

Ввод и вывод массивов – это задачи, не решив которые, нельзя помышлять о применении массивов.
При вводе массива необходимо последовательно вводить 1-й, 2-й, 3-й и т.д. элементы массива, аналогичным образом поступить и при выводе. Следовательно, необходимо организовать цикл.
Блок-схемы алгоритмов ввода элементов массива изображены на рис. 4.1-4.2.

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

5. Обработка массивов (слайд 14)

Рассмотрим несколько примеров обработки массивов. Алгоритмы, с помощью которых обрабатывают одномерные массивы, похожи на обработку последовательностей (вычисление суммы, произведения, поиск элементов по определенному признаку, выборки и т. д.). Отличие заключается в том, что в массиве одновременно доступны все его компоненты, поэтому становится возможной, например, сортировка его элементов и другие, более сложные преобразования.
Пример 1. Вычисление суммы элементов массива
Дан массив среднемесячных температур Т, состоящий из 12 элементов . Вычислить среднегодовую температуру Tsred.
Program Temperature;
{Ввод массива среднемесячных температур.
Вычисление среднегодовой температуры}
Var T: array[1..12] of real; {Описание одномерного массива}
I: integer; Tsred: real;
Begin
{Цикл ввода}
for I:=1 to 12 step 1 do
begin Write('T[',I:2,']=');
Readln(T[I])
End;
{Цикл суммирования}
Tsred:=0;
for I:=1 to 12 do
Tsred:=Tsred+T[I];
{Вычисление средней температуры}
Tsred:=Tsred/12;
{Вывод результата}
Writeln('Среднегодовая температура=', Tsred:6:2, ' градусов')
End.

IV. Физкультминутка
Упражнения для снятия напряжения с глаз.

V. Закрепление изученного материала

Задание 1: (слайды 15, 16)
Даны массивы: a: array [1..5] of integer, b: array [1..5] of integer, c: array [1..5] of integer. Какое значение будет иметь элемент массива c [4] после выполнения следующих операций:
1) c [4]:=10 /ответ 10/
2) c[2]:=3;
c[4]:=c[2]*2; / ответ 6/
3) a[1]:= -10;
b[2]:=10;
c[4]:=a[1]+b[2]; / ответ 0/
4) c[4]:=3;
c[4]:=c[4]+1; / ответ 4/
5) a[4]:=100;
b[4]:=0;
c[4]:=a[4]/b[4] / ответ: ошибка /
6) for i:=1 to 5 do c[i]:=50; / ответ 50/
7) for i:=1 to 5 do c[i]:=50;
for i:=1 to 5 do c[i]:=c[i]-10; / ответ 40/
Задание 2 (слайды 17,18)
Учащимся дается готовая программа (программа сохранена на компьютерах), учитель объясняет с использованием медиапроектора. Затем ученики загружают эту программу, прогоняют. Затем учитель задает следующие задания, при решении которых учащиеся вносят изменения в данную программу для экономии времени.
Задача: Дан массив натуральных чисел из пяти элементов. Найти наибольший элемент.
Решение:
program pr1;
var a: array [1..5] of integer;
max,i: integer;
begin
for i:=1 to 5 do readln(a[i]);
max:=a[1];
for i:=2 to 5 do if a[i]>max then max:=a[i];
writeln('максимальный элемент: ', max);
readln;
end.
Переделать данную программу так, чтобы определить минимальный элемент массива.
Задания 3 - 6 учитель дает или для самостоятельной работы, или проводит разбор готовых решений, в зависимости от уровня подготовленности учащихся.
Задание 3. Добавить в данную программу инструкции, чтобы определить номер максимального (минимального) элемента массива.
Решение:
program pr2;
var a: array [1..5] of integer;
max,i:integer;
n: integer;
begin
for i:=1 to 5 do readln(a[i]);
max:=a[1];
n:=1;
for i:=2 to 5 do
if a[i]>max then begin
max:=a[i];
n:=i;
end;
writeln('максимальный элемент: ', max);
writeln ('номер максимального элемента: ', n );
readln;
end.
Задание 4. Переделать данную программу (из задания 2) так, чтобы определить существует ли в данном массиве отрицательное число (двухзначное число, число 0, и т. д.).
Ответ:
program pr3;
var a: array [1..5] of integer;
max, i :integer;
n: string[3];
begin
for i:=1 to 5 do readln(a[i]);
n:= ' нет ';
for i:= 1 to 5 do if a[i] <0 then n:=' да ' ;
writeln( n);
readln;
end.
Задание 5. Переделать данную программу (из задания 2) так, чтобы определить сколько раз встречается в данном массиве отрицательное число (двухзначное число, число 0, и т. д.).
Ответ:
program pr4;
var a: array [1..5] of integer;
max, i : integer;
n: integer;
begin
for i:=1 to 5 do readln(a[i]);
n:=0 ;
for i:=1 to 5 do if a[i]<0 then n:=n+1;
writeln( n);
readln;
end.
Задание 6. Переделать программу (из задания 2) так, чтобы найти сумму всех отрицательных чисел в данном массиве (двухзначных чисел).
Ответ:
program pr5;
var a: array [1..5] of integer;
max, i : integer;
S : integer;
begin
for i:=1 to 5 do readln(a[i]);
S:=0;
for i:=1 to 5 do if a[i]<0 then S:=S+ a[i];
writeln( S);
readln;
end.

VI. Домашнее задание:
Одну любую из программ (задачи 2-6) переписать с использованием конструкции цикла «while» или «repeat-until».

VII. Итог урока (слайд 19)

•Массив – это сложный тип данных, объединяющий в себе несколько однотипных переменных, называемых элементами массива.
•Все элементы массива имеют одно общее имя, - это имя самого массива. Внутри массива элементы различаются своими порядковыми номерами – индексами.
•В объявлении массива указываются две его характеристики: диапазон индексов и тип элементов.
•Индекс элемента может быть задан числом или выражением порядкового типа.
•Указание неверного индекса порождает ошибки либо при компиляции, либо при выполнении программы.
•Ввод (вывод) массива возможен только поэлементно, для чего организуется цикл.

Источники информации: (слайд 20)
1.Деревенец О.В. Песни о Паскале. 2010г.
2.Единая коллекция цифровых образовательных ресурсов. Материалы по информатике к учебнику Информатика-9 Базовый курс, И. Семакин и др. http://school-collection.edu.ru/catalog/search/?text=%EE%E4%ED%EE%EC%E5%F0%ED%FB%E9+%EC%E0%F1%F1%E8%E2&tg=&context=current&interface=pupil&class%5B%5D=51&subject%5B%5D=19&rub_guid%5B%5D=a30a9550-6a62-11da-8cd6-0800200c9a66

Категория: Конкурс "Я - Учитель 2013!" | Добавил: Ljudmila_U
Просмотров: 13556 | Загрузок: 3241 | Комментарии: 3 | Рейтинг: 4.8/15

Нравится

Понравился материал? Оставьте свой комментарий ;)
Всего комментариев: 3
+1   Спам
Замечательный урок! Гиперссылки в презентации делают её очень удобной в использовании, в конспекте есть ответы, и ещё много много достоинств данного материала. Спасибо.

+1   Спам
Здравствуйте, Людмила Викторовна! Спасибо за урок. Хороший, подробный конспект. Очень интересно сделана презентация. Надо и себе побробовать. С уважением Марина

Имя *:
Email *:
Код *:



Каталог

Я - Учитель!

Квесты для детей

Журнал для педагогов




Конкурсы для детей

Конкурсы для детей

Конкурсы для детей

Конкурсы для детей

Конкурсы для детей

Конкурсы для детей

Конкурсы для детей

Конкурсы для детей

Конкурсы для детей

Конкурсы для детей

Конкурсы для детей

Конкурсы для детей

Конкурсы для детей

Конкурсы для детей

Конкурсы для детей

Конкурсы для детей

Конкурсы для детей

Конкурсы для детей

Конкурсы для детей

Конкурсы для детей

Конкурсы для детей

Конкурсы для детей

Конкурсы для детей

Конкурсы для детей

Конкурсы для детей

Конкурсы для детей

Конкурсы для детей

Конкурсы для детей

Конкурсы для детей

Конкурсы для детей

Конкурсы для детей

Конкурсы для детей

Конкурсы для детей

Конкурсы для детей

Конкурсы для детей

Конкурсы для детей

Конкурсы для детей

Конкурсы для детей

Конкурсы для детей

Новые разработки


© 2012 - 2020 Международное сообщество педагогов "Я - Учитель!"

Я - Учитель!
------------------------------
О проекте
.............................................
Обратная связь
.............................................
Отзывы о сообществе
.............................................
Баннеры, награды
.............................................
Образовательные сайты
.............................................
Реклама на сайте



Яндекс.Метрика

Свидетельство о регистрации СМИ: Эл №ФС77-54568 от 21.06.2013г. выдано Федеральной службой по надзору в сфере связи, информационных технологий и массовых коммуникаций (РОСКОМНАДЗОР).
Соучредители: ИП Львова Е.С., Власова Н.В.
Главный редактор: Львова Елена Сергеевна
info@pochemu4ka.ru
Тел. 89277797310
Информация на сайте обновлена: 09.07.2020

Сайт для учителей, воспитателей и педагогических работников.

Все права на материалы сайта охраняются в соответствии с законодательством РФ, в том числе законом РФ «Об авторском праве и смежных правах». Любое использование материалов с сайта запрещено без письменного разрешения администрации сайта.


Опубликовать разработку
................................................
Получить свидетельство
................................................
Создать портфолио
................................................
Создать блог
................................................

Партнеры сообщества:
---------------------------------
Конкурсы Рунета
.................................................
Детский портал "ПочемуЧка"
.................................................
Конкурсы "Любознайка"
.................................................
Мастерилкино
.................................................
ПедБлог