Рабочие листы
к вашим урокам
Скачать
1 слайд
ИНФОРМАТИКА
2 слайд
Урок №13
3.1.Тема:
«Сложные условия: and, or, not»
ИНФОРМАТИКА 8 КЛАСС
Учебник
«ИНФОРМАТИКА 7-9 КЛАСС»
И. Н. Цыбуля, Л. А. Самыкбаева,
А. А. Беляев, Н. Н. Осипова, У. Э. Мамбетакунов
Программирование
3 слайд
ПРОГРАММИРОВАНИЕ.
3.2. Списки, кортежи и словари
Явная / неявная
2.Статическая / динамическая
4 слайд
ПРОГРАММИРОВАНИЕ.
3.2. Списки, кортежи и словари
5 слайд
ПРОГРАММИРОВАНИЕ.
3.2. Списки, кортежи и словари
Встроенные в интерпретатор (built-in)
Не встроенные
None (неопределенное значение переменной)
Логические переменные (Boolean Type)
Числа (Numeric Type)
int – целое число
float – число с плавающей точкой
complex – комплексное число
Списки (Sequence Type)
list – список
tuple – кортеж
Строки (Text Sequence Type )
str
1
2
3
4
5
6 слайд
ПРОГРАММИРОВАНИЕ.
3.2. Списки, кортежи и словари
Встроенные в интерпретатор (built-in)
Не встроенные
Словари (Mapping Types)
dict – словарь
Бинарные списки (Binary Sequence Types)
bytes – байты
bytearray – массивы байт
memoryview – специальные объекты для доступа к внутренним данным объекта через protocol buffer
Множества (Set Types)
set – множество
frozenset – неизменяемое множество
6
7
8
7 слайд
ПРОГРАММИРОВАНИЕ.
3.2. Списки, кортежи и словари
8 слайд
ПРОГРАММИРОВАНИЕ.
3.2. Списки, кортежи и словари
Список (list) – это набор элементов, каждому из которых соответствует свой номер (или индекс).
Для создания списка необходимо в квадратных скобках ([]) через запятую перечислить его элементы.
>>> myfamily = ['father', 'mother', 'sister', 'brother']
0
1
2
3
Список может быть пустым:
>>> myfamily [ ]
objects = [1, 2.6, ꞌHelloꞌ, True]
9 слайд
ПРОГРАММИРОВАНИЕ.
3.2. Списки, кортежи и словари
myfamily = ['father', 'mother', 'sister', 'brother']
for item in myfamily:
print (‘Hello,' ,item)
Программа на Python
Результат вывода на экран
Hello, father
Hello, mother
Hello, sister
Hello, brother
10 слайд
ПРОГРАММИРОВАНИЕ.
3.2. Списки, кортежи и словари
myfamily = ['father', 'mother', 'sister', 'brother']
for item in myfamily:
print (‘Hello,' ,item)
Программа на Python
myfamily.remove(ꞌsisterꞌ)
print (myfamily)
>>>
[ꞌfatherꞌ, ꞌmotherꞌ, ꞌbrotherꞌ, ꞌuncleꞌ] #результат
myfamily.append (ꞌuncleꞌ)
print (myfamily)
>>>
[ꞌfatherꞌ, ꞌmotherꞌ, ꞌsisterꞌ, ꞌbrotherꞌ, ꞌuncleꞌ]
print (myfamily[3]) #результат uncle
11 слайд
ПРОГРАММИРОВАНИЕ.
3.2. Списки, кортежи и словари
Можно сложить целиком два отдельных списка, тогда новый список будет содержать элементы обоих списков:
x = [1, 2, 3, 4]
y = [5, 6, 7, 8]
z = x + y
print (z) #результат [1, 2, 3, 4, 5, 6, 7, 8]
Операции со списками
12 слайд
ПРОГРАММИРОВАНИЕ.
3.2. Списки, кортежи и словари
Операции со списками
13 слайд
ПРОГРАММИРОВАНИЕ.
3.2. Списки, кортежи и словари
Операции со списками
# Вставляем элемент 2 на место с индексом 1 >>> lst = [1, 3, 4]
>>> lst.insert(1, 2)
>>> print(lst)
[1, 2, 3, 4]
# Добавляем элемент 5 в конец списка
>>> lst.append(5)
>>> print(lst)
[1, 2, 3, 4, 5]
14 слайд
ПРОГРАММИРОВАНИЕ.
3.2. Списки, кортежи и словари
Операции со списками
# Развернем список
>>> lst.reverse()
>>> print(lst)
[5, 4, 3, 2, 1]
# Получим элемент по индексу 2(помним, что индексация начинается с 0)
>>> print(lst[2])
3
# Удалим элемент со значением 4
>>> lst.remove(4)
>>> print(lst)
[5, 3, 2, 1]
15 слайд
ПРОГРАММИРОВАНИЕ.
3.2. Списки, кортежи и словари
Кортеж (tuple), как и список, представляет собой последовательность элементов. Однако хранящиеся в нем элементы нельзя изменять, добавлять или удалять.
Для создания кортежа используются круглые скобки, в которые помещаются его значения, разделенные запятыми:
user = ('Timur', 23, 1/10/1998)
print(user)
В кортежах удобно хранить свойства объектов, например, имя, возраст, дату рождения. Если вдруг кортеж состоит из одного элемента, то после единственного элемента кортежа необходимо поставить запятую:
user = ('Tom',)
16 слайд
ПРОГРАММИРОВАНИЕ.
3.2. Списки, кортежи и словари
Кортеж защищен от изменений, как намеренных, так и случайных.
Кортежи в памяти занимают меньший объем по сравнению со списками.
Возможность использовать кортежи в качестве ключей словаря. Список в качестве ключа использовать не получится.
17 слайд
ПРОГРАММИРОВАНИЕ.
3.2. Списки, кортежи и словари
Способ 1. Использовать метод tuple():
# Создаем кортеж из набора цифр
>>> tpl = tuple((1, 2, 3, 4))
>>> print(tpl) (1, 2, 3, 4)
# Создаем кортеж из строки
>>> tpl = tuple('Строка')
>>> print(tpl) ('С', 'т', 'р', 'о', 'к', 'а')
Способ 2. Воспользоваться круглыми скобками ():
>>> tpl = (1, 2, 3, 4)
>>> print(tpl) (1, 2, 3, 4)
18 слайд
ПРОГРАММИРОВАНИЕ.
3.2. Списки, кортежи и словари
Можно применять операции над списками, не изменяющие список (сложение, умножение на число, методы index() и count() и некоторые другие операции).
Доступ к элементам кортежа осуществляется также как к элементам списка – через указание индекса. Но, изменять элементы кортежа нельзя!
Удалить отдельные элементы из кортежа невозможно. Но можно удалить кортеж целиком.
На базе кортежа можно создать список, верно и обратное утверждение.
19 слайд
ПРОГРАММИРОВАНИЕ.
3.2. Списки, кортежи и словари
Словари (dictionary) – это структура данных, в которой каждый элемент вместо индекса имеет уникальный ключ. Элементы словаря можно изменять.
Для создания словаря используются фигурные скобки ({}):
dictionary = {ключ1:значение1, ключ2:значение2, ...}
Создадим словарь под именем myschool:
myschool = {'5 klass':'Anara, Kanat, Pavel', '6 klass':
'Chyngyz, Tina, Emil'}
В этом словаре в качестве ключей используются названия классов, а в качестве значений – имена тех, кто учится в этих классах.
20 слайд
ПРОГРАММИРОВАНИЕ.
3.2. Списки, кортежи и словари
Создать словарь можно двумя способами (их вообще 4, но для простоты рассмотрим два самых часто используемых).
Способ 1. Использовать фигурные скобки {}.
# Пустой словарь
>>> empty_dict = {}
# Словарь с двумя парами ключ-значение
>>> value_dict = {'key1': 'value1', 'key2': 4}
21 слайд
ПРОГРАММИРОВАНИЕ.
3.2. Списки, кортежи и словари
Создать словарь можно двумя способами (их вообще 4, но для простоты рассмотрим два самых часто используемых).
Способ 2. Использовать метод dict():
# Обратите внимание, что
# 1) для ключей словаря не указываются скобки
# 2) вместо двоеточия используется знак равенства
>>> dct = dict(key1='value1', key2=4)
{'key1': 'value1', 'key2': 4}
22 слайд
ПРОГРАММИРОВАНИЕ.
3.2. Списки, кортежи и словари
Основные методы действий со словарями
23 слайд
ПРОГРАММИРОВАНИЕ.
3.2. Списки, кортежи и словари
Примеры применения методы действий со словарями
# Создать словарь
>>> dct = dict(key1='value1', key2=4)
# Получить значение по ключу(ВЫЗЫВАЕТ исключение
# при отсутствии такого ключа в словаре)
>>> dct['key1'] 'value1'
# Получить значение по ключу(НЕ вызывает исключение
# при отсутствии такого ключа в словаре)
>>> dct.get('key1') 'value1'
24 слайд
ПРОГРАММИРОВАНИЕ.
3.2. Списки, кортежи и словари
Примеры применения методы действий со словарями
# Получить пары ключ-значение
>>> dct.items() dict_items([('key1', 'value1'), ('key2', 4)])
# Получить все ключи в словаре
>>> dct.keys() dict_keys(['key1', 'key2'])
# Получить значение по ключу, после чего удалить
>>> dct.pop('key1') 'value1'
>>> print(dct) {'key2': 4}
# Добавить новое значение в словарь
>>> dct['k3'] = 'v3'
>>> print(dct) {'key2': 4, 'k3': 'v3'}
25 слайд
ПРОГРАММИРОВАНИЕ.
3.2. Списки, кортежи и словари
Задача 1.
Дан произвольный список. Представьте его в обратном порядке.
Решение:
1 способ
my_list = [2, 4, 8]
print (my_list[::-1])
Результат выполнения
[8, 4, 2]
2 способ
my_list = [2, 4, 8]
my_list.reverse()
print(my_list)
Результат выполнения
[8, 4, 2]
26 слайд
ПРОГРАММИРОВАНИЕ.
3.2. Списки, кортежи и словари
Задача 2.
Напишите функцию change(lst), которая принимает список и меняет местами его первый и последний элемент.
В исходном списке минимум 2 элемента.
Решение:
(1 способ)
def change(lst): new_start = lst.pop() # Удаляем последний элемент и сохраняем его в переменную
new_end = lst.pop(0) # Удаляем первый элемент и сохраняем его в переменную
lst.append(new_end) # Добавляем к списку новый последний элемент lst.insert(0, new_start) # Добавляем к списку новый первый элемент return lst
27 слайд
ПРОГРАММИРОВАНИЕ.
3.2. Списки, кортежи и словари
Задача 2.
Напишите функцию change(lst), которая принимает список и меняет местами его первый и последний элемент.
В исходном списке минимум 2 элемента.
Решение:
(1 способ)
# Тесты
print(change([1, 2, 3]))
print(change([1, 2, 3, 4, 5]))
print(change(['н', 'л', 'о', 'с']))
Результат выполнения:
[3, 2, 1]
[5, 2, 3, 4, 1]
['с', 'л', 'о', 'н']
28 слайд
ПРОГРАММИРОВАНИЕ.
3.2. Списки, кортежи и словари
Задача 2.
Напишите функцию change(lst), которая принимает список и меняет местами его первый и последний элемент.
В исходном списке минимум 2 элемента.
Решение:
(2 способ)
Результат выполнения:
def change(lst): lst[0], lst[-1] = lst[-1], lst[0] return lst
# Тесты
print(change([1, 2, 3]))
print(change([1, 2, 3, 4, 5])) print(change(['н', 'л', 'о', 'с']))
[3, 2, 1]
[5, 2, 3, 4, 1]
['с', 'л', 'о', 'н']
29 слайд
ПРОГРАММИРОВАНИЕ.
3.2. Списки, кортежи и словари
Задача 3.
Акыл задумался о поиске «бесполезного» числа на основании списка.
Суть его в следующем: он берет произвольный список чисел, находит самое большое из них, а затем делит его на длину списка.
Акыл пока не придумал, где может пригодиться подобное значение, но ищет у вас помощи в реализации такой функции useless(s).
30 слайд
ПРОГРАММИРОВАНИЕ.
3.2. Списки, кортежи и словари
Решение:
def useless(lst): return max(lst) / len(lst)
# Тесты
print(useless([1, 5, 77]))
print(useless([19, 8.3, -4, 11, 0, 5]))
print(useless([-33, -0.05, -4.18, 11.2, 13.12, 55, 7.1]))
25.666666666666668
3.1666666666666665
7.857142857142857
Результат выполнения:
31 слайд
ПРОГРАММИРОВАНИЕ.
3.2. Списки, кортежи и словари
Задача 4.
Санжар решил создать самый большой словарь в мире.
Для этого он придумал функцию biggest_dict(**kwargs), которая принимает неограниченное количество параметров «ключ: значение» и обновляет созданный им словарь my_dict, состоящий всего из одного элемента «first_one» со значением «we can do it».
Воссоздайте эту функцию.
32 слайд
ПРОГРАММИРОВАНИЕ.
3.2. Списки, кортежи и словари
Решение
my_dict = {'first_one': 'we can do it'}
def biggest_dict(**kwargs):
my_dict.update(**kwargs)
biggest_dict (k1=22, k2=31, k3=11, k4=91)
biggest_dict (name=‘Аида', age=31, weight=61, eyes_color='grey') print(my_dict)
{'first_one': 'we can do it', 'k1': 22, 'k2': 31, 'k3': 11, 'k4': 91, 'name': ‘Аида', 'age': 31, 'weight': 61, 'eyes_color': 'grey'}
33 слайд
ПРОГРАММИРОВАНИЕ.
3.2. Списки, кортежи и словари
Задача 5.
Создайте кортеж из 7-ми именованных кортежей учащихся разных городов.
В именованном кортеже будут присутствовать следующие поля: имя ученика, возраст, оценка за четверть, город проживания. Функция good_students() будет принимать этот кортеж, вычислять среднюю оценку по всем учащимся и выводить на печать следующее сообщение: “Ученики {список имен учащихся через запятую} в этой четверти хорошо учатся!”. В список учеников, которые выводятся по результатам работы функции, попадут лишь те, у которых оценка за четверть равна или выше средней по всем учащимся.
34 слайд
ПРОГРАММИРОВАНИЕ.
3.2. Списки, кортежи и словари
Кортеж из 7 учеников
35 слайд
ПРОГРАММИРОВАНИЕ.
3.2. Списки, кортежи и словари
Результат выполнения
>>> Ученики Артур, Айгуль, Санжар в этой четверти хорошо учатся!
36 слайд
Линейные алгоритмы
Линейные алгоритмы —
это алгоритмы, в которых команды
выполняются последовательно, в том
порядке, в котором они записаны.
Конец
Начало
Команда 1
Команда 2
Команда n
…
ПРОГРАММИРОВАНИЕ.
3.4. Циклы while и for.
37 слайд
Разветвляющиеся алгоритмы
Разветвляющиеся алгоритмы — это алгоритмы, содержащие конструкции ветвления.
Ветвление — это алгоритмическая конструкция, в которой, в зависимости от некоторого условия, происходит исполнение одной из двух последовательностей действий (ветвей).
ПРОГРАММИРОВАНИЕ.
3.1. Сложные условия: and, or, not.
38 слайд
Логические высказывания
Логическое высказывание — это утверждение, истинность которого можно определить однозначно.
Значения логических переменных
Истина
1
Ложь
0
False
True
ПРОГРАММИРОВАНИЕ.
3.1. Сложные условия: and, or, not.
39 слайд
Условие
Ветвь 1
Ветвь 2
Да
Нет
ПРОГРАММИРОВАНИЕ.
3.1. Сложные условия: and, or, not.
40 слайд
Каскадные ветвления.
1
ПРОГРАММИРОВАНИЕ.
3.1. Сложные условия: and, or, not.
2
Сложные условия.
41 слайд
Задача
Прямоугольник на координатной плоскости, со сторонами, параллельными координатным осям, задан координатами левой верхней и правой нижней своих вершин. Также даны координаты точки. Все координаты – целые числа. Определить, принадлежит ли точка заданному прямоугольнику.
(x1; y1)
(x2; y2)
x ≥ x1
y ≤ y1
x ≤ x2
y ≥ y2
(x; y)
ПРОГРАММИРОВАНИЕ.
3.1. Сложные условия: and, or, not.
42 слайд
Блок-схема алгоритма
x ≥ x1
y ≤ y1
x ≤ x2
y ≥ y2
Начало
x1, y1, x2, y2, x, y
x ≥ x1
Не принадлежит
y ≤ y1
x ≤ x2
y ≥ y2
Не принадлежит
Не принадлежит
Принадлежит
Не принадлежит
Конец
Да
Нет
Да
Нет
Да
Нет
Да
Нет
ПРОГРАММИРОВАНИЕ.
3.1. Сложные условия: and, or, not.
43 слайд
Логические высказывания
Логические
высказывания
Простые
Ни одна из частей не
является логическим
высказыванием
Сложные
Состоят из простых
логических
высказываний
ПРОГРАММИРОВАНИЕ.
3.1. Сложные условия: and, or, not.
44 слайд
Логические
операции
Конъюнкция
ПРОГРАММИРОВАНИЕ.
3.1. Сложные условия: and, or, not.
45 слайд
Конъюнкция (логическое умножение)
a and b
a
b
Конъюнкция возвращает значение «Истина», тогда и только тогда, когда истинны оба соединяемых высказывания.
ПРОГРАММИРОВАНИЕ.
3.1. Сложные условия: and, or, not.
46 слайд
Логические
операции
Конъюнкция
Дизъюнкция
a and b
возвращает True только при a = b = True
ПРОГРАММИРОВАНИЕ.
3.1. Сложные условия: and, or, not.
47 слайд
Дизъюнкция (логическое сложение)
a or b
b
Дизъюнкция возвращает значение «Истина», когда истинно одно или оба
соединяемых высказывания.
a
ПРОГРАММИРОВАНИЕ.
3.1. Сложные условия: and, or, not.
48 слайд
Логические
операции
Конъюнкция
Дизъюнкция
Инверсия
a or b
возвращает False только при
a = b = False
a and b
возвращает True только при
a = b = True
ПРОГРАММИРОВАНИЕ.
3.1. Сложные условия: and, or, not.
49 слайд
Инверсия (логическое отрицание)
not a
Инверсия изменяет значение логического выражения на противоположное.
a
ПРОГРАММИРОВАНИЕ.
3.1. Сложные условия: and, or, not.
50 слайд
Логические
операции
Конъюнкция
Дизъюнкция
Инверсия
a or b
возвращает False только при
a = b = False
a and b
возвращает True только при
a = b = True
изменяет значение a на противоположное
not a
Логические операции имеют самый низкий
приоритет выполнения.
ПРОГРАММИРОВАНИЕ.
3.1. Сложные условия: and, or, not.
51 слайд
Задача
Прямоугольник на координатной плоскости, со сторонами, параллельными координатным осям, задан координатами левой верхней и правой нижней своих вершин. Также даны координаты точки. Все координаты – целые числа. Определить, принадлежит ли точка заданному прямоугольнику.
(x1; y1)
(x2; y2)
x ≥ x1
y ≤ y1
x ≤ x2
y ≥ y2
и
и
и
x ≥ x1
y ≤ y1
x2 ≥
y2 ≤
(x; y)
ПРОГРАММИРОВАНИЕ.
3.1. Сложные условия: and, or, not.
52 слайд
Блок-схема алгоритма
Начало
x1, y1, x2, y2, x, y
Конец
Да
Нет
Точка
принадлежит
прямоугольнику
Точка
не принадлежит
прямоугольнику
x ≥ x1
И
y ≤ y1
x2 ≥
y2 ≤
ПРОГРАММИРОВАНИЕ.
3.1. Сложные условия: and, or, not.
53 слайд
Тестирование программы
5
10
5
10
(1; 7)
(10; 2)
(3; 3)
5
10
5
10
(1; 7)
(10; 2)
(7; 10)
ПРОГРАММИРОВАНИЕ.
3.1. Сложные условия: and, or, not.
54 слайд
Программа
ПРОГРАММИРОВАНИЕ.
3.1. Сложные условия: and, or, not.
print ('Программа, определяющая принадлежность точки \n прямоугольнику.')
print ('Введите координаты левой верхней вершины \n прямоугольника.')
x1, y1 = int (input ()), int (input ())
print ('Введите координаты правой нижней вершины \n прямоугольника.')
x2, y2 = int (input ()), int (input ())
print ('Введите координаты точки.')
x, y = int (input ()), int (input ())
if x2 >= x >= x1 and y2 <= y <= y1:
print ('Точка принадлежит прямоугольнику.')
else:
print ('Точка не принадлежит прямоугольнику.')
55 слайд
Задача
Написать программу для решения квадратных уравнений.
ax2 + bx + с = 0
, a ≠ 0
ПРОГРАММИРОВАНИЕ.
3.1. Сложные условия: and, or, not.
56 слайд
Блок-схема алгоритма
Начало
a, b, c
Конец
D = b2 – 4ac
При D < 0, уравнение
не имеет решений.
При D = 0, уравнение
имеет одно решение:
x = –b : 2a
При D > 0, уравнение
имеет два решения:
x1 = (–b + √D) : 2a
x2 = (–b – √D) : 2a
D < 0
Нет решений
D = 0
x = –b : 2a
x1 = (–b + √D) : 2a
x2 = (–b – √D) : 2a
x
x1, x2
Да
Нет
Да
Нет
ПРОГРАММИРОВАНИЕ.
3.1. Сложные условия: and, or, not.
57 слайд
Каскадные ветвления
Запись каскадного ветвления:
If <условие 1>:
<инструкции 1>
else:
<инструкции 2>
ПРОГРАММИРОВАНИЕ.
3.1. Сложные условия: and, or, not.
?
58 слайд
Запись каскадного ветвления:
If <условие 1>:
<инструкции 1>
else:
<инструкции 2>
elif <условие 2>:
<инструкции 3>
elif <условие 3>:
<инструкции 4>
ПРОГРАММИРОВАНИЕ.
3.1. Сложные условия: and, or, not.
Каскадные ветвления
?
59 слайд
ПРОГРАММИРОВАНИЕ.
3.1. Сложные условия: and, or, not.
print ('Программа для решения квадратных уравнений.\n. Введите коэффициенты уравнения.')
a, b, c = float (input ()), float (input ()), float (input ())
D = b ** 2 - 4 * a * c
from math import sqrt
if D < 0:
print ('Заданное уравнение не имеет решений.')
elif D == 0:
x = -b / (2 * a)
print ('x =', x)
else:
x1 = (-b + sqrt (D)) / (2 * a)
x2 = (-b - sqrt (D)) / (2 * a)
print ('x1 =', x1, 'x2 =', x2)
60 слайд
Каскадные ветвления.
1
ПРОГРАММИРОВАНИЕ.
3.1. Сложные условия: and, or, not.
2
Сложные условия.
61 слайд
ДО НОВЫХ ВСТРЕЧ!
62 слайд
Урок разработала
Клепачёва Е.А.,
учитель информатики УК АФМШЛ №61, председатель городского методического совета учителей информатики г.Бишкек, Отличник образования Кыргызской Республики
В подготовке данного урока использовались материалы образовательно-методического Интернет-ресурса для учителей
https://videouroki.net
Рабочие листы
к вашим урокам
Скачать
6 671 305 материалов в базе
Настоящий материал опубликован пользователем Клепачёва Елена Александровна. Инфоурок является информационным посредником и предоставляет пользователям возможность размещать на сайте методические материалы. Всю ответственность за опубликованные материалы, содержащиеся в них сведения, а также за соблюдение авторских прав несут пользователи, загрузившие материал на сайт
Если Вы считаете, что материал нарушает авторские права либо по каким-то другим причинам должен быть удален с сайта, Вы можете оставить жалобу на материал.
Удалить материалВаша скидка на курсы
40%Курс повышения квалификации
36 ч. — 180 ч.
Курс профессиональной переподготовки
300/600 ч.
Курс повышения квалификации
72 ч. — 180 ч.
Мини-курс
6 ч.
Мини-курс
3 ч.
Оставьте свой комментарий
Авторизуйтесь, чтобы задавать вопросы.