МЕТОДИКА РАБОТЫ С ЗАДАЧАМИ НА ПОИСК КОЛИЧЕСТВА МАКСИМАЛЬНЫХ ЭЛЕМЕНТОВ В МАССИВЕ В ПРОГРАММИРОВАНИИ

Статья опубликована в рамках: Международной научно-практической интернет-конференции «Актуальные проблемы методики обучения информатике и математике в современной школе» (Россия, г.Москва, МПГУ, 22 — 26 апреля 2019г.)

МЕТОДИКА РАБОТЫ С ЗАДАЧАМИ НА ПОИСК КОЛИЧЕСТВА МАКСИМАЛЬНЫХ ЭЛЕМЕНТОВ В МАССИВЕ В ПРОГРАММИРОВАНИИ

Немыкина Юлия Владимировна,
студентка физико-математического факультета,
Брянский Государственный
университет им. ак. И. Г.. Петровского

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

Ключевые слова: программирование; массив; обучение решению задач.

На уроках информатики в современной системе обучения уделяется большое внимание изучению программирования. Понятие операций над массивами входит в образовательный стандарт, учащиеся должны уметь писать алгоритмы, требующие обработку массива.

При ознакомлении учащихся с массивами актуальным стал вопрос о методике работы над задачей. В достаточной мере вопрос раскрыт не был не в одном из источников [1],[2],[5]. При решение задач различных видов, основной целью для учителя должно являться максимальное понимание учащимися алгоритма решения каждой из задач. На примере некоторых задач на массивы систематизируем информацию таким образом, чтобы каждый из последующих этапов вытекал из предыдущего.

Существуют 4 этапа работы над задачей:

  1. Анализ условия задачи
  2. Поиск способа решения
  3. Оформление решения
  4. Подведение итогов

Каждый из этапов необходимо раскрыть полостью для достижения поставленной цели.

На уроке были рассмотрены способы поиска максимального элемента в массиве, подсчет количества элементов с заданным параметром. На практическом занятии была предложена задача на подсчет количества максимальных элементов массива. Рассмотрим методику работы с задачей на конкретном примере.

Задача. Дан массив из десяти целых чисел. Определите, сколько элементов этого массива имеют максимальное значение [3].

На этапе анализа условия задачи задаем вопросы, которые могут помочь в поиске известных элементов, по итогу которых мы сможем составить краткую запись. Из диалога с учащимися устанавливаем, что в программе должен появиться массив, состоящий из десяти целочисленных элементов. Требуется определить количество элементов, удовлетворяющих условию. Краткая запись может выглядеть следующим образом:

Дано:  Массив из 10 целочисленных элементов.
Найти:  Количество максимальных элементов.

Следующим этапом становится поиск способа решения данной задачи. Учащимся требуется ответить на вопрос: «Какие переменные потребуются в программе?». Исходя из условия, приходим к выводу, что в разделе описания переменных потребуются следующие переменные: i, max, a, k; где i – индекс элемента в массиве, max – максимальный элемент, a — массив, k – счетчик элементов, равных данному.

var i, max, k: integer;
     a: array [1..10] of integer;

Следующий этап  — этап выявления, используемых алгоритмических конструкций.

Учитель: «Какие алгоритмические конструкции потребуются для решения данной задачи?»

Учащийся: «Заполнение массива, поиск максимального элемента, подсчет количества элементов, равных данному.»

Учитель: «Какие способы заполнения массива нам известны?»

Ранее на уроках с учащимися были рассмотрены способы заполнения массива:

  • for i:=1 to 10 do read ( a [ i ] ); {ввод значений элементов массива с клавиатуры};
  • for i:=1 to 10 do a [ i ] := i; {заполнение массива при помощи оператора присваивания};
  • for i:=1 to 10 do a [ i ] := random (100); {заполнение массива случайными числами, значение которых изменяется в диапазоне от 0 до 99}.

Заполнить массив учащиеся выбрали при помощи оператора randomize. В этом случае стоит отметить, что обязательно для проверки работы программы необходимо массив вывести на экран.

for i:= 1 to 10 do
begin
     randomize;
     a[i]=random(100);
     writeln (a[i], ‘_’);

Следующая алгоритмическая конструкция, которая понадобится нам, для решения нашей задачи направлена на поиск максимального элемента массива.

Учитель: «Каким способом можно организовать поиск максимального элемента?»

Учащиеся: «Присвоить максимальному элементу значение первого, в случае, если последующий больше, то присвоить максимальному значение этого элемента.»

Учитель: «Как организовать это в программе?»

max:=a[1];
     for i:=2 to 10 do
          if a[i]>max then max:=a[i];

После того, как программа нашла максимальный элемент требуется подсчитать количество элементов равных данному. Последней алгоритмической конструкцией, которая необходима для достижения цели – это подсчет количества элементов равных данному.

Подсчет количества элементов осуществляется следующим образом:

k:=0;
     for i:=1 to 10 do
          if a[i]=max then k:=k+1;
     writeln (k ‘_’);

На этапе оформления решения учащимся самостоятельно предлагается составить программу: оформить ее решение в тетради в виде целостной программы, набрать программу на компьютере. Программа может выглядеть следующим образом:

var i, max, k: integer;
     a: array [1..10] of integer;
begin
     for i:= 1 to 10 do
begin
randomize;
     a[i]=random(100);
     writeln (a[i], ‘_’);
end;
max:=a[1];
     for i:=2 to 10 do
          if a[i]>max then max:=a[i];
k:=0;
     for i:=1 to 10 do
          if a[i]=max then k:=k+1;
writeln (k ‘_’);
end.

На этапе подведения итогов важно построить вопросы так, чтобы ученики смогли выстроить логическую цепочку того важного, что они вынесли с данного урока. Результатом решения данной задачи становится алгоритм, который можно будет применить при решении  различного вида задач.

Учитель:  «Каков алгоритм для решения данной задачи мы можем составить?»

Учащиеся: «1. Анализ условия; 2. Переменные, которые потребуются для решения задачи, исходя из краткой записи; 3.Алгоритмические конструкции, решающие подзадачи; 4. Составление программы. »

Исходя из слов учащихся составляем алгоритм решения задачи. Для того, чтобы данный алгоритм был полезен учащимся в дальнейшем при решении задач на программирование немного корректируем и записываем в виде:

  1. Анализ условия и составление краткой записи;
  2. Исходя из краткой записи определяем переменные, которые потребуются для решения задачи;
  3. Определение подзадач, решаемых в программе;
  4. Описание алгоритмических конструкций;
  5. Составление программы.
ЛИТЕРАТУРА:
  1. https://infourok.ru/proekt_metodika_izucheniya_obrabotki_odnomernyh_massivov_s_ispolzovaniem___innovacionnyh__-122680.htm 1.04.2019
  2. https://www.kazedu.kz/referat/198712/6 1.04.2019
  3. Босова Л.Л., Босова А.Ю. Информатика и ИКТ. Учебник для 9 класса. В 2 ч. М.: 2012. Ч.1 — 244с., Ч.2 — 79с.
  4. Л.Л. Босова, А.Ю. Босова. Методическое пособие. 7-9 класс. М.: Бином. Лаборатория знаний, 2016. 459 с.
  5. Т.С. Богомолова, И.Н. Фалина, В.А. Шухардина Ступеньки понимания: решаем задачи на массивы. М.: Методика (https://inf.1sep.ru/2008/07/02.htm 1.04.2019)
avatar
  Подписаться  
newest oldest most voted
Уведомить о
Л.Л. Босова
Л.Л. Босова

Уважаемая Юлия Владимировна!
Спасибо за столь тщательно описанную методику решения задач на массивы. Но в чем же суть заявленного Вами в аннотации способа «общих реконструкций»?