Тема: «Поиск минимального (максимального) элемента массива, отвечающие определенным условиям. Поиск двух наибольших (наименьших) элементов»
Цель урока: научиться работать с элементами массива, находить элементы массива, отвечающие определенным условиям.
Ход урока
Оргмомент
Приветствие учащихся. Проверка отсутствующих.
Актуализация
- Что такое одномерный массив? (Это таблица размером 1*N, для которой в памяти выделяется N ячеек.)
- Как происходит обращение к элементам массива? (Через их индексы)
- Какие способы ввода элементов массива вы знаете? (с клавиатуры, формулой, датчиком случайных чисел)
- Какие операции над элементами массива мы умеем проводить? (поиск элементов массива или их индексов по заданным критериям)
Объяснение материала
Например, давайте разберем и решим задачи, которые мы с вами уже так или иначе решали на предыдущих уроках (решаем фронтально):
- В доме 30 квартир. Сколько квартир в доме, и под какими они номерами, где живет четное количество жильцов?
Решение:
const n=10;
var a:array [1..n] of integer;
i,k:integer;
begin
randomize;
for i:=1 to n do
begin
a[i]:= random(6)+1;
writeln('a[',i,']=',a[i]);
end;
k:=0;
writeln('номера квартир с четным количеством жильцов:');
for i:=1 to n do
begin
if a[i] mod 2=0 then
begin
write(i,' ');
k:=k+1;
end;
end;
writeln;
write('всего квартир: ', k);
end.
- Как найти номер квартиры, где проживают наименьшее количество жильцов?
Решение:
const n=10;
var a:array [1..n] of integer;
i,min:integer;
begin
randomize;
for i:=1 to n do
begin
a[i]:= random(6)+1;
writeln('a[',i,']=',a[i]);
end;
min:=10;
writeln('наименьшее количество жильцов в следующих квартирах:');
for i:=1 to n do
if a[i] <min then min:=a[i];
for i:=1 to n do
if a[i]=min then write (i,' ');
writeln ('жильцов ',min,' человек');
end.
- Найдите квартиры, где проживают наибольшее количество жильцов.
Решение:
const n=10;
var a:array [1..n] of integer;
i,max:integer;
begin
randomize;
for i:=1 to n do
begin
a[i]:= random(6)+1;
writeln('a[',i,']=',a[i]);
end;
max:=0;
writeln('наибольшее количество жильцов в следующих квартирах:');
for i:=1 to n do
if a[i] >max then max:=a[i];
for i:=1 to n do
if a[i]=max then write (i,' ');
writeln ('жильцов ',max,' человек');
end.
Итак, сегодня мы должны научиться…(находить наименьшее и наибольшее значение элементов массива).
Продолжим работать с массивами. Сегодня нам предстоит научиться находить наибольший (наименьший) элемент массива и его номер.
Закрепление материала (фронтально)
- Составьте алгоритм нахождения двух наименьших(наибольших) элементов массива.
Решение:
const n=10;
var a:array [1..n] of integer;
i,min1,min2:integer;
begin
randomize;
for i:=1 to n do
begin
a[i]:= random(6)+1;
writeln('a[',i,']=',a[i]);
end;
min1:=100;
min2:=100;
for i:=1 to n do
if a[i] <min1 then min1:=a[i];
for i:=1 to n do
if (a[i]>min1) and (a[i]<min2) then min2:=a[i];
writeln (min1,' ', min2);
end.
- Дан массив с разными элементами. Вывести на экран числа, стоящие между наименьшим и наибольшим элементами массива.
Решение
const n=10;
var a:array [1..n] of integer;
i,k,t,min,max:integer;
begin
for i:=1 to n do
begin
read (a[i]);
end;
min:=100;
max:=0;
for i:=1 to n do
begin
if a[i] <min then begin min:=a[i];k:=i;end;
if a[i] >max then begin max:=a[i]; t:=i; end;
end;
if k>t then
for i:=t+1 to k-1 do
write (a[i],' ')
else
for i:=k+1 to i-1 do
write (a[i],' ')
end.
Самостоятельная работа на компьютерах:
- Вывести на экран числа, стоящие между двумя наименьшими элементами массива.
- Поменять местами наибольший и наименьший элемент массива.
- Найти два наибольших четных элемента массива.
- Дан массив. Найдите два соседних элемента, сумма которых минимальна.
При верном решении 4 задач- оценка 5 баллов;
3 задач- 4 балла;
2 задач- 3 балла;
0-1 задач- 2 балла.
Итог урока:
Ответьте на вопросы в ваших листочках:
Я научился составлять алгоритм поиска минимального (максимального) элемента массива. Отметка (от 2 до 5 баллов)_____________.
Я могу написать программу поиска двух минимальных (максимальных) элементов массива. Отметка (от 2 до 5 баллов) _____________.
Я выполнил самостоятельно ________ задач, что соответствует _______ баллам.
Моя оценка за урок (среднее)___________.
Поставьте себе оценку за урок
Домашнее задание:
- В одномерном массиве, состоящем из n вещественных элементов, вычислите номер минимального элемента массива и сумму элементов массива, расположенных между первым и вторым отрицательными элементами.
- Напишите программу, которая вводит с клавиатуры непустой массив целых чисел, и выводит число локальных максимумов (элемент является локальным максимумом, если он не имеет соседей, больших, чем он сам).
- Составьте алгоритм нахождения двух наименьших(наибольших) элементов массива.
- Дан массив с разными элементами. Вывести на экран числа, стоящие между наименьшим и наибольшим элементами массива.
Самостоятельная работа на компьютерах:
- Вывести на экран числа, стоящие между двумя наименьшими элементами массива.
- Поменять местами наибольший и наименьший элемент массива.
- Найти два наибольших четных элемента массива.
- Дан массив. Найдите два соседних элемента, сумма которых минимальна.
При верном решении 4 задач- оценка 5 баллов;
3 задач- 4 балла;
2 задач- 3 балла;
0-1 задач- 2 балла.
Оцените себя на уроке:
Я научился составлять алгоритм поиска минимального (максимального) элемента массива. Отметка (от 2 до 5 баллов)_____________.
Я могу написать программу поиска двух минимальных (максимальных) элементов массива. Отметка (от 2 до 5 баллов) _____________.
Я выполнил самостоятельно ________ задач, что соответствует _______ баллам.
Моя оценка за урок (среднее)___________.
- Составьте алгоритм нахождения двух наименьших(наибольших) элементов массива.
- Дан массив с разными элементами. Вывести на экран числа, стоящие между наименьшим и наибольшим элементами массива.
Самостоятельная работа на компьютерах:
- Вывести на экран числа, стоящие между двумя наименьшими элементами массива.
- Поменять местами наибольший и наименьший элемент массива.
- Найти два наибольших четных элемента массива.
- Дан массив. Найдите два соседних элемента, сумма которых минимальна.
При верном решении 4 задач- оценка 5 баллов;
3 задач- 4 балла;
2 задач- 3 балла;
0-1 задач- 2 балла.
Оцените себя на уроке:
Я научился составлять алгоритм поиска минимального (максимального) элемента массива. Отметка (от 2 до 5 баллов)_____________.
Я могу написать программу поиска двух минимальных (максимальных) элементов массива. Отметка (от 2 до 5 баллов) _____________.
Я выполнил самостоятельно ________ задач, что соответствует _______ баллам.
Моя оценка за урок (среднее)___________.
|