Урок информатики по теме «Алгоритмы обработки массивов на языке Паскаль».
план-конспект урока по информатике и икт (11 класс) на тему

Кудосина Людмила Владимировна

Конспект урока по теме «Алгоритмы обработки массивов на языке Паскаль».

Скачать:

ВложениеРазмер
Файл urok.rar21.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 класса, автор Босова Л.Л....

Компетентностно-ориентированные задания для формирования функциональной грамотности на уроках информатики по теме "Алгоритмы"

Компетентностно-ориентированные задания по информатике по теме "Алгоритмы" для развития функциональной грамотности у обучающихся...