вторник, 20 мая 2025 г.

Урок 66-67. Повторение. Задачи из ОГЭ

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

Ребята, вы заканчиваете 8 класс. Посмотрите, оказывается вы уже можете решать большую часть заданий из ОГЭ. Попробуем и убедимся в этом

Задания 1 из ОГЭ с сайта К. Полякова

1.1. В одной из кодировок каждый символ кодируется 8 битами. Вова написал текст (в нём нет лишних пробелов):

«Белка, сурок, слон, медведь, газель, ягуар, крокодил, аллигатор – дикие животные».

Затем он вычеркнул из списка название одного из животных. Заодно он вычеркнул ставшие лишними запятые и пробелы – два пробела не должны идти подряд.

При этом размер нового предложения в данной кодировке оказался на 10 байт меньше,

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

1.2. В одной из кодировок Unicode каждый символ кодируется 16 битами. Вова написал текст (в нём нет лишних пробелов): 

«Собака, кошка, курица, корова, лошадь, коза, овца – домашние животные». Затем он добавил в список название ещё одного животного. Заодно он добавил необходимые запятые и пробелы. При этом размер нового предложения в данной кодировке оказался на 10 байт больше, чем размер исходного предложения. Напишите в ответе длину добавленного названия животного в символах.

1.3. В одной из кодировок Unicode каждый символ кодируется 2 байтами.

Иван написал текст (в нем нет лишних пробелов):

«Январь, февраль, март, апрель, май, июнь, июль, август, сентябрь, октябрь, ноябрь, декабрь – месяцы года»Ученик вычеркнул из списка название одного месяца. Заодно он вычеркнул ставшие лишними запятые и пробелы – два пробела не должны идти подряд. При этом размер нового предложения

в данной кодировке оказался на 128 бит меньше, чем размер исходного предложения.

Среди месяцев, имеющих одинаковое количество букв, Иван вычеркивает последний по порядку.

Напишите в ответе вычеркнутое название месяца.

1.4. В одной из кодировок каждый символ кодируется 8 битами. Вова написал текст (в нём нет лишних пробелов):

«Фиалка, лютик, роза, гвоздика, мак, хризантема, гладиолус – это цветы».

Затем он добавил в список название ещё одного растения. Заодно он добавил необходимые запятые и пробелы. При этом размер нового предложения в данной кодировке оказался на 11 байт больше,

чем размер исходного предложения. Напишите в ответе длину добавленного названия растения в символах.


Задания 5 из ОГЭ с сайта К. Полякова

1.1. У исполнителя Альфа две команды, которым присвоены номера:

 1. прибавь 1

 2. умножь на b

(b - неизвестное натуральное число; b ≥ 2)

Выполняя первую из них, Альфа увеличивает число на экране на 1,

а выполняя вторую, умножает это число на b.

Программа для исполнителя Альфа - это последовательность номеров команд.

Известно, что программа 11211 переводит число 6 в число 82. Определите значение b.

1.2. У исполнителя Альфа две команды, которым присвоены номера:

 1. прибавь 1

 2. умножь на b

(b - неизвестное натуральное число; b ≥ 2)

Выполняя первую из них, Альфа увеличивает число на экране на 1,

а выполняя вторую, умножает это число на b.

Известно, что программа 11221 переводит число 7 в число 145. Определите значение b

1.3. У исполнителя Бета две команды, которым присвоены номера:

 1. прибавь b

 2. умножь на 2

(b – неизвестное натуральное число)

Выполняя первую из них, Бета увеличивает число на экране на b,

а выполняя вторую, умножает это число на 2.

Программа для исполнителя Бета – это последовательность номеров команд.

Известно, что программа 12121 переводит число 13 в число 94. Определите значение b.

1.4. У исполнителя Альфа две команды, которым присвоены номера:

 1. прибавь 2

 2. умножь на b

(b - неизвестное натуральное число; b ≥ 2)

Выполняя первую из них, Альфа увеличивает число на экране на 2,

а выполняя вторую, умножает это число на b.

Известно, что программа 12121 переводит число 3 в число 90. Определите значение b.


Задания 6 из ОГЭ с сайта К. Полякова

Откройте сайт К. Полякова и решите следующие задачи:
1237, 1247, 1256,  1257, 1260 (ищите подвох!), 
6953, 6954, 6962, 6963
Задача 1236
s = int(input())
t = int(input())
if s > 10 or t > 10:
print("ДА")
else:
print("НЕТ")
Было проведено 9 запусков этой программы, при которых в качестве значений переменных s и t вводились следующие пары чисел:
  (1, 2); (11, 2); (1, 12); (11, 12); (–11, –12); 
(–11, 12); (–12, 11); (10, 10); (10, 5)
Сколько было запусков, при которых программа напечатала «ДА»?

вторник, 13 мая 2025 г.

Урок 64-65. Списки

Дата проведения занятия 13.05.25
Информация с сайтов: Phyton для начинающих, Skillbox Media

До сих пор в Phyton вы имели дело с простыми типами данных. К простым типам относятся порядковые (целые, логические, символьные)  и вещественные типы данных

Сегодня мы переходим к изучению списков. Списки относятся к  структурированным типам данных.

Что такое список?

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

В одном списке одновременно могут лежать данные разных типов — например, и строки, и числа, и списки. То есть можно построить список, элементами которого будут списки.
Списки называют динамическими структурами данных, потому что их можно менять на ходу: удалить один или несколько элементов, заменить или добавить новые.
Очень важно: списки в Python содержат не сами данные, а ссылки на их расположение в памяти компьютера!

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

  1.  Пустой список. В нем нет ни одного элемента
    a = [ ]

  2.  Список, заданный перечислением элементов. В списке b 3 элемента.
    Элемент с индексом 0 это 5, элемент с индексом 1 это 15, Элемент с индексом 2 это 'cat'
    b = [5, 15, 'cat']

  3.  Список с начальным заполнением. Например, список из 10 нулей
    d = list(10*'0')

  4.  Cписок, построенный с помощью  генератора списков. Генератор списков - способ построить новый список, применяя выражение к каждому элементу последовательности. Генераторы списков очень похожи на цикл for.
b = [i*2 for i in range(20)] # список 20 четных чисел

d = [str(i) for i in range(20)] # список 20 строк


from random import *

a = [randint(2, 8) for i in range(20)] # список 20 случайных чисел

Вывод на печать элементов списка

Для вывода на печать можно воспользоваться функцией print. 
Например
a = [ 1, 2, 3]
print(a) # получим [1, 2, 3]
В этой статье описано еще несколько способов вывода списка на печать. Прочитайте! Очень полезно

Изменение значения элементов

В программе к элементу списка b с номером i следует обращаться так: b[i]
Можно изменить значение элементов после того, как список создан.
Например
a = [ 1, 2, 3]
print(a) # получим [1, 2, 3]
a[1] = 4 # заменяем значение элемента с индексом 1 на 4 
print(a) # получим  [1, 4, 3]

Встроенные функции для списков

В Python есть четыре функции, которые позволяют узнавать длину списка, сортировать его и возвращать максимальное и минимальное значение.
  1. len()
    Возвращает длину списка:
    a = [5, 7, 3]
    l = len(a) # 3
  2.  sorted()
    Возвращает отсортированный список:
    a = [5, 7, 3]
    a = sorted (a)
    print (a) #  [3, 5, 7]
  3.  min(), max()
    Возвращают наименьший и наибольший элемент списка:
    a = [5, 7, 3, -5, -2]
    print(max(a), min(a)) # 7 -5
В качестве примера напишем программу Py09.py по следующему заданию:
Заполнить список из 10 элементов случайными целыми  числами от 3 до 15.
Отсортировать список
Вывести значения элементов списка на экран в одну строку
Сосчитать сумму элементов,  вывести сумму на экран с новой строки.

from random import * print('Урок 8') a = [randint(3, 15) for i in range(10)] # список из 10 случайных чисел a = sorted(a) # Сортировка списка print(a) # вывод списка
sm = 0 # обнуление суммы
for i in range(10): # поиск суммы sm += a[i] print ('сумма=', sm ) # вывод суммы


Работа на ПК в классе:

1. Запустить программу Py09.py, показать учителю
2. Далее работаем по вариантам. Прислать учителю текст программ прикрепленным файлом
Вариант 1. Блок-схема для каждой задачи обязательна
  1. Заполнить список из 5 элементов четными значениями, начиная с 2.  Вывести элементы на экран в одну строку. Сосчитать сумму элементов,  вывести сумму на экран с новой строки.  
  2. Заполнить список из 8 элементов случайными целыми  числами от 11 до 18.  Вывести элементы на экран в одну строку. Найти максимальное значение и вывести на экран с новой строки. Ввести с экрана произвольный номер элемента списка и вывести значение элемента. Если  такого элемента нет, вывести сообщение "Неверный номер элемента"
Вариант 2. Блок-схема для каждой задачи обязательна
  1. Заполнить список из 6 элементов нечетными значениями, начиная с 1. Вывести элементы на экран в одну строку. Сосчитать сумму элементов,  вывести сумму на экран с новой строки.
  2. Заполнить список из 12 элементов случайными целыми  числами от 15 до 25. Вывести элементы на экран в одну строку. Найти минимальное значение и вывести на экран с новой строки. Ввести с экрана произвольный номер элемента списка и вывести значение элемента. Если  такого элемента нет, вывести сообщение "Неверный номер элемента"

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

Прислать учителю информатики до 19.05.25 до 22.00 по школьной эл почте письмо-отчет о выполнении домашнего задания.
  1. Заполнить список из 9 элементов степенями 2, начиная с нулевой степени (1). Вывести список в одну строку. Найти сумму элементов списка, вывести с новой строки
  2. Заполнить список  из 15 элементов случайными числами от 9 до 27, Вывести список в одну строку. На следующей строке через запятую вывести индексы (номера) всех элементов, значение которых делится на 3
  3. Написать программу, которая заполняет список  из 20 элементов случайными числами от 2 до 12, а затем считает, сколько максимумов находится в списке. Вывести список в одну строку. На следующей строке вывести количество максимумов

понедельник, 5 мая 2025 г.

Урок 62-63. Цикл for и случайные числа

Дата проведения занятия 8а, 8б - 6.05.25
8в - 7.05.25
Для изучения Python  используем главы из учебника Босовой 3.1, 3.2, 3.4 
Цикл for -  цикл с заданным числом повторений, цикл с параметром
На прошлом уроке мы познакомились с понятием цикл
Цикл - это одна из трех основных алгоритмических конструкций. 
Цикл - многократное повторение некоторой последовательности действий

Как правило, циклы for используются либо для повторения какой-либо последовательности действий заданное число раз, либо для изменения значения переменной в цикле от некоторого начального значения до некоторого конечного.

Для повторения цикла некоторое заданное число раз n можно использовать цикл for вместе с функцией range

Оператор цикла for может иметь такую форму. Эта запись означает, что переменная i будет изменяться от 0 до n-1, а цикл выполнится n раз
for i in range(n):
  
оператор

Оператор цикла for может иметь и такую форму. Эта запись означает, что переменная i будет изменяться с шагом s от a до n-1. Шаг может быть положительным или отрицательным!

for i in range(a, n, s):
  
оператор

Изменение переменной-параметра цикла внутри цикла является логической ошибкой.

Обратите внимание: в  теле цикла стоит ТОЛЬКО ОДИН ОПЕРАТОР!
А что делать, если надо выполнить не ОДИН, а НЕСКОЛЬКО операторов? Они должны составлять одно тело, они должны быть написаны с одинаковым СДВИГОМ относительно заголовка.
Случайные числа
Большинство стандартных функций языка Python разбиты на группы по назначению, и
каждая группа записана в отдельный файл, который называется модулем.
Для работы со случайными числами нужно использовать модуль random

1. Случайное число от 0 до 1, тип результата float: random()
2. Случайное  целое число n, в диапазоне  a ≤ n ≤ b : randint(a,b)
Пример: для того, чтобы записать в переменную a случайное число в диапазоне от 1 до 10,
можно использовать следующие операторы:
from random import randint
a = randint (1,10)

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

Задание 0. Запуск среды IDLE. Подготовка к работе
1. Для запуска оболочки выберите в меню Пуск --> Программы --> Python 3.12 --> IDLE
2. Для создания файла с программой в меню File выберите пункт New File
3. В открывшемся окне наберите текст программы (обе строки набираем с 1 позиции):
#Урок 8
print ('Урок 8. Вас приветствует программа Васи Иванова') 
4. Сохраните текст в своей папке под именем Py08_name.py, выбрав пункт меню File --> Save As. Учтите, что name - это ваша фамилия латинскими буквами.
В этом файле будете сохранять программы, написанные на этом уроке.
Задание 1. Знакомство со случайными числами в Python
Составить блок-схему, написать текст программы, отладить следующие программы
1. В цикле вывести на экран n раз переменную n и текст: "Я знаю случайные числа"
Запустить программу 5 раз. Предложение from random import randint вводится один раз, его не надо повторять перед каждой программой
from random import randint
n = randint (1, 5) # случайное число
for i in range (n):
      print(n, "Я знаю случайные числа")

2. В цикле вывести на экран 6 случайных чисел от -30 до 50, включая границы. Запустить программу 5 раз. Одинаковые ли числа мы получаем при каждом запуске?
for i in range (6):
      x =  randint (-30, 50)  # случайное число
      print (x, end=',') # все числа теперь выводятся в одну строку через ,
print ('') # возвращаем перевод строки

3. Изменить программу так, чтобы выводилось 10 чисел от 15 до 73, а затем 4 числа от -10 до 10

Задание 2
1. В цикле получить 7 целых случайных чисел от 5 до 25, найти их сумму, вывести сумму на экран.
2. Ввести число n. В цикле получить n целых случайных чисел от 5 до 25, найти их произведение, вывести произведение на экран.

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

Прислать учителю информатики до 12.05.25  до 22.00 по школьной эл почте письмо-отчет о выполнении домашнего задания.
Тема письма: 8 кл ДЗ-8 Питон  <ваша фамилия>

Задание Питон 8. Написать и отладить  программы
В тетради начертить  блок-схемы. К письму присоединить  текст на питоне + скриншот для каждой выполненной программы
 py8hm_8_name. 
1. Ввести числа a, b.  В цикле найти сумму 10 случайных чисел x таких, что a<=x<=b. Вывести на экран все случайные числа в одну строку, затем их сумму
2. Ввести число n (от 1 до 7). Затем в цикле получить  n случайных чисел от -15 до 20, найти  сумму положительных чисел, сумму отрицательных чисел. Вывести на экран: все случайные положительные числа в одну строку, все случайные отрицательные числа в одну строку, затем сумму положительных чисел, сумму отрицательных чисел

   

понедельник, 28 апреля 2025 г.

Урок 60-61. Цикл for

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

Цикл  for -  цикл с заданным числом повторений, цикл с параметром

Цикл - это одна из трех основных алгоритмических конструкций. Нарисуем цикл в тетради
Цикл - многократное повторение некоторой последовательности действий

Как правило, циклы for используются либо для повторения какой-либо последовательности действий заданное число раз, либо для изменения значения переменной в цикле от некоторого начального значения до некоторого конечного.

Для повторения цикла некоторое заданное число раз n можно использовать цикл for вместе с функцией range

Оператор цикла for может иметь такую форму. Эта запись означает, что переменная i будет изменяться от 0 до n-1, а цикл выполнится n раз
for i in range(n):
  
оператор

Оператор цикла for может иметь и такую форму. Эта запись означает, что переменная i будет изменяться с шагом s от a до n-1, а цикл выполнится n - a раз. Параметр цикла меняется от начального значения до конечного значения, увеличиваясь всякий раз на единицу.
Шаг может быть положительным или отрицательным!

for i in range(a, n, s):
  
оператор

 Текст от слова for до знака : включительно называется заголовком цикла, а оператор после : - телом цикла. Переменная после слова for называется параметром цикла.

Для каждого значения переменной-параметра выполняется тело цикла. Однократное повторение тела цикла называется итерацией цикла. Значение параметра цикла после завершения цикла считается неопределенным.

Если для цикла for  начальное значение переменной цикла больше конечного значения, то тело цикла не выполнится ни разу.

Изменение переменной-параметра цикла внутри цикла является логической ошибкой.

Обратите внимание: в  теле цикла стоит ТОЛЬКО ОДИН ОПЕРАТОР!
А что делать, если надо выполнить не ОДИН, а НЕСКОЛЬКО операторов? Они должны составлять одно тело, они должны быть написаны с одинаковым СДВИГОМ относительно заголовка.

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

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

Задание 1
Составить блок-схему, написать текст программы, отладить следующие программы
1. Вывести на экран 4 раза переменную i и текст: "Я учусь писать на Питоне"
for i in range(4):
      print(i, "Я учусь писать на Питоне")

2. Ввести целое число a, вывести 5 целых чисел, которые находятся на числовой оси правее числа a, каждое следующее больше на 1

3. Ввести целое число b, вывести 7 целых чисел, которые находятся на числовой оси левее числа b, каждое следующее меньше на 2 (в команде for используйте отрицательный шаг)
4. Ввести число n (от 3 до 5). До входа в цикл обнулить переменную суммы s (s=0). Затем в цикле ввести n чисел, найти их сумму s, вывести сумму s на экран
5. Ввести число n (от 3 до 5). До входа в цикл обнулить счетчик чисел cnt (cnt=0). Затем в цикле ввести n чисел и сосчитать, сколько введено чисел, которые больше 100. Вывести значение счетчика cnt на экран.

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

Прислать учителю информатики до 5.05.25  до 22.00 по школьной эл почте письмо-отчет о выполнении домашнего задания.
Тема письма: 8 кл ДЗ-7 Питон  <ваша фамилия>

Задание Питон 7. Написать и отладить  программу
В тетради начертить  блок-схемы. К письму присоединить  текст на питоне + скриншот для каждой выполненной программы
 py8hm_07_name. 
1. Вывести в порядке возрастания 7  целых четных  чисел, начиная с 4.
2. Ввести целое число a. Вывести в порядке возрастания 5 чисел, начиная с 3, каждое из которых больше предыдущего на a 
   

понедельник, 21 апреля 2025 г.

Урок 58-59. Решение задач на разветвление. Продолжение

Дата проведения занятия 22.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.12  --> IDLE
В результате откроется окно Python Shell, в котором символы >>> означают приглашение ввести команду. 
2.Для создания файла с программой в меню File выберите пункт New File
3. В открывшемся окне наберите текст программы (обе строки набираем с 1 позиции):
#Урок 6
print ('Урок 6. Вас приветствует программа Васи Иванова') 
4. Сохраните текст в своей папке под именем Py06_name.py, выбрав пункт меню File --> Save As. Учтите, что name - это ваша фамилия латинскими буквами.
В этом файле будете сохранять программы, написанные на этом уроке.

Задание 0
Определить, можно ли построить треугольник по трем сторонам.
Составить блок-схему, написать текст программы, отладить программу

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

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

Задание 3
Квадратное уравнение имеет вид: a*x^2 + b*x +c
Написать программу, которая по введенным коэффициентам сообщит нам, сколько корней имеет это уравнение: 2 разных корня, 2 одинаковых корня, не имеет корней.
Составить блок-схему, написать текст программы, отладить программу


Задание 4
Усложнить Задание 3. Для случаев, когда уравнение имеет решения, найти эти решения. Изменить блок-схему, написать текст программы, отладить программу

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

Задание на 4. Решить задачу If31 и решить задачу IF100
IF100. Торговая компания предоставляет покупателям скидки на следующих условиях.
Если сумма покупки выше 7000 р, то скидка 10% от стоимости покупки
Иначе скидка не предоставляется
Составить программу, которая по стоимости покупки определяет процент скидки и выводит стоимость покупки с учетом скидки

Задание на 5. Решить задачу If31 и решить задачу IF101
IF100. Торговая компания предоставляет покупателям скидки на следующих условиях.
Если сумма покупки меньше 2000 р, скидка не предоставляется
Если сумма покупки от 2000 р до 5000 р, то скидка 3% от стоимости покупки
Если сумма покупки от 5000 р до 10000 р, то скидка 5% от стоимости покупки
Если сумма покупки выше 10000 р, то скидка 10% от стоимости покупки
Составить программу, которая по стоимости покупки определяет процент скидки и выводит стоимость покупки с учетом скидки

вторник, 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, " не принадлежит отрезку"