СДЕЛАЙТЕ СВОИ УРОКИ ЕЩЁ ЭФФЕКТИВНЕЕ, А ЖИЗНЬ СВОБОДНЕЕ

Благодаря готовым учебным материалам для работы в классе и дистанционно

Скидки до 50 % на комплекты
только до

Готовые ключевые этапы урока всегда будут у вас под рукой

Организационный момент

Проверка знаний

Объяснение материала

Закрепление изученного

Итоги урока

Массивы. Алгоритмы обработки массивов

Категория: Информатика

Нажмите, чтобы узнать подробности

Тема урока: «Массивы. Алгоритмы обработки массивов».

Тип урока: комбинированный, изучение нового материала.

Цели урока:

  • Повторить и закрепить материал по теме «Массивы»
  • познакомить с основными алгоритмами обработки массивов
  • применить полученные знания при решении жизненных ситуаций и различных задач

Задачи урока:

  • Воспитательная – развитие познавательного интереса, логического мышления
  • Учебная – освоение умений составления программ, используя массивы
  • Развивающая – развитие алгоритмического мышления, памяти, внимательности

Ход урока

I. Сообщение темы и задач урока.

Тема урока: Массивы. Алгоритмы обработки массивов. Сегодня на уроке мы научимся решать “базовые” задачи, алгоритмы которых являются составляющими многих задач на обработку массивов данных.

II. Повторение материала и анализ домашнего задания.

Самостоятельная работа (линейный, разветвляющийся, циклический алгоритм) – смотри приложение.

III. Изучение нового материала.

Что такое массив?

Массив – это группа переменных одного типа, расположенных в памяти рядом (в соседних ячейках) и имеющих общее имя. Каждая ячейка в массиве имеет уникальный номер.

Зачем нужны массивы?

Для хранения и обработки большого количества данных.

Для работы с массивами, что нужно сделать?

Массив необходимо объявить.

Для чего нужно объявить массив?

Определить тип входящих в него элементов, выделить место в памяти и присвоить имя.

Задание. Запишите объявления массивов по их характеристикам: (слайд 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 целых псевдослучайных числа.

Просмотр содержимого документа
«Массивы. Алгоритмы обработки массивов»

Урок 21, 8 класс

Учитель: Брух Т.В.

Дата: ______________

Тема урока: «Массивы. Алгоритмы обработки массивов».

Тип урока: комбинированный, изучение нового материала.

Цели урока:

  • Повторить и закрепить материал по теме «Массивы»

  • познакомить с основными алгоритмами обработки массивов

  • применить полученные знания при решении жизненных ситуаций и различных задач

Задачи урока:

  • Воспитательная – развитие познавательного интереса, логического мышления

  • Учебная – освоение умений составления программ, используя массивы

  • Развивающая – развитие алгоритмического мышления, памяти, внимательности

Ход урока

I. Сообщение темы и задач урока.

Тема урока: Массивы. Алгоритмы обработки массивов. Сегодня на уроке мы научимся решать “базовые” задачи, алгоритмы которых являются составляющими многих задач на обработку массивов данных.

II. Повторение материала и анализ домашнего задания.

Самостоятельная работа (линейный, разветвляющийся, циклический алгоритм) – смотри приложение.

III. Изучение нового материала.

Что такое массив?

Массив – это группа переменных одного типа, расположенных в памяти рядом (в соседних ячейках) и имеющих общее имя. Каждая ячейка в массиве имеет уникальный номер.

Зачем нужны массивы?

Для хранения и обработки большого количества данных.

Для работы с массивами, что нужно сделать?

Массив необходимо объявить.

Для чего нужно объявить массив?

Определить тип входящих в него элементов, выделить место в памяти и присвоить имя.

Задание. Запишите объявления массивов по их характеристикам: (слайд 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] и подсчитайте отдельно среднее значение всех элементов, которые

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]

count:= count+1;

sum1:= sum1 + A[i];

end

else

sum2:=sum2 + A[i];

write (A[i]:5);

end;

writeln;

write (‘Среднее значение элементов, которые 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 k0 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] );

IV. Подведение итогов урока. постановка задания на дом.

Задача 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 банков. Составьте программу, определяющую какой банк выбрать, чтобы выгодно обменять доллары на рубли.


Скачать

Рекомендуем курсы ПК и ППК для учителей

Вебинар для учителей

Свидетельство об участии БЕСПЛАТНО!