Урок информатики по теме «Алгоритмы обработки массивов на языке Паскаль».
план-конспект урока по информатике и икт (11 класс) на тему
Конспект урока по теме «Алгоритмы обработки массивов на языке Паскаль».
Скачать:
Вложение | Размер |
---|---|
urok.rar | 21.35 КБ |
Предварительный просмотр:
Урок информатики по теме «Алгоритмы обработки массивов на языке Паскаль».
Класс: 10.
Тип урока: комбинированный, изучение нового материала.
Цели урока:
- Повторить и закрепить материал по теме «Массивы»
- познакомить с основными алгоритмами обработки массивов
- применить полученные знания при решении жизненных ситуаций и различных задач
Задачи урока:
- Воспитательная – развитие познавательного интереса, логического мышления
- Учебная – освоение умений составления программ, используя массивы
- Развивающая – развитие алгоритмического мышления, памяти, внимательности
Материально-техническое обеспечение урока:
- Презентация для интерактивной доски, выполненная в программе Notebook (Приложение 1)
- Карточки с текстом задач
Технические средства обучения
- ПК учителя
- Мультимедийный проектор
- Интерактивная доска
- ПК учащихся
Программные средства
- Операционная система Windows ХР
- Система программирования Pascal ABC
- Программное обеспечение Notebook
План урока
I. Сообщение темы и задач урока.
II. Повторение материала и анализ домашнего задания.
III. Изложение нового материала.
IV. Закрепление изученного материала.
V. Подведение итогов урока. постановка задания на дом.
Ход урока
I. Сообщение темы и задач урока.
Тема урока: Алгоритмы обработки массивов на языке Паскаль. Сегодня на уроке мы научимся решать “базовые” задачи, алгоритмы которых являются составляющими многих задач на обработку массивов данных. (Слайд 1.)
II. Повторение материала и анализ домашнего задания.
Что такое массив?
Массив – это группа переменных одного типа, расположенных в памяти рядом (в соседних ячейках) и имеющих общее имя. Каждая ячейка в массиве имеет уникальный номер.
Зачем нужны массивы?
Для хранения и обработки большого количества данных.
Для работы с массивами, что нужно сделать?
Массив необходимо объявить.
Для чего нужно объявить массив?
Определить тип входящих в него элементов, выделить место в памяти и присвоить имя.
Задание. Запишите объявления массивов по их характеристикам: (слайд 2)
массив a из 5 вещественных чисел, последний элемент под номером 6
(var a:array[2..6] of real;)
массив k из 12 целых чисел, номер последнего элемента 10
(var k:array[-1..10] of integer;)
массив b из 9 целых чисел, первый элемент имеет номер 0
(var b:array[0..8] of integer;)
Какое следующее действие после объявления массива в программе?
Заполнить массив.
Какие способы мы рассмотрели?
По формуле, с клавиатуры, используя псевдослучайные числа.
(Проверить работу на доске)
Задание. Запишите фрагмент кода, в котором массив a, объявленный как a: array[2..16] of integer;
заполняется по предложенному правилу: (слайд 3)
элементы массива - случайные числа из промежутка от 0 до 12
(a[i]:=random(13);)
каждый элемент массива в 4 раза больше своего индекса
(a[i]:=4*a[i];)
Заполнили массив. Что дальше делаем?
Вывод массива на экран.
(Проверить работу на доске).
Что выполняют фрагменты программ: (слайд 4)
For i:=1 to 10 do readln(A[i]); (заполняет массив 10 вещественными числами)
For i:=1 to 10 do A[i]:=i*i; (заполняет массив квадратами первых 10 натуральных чисел)
For i:=1 to 10 do writeln(A[i]); (выводит значения элементов массива в столбец)
For i:=1 to 10 do A[i]:=0; (заполняет массив 0)
Выполнив данные действия можно решать задачи обработки массивов.
Задание. На доске записана программа, но команды перепутаны. Необходимо восстановить правильный порядок и выяснить для решения какой задачи составлена программа. (слайд 5)
Программа нахождения суммы массива, состоящего из 10 целых псевдослучайных числа.
Проверим домашнее задание. Заполните массив случайными числами в интервале [0,100] и подсчитайте отдельно среднее значение всех элементов, которые <50, и среднее значение всех элементов, которые ≥50.
Program arr2;
const N=10;
var A: array [1..N] of integer;
i, sum1, sum2, count: integer;
begin
count:=0; sum1:=0; sum2:=0;
for i:=1 to N do begin
A[i]:=random (101);
if A[i]<50 then begin
count:= count+1;
sum1:= sum1 + A[i];
end
else
sum2:=sum2 + A[i];
write (A[i]:5);
end;
writeln;
write (‘Среднее значение элементов, которые <50 равно ' ,sum1 / count) ;
writeln;
write (‘Среднее значение элементов, которые >=50 равно ' , sum2/(N-count)) ;
end.
Изложение нового материала.
Задача. Магазин обслужил за день 200 покупателей, каждый из которых потратил на покупки не более 1000 рублей. Посчитать дневную прибыль магазина и сумму среднего потребительского чека.
Сколько переменных нужно? (200)
Заполним массив случайными числами, используя диапазон от 1 до? (1000)
Какие алгоритмы будем использовать при решении задачи? (Нахождения суммы и среднего арифметического)
Сколько покупателей, у которых сумма чека больше среднего?
Чек каждого покупателя необходимо сравнить с суммой среднего чека. Для этого необходимо использовать цикл. (записать на доске: if a[i]>sr then k:=k+1;)
За компьютерами составляем программу.
program qq;
const n=200;
var a: array[1..n] of integer;
k,s,i:integer;
begin
s:=0;
k:=0;
for i:=1 to n do
begin
a[i]:=random(1001)+1;
s:=s+a[i];
end;
for i:=1 to n do
if a[i]>s/200
then k:=k+1;
writeln('Дневная прибыль магазина ',s);
writeln('Сумма среднего потребительскоко чека ',s/200);
writeln('У ',k,' покупателей сумма чека больше среднего');
end.
Внести изменения в программу: Есть ли покупатель у которого сумма чека 555 рублей.
k:= 0;
for i:=1 to N do
if A[i] = 550 then k:= k+1;
if k > 0 then write('Есть') else write('Не нашли!');
Есть необходимость просматривать весь массив? Нет, если нашли первого покупателя можно выйти из цикла? Как? break
k:= 0;
for i:=1 to N do
if A[i] = 555 then begin
k:= i;
break
end;
if k>0 then write('Нашли') else write('Не нашли!');
Задача. Найти максимальную сумму потребительского чека.
M:= A[1];
for i:= 2 to N do
if A[i] > M then
M:= A[i];
write(M);
Как найти номер покупателя?
M:= A[1]; nMax:= 1;
for i:= 2 to N do
if A[i] > M then begin
M:= A[i];
nMax:= i;
end;
write('A[',nMax,']=',M);
По номеру элемента можно найти значение!
nMax:= 1;
for i:= 2 to N do
if A[i] >A[nMax] then nMax:= i;
write('A[',nMax,']=', A[nMax] );
V. Подведение итогов урока. постановка задания на дом.
Задача 1. В массиве хранится информация о максимальной скорости каждой из 40 марок легковых автомобилей. Определить скорости двух самых быстрых автомобилей.
program qq;
const n=10;
var a: array[1..n] of integer;
k,s,i:integer;
begin
for i:=1 to n do
begin
a[i]:=random(101)+1;
writeln(a[i]);
end; s:=a[1];k:=a[1];
for i:=2 to n do begin
if a[i]>k then k:=a[i];
if (a[i]>s) and (a[i]
end;
writeln('k=',k);
writeln('s',s);
end.
Задача 2. У вас есть доллары. Вы хотите обменять их на рубли. Есть информация о стоимости купли – продажи в банках города. В городе n банков. Составьте программу, определяющую какой банк выбрать, чтобы выгодно обменять доллары на рубли.
По теме: методические разработки, презентации и конспекты
Урок информатики на тему "Циклы с постусловием в Турбо Паскале"
Конспект урока...
Разработка урока информатики по теме "Алгоритмы" (9 класс)
Урок-изучение нового материала "Алгоритмы и исполнители". Прилагается тест по усвоению нового материала, который рекомендуется провести в конце урока или в качестве проверки домашнего задания в начале...
технологическая карта урока информатики по теме "Алгоритм ветвление"
В данном материале приведен пример технологической карты урока информатики по теме "Алгоритм ветвление"...
Презентация для урока информатики по теме «Алгоритмы»
Презентация для урока информатики в 9 классе по теме «Алгоритмы»...
Одномерные массивы на языке Паскаль. Вычисление суммы элементов одномерного массива на языке Паскаль
Данная разработка может быть использована в виде опорного материала для работы на уроке по изучению темы указанной ниже. Учебник: Информатика. Учебник для 9 класса. Босова Л.Л., Босова А.Ю....
Технологическая карта урока информатики по теме "Алгоритмы" с использованием ЭОР
Технологическая карта урока информатики по теме "Алгоритмы" с использованием ЭОР для 8 класса, автор Босова Л.Л....
Компетентностно-ориентированные задания для формирования функциональной грамотности на уроках информатики по теме "Алгоритмы"
Компетентностно-ориентированные задания по информатике по теме "Алгоритмы" для развития функциональной грамотности у обучающихся...