Урок информатики в 11 классе на тему «Работа со списками. Решение задач»

0
0
Материал опубликован 16 January 2023

Класс: 11

Тема урока: Работа со списками. Решение задач

Тип урока: урок применения знаний, умений и навыков (практическая работа)

Цель урока: сформировать представление об однородных массивах (списках), повторить основные способы и методы работы со списками, сформировать умение решать задачи с использованием одномерных массивов(списков).

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

1) обучающая: научиться применять основные методы для работы со списками; использовать при решении задач специальную функцию len при работе с различными типами данных; извлекать символы, объекты с помощью оператора индексирования; получать срез в различных типах данных.

2) развивающая: развитие мыслительной деятельности, речи, алгоритмического стиля мышления.

3) воспитательная: воспитание эмоционально-положительной направленности на практическую деятельность, интереса к информатике, личной ответственности за результаты своей работы.

Планируемые результаты:

Познавательные УУД:

научиться грамотно подходить к способам решения задач с использованием одномерных массивов;

применять полученные знания при работе с компьютером и на уроках информатики.

Регулятивные УУД:

выполнять учебные задания в соответствии с целью;

соотносить приобретенные знания с реальной жизнью;

выполнять учебное действие в соответствии с планом.

Коммуникативные УУД:

формулировать высказывание, мнение;

умение обосновывать, отстаивать свое мнение;

согласовывать позиции с партнером и находить общее решение;

Ресурсы: компьютеры, проектор, среда программирования Python IDLE, презентация.

Межпредметные связи: математика.

Основные понятия: список.


Ход урока (дидактическая структура урока)

1. Организационный этап (2 мин)

УУД:

- Личностные

- Коммуникативные

Приветствие, перекличка.


2. Проверка домашнего задания (10 мин)


УУД:

- Личностные

- Познавательные

- Регулятивные

- Знаково-символические

- Коммуникативные


Прохождение тестирования в системе NetTest:

https://kpolyakov.spb.ru/school/test10/py42.htm



3. Сообщение темы и целей урока



Тема урока: Работа со списками. Операции над списками в Python

Цели урока: сформировать представление об однородных массивах (списках)

Повторить основные способы и методы работы со списками

Сформировать умение решать задачи с использованием одномерных массивов(списков)



3. Повторение пройденного материала (10 мин)


УУД:

- Личностные

- Познавательные

- Знаково-символические

- Коммуникативные


Список (list) - это тип данных, представляющий собой упорядоченный набор элементов. Элементы одно списка должны иметь одинаковый тип. Например, список строк, список целых чисел. Примеры списков:

a = ["Андрей", "Вера", "Даша", "Коля", "Юра"]

Здесь создали список с именем a и элементами строкового типа.

b = [17, 409, 88]

Здесь создали список с именем b и элементами - целыми числами.

Каждый элемент списка имеет свой номер (индекс), и с каждым элементом списка можно отдельно работать. Нумерация элементов начинается с нуля:

t1673889766aa.png

a = ["Андрей", "Вера", "Даша", "Коля", "Юра"]

print(a[2])

Вывод: Даша

Чтобы перебрать все элементы списка используется цикл:

a = ["Андрей", "Вера", "Даша", "Коля", "Юра"]

for i in range(5):

print("Привет,", a[i])

Вывод:

Привет, Андрей

Привет, Вера

Привет, Даша

Привет, Коля

Привет, Юра

Создание списка

Списки можно создавать разными способами.

1) Перечислением всех элементов (этот способ был рассмотрен выше):

a = ["Андрей", "Вера", "Даша", "Коля", "Юра"]

Можно создать пустой список:

a = []

2) С помощью генератора списка:

a = [0]*5

Получится список, состоящий из пяти нулей: [0, 0, 0, 0, 0].

a = [ i for i in range(10) ]

Получится список [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

a = [ i*i for i in range(10) ]

Получится список [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

3) Путём ввода элементов с клавиатуры (каждый элемент с новой строки):

a = [0]*5

for i in range(5):

print("a[",i,"]= ", end = "")

a[i] = int(input())

Запустите эту программу и создайте список.

4) Путём ввода элементов с клавиатуры (все элементы в одной строке через пробел). Для этого используется метод a.split(), возвращающий список строк, которые получатся, если исходную строку разрезать на части по пробелам:

s = input() # пользователь вводит строку "1 2 3"

a = s.split()

print(a)

Вывод: ['1', '2', '3']

Вывод списка

Списки можно выводить разными способами.

1) Самый простой способ - просто дать команду вывести список:

b = [17, 409, 88]

print(b)

Вывод: [17, 409, 88]

2) Вывод каждого элемента списка по-отдельности:

a = ["Андрей", "Вера", "Даша", "Коля", "Юра"]

for i in range(5):

print(a[i])

3) Вывод каждого элемента списка по-отдельности в одной строке:

a = ["Андрей", "Вера", "Даша", "Коля", "Юра"]

for i in range(5):

print (a[i], end = " ")

4) Вывод элементов списка без обращения к индексам элементов:

fruits = ["Яблоко", "Банан", "Груша"]

for x in fruits:

print(x, end = " ")

Работа со списком

1) Элементы списка можно менять:

a = [1, 2, 3, 4, 5, 6]

for i in range(6):

if a[i] % 2 == 0:

a[i] = 0

print(a)

Вывод: [1, 0, 3, 0, 5, 0]

2) Можно добавлять элементы в конец списка. Для этого используется метод a.append(x):

a = [1, 2, 3]

a.append(4)

print(a)

Вывод: [1, 2, 3, 4]

3) Можно расширять список, добавляя в его конец элементы другого списка. Для этого используется метод a.extend(b):

a = [1, 2, 3]

b = [4, 5]

a.extend(b)

print(a)

Вывод: [1, 2, 3, 4, 5]

4) Списки можно копировать:

a = [1, 2, 3]

b = a

print(b)

5) Функция нахождения длины списка len(a):

a = ["Яблоко", "Банан", "Груша"]

x = len(a)

print(x)

Вывод: 3

6) Заполнение списка случайными элементами:

from random import randint

x = 7

a = [0]*x

for i in range(x):

a[i] = randint(0,100)

7) Перестановка элементов списка в обратном порядке. Метод a.reverse():

a = [0, 1, 2, 3, 4, 5]

a.reverse()

print(a)

Вывод: [5, 4, 3, 2, 1, 0]

8) Сортировка списка. Функция sorted(a):

По возрастанию:

animals = ["кот", "еж", "барсук", "собака", "свинья"]

animals = sorted(animals)

print(animals)

Вывод: ['барсук', 'еж', 'кот', 'свинья', 'собака']

По убыванию:

a = [5, 65, 14, 700, 8]

a = sorted(a, reverse = True)

print(a)

Вывод: [700, 65, 14, 8, 5]



4. Работа на компьютерах (20 мин)





УУД:

- Личностные

- Регулятивные

- Познавательные

- Знаково-символические

- Коммуникативные


Учащиеся пишут программы на компьютерах под руководством учителя.

Обучающиеся проходят инструктаж по ТБ перед работой за компьютером.

Практическая работа «Работа со списками. Операции над списками в Python»

Уровень А.

Дополните приведенный код, так чтобы он вывел сумму минимального и максимального элементов списка numbers.

numbers = [12.5, 3.1415, 2.718, 9.8, 1.414, 1.1618, 1.324]

print(…)


Дополните приведенный код так, чтобы он вывел среднее арифметическое элементов списка evens.

evens = [2, 4, 6, 8, 10, 12, 14, 16, 18, 20]


Уровень В.

1. Дан одномерный массив, состоящий из N целочисленных элементов. Ввести массив с клавиатуры. Найти максимальный элемент. Вывести массив на экран в обратном порядке.

2. В массиве действительных чисел все нулевые элементы заменить на среднее арифметическое всех элементов массива.

3. Найдите сумму и произведение элементов списка. Результаты вывести на экран.

Уровень С.

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

Входные данные

Выходные данные

2
9
6

[9]





На вход программе подается натуральное число n и n строк, а затем число k. Напишите программу, которая выводит k-ую букву из введенных строк на одной строке без пробелов.

Входные данные

Выходные данные

5
abcdef
bcdefg
cdefgh
defghi
efghij
2

bcdef

Входные данные

Выходные данные

3
abc
def
ghi

['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i']

На вход программе подается натуральное число n, а затем n строк. Напишите программу, которая создает список из символов всех строк, а затем выводит его.






Выставление оценок за работу на уроке.



Рефлексия

УУД:

- Личностные

- Регулятивные

- Коммуникативные



Рефлексия "Ключевые слова"

На доске прикреплены "ключевые слова" урока, по которым можно придумать рассказ или расставить их в определенной последовательности. Слова: оценка, задача, учитель, массив и т.д.




5. Домашнее задание (3 мин)


УУД:

- Личностные

- Коммуникативные



Написать программы:

Создать список своих любимых песен. Отсортировать список в алфавитном порядке и вывести его.

Создать список из десяти элементов. Заполнить его случайными числами. Вывести этот список. Вывести наименьший элемент списка.

Заполнить массив из 5 элементов случайными числами в интервале [-100,100]. Найти сумму всех отрицательных элементов массива. Если отрицательных элементов в массиве нет, вывести сообщение «отрицательных элементов нет».








Ответы на тест:

1,4,5

5

X[k] = 2*k + 1

X[k] = 12 - 3*k

X[k] = 2*k + k % 2

X[k] = 2*X[k-1]

X[N-1-k]

k+=2

S+=X[k]

X[k]>0

X[j] % 2 == 0



Ответы на задачи:

Уровень А

numbers = [12.5, 3.1415, 2.718, 9.8, 1.414, 1.1618, 1.324]

print(min(numbers) + max(numbers))


evens = [2, 4, 6, 8, 10, 12, 14, 16, 18, 20]

average = sum(evens)/len(evens)

print(average)

Уровень В

1

1

2

3

4

5

6

7


arr=[]

n = 5

for i in range(n):

    arr.append(input('Введите число: '))

 

print('максимальный элемент: ' + str(max(arr)))

print('обратный порядок: ' + str(list(reversed(arr))))



2

data = [1.2, -5, 0, 3.4, 0, 0]

mean = sum(data) / len(data)

data = [it if it else mean for it in data]

3

a = [1, 5, 12, 83]

print('Числа: ', a)

print('Сумма всех чисел: ', sum(a))

result = 1

for i in a:

   result *= i

print('Произведение всех чисел: ', result)



Уровень С

n=int(input())

b=[]

for i in range(n):

a=int(input())

b.append(a)

del b[1::2]

print(b)



n = int(input())

li = []

for _ in range(n):

li.append(input())

index = int(input())

res = ''

for s in li:

if len(s) >= index:

res += s[index - 1]

print(res)



n = int(input())

sp = []

for _ in range(n):

sp.extend(input())

print(sp)

в формате Microsoft Word (.doc / .docx)
Комментарии
Комментариев пока нет.