вторник, 15 апреля 2025 г.

Урок 56-57. Решение задач на разветвление

Дата проведения занятия 15.04.25

На прошлом уроке мы познакомились с конструкцией Ветвление
Ветвление - алгоритмическая конструкция, в которой в зависимости от результата проверки условия ("да" или "нет") предусмотрен выбор одной из двух последовательностей действий (ветвей). Алгоритмы, в основе которых лежит структура "ветвления", называются разветвляющимися. 
if условие:
оператор1
else:
оператор2   

В качестве условий используются простые или сложные логические выражения:
Простые — записанные с помощью операций отношения: <, >, >=, <=, != (не равно), == (равно)
Например, 
x <= y
z != w 
Cложные — записанные с помощью логических операций: and, or, not
Например,
(x > a) and (x <= b)
not ((x == 1) or (x %2 == 0))

Работа на компьютере

Задание 0. Запуск среды IDLE. Подготовка к работе
1. Для запуска оболочки выберите в меню Пуск --> Программы --> Python 3.9  --> IDLE
В результате откроется окно Python Shell, в котором символы >>> означают приглашение ввести команду. 
2.Для создания файла с программой в меню File выберите пункт New File
3. В открывшемся окне наберите текст программы (обе строки набираем с 1 позиции):
#Урок 5
print ('Урок 5. Вас приветствует программа Васи Иванова') 
4. Сохраните текст в своей папке под именем Py05_name.py, выбрав пункт меню File --> Save As. Учтите, что name - это ваша фамилия латинскими буквами.
В этом файле будете сохранять программы, написанные на этом уроке.

Задание 1
Line2. Написать в тетради программу, которая вводит два числа a, b и меняет местами их значения. Затем программа выводит измененные числа a, b. Это линейный алгоритм!
Начало
Ввести целое a
Ввести целое b
temp = a    # сохранили a
a = b          # затерли старое значение, теперь здесь b
b = temp   # записали значение a
Вывести значение a, b
Конец

Задание 2
Max3. Разобрать алгоритм нахождения максимального из трех чисел. Составить блок-схему, написать текст программы, отладить программу
Ввести три числа a, b, c
max = a
Если b > max:
    max = b
Если c > max:
    max = c
Вывести значение max

Задание 3
Составить блок-схемы, написать текст программ, отладить следующие программы
1. If9. Даны две переменные вещественного типа: A, B. Перераспределить значения данных переменных так, чтобы в A оказалось меньшее из значений, а в B — большее. Вывести новые значения переменных A и B.

2. If30. Дано целое число, лежащее в диапазоне 10–999. Вывести его строку - описание вида «четное двузначное число», «нечетное трехзначное число». 
Проверить работу на числах 12, 23, 544, 657

3. IF98. Дано целое трехзначное число. Если младшая цифра 3 и число делится на 7, то найти сумму старшей и младшей цифры, иначе найти разность старшей и младшей цифры. Вывести результат.

4. IF96. Определить, принадлежит ли точка x отрезку [-7, 15] Ввести целое значение x, вывести сообщение: "Точка x =", x, " принадлежит отрезку" или "Точка x =", x, " не принадлежит отрезку"


Домашнее задание 
  • Прислать учителю информатики до 21.04.25  до 22.00 по школьной эл почте письмо-отчет о выполнении домашнего задания.
  • Тема письма: 8 кл ДЗ-5  Питон <ваша фамилия>
  • К письму прикрепить  файл с текстом  решенной задачи и скриншот, на котором видно выполнение задачи - для каждой решенной задачи
Задание на 3. 
If3. 
Ввели натуральное число x. 
Если число 
делится на 3:
      увеличить  x на 6
Иначе:
      умножить x на 3
Вывести x
Проверить работу программы на числах 12 и 11

Задание на 4-5. Решить задачу If3 и решить задачи IF97, IF99
IF97. Определить, принадлежит ли точка x отрезку (a, b] Ввести целые значения a, b, x, вывести сообщение: "Точка x =", x, " принадлежит отрезку" или "Точка x =", x, " не принадлежит отрезку"

IF99. Автомат получает на вход трехзначное целое десятичное число. По полученному числу строится новое десятичное число по следующим правилам.
А. Вычисляются два новых числа: сумма старшего и среднего разрядов, а также сумма среднего и младшего разрядов.
В. Полученные два числа записываются подряд в порядке невозрастания, без разделителей.
Задание
1. Написать программу. Проверить работу программы на числах 321, 567.
2. Найти наибольшее число, при выводе которого будет выведено 1716

вторник, 8 апреля 2025 г.

Урок 54-55. Разветвляющийся алгоритм

Дата проведения занятия 8.04.25
Для изучения Python  используем главы из учебника Босовой 3.1, 3.2, 3.4 

Часть I

Проверяем выполнение домашнего задания. Обязательно должны быть блок-схемы для написанных программ

Часть II

Ветвление - алгоритмическая конструкция, в которой в зависимости от результата проверки условия ("да" или "нет") предусмотрен выбор одной из двух последовательностей действий (ветвей). Алгоритмы, в основе которых лежит структура "ветвления", называются разветвляющимися.
Употребляют разные названия этого алгоритма:
  • разветвляющийся
  • ветвления
  • выбора
  • условный 

Существует 2 формы разветвляющегося алгоритма :
  • полная форма
  • неполная форма 
На Python полная форма разветвляющегося алгоритма реализуется с помощью условного оператора. Сдвиг в записи ОБЯЗАТЕЛЕН!
if условие:
оператор1
elif:
оператор2
elif:
оператор3
else:
оператор4
На Python неполная форма разветвляющегося алгоритма реализуется с помощью условного оператора:
if условие:
оператор

Условный оператор работает так: 
1.      Проверяется выражение, которое является условием.
2.      Если условие истинно (true), выполняется оператор1, иначе (false) — оператор2.
Операторы  оператор1 и оператор2 никогда не выполняются вместе — работает только один из них. После выполнения условного оператора управление передается на оператор, который следует за условным.

Обратите внимание: в ветке if и в ветке else стоит ТОЛЬКО ОДИН ОПЕРАТОР!
А что делать, если надо выполнить не ОДИН, а НЕСКОЛЬКО операторов? Их надо "объединить" в один оператор. На Python это делается очень просто: все эти операторы должны быть написаны с одинаковым сдвигом  
if условие:
оператор12
оператор13
оператор14
оператор15
else:
оператор21
оператор22
оператор23
В качестве условий используются простые или сложные логические выражения:
Простые — записанные с помощью операций отношения: <, >, >=, <=, != (не равно), == (равно)
Например, 
x <= y
z != w 
Cложные — записанные с помощью логических операций: and, or, not
Например,
(x > a) and (x <= b)
not ((x == 1) or (x %2 == 0))   

Работа на компьютере

Задание 0. Запуск среды IDLE. Подготовка к работе
1. Для запуска оболочки выберите в меню Пуск --> Программы --> Python 3.9  --> IDLE
В результате откроется окно Python Shell, в котором символы >>> означают приглашение ввести команду. 
2.Для создания файла с программой в меню File выберите пункт New File
3. В открывшемся окне наберите текст программы (обе строки набираем с 1 позиции):
#Урок 4
print ('Урок 4. Вас приветствует программа Васи Иванова') 
4. Сохраните текст в своей папке под именем Py04_name.py, выбрав пункт меню File --> Save As. Учтите, что name - это ваша фамилия латинскими буквами.
В этом файле будете сохранять программы, написанные на этом уроке.

Задание 1
Составить блок-схему, написать в тетради программу, которая определяет, является ли введенное число четным или нечетным.
Для определения четности используется операция  a % 2.

Алгоритм
Начало
  Выведите сообщение: 'Программа определяет четность числа'
  Введите а
  Если а % 2 == 0: 
        выведите сообщение: 'Число a=', a, ' четное'
  иначе:
        выведите сообщение: 'Число a=', a, '  нечетное'
Конец
Задание 2
Line2. Написать в тетради программу, которая вводит два числа a, b и меняет местами их значения. Затем программа выводит измененные числа a, b. Это линейный алгоритм!
Начало
Ввести целое a
Ввести целое b
temp = a    # сохранили a
a = b          # затерли старое значение, теперь здесь b
b = temp   # записали значение a
Вывести значение a, b
Конец
Задание 3
 Составить блок-схему, написать текст программы, отладить следующие программы
1. Ввести число, вывести сообщение о том, делится ли оно на 5

2.  Даны две переменные вещественного типа: AB. Перераспределить значения данных переменных так, чтобы в A оказалось меньшее из значений, а в B — большее. Вывести новые значения переменных A и B.

Домашнее задание

    • Прислать учителю информатики до 14.04.25  до 22.00 по школьной эл почте письмо-отчет о выполнении домашнего задания.
    • Тема письма: 8 кл ДЗ-4  Питон <ваша фамилия>
    • К письму прикрепить  файл с текстом  решенной задачи и скриншот, на котором видно выполнение задачи - для каждой решенной задачи
    Задание на 3. 
    If3. 
    Ввели натуральное число x. 
    Если число 
    x нацело делится на 3:
          увеличить  x на 6
    Иначе:
          умножить x на 3
    Вывести x
    Проверить работу программы на числах 12 и 11

    Задание на 4-5. Решить задачу If3 и решить задачи IF96, IF97
    IF96. Ввести трехзначное число z. 
    Если число делится  нацело на 7 и  его первая цифра 2, то вывести сообщение: "Число мне нравится", иначе вывести сообщение: "Число мне не нравится"
    IF97. Определить, принадлежит ли точка x отрезку [a, b]. Ввести целые значения a, b, x, вывести сообщение: "Точка x =", x, " принадлежит отрезку" или "Точка x =", x, " не принадлежит отрезку"