понедельник, 22 апреля 2024 г.

Урок 59-60. Цикл FOR и случайные числа

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

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

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

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

   

вторник, 16 апреля 2024 г.

Урок 57-58. Цикл FOR

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

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

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

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

понедельник, 8 апреля 2024 г.

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

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

На прошлом уроке мы познакомились с конструкцией Ветвление
Ветвление - алгоритмическая конструкция, в которой в зависимости от результата проверки условия ("да" или "нет") предусмотрен выбор одной из двух последовательностей действий (ветвей). Алгоритмы, в основе которых лежит структура "ветвления", называются разветвляющимися. 
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, " не принадлежит отрезку"


Домашнее задание 
  • Прислать учителю информатики до 15.04.24  до 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