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

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

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

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

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

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

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

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

Итоги урока

Методика преподавания темы "Массивы" в основной школе

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

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

На языках Паскаль и Пайтон

Просмотр содержимого документа
«Методика преподавания темы "Массивы" в основной школе»

Методика преподавания темы «Программирование массивов в основной школе»  ( из опыта работы ) Вирченко Н. И. Учитель ГБОУ ЛНР  «ВУВК №2 «Берегиня»

Методика преподавания темы «Программирование массивов в основной школе» ( из опыта работы )

Вирченко Н. И.

Учитель ГБОУ ЛНР

«ВУВК №2 «Берегиня»

Рабочая программа Алгоритмы и программирование Разработка алгоритмов и программ Разбиение задачи на подзадачи. Составление алгоритмов и программ с использованием ветвлений, циклов и вспомогательных алгоритмов для управления исполнителем Робот или другими исполнителями, такими как Черепашка, Чертёжник и другими. Табличные величины (массивы). Одномерные массивы. Составление и отладка программ, реализующих типовые алгоритмы обработки одномерных числовых массивов, на одном из языков программирования (Python, C++, Паскаль, Java, C#, Школьный Алгоритмический Язык): заполнение числового массива случайными числами, в соответствии с формулой или путём ввода чисел, нахождение суммы элементов массива, линейный поиск заданного значения в массиве, подсчёт элементов массива, удовлетворяющих заданному условию, нахождение минимального (максимального) элемента массива. Сортировка массива. Обработка потока данных: вычисление количества, суммы, среднего арифметического, минимального и максимального значения элементов последовательности, удовлетворяющих заданному условию

Рабочая программа

Алгоритмы и программирование

Разработка алгоритмов и программ

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

Табличные величины (массивы). Одномерные массивы. Составление и отладка программ, реализующих типовые алгоритмы обработки одномерных числовых массивов, на одном из языков программирования (Python, C++, Паскаль, Java, C#, Школьный Алгоритмический Язык): заполнение числового массива случайными числами, в соответствии с формулой или путём ввода чисел, нахождение суммы элементов массива, линейный поиск заданного значения в массиве, подсчёт элементов массива, удовлетворяющих заданному условию, нахождение минимального (максимального) элемента массива. Сортировка массива.

Обработка потока данных: вычисление количества, суммы, среднего арифметического, минимального и максимального значения элементов последовательности, удовлетворяющих заданному условию

Календарно-тематическое планирование 16 Одномерные массивы 17  1 Типовые алгоритмы обработки массивов 18   Сортировка массива  1 19   20  1   Обработка потока данных.Пр.р №9 «Составление и отладка программ, реализующих типовые алгоритмы обработки одномерных числовых массивов» Обобщение и систематизация знаний. Контрольная работа по теме «Разработка алгоритмов и программ»   25.12  1    1 08.01       15.01  1   1   22.01   29.01    

Календарно-тематическое планирование

16

Одномерные массивы

17

1

Типовые алгоритмы обработки массивов

18

 

Сортировка массива

1

19

 

20

1

 

Обработка потока данных.Пр.р №9 «Составление и отладка программ, реализующих типовые алгоритмы обработки одномерных числовых массивов»

Обобщение и систематизация знаний. Контрольная работа по теме «Разработка алгоритмов и программ»

 

25.12

1

 

1

08.01

 

 

 

15.01

1

 

1

 

22.01

 

29.01

 

 

Учебник

Учебник

Языки программирования Pascal Python

Языки программирования

  • Pascal
  • Python
Объявление массива Даем определение Набор однотипных элементов, которые имеют свой номер и общее имя. Внимание на первый индекс первого элемента Примеры только числа целые в ячейках, но можно и вещественные числа, символы, строки и набор чисел

Объявление массива

Даем определение

Набор однотипных элементов, которые имеют свой номер и общее имя.

Внимание на первый индекс первого элемента

Примеры только числа целые в ячейках, но можно и вещественные числа, символы, строки и набор чисел

Ввод массива Вывод массива В столбец В строку (в начале не показываем, желательно чтобы ученики сказали сами) По учебнику так: С клавиатуры По формуле Случайным образом Практическую часть начинаем отрабатывать случайным образом

Ввод массива

Вывод массива

  • В столбец
  • В строку (в начале не показываем, желательно чтобы ученики сказали сами)

По учебнику так:

  • С клавиатуры
  • По формуле
  • Случайным образом

Практическую часть начинаем отрабатывать случайным образом

Что надо добавить, чтобы вывод был в строку?  Затем увеличьте количество элементов

Что надо добавить, чтобы вывод был в строку? Затем увеличьте количество элементов

Вычисление суммы Что добавить, чтобы суммировались только четные (нечетные элементы, кратные 3 ,…), среднее арифметическое Можно задать в домашнее задание Набранный на уроке программный код желательно сохранить для следующей работы

Вычисление суммы

Что добавить, чтобы суммировались только четные (нечетные элементы, кратные 3 ,…), среднее арифметическое

Можно задать в домашнее задание

Набранный на уроке программный код желательно сохранить для следующей работы

Типовые алгоритмы обработки Последовательный поиск элемента Поиск максимального (минимального) элемента Реверс массива Сдвиг элементов массива

Типовые алгоритмы обработки

  • Последовательный поиск элемента
  • Поиск максимального (минимального) элемента
  • Реверс массива
  • Сдвиг элементов массива
=a[i] then M:=a[i]; Write (M); M=a[0] For i in range(1,N): if M=a[i]: M=a[i] Что добавить, чтобы выдал и номер максимального элемента Измените на поиск минимального " width="640"

Поиск максимального

M=a[1];

For i:=2 to n do

If M=a[i] then M:=a[i];

Write (M);

M=a[0]

For i in range(1,N):

if M=a[i]:

M=a[i]

Что добавить, чтобы выдал и номер максимального элемента

Измените на поиск минимального

3 : k += 1 print (k) k = 0 for i:=1 to N do if A[i] 3 : k :=k+ 1; write(k) Варианты условий: Измените чтобы счет был четных элементов и др., можно добавить и вычисление суммы if A[i] % 10 == 6 : k += 1 if( A[i] = 10 and A[i] 100 ): k += 1 if (A[i] % 10 == 6 and A[i] % 3 == 0 ): k += 1 " width="640"

Подсчёт элементов

k = 0

for i in range (N):

if A[i] 3 : k += 1

print (k)

k = 0

for i:=1 to N do

if A[i] 3 : k :=k+ 1;

write(k)

Варианты условий:

Измените чтобы счет был четных элементов и др., можно добавить и вычисление суммы

if A[i] % 10 == 6 : k += 1

if( A[i] = 10 and

A[i] 100 ): k += 1

if (A[i] % 10 == 6 and

A[i] % 3 == 0 ): k += 1

Поиск элементов с заданным свойством Значение можно ввести с клавиатуры или конкретно задать число

Поиск элементов с заданным свойством

Значение можно ввести с клавиатуры или конкретно задать число

 Что такое сортировка? Сортировка – это расстановка элементов массива в заданном порядке. … по возрастанию, убыванию, последней цифре, сумме делителей, по алфавиту, … Алгоритмы: простые и понятные, но неэффективные для больших массивов простые и понятные, но неэффективные для больших массивов метод пузырька метод выбора (дается в учебнике) сложные, но эффективные «быстрая сортировка»  ( QuickSort ) метод пузырька метод выбора (дается в учебнике) метод пузырька метод выбора (дается в учебнике) сложные, но эффективные «быстрая сортировка»  ( QuickSort ) «быстрая сортировка»  ( QuickSort )

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

Сортировка – это расстановка элементов массива в заданном порядке.

… по возрастанию, убыванию, последней цифре, сумме делителей, по алфавиту, …

Алгоритмы:

  • простые и понятные, но неэффективные для больших массивов
  • простые и понятные, но неэффективные для больших массивов
  • метод пузырька метод выбора (дается в учебнике) сложные, но эффективные «быстрая сортировка» ( QuickSort )
  • метод пузырька метод выбора (дается в учебнике)
  • метод пузырька
  • метод выбора (дается в учебнике)
  • сложные, но эффективные «быстрая сортировка» ( QuickSort )
  • «быстрая сортировка» ( QuickSort )
 Метод пузырька (сортировка обменами) Идея: пузырек воздуха в стакане воды поднимается со дна вверх.  Для массивов  – самый маленький («легкий» элемент перемещается вверх ( «всплывает» ). 1-й проход: сравниваем два соседних элемента; если они стоят «неправильно», меняем их местами за 1 проход по массиву один элемент (самый маленький) становится на свое место 4 5 1 2 3 4 5 2 1 3 4 1 4 5 4 1 5 5 2 2 2 1 3 3 3

Метод пузырька (сортировка обменами)

Идея: пузырек воздуха в стакане воды поднимается со дна вверх.

Для массивов – самый маленький («легкий» элемент перемещается вверх ( «всплывает» ).

1-й проход:

  • сравниваем два соседних элемента; если они стоят «неправильно», меняем их местами
  • за 1 проход по массиву один элемент (самый маленький) становится на свое место

4

5

1

2

3

4

5

2

1

3

4

1

4

5

4

1

5

5

2

2

2

1

3

3

3

 Метод пузырька 2-й проход: 3-й проход: 4-й проход: 1 1 1 1 2 2 2 2 4 4 3 3 5 4 4 3 5 5 5 3 1 2 3 4 5 1 1 1 1 4 4 2 4 5 2 4 5 5 2 5 2 3 3 3 3 Можно дать объяснение на карточках

Метод пузырька

2-й проход:

3-й проход:

4-й проход:

1

1

1

1

2

2

2

2

4

4

3

3

5

4

4

3

5

5

5

3

1

2

3

4

5

1

1

1

1

4

4

2

4

5

2

4

5

5

2

5

2

3

3

3

3

Можно дать объяснение на карточках

a[j+1]: a[j],a[j+1]=a[j+1],a[j] For i:=1 to n-1 do For j:=1 to n-i do If a[j]a[j+1] then begin c:=a[j]; a[j]:=a[j+1]; a[j+1]:=c end; Основная операция – перестановка элементов! " width="640"

Программа

for i in range(N-1):

for j in range(N-i):

if a[j]a[j+1]:

a[j],a[j+1]=a[j+1],a[j]

For i:=1 to n-1 do

For j:=1 to n-i do

If a[j]a[j+1]

then begin c:=a[j]; a[j]:=a[j+1]; a[j+1]:=c end;

Основная операция – перестановка элементов!

Сортировка выбором

Сортировка выбором

R : разделение закончено! " width="640"

Быстрая сортировка

78

L

6

82

67

55

44

34

R

34

6

82

67

L

55

44

78

R

34

6

44

67

55

L

R

82

78

34

6

44

55

67

R

L

82

78

!

L R : разделение закончено!

= nEnd then Exit; L:= nStart; R:= nEnd; X:= A[(L+R) div 2]; while L R do begin { разделение } while A[L] X do L:= L + 1; while A[R] X do R:= R - 1; if L R then begin c:= A[L]; A[L]:= A[R]; A[R]:= c; L:= L+1; R:= R-1 end end; qSort(nStart, R); { рекурсивные вызовы } qSort(L, nEnd) end; " width="640"

procedure qSort(nStart, nEnd: integer); var L, R, c, X: integer; begin if nStart = nEnd then Exit; L:= nStart; R:= nEnd; X:= A[(L+R) div 2]; while L R do begin { разделение } while A[L] X do L:= L + 1; while A[R] X do R:= R - 1; if L R then begin c:= A[L]; A[L]:= A[R]; A[R]:= c; L:= L+1; R:= R-1 end end; qSort(nStart, R); { рекурсивные вызовы } qSort(L, nEnd) end;

20 Быстрая сортировка Сортировка массива случайных значений :  N метод  пузырька 1000 метод  выбора 0,24 с 5000 15000 быстрая 0,12 с 5,3 с 45 с 0,004 с 2,9 с сортировка 0,024 с 34 с 0,068 с Можно провести эксперимент

20

Быстрая сортировка

Сортировка массива случайных значений :

N

метод пузырька

1000

метод выбора

0,24 с

5000

15000

быстрая

0,12 с

5,3 с

45 с

0,004 с

2,9 с

сортировка

0,024 с

34 с

0,068 с

Можно провести эксперимент

Практическая работа «A»: Заполнить массив случайными числами и найти минимальный и максимальный элементы массива и их номера. Пример : Массив: 1 2 3 4 5 Минимальный элемент: A[1]=1 Максимальный элемент: A[5]=5 «C»: Введите массив с клавиатуры и найдите количество элементов, имеющих максимальное значение. Пример : Массив: 3 4 5 5 3 4 5 Максимальное значение 5 Количество элементов 3

Практическая работа

«A»: Заполнить массив случайными числами и найти минимальный и максимальный элементы массива и их номера.

Пример :

Массив:

1 2 3 4 5

Минимальный элемент: A[1]=1

Максимальный элемент: A[5]=5

«C»: Введите массив с клавиатуры и найдите количество элементов, имеющих максимальное значение.

Пример :

Массив:

3 4 5 5 3 4 5

Максимальное значение 5

Количество элементов 3

Практическая работа «A»: Напишите программу, в которой сортировка выполняется «методом камня» – самый «тяжёлый» элемент опускается в конец массива. Контрольная работа по теме: «Массивы». Дан массив из 37 целых чисел. Элементы массива могут принимать целочисленные значение значения от -70 до 70. Составить программу вычисления суммы положительных элементов массива. Дан массив из 43 целых чисел. Элементы массива могут принимать целочисленные значение значения от -140 до 140. Определить количество нулевых элементов, стоящих на чётных местах. Дан массив из 75 целых чисел. Элементы массива могут принимать целочисленные значение значения от -55 до 55. Отрицательные элементы, индексы которых кратны 4, заменить числом 60.

Практическая работа

«A»: Напишите программу, в которой сортировка выполняется «методом камня» – самый «тяжёлый» элемент опускается в конец массива.

Контрольная работа по теме: «Массивы».

  • Дан массив из 37 целых чисел. Элементы массива могут принимать целочисленные значение значения от -70 до 70. Составить программу вычисления суммы положительных элементов массива.
  • Дан массив из 43 целых чисел. Элементы массива могут принимать целочисленные значение значения от -140 до 140. Определить количество нулевых элементов, стоящих на чётных местах.
  • Дан массив из 75 целых чисел. Элементы массива могут принимать целочисленные значение значения от -55 до 55. Отрицательные элементы, индексы которых кратны 4, заменить числом 60.