Коллеги - педагогический журнал Казахстана

Наша библиотека

Главная » Файлы » В помощь учителю » Информатика

Открытый урок «Алгоритмы для работы с табличными величинами. Одномерные массивы»
2014-02-04, 1:02 PM
Воробьева Марина Геннадьевна, учитель
информатики КГУ «Средняя общеобразовательная
школа № 17 акимата города Сарани»


Открытый урок «Алгоритмы для работы с табличными величинами. Одномерные массивы»


Цели урока:
формирование знаний и умений учащихся по теме “Массивы”;
выработка первичных навыков решения задач с применением одномерных массивов;
Задачи:
образовательные:
формировать представления об одномерных массивах;
использовать одномерные массивы при работе с программой.
воспитательные:
воспитывать умение слушать,
воспитывать необходимость связывать изучение нового материала с уже известными фактами;
воспитывать ответственность за выполняемую работу, аккуратность при выполнении вычислений;
развивающие:
развивать познавательный интерес, творческую активность учащихся;
развивать умение обобщать материал, логически мыслить;
развивать навыки решения задач прикладного характера.
Тип урока: изучение нового материала, объяснительно-демонстрационный;
Оборудование: компьютер, видеопроектор, интерактивная доска;
Программное обеспечение: программа Turbo Pascal 7.0, MS PowerPoint.
Методы: проблемный, частично-поисковый, исследовательский.
Ожидаемые результаты: овладение умениями и навыками разработки программ с использованием одномерных массивов; самостоятельное выполнение учащимися заданий экспериментального раздела. С заданиями первого уровня должны справиться все. Но каждый учащийся работает в индивидуальном темпе и общие результаты у всех должны быть разные.
Ход урока
1. Организационный момент.
Здравствуйте, ребята! Очень рада встретиться с вами.
2. Мотивационное начало урока. Постановка цели урока.
Учитель: Чтобы сконцентрироваться и настроиться на рабочий лад, начнем наш урок с решения нескольких занимательных задач.
Учитель предлагает три занимательные задачи, ребята устно решают их.
Посмотрите внимательно на экран, перед вами лексическое значение одного слова французского происхождения, которое я выписала из большого энциклопедического словаря. (Текст на слайде:)
- (слово французского происхождения, обозначающее мощный или сплошной) совокупность множества однородных по каким-либо признакам объектов, предметов, данных и т.п., например: жилой…, лесной…, горный…, информационный…
Скажите, какое это слово? Оно будет главным в теме нашего урока. (Массив). Да, действительно это слово – массив, а тема урока – «Одномерные массивы».
Сегодня на уроке вы узнаете:

1. Что такое массив в языке программирования?
2. Какие характеристики имеет массив?
3. Как описать массив на языке Pascal?
4. Какие операции можно производить с элементами массива?
Тема для вас новая, но интересная. От того, насколько вы будете внимательны и аккуратны, зависит результат вашего труда. Каждый из вас получит:
- раздаточные материалы с заданиями;
- творческую карточку учащегося (таблица 1);
- критерии оценки выполненной работы (таблица 2).
3. Объяснение нового материала.

Но давайте ещё раз обратимся к лексическому значению слова массив. Какие, по-вашему, слова определяют сущность понятия массив? (совокупность, множества, однородные). А где ещё вы сталкиваетесь с определением «однородные»? (в русском языке - однородные члены предложения.) Подберите синонимы к этому слову (одинаковые, однотипные). Другими словами можно сказать, что Массив – это пронумерованное множество однотипных объектов, имеющих общее название (имя). Массив относится к структурному типу данных, где в отличие от простых, задается множество значений под одним общим именем.
В жизни мы часто сталкиваемся с такими множествами, например

Назовите окружающие вас в кабинете объекты, которые можно объединить в массивы (окна, столы, компьютеры, ученики класса).

3.1. Характеристики массива

Чтобы разобраться в этом давайте для примера возьмем одноэтажный пятиквартирный дом. Как вы видите в каждой квартире проживает конкретное количество жильцов - это элементы массива. Каждый дом имеет свой адрес: улица, № дома, и у нашего массива тоже есть название массива «А» - это имя массива. Номера квартир - это индекс массива. Количество элементов массива - его размерность. Массив имеет следующие характеристики: 1. имя - название массива; 2. индекс - номер элемента в массиве; 3. элемент - каждое значение в массиве; 4. размерность - количество элементов в массиве.
Закрепление: с примерами: Назовите характеристики массива «книга», «дом».
Существуют различные виды массивов по размерности, в школьном курсе вы познакомитесь с двумя – одномерными и двумерными. Перед вами на экране примеры объектов, представляющих такие массивы (на слайде изображения шкафа с одинаковыми ящиками и зрительный зал). Если за каждым элементом массива закреплен 1 порядковый номер, то такой массив называют одномерным (линейным, вектором). Назовите их характеристики.

3.2. Описание массива на языке Pascal

Вспомните, в каком разделе программы описываются переменные? (в разделе Var). Массив также задаётся в разделе Var.

Формат описания: массива

Имя массива: array [начальный индекс..конечный индекс] of тип данных;
Где: array – служебное слово (в переводе с английского означает «массив», «набор»);
of – служебное слово (в переводе с английского означает «из»);
[начальный индекс . . конечный индекс ] - размер.
Тип индексов - любой скалярный тип кроме real. Индексы можно вычислять. Тип элементов - любой, за исключением файлового. Если массивы одинаковы и отличаются лишь именами, то их можно описать в одной строке: С, Mas: array [1..25] of integer;
Закрепление: Попытайтесь самостоятельно описать массивы, выполняя задания: (время выполнения 2-3 минуты): Сколько элементов в этом массиве? Какого они типа? Как они нумеруются?
1. M : array [1..4] of real;
2. Z : array [-8..-1] of integer;
3. Mass : array [5..12] of integer;
Сравните свои результаты с образцом, исправьте ошибки (слайд с правильными ответами).

3.3. Обращение к ячейке массива. Использование элемента массива.
Для обращения или использования элемента указывается имя массива и в квадратных скобках индекс этого элемента. Например:
Read(A[1]); A[3]:=(2 * x + 6); A[4]:=(A[1]+A[2]) * A[3];
Допустимые операции определяются типом элемента (элемент массива ничем не отличается от обычной переменной, кроме особенного написания имени). Над элементом массива чаще всего выполняются такие действия как:
а) поиск значений;
б) сортировка элементов в порядке убывания или возрастания;
в) подсчет элементов массива, удовлетворяющий заданному условию.

3.4. Заполнение одномерного массива.
Рассмотрим заполнение массива. Существует несколько способов заполнения массива. Мы рассмотрим три способа: с клавиатуры; с помощью датчика случайных чисел; с помощью формулы.

3.4.1. Заполнение массива с клавиатуры.

Рассмотрим пример заполнения массива А пятью целыми числами с клавиатуры. Для того чтобы организовать ввод исходных данных в массив, нужно использовать цикл. То есть обращение к элементам массива происходит в цикле, по очереди от 1 до 5.
for i:=1 to 5 do
begin
writeln('a[', i, ']=');
readln ( a );
end;

3.4.2. Заполнение массива случайными числами

Рассмотрим следующий пример: нам нужно заполнить массив А с помощью генератора случайных чисел. Размерность массива = 10. Функция получения случайных чисел из заданного интервала [0, М-1] выдает целые числа из этого интервала: random (М)
Итак, чтобы заполнить массив например десятью целыми числами из интервала [1,100] запишем фрагмент программы:
for i:=1 to 10 do
begin
a[i]:=random(101); {числа от 1 до 100}

3.4.3. Заполнение массива с помощью формулы

Давайте разберем следующий пример: Заполнить одномерный массив В из 8 чисел по формуле b[i]:=i*3.
var b: array [1..10] of integer;
i: integer;
begin
for i:=1 to 10 do
b[i]:=i*3;
Вы уже поняли, что для ввода данных в память необходимо организовать цикл. Не знаю как у вас, а у меня возник вопрос: почему при заполнении массива используется цикл с параметром? (Ответ: Потому что число повторений ввода данных известно, удобно использовать цикл с параметром).

3.5. Вывод значений элементов массива

Следующим вопросом нашего урока является вывод массива. Рассмотрим вывод массива из 5 целых чисел.

Пример 1. Ввод и вывод элементов одномерного массива
Program mas1;
Uses crt;
var
А: array[1..5] of integer;
i: integer;
Begin
writeln('введите элементы массива');
for i:=1 to 5 do readln(a[i]);
writeln('вывод элементов массива:');
for i:=1 to 5 do write(a[i]:2);
Readkey;
end.
Для рассмотрения 3-х вариантов заполнения массива. Воспользуйтесь модулем: «Массивы». Блок № 1, находящемся на вашем столе. Давайте разберем 3 примера программ:

Пример2: Имеется 10 чисел. Необходимо найти их сумму. (В данной задаче все элементы массива вводятся с клавиатуры).
program primer1;
uses crt;
var s,i:integer;
a:array[1..10] of integer; {Описание массива}
Begin
Clrscr;
for i:=1 to 10 do begin {Ввод элементов массива}
writeln('Введите a[',i,']');
read (a[i]); end;
writeln('Введённый массив'); {Вывод элементов массива}
for i:=1 to 10 do
write (a[i],’ ’);
s:=0;
for i:=1 to 10 do {Нахождение суммы}
s:=s+a[i];
writeln('Сумма элементов массива =', s );
readkey; End.

Пример3: Заполнить одномерный массив С с помощью генератора случайных чисел. Размерность массива = 10. Найти сумму элементов массива.
program primer2; uses crt;
var
С: array [1..10] of integer;
s,i:integer;
Begin
Clrscr;
Randomize;
for i:=1 to 10 do begin
с[i]:=random(101); {Генератор случайных чисел числа от 1 до 100}
writeln (с[i]); end;
s:=0;
for i:=1 to 10 do {Нахождение суммы}
s:=s+с[i];
writeln('Сумма элементов массива =', s );
readkey;
End.

Пример4: Заполнить одномерный массив В, состоящий из 8 чисел по формуле b[i]:=i*3.
program primer3;
uses crt;
var b: array [1..8] of integer;
i: integer;
begin
for i:=1 to 8 do b[i]:=i*3;
for i:=1 to 8 do write('b [‘,I, ]=', b[i]:3 );
s:=0;
for i:=1 to 8 do s:=s+b[i];
writeln('Сумма элементов массива =', s );
readkey; End.

4. Этап обобщения, систематизации знаний и закрепление изученного.

[i]Вопросы для повторения:

1) Что называют массивом?
2) Что такое размерность массива? (Количество элементов массива называется его размерностью. Размерность массива равна: максимальное значение индекса – минимальное значение индекса + 1)
3) Как можно обратиться к ячейке массива?
4) Какого типа могут быль элементы массива?
5) Какие действия выполняют обычно над элементами массива? (Можно делать все, что с любой переменной).
6) Какого типа может быть индекс массива?
7) Как можно осуществить ввод элементов массива?
8) Какими способами может быть заполнен массив? Приведите примеры.

А сейчас я предлагаю вам разбиться по парам. Выберите в модуле свой уровень с заданиями, разберите их и совместно напишите программы.
Тренировочные задания для самостоятельной работы:
Уровень А. Имеется целочисленный массив, состоящий из 15 элементов:
a) Найти сумму a[1] и a[7] элементов;
b) Найти разность a[9] и a[3] элементов;
c) Найти среднее арифметическое всех элементов массива;
d) Найти произведение всех элементов массива.

Уровень В. Имеется целочисленный массив, состоящий из 10 элементов:
a) Найти полусумму первых 3-х элементов массива;
b) Увеличьте массив, введенный с помощью генератора случайных чисел, в 2 раза;
c) Заполните его случайными числами. Вывести положительные элементы массива.
d) Введите его с клавиатуры, после чего измените у всех чисел знак на противоположный.
Уровень B. (Листинг программы B-b)
Program z_mass_1;
uses crt;
Var B,A: array[1..10] of integer;
i: integer;
Begin
Write (введите элементы массива А через пробел ');
For i:=1 to 10 do begin
Read(a[i]);
B[i]:= A[i]*2; end;
writeln('вывод элементов массива ');
For i:=1 to 10 do begin
write (B[i]:2); end;
readkey; End.

Уровень С. Имеется вещественный массив В, состоящий из 9 элементов:
a) Найти сумму, среднее арифметическое и произведение всех элементов массива.
b) Определить самую высокую температуру и самый теплый день в мае.
c) Расположить массив произвольным образом, с помощью генератора случайных чисел и подсчитать количество элементов массива, больших заданного числа k.
d) Найти максимальный элемент и его индекс.
e) Дан массив, состоящий из нулей и единиц. Подсчитать количество 0, количество 1 и количество нулей до первой единицы.

Уровень С. (Листинг программ С-b, C-c)

Задание С-b. Определить самую высокую температуру и самый теплый день в мае.
Program massiv;
Uses crt;
Var t:array [1..31] of integer;
I, max, n : integer;
Begin
Clrscr;
For i:=1 to 31 do Begin
t[i]:=random(20); Write(b[i], ‘ ‘); End;
Max:=t[1]; n:=1;
For i:=2 to 31 do Begin
If t[i] > max then max:=t[i]; n:=i ; End;
Write(‘максимальная температура’, max, ‘в’, n, ‘день’); End.

Задание С-с. Задан одномерный массив В(10),заполненный произвольным образом. Подсчитать количество элементов массива, больших заданного числа k.
Program massiv;
Uses crt;
Var b:array [1..10] of integer;
I, k, s : integer;
Begin
Clrscr; S:=0;
For i:=1 to 10 do Begin
Write(‘Введите’, i, ‘-й элемент массива ’);
Readln (B[i]);
Write(b[i], ‘ ‘);
End;
Write(‘Введите число k’);
Readln(k);
For i:=1 to 10 do
If b[i]>k then s:=s+1;
Write(‘Количество элементов’, s);
End.

Задание С-d. Дан одномерный массив K из 10 целых элементов, найти максимальный элемент и его индекс.
Program Poisk_2;
Const maxM=10;
Var К: array[1..maxM] of integer;
Max, i, j: integer;
Begin
Randomize;
For i:=1 to maxM do begin
К[i]:=random(101);
write(К[i]);
end;
Max:=K[1];
J:=1;
for i:=2 to maxM do
if Max<K[i] then begin max:=K[i]; j:=i; end;
writeln('Максимальный элемент=', max);
writeln('Индекс макс. элемента=', j);
End.
(Во время практики, когда учащиеся работают за компьютером, учитель наблюдает за их работой; следит за правильной посадкой, выступает в роли консультанта, отвечает на вопросы учеников, по ходу проверяя знания учащихся тех или иных операторов, задавая некоторым ученикам вопросы. Учащиеся работают в индивидуальном темпе. Ученики, успешно выполняющие задания, получают положительные оценки.)

5. Подведение итогов урока.

Учитель: Спасибо ребята вам за работу. Вы работали дружно, слаженно, оказывали помощь друг другу. Особенно хорошо сегодня поработали … (называет имена и фамилии учеников, оценки)
Домашнее задание: Ермеков Н.Т. и др. Информатика (Паскаль). i1.15.Алгоритмы для работы с большими величинами. Массивы. - стр.91-97. Повторить все операции с массивами, кто не успел выполнить задачи в классе, проработать их дома.
Давайте подведём итог нашего урока. Обратитесь к «Творческой карточке учащегося» и «Критериям оценки выполненной работы». Прошу Вас заполнить эти таблицы.
Категория: Информатика | Добавил: Марина7638
Просмотров: 755 | Загрузок: 0 | Комментарии: 3 | Рейтинг: 4.0/1
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Суббота, 2016-12-10, 7:32 PM
Приветствую Вас Гость

Форма входа

Категории раздела

Психология [165]
Педагогика [291]
Математика [779]
Физика [242]
История [335]
Классному руководителю [519]
Русский язык и литература [697]
Физическая культура [200]
Английский язык [409]
Искусство [181]
Родительский совет [14]
Биология [319]
Информатика [366]
Начальная школа [1873]
Мой Казахстан [238]
Технология [126]
Самопознание [171]
Технология труда [49]
Персональная рубрика учителя технологии труда Шукурова Суюнгали Сагинтаевич. Западно-Казахстанская область,Жанибекский район,СОШ имени Т.Жарокова
НВП и ОБЖ [40]
Профессиональное образование [155]
Дошколенок [464]
География [129]
Школьная библиотека [48]
Казахский язык и литература [544]
Химия [33]

Социальные закладк

Поиск

Друзья сайта

Академия сказочных наук

  • Театр.kz

  • Статистика

    Рейтинг@Mail.ru