Раздел:
| Программирование алгоритмов на языке программирования Python.
| ФИО педагога:
|
| Дата:
|
| Класс: 9
| Количество присутствующих:
| отсутствующих:
| Тема урока
| Двумерный массив. СОР
| Цели обучения, которые достигаются на данном уроке (ссылка на учебную программу)
| 9.3.3.1 создавать программы на языке программирования Python с использованием двумерных массивов.
| Цель урока
| знают: что такое двумерный массив; умеют: создавать и заполнять двумерный массив; выводить двумерный массив на экран;
| Ход урока
|
Этапы урока
| Деятельность учителя
| Деятельность обучающихся
| Оценивание
| Ресурсы
| Начало урока
| Организационный момент.
Проверка присутствующих по
журналу, ознакомление
учащихся с темой урока и его
целями.
Повторение
Необходимо показать алгоритм в виде псевдокода. Учащиеся отвечают на вопросы.
01 def BubbleSort(SList, Max): 02 NoMoreSwaps = = False
03 while NoMoreSwaps == False: 04 NoMoreSwaps = True
for i in (Max - 1): if SList[i] > SList[i + 1]: 07 NoMoreSwaps = True 08 Temp = SList[i]
09 SList[i] = SList[i + 1]
10 SList[i + 1] = Temp
| Среда программирования сообщила о синтаксической ошибке в коде BubbleSort.
Укажите номер строки. Напишите правильный код для этой строки.
Программист исправляет синтаксическую ошибку и проверяет функцию. Он не работает так, как ожидалось. Укажите тип ошибки. Напишите номер строки, где происходит ошибка.
|
Напишите правильный код для этой строки.
| Актуализация знаний: 1. «Установите соответствие»
Метод extend()
|
|
для удаления элемента по указанному индексу.
|
Метод x.insert(i,n)
|
|
для вставки несколько элементов.
|
Метод remove()
|
|
для удаления элемента списка.
|
Метод pop()
|
|
позволяет вставить элемент n по указанному индексу i в массиве x.
|
|
|
| слайд https://learningapps.org/13054847
| Определение целей урока
(3 минуты)
| Сегодня на уроке мы поговорим о двумерном массиве. Открыли тетради, записали сегодняшнее число и тему урока. Наша задача научиться создавать и заполнять двумерный массив, выводить двумерный массив на экран на языке программирования. При записи программы следует помнить, что она должна быть наглядной и понятной исполнителю.
| Осмысливают поставленную цель.
|
|
Слайд 2-3
|
Изучение материала
| Учитель изучение тему
Двумерный массив – это массив, в котором для задания каждого элемента требуется два индекса.
Индексы в двумерном массиве определяют номер строки и номер столбца, на пересечении которых находится элемент.
Запись a[і][j] обозначает элемент, который находится на пересечении строки i и столбца j.
Рассмотрим прямоугольную таблицу чисел.
|
0
|
1
|
2
|
3
|
4
|
|
|
|
|
|
|
|
|
|
|
|
|
0
|
1
|
2
|
37
|
8
|
9
|
1
|
5
|
4
|
-4
|
1
|
-5
|
2
|
0
|
2
|
4
|
5
|
8
|
Эту таблицу можно представить в виде двумерного массива размерности 3 х 5. Всего в таком массиве будет 15 элементов.
Рассмотрим индексы, соответствующие элементам массива. Индексы строк и столбцов начинаются с 0 и записываются в квадратных скобках.
Для доступа к элементу двумерного массива индекс записывают следующим образом
a[0][0]=1 a[0][1]=2 a[0][2]=37 a[0][3]=8 a[0][4]=1 a[1][0]=5 a[1][1]=4 a[1][2]=-4 a[1][3]=1 a[1][4]=-5 a[2][0]=0 a[2][1]=2 a[2][2]=4 a[2][3]=5 a[2][4]=8 В двумерных массивах число элементов каждой строки может быть разным. Данный массив не полностью заполнен Список - это набор элементов любого типа. Рассмотрим пример записи двумерного массива: A=[[11, 12,5,2], [15,6,10,5],[10,8,12,5],[12,15]]
Следует отметить, что двумерный массив может иметь разное количество столбцов и строк.
Пример: List1 = [11, 12, 5, 2], [‘hello’, ‘hi’, ‘salem’], [10.1, 8.2, 12.4, 3.5] (данный массив состоит из вложенных списков разных типов данных, как int, string, float)
Так как массив это набор элементов одного типа, мы будем создавать списки с однотипными элементами. Для создания двумерного массива необходимо создать вложенные списки
List2 = [[1, 4, -5, 7], [0, 4, 5, -2], [1, 2, 0, -3]]
Данный массив состоит из 3-х строк и 4-х столбцов Заполнение двумерного массива Инициализация двумерного массива Неполное заполнение a = [[1, 4, 3],[5, 7], [6,2,8]] Будет создан массив 1 4 3 5 7 6 2 8 В данном массиве нет элемента а[1][2] 1) Заполнение массива с помощью клавиатуры M= int(input("введите количество столбцов")) N= int(input("введите количество строк")) A= [[int(input("введите элемент массива ")) for i in range(M)] for i in range(N)]
2) Заполнение массива нулями M= int(input("введите количество столбцов")) N= int(input("введите количество строк")) A= [[0 for i in range(M)] for i in range(N)]
3)Заполнение массива случайными числами. import random M= int(input("введите количество столбцов")) N= int(input("введите количество строк")) A= [[random.randint(0, 9) for i in range(M)] for i in range(N)] Вывод двумерных массивов 1) вывод двумерного массива как список print(A)
Двумерный массив будет выведен в квадратных скобках [[9, 3, 6, 4, 5], [8, 2, 9, 2, 8], [4, 2, 7, 5, 7]]
2) если вся таблица заполнена числами, можно вывести массив следующим образом
for i in range(3):
print() for j in range(5): print(a[i][j], end=" ") Результат на экране будет таким 5 0 5 9 6 8 1 2 6 0 1 1 2 4 2
3) если таблица не полностью заполнена, тогда массив выводят следующим образом for i in range(len(A)): print() for j in range(len(A[i])): print(A[i][j], end=" ") 5 0 5 9 8 1 2 1 2 1 2 4
Len() – считает количество элементов (длину) списка. Учитель предлагает ответить на вопросы. 1) Дан массив v = [[1, 4, -5, 7], [0, 4, 5, -2], [1, 2, 0, -3]]
Как указать доступ к элементу массива со значением -5 А) v[0][2] Б) v[2][0] В) v[1][3] Г) v[3][1] Д) v[0][1]
2) Дан двумерный массив.
|
0
|
1
|
2
|
3
|
4
|
|
|
|
|
|
|
|
|
|
|
|
|
0
|
1
|
2
|
5
|
8
|
9
|
1
|
5
|
4
|
-4
|
|
2
|
2
|
0
|
2
|
-3
|
1
|
3
| Какой элемент в данном массиве не существуют?
А) a[1][2] Б) a[2][3] В) a[1][3] Г) a[2][2] Д) a[0][4]
3) Дана программа
a = [[1, 4, 3],[5, 7], [6,2,8]]
for i in range(3):
print()
for j in range(3):
print(a[i][j], end=" ")
При выполнении программы на 5-й строке выходит ошибка IndexError. Какая ошибка совершена?
А) Данный массив состоит из 3-х строк и 2-х столбцов. Программист на 4-й строке запустил цикл 3 раза, вместо 2-х
Б) В данном массиве нет элемента a[1][2], а программа выводит на экран массив полностью, включая элемент a[1][2]
В) инициализация массива некорректна
4) Найдите соответствия
А) A= [[0 for i in range(M)] for i in range(N)]
Б) A= [[int(input("введите элемент массива ")) for i in range(M)] for i in range(N)]
В) A= [[random.randint(0, 9) for i in range(M)] for i in range(N)]
Заполняет массив через клавиатуру
Заполняет массив случайными числами
Заполняет массив нулями
|
Ученики изучают новый материал.
Дети отвечают на вопросы
Записывают в тетрадь
Записывают в тетрадь
Записывают в тетрадь
Записывают в тетрадь
Учащиеся подытоживают свои знания по изучаемой теме.
|
Словесная оценка учителя
|
Слайд 4 – 16
Слайд 17- 20
|
| Теперь наши теоретические знания мы закрепим на практике. Вам необходимо выполнить на компьютере задачу №4 , №5 на Физминутка.
Компьютер для нас – это не только развлечение, но и инструмент для серьезной работы. Поэтому мы должны помнить и соблюдать правила поведения и техники безопасности при работе с ЭВМ.
Практическая работа на ПК.
А сейчас садитесь за ваши компьютеры и начинайте выполнение практической работы. При необходимости я подойду к вам и помогу, если это будет необходимо.
| Ученики выполняют упражнение
|
| слайд 22
задача №4 , №5
| Домашнее задание (2 минуты)
| Домашнее задание: «Двумерный массив».
|
|
|
слайд 23
| Рефлексия (2 минуты)
| Рефлексия: Подведение итогов урока.
Итак, наша работа в программе Пайтон на сегодня завершена.
Молодцы, вы хорошо поработали. Успешно с ней справились. Давайте подведем итоги. Итак, сегодня мы узнали, что такое двумерный массив, научились создавать и заполнять двумерный массив; выводить двумерный массив на экран.
А сейчас попрошу каждого из вас взять листочки, на которых написано Рефлексия и отметить оценку своей работе.
Мне было интересно работать на уроке Да Нет
Мне было легко выполнять задания Да Нет
Мне было трудно выполнять задания Да Нет
|
|
|
|
Метод extend()
|
|
для удаления элемента по указанному индексу.
|
Метод x.insert (i,n)
|
|
для вставки несколько элементов.
|
Метод remove()
|
|
для удаления элемента списка.
|
Метод pop()
|
|
позволяет вставить элемент n по указанному индексу i в массиве x.
|
Метод extend()
|
|
для удаления элемента по указанному индексу.
|
Метод x.insert (i,n)
|
|
для вставки несколько элементов.
|
Метод remove()
|
|
для удаления элемента списка.
|
Метод pop()
|
|
позволяет вставить элемент n по указанному индексу i в массиве x.
|
Метод extend()
|
|
для удаления элемента по указанному индексу.
|
Метод x.insert (i,n)
|
|
для вставки несколько элементов.
|
Метод remove()
|
|
для удаления элемента списка.
|
Метод pop()
|
|
позволяет вставить элемент n по указанному индексу i в массиве x.
|
Метод extend()
|
| для удаления элемента по указанному индексу.
| Метод x.insert (i,n)
|
| для вставки несколько элементов.
| Метод remove()
|
| для удаления элемента списка.
|
Метод pop()
|
| позволяет вставить элемент n по указанному индексу i в массиве x.
|
2. Установи соответствия между названиями типов данных и их обозначениями.
|