Класс: 9
Тема урока: Последовательный поиск в массиве. Инструктаж по ТБ (Инструкция №2.11). Практическая работа №8 «Написание программ, реализующих алгоритмы поиска в массиве»
Планируемые образовательные результаты:
- предметные – представления о понятиях «одномерный массив», «значение элемента массива», «индекс элемента массива»; умение исполнять готовые и записывать на языке программирования простые циклические алгоритмы обработки одномерного массива чисел (суммирование всех элементов массива; суммирование элементов массива с определенными индексами; суммирование элементов массива, с заданными свойствами; определение количества элементов массива с заданными свойствами; поиск наибольшего (наименьшего) элементов массива и др.);
- метапредметные – умение самостоятельно планировать пути достижения целей; умение соотносить свои действия с планируемыми результатами, осуществлять контроль своей деятельности, определять способы действий в рамках предложенных условий, корректировать свои действия в соответствии с изменяющейся ситуацией; умение оценивать правильность выполнения учебной задачи;
- личностные – алгоритмическое мышление, необходимое для профессиональной деятельности в современном обществе; представление о программировании как сфере возможной профессиональной деятельности.
Решаемые учебные задачи:
1) рассмотреть примеры и получить опыт решения типовых задач по
обработке массивов (суммирование, поиск наименьшего / наибольшего значения, подсчет количества элементов с некоторым свойством);
2) сформировать умение записывать на языке программирования короткие алгоритмы обработки одномерных массивов.
Основные понятия, изучаемые на уроке:
- массив;
- описание массива;
- заполнение массива;
- вывод массива;
- обработка массива;
- последовательный поиск.
Используемые на уроке средства ИКТ:
- персональный компьютер (ПК) учителя, мультимедийный проектор, экран;
- ПК учащихся.
Электронные образовательные ресурсы
- презентация «Последовательный поиск в массиве».
Особенности изложения содержания темы урока
1. Организационный момент (1 минута)
Приветствие учащихся, сообщение темы и целей урока.
2. Повторение (3 минуты)
1) проверка изученного материала по вопросам;
2) визуальная проверка выполнения домашнего.
3. Изучение нового материала (18 минут)
Новый материал излагается в сопровождении презентации «Последовательный поиск в массиве».
1 слайд — название презентации;
2 слайд — ключевые слова;
- массив
- описание массива таблица
- заполнение массива
- вывод массива
- обработка массива
- последовательный поиск
3 слайд — типовые задачи поиска (схема);
В программировании поиск — одна из наиболее часто встречающихся задач невычислительного характера.
Можно выделить следующие типовые задачи поиска:
1) найти наибольший (наименьший) элемент массива;
2) найти элемент массива, значение которого равно заданному значению.
Компьютер не может сравнить разом весь ряд объектов. На каждом шаге он может сравнивать только два объекта. Поэтому в программе необходимо организовать последовательный просмотр элементов массива и сравнение значения очередного просматриваемого элемента с неким образцом.
4 слайд — Нахождение наибольшего элемента в стопке карточек с записанными числами (схема);
Рассмотрим подробно решение задач первого типа (нахождение наибольшего (наименьшего) элемента).
Представим себе одномерный массив в виде стопки карточек, на каждой из которых написано число. Тогда идея поиска наибольшего элемента массива может быть представлена следующим образом:
1) возьмём верхнюю карточку (первый элемент массива), запомним имеющееся на карточке число (запишем его мелом на доске) как наибольшее из просмотренных; уберём карточку в сторону;
2) возьмём следующую карточку; сравним числа, записанные на карточке и на доске; если число на карточке больше, то сотрём число, записанное на доске, и запишем там то же число, что и на карточке; если же новое число не больше, то на доске оставим имеющуюся запись; уберём карточку в сторону;
3) повторим действия, описанные в п. 2, для всех оставшихся карточек в стопке.
В итоге на доске будет записано самое большое значение просмотренного массива.
5 слайд — программа поиска наибольшего элемента в массиве;
Так как доступ к значению элемента массива осуществляется по его индексу, то при организации поиска наибольшего элемента в одномерном массиве правильнее искать его индекс. Обозначим искомый индекс imax. Тогда описанный выше алгоритм в сформированном нами массиве а на языке Паскаль можно записать так:
program n_3;
var s, i, imax: integer;
a:array[1...10] of integer;
begin
s:=0;
for i:=1 to 10 do a[i]:=random(50);
for i:=1 to 10 do write (a[i],` `);
imax:=1
for i:=2 to 10 do
if a[i]a[imax] then imax:=i;
write ('Наибольший элемент a[',imax,']=', a[imax])
end.
7 слайд — поиск элемента, равного 50;
Алгоритм поиска в сформированном нами массиве а значения, равного 50, может выглядеть так:
program n_4;
var n, i: integer;
a:array[1...10] of integer;
begin
for i:=1 to 10 do a[i]:=random(60);
for i:=1 to 10 do write (a[i],` `);
n:=0;
for i:=1 to 10 do
if a[i]=50 then n:=i;
if n=0 then write('Нет') else write (i)
end.
В программе найден последний из элементов, удовлетворяющих условию.
8 слайд — поиск элемента, равного 50;
program n_5;
var n, i: integer;
a:array[1...10] of integer;
begin
for i:=1 to 10 do a[i]:=random(60);
for i:=1 to 10 do write (a[i],` `);
i:=0;
repeat
i:=i+1;
until (a[i]=50) or (i=10);
if a[i]=50 then write(i) else write('Нет')
end.
В программе найден первый из элементов, удовлетворяющих условию.
9 слайд — подсчет количества элементов;
Для подсчета вводится переменная, значение которой увеличивается на единицу каждый раз, когда найден нужный элемент.
program n_6;
var k, i: integer;
a:array[1...10] of integer;
begin
for i:=1 to 10 do a[i]:=random(60);
for i:=1 to 10 do write (a[i],` `);
k:=0;
for i:=1 to 10 do
if a[i]50 then k:=k+1;
write('k=', k)
end.
10 слайд — сумма значений элементов, удовлетворяющих условию;
Если требуется определить сумму значений элементов, то вводят переменную, к значению которой прибавляют значение найденного элемента массива.
program n_7;
var s, i: integer;
a:array[1...10] of integer;
begin
for i:=1 to 10 do a[i]:=random(60);
for i:=1 to 10 do write (a[i],` `);
s:=0;
for i:=1 to 10 do
if a[i]10 and (a[i]then s:=s+a[i];
write(‘s=', s)
end.
11 слайд — самое главное.
Массив - это поименованная совокупность однотипных элементов, упорядоченных по индексам, определяющим положение элементов в массиве. В языках программирования массивы используются для реализации таких структур данных, как последовательности и таблицы.
Перед использованием в программе массив должен быть описан. Общий вид описания одномерного массива:
var : array [ …
] of тип_элементов;
Заполнять массив можно либо вводя значение каждого элемента с клавиатуры, либо присваивая элементам некоторые значения. При заполнении массива и его выводе на экран используется цикл с параметром.
Решение разнообразных задач, связанных с обработкой массивов, базируется на таких типовых задачах, как:
- суммирование элементов массива;
- поиск элемента с заданными свойствами.
Вопросы и задания
12 слайд – вопросы и задания;
Вопросы 5, 7, 8, 9 к параграфу 4.7.
№ 203 (б), 204, 205 в РТ.
4. Практическая часть (20 минут)
Выполнить, рассмотренные на уроке задачи.
5. Подведение итогов урока. Сообщение домашнего задания. Выставление оценок (3 минуты)
13 слайд — опорный конспект;
14 слайд — Д/з.
Домашнее задание: §2.2.5, №9 на стр. 85