Информатика 9 класс Яковлева А.Н.
Урок №___
Дата __________________
Тема: «Максимальный и минимальный элементы массива»
Цели урока:
образовательная – ввести понятие строкового типа данных; познакомить с алгоритмом поиска минимального и максимального элемента массива;
воспитательная – воспитание аккуратности, точности; содействовать созданию на уроке психологического комфорта для работы;
развивающая – развивать практическое умение по вводу, выводу и обработке элементов массива и алгоритмический стиль мышления; развивать познавательный интерес, логическое мышление, усиление познавательной мотивации осознанием ученика своей значимости в образовательном процессе.
Оборудование: персональный компьютер (ПК) учителя, мультимедийный проектор, экран, ПК учащихся.
Тип урока: Комбинированный.
Ход урока:
Организационный момент;
Проверка домашнего задания;
Актуализация знаний;
Сообщение темы и целей урока;
Самостоятельная работа;
Подведение итогов;
Домашнее задание пояснения к нему.
Организационный момент. Приветствие учеников. Проверка готовности учащихся к уроку.
Проверка домашнего задания. (слайд 2)
1. Составьте программу вычисления в массиве суммы нечетных элементов.
Program massiv4;
var M: array [1..10] of integer;
I,K: integer;
begin
randomize;
writeln ('Массив случайных чисел');
for I:=1 to 10 do
begin
M[I]:=random(50);
write (M[I]:3)
end;
writeln;
K:=0;
write ('Сумма нечетных элементов = ');
for I:=1 to 10 do
begin
if M[I] mod 2=1 then K:=K+M[I];
end;
write (K)
end.
2. Составьте программу вычисления среднего арифметического элементов с четными номерами
Program massiv4;
var M: array [1..10] of integer;
I,K,N: integer;
S:real;
begin
randomize;
writeln ('Массив случайных чисел');
for I:=1 to 10 do
begin
M[I]:=random(50);
write (M[I]:3)
end;
writeln;
K:=0;
N:=0;
write ('среднего арифметического элементов с четными номерами ');
for I:=1 to 10 do
begin
if I mod 2=0 then
begin
K:=K+M[I];
N:=N+1
end;
end;
S:=K/N;
write (S)
end.
Актуализация знаний. (слайд 3)
Что такое массив?
Какие данные можно хранить в массивах?
Как осуществить ввод массива с клавиатуры?
Как осуществить ввод массива с помощью оператора случайных чисел?
Формат описания одномерного массива?
Как записывается оператор цикла с параметром?
Сообщение темы и целей урока.
Одной из типовых задач обработки массивов является поиск наименьшего и наибольшего значения среди значений его элементов. Это и будет нашей темой урока. (слайд 4)
Знакомство с новым материалом.
(слайд 5-6) Задача и алгоритм поиска максимального элемента в массиве.
(слайд 7) Например, у нас есть итоговые данные чемпионата России по футболу за 2003 г. (табл. стр. 120). Нашей задачей является найти команду-победителя и команду-проигравшего. Причем в результате программа должна нам будет показать не только номер команды и количество набранных очков, но и название команды. Как это сделать прочитайте в учебнике на стр. 122-124 и узнайте о строковом типе данных
Подведение итогов.
Закрепление изученного. (слайд 8-9)
1. Ввести с клавиатуры массив из 5 элементов, найти в нем минимальный элемент и его номер
Program Zadanie1;
Var T: array[1..5] of integer;
I, Amin,Nmin: integer;
Begin
for I:=1 to 5 do
begin Write('T[',I,']=');
Readln(T[I])
End;
Amin:=T[1]; Nmin:=1;
for i :=2 to 5 do
if T[i]then
begin
Nmin:=i;
Amin:=T[i];
end;
write ('Минимальный элемент T[',Nmin,']=',Amin)
end.
2. Ввести с клавиатуры массив из 5 элементов, найти в нем максимальный и минимальный элементы и их номера
Program Zadanie2;
Var T: array[1..5] of integer;
I, Amin,Nmin,Amax,Nmax: integer;
Begin
for I:=1 to 5 do
begin Write('T[',I,']=');
Readln(T[I])
End;
Amin:=T[1]; Nmin:=1;
for i :=2 to 5 do
if T[i]then
begin
Nmin:=i;
Amin:=T[i];
end;
Amax:=T[1]; Nmax:=1;
for i :=2 to 5 do
if T[i]Amax then
begin
Nmax:=i;
Amax:=T[i];
end;
writeln ('Минимальный элемент T[',Nmin,']=',Amin);
write ('Максимальный элемент T[',Nmax,']=',Amax)
end.
3. Ввести с клавиатуры массив из 5 элементов, найти в нем два максимальных элемента и их номера.
Program massiv3;
var Nmax, Nmax2, Amax, Amax2, i:integer;
s:array[1..5] of integer;
begin
writeln ('Введите элементы массива');
for i :=1 to 5 do
read (s[i]);
Amax:=s[1]; Nmax:=1;
for i :=2 to 5 do
if s[i]Amax then
begin
Nmax:=i;
Amax:=s[i];
end;
s[Nmax]:=-65000;
Amax2:=s[1];
for i :=2 to 5 do
if s[i]Amax2 then
begin
Nmax2:=i;
Amax2:=s[i];
end;
writeln ('Максимальные A[',Nmax,']=',Amax,' и A[',Nmax2,']=',Amax2);
end.
Домашнее задание.
§ 20, Задание 5 (стр. 124) на Паскале