Главная 1 четверть  2 четверть  3 четверть

10 А класс, углубленный уровень

Дополнительные занятия

Понедельник 14:25 - 15:05

Среда 14:05 - 14:55

 

ЕГЭ:   ФИПИ       Сдам ЕГЭ    Сайт К.Ю. Полякова

Видеоконсультация от разработчиков ГИА (ЕГЭ и ОГЭ)

Дополнительный электронный учебник

ИИ‑помощник от Яндекс Учебника для подготовки к ЕГЭ

 

ОЛИМПИАДЫ и КОНКУРСЫ   Участвуй и ПОБЕЖДАЙ!!!

 

Проект Код будущего https://talent-it.ru/

Презентации Python

 

15.05.2025, среда

Контрольная работа.

Структуры данных

1. Одномерные массивы Задания Имя файла: 1_35_Ivanov.py

2. Двумерные массивы (матрицы) Задания Имя файла: 2_35_Ivanov.py

3. Рекурсия (ЕГЭ-16) Задания Имя файла: ege16_35_Ivanov.py

4. Последовательности данных в файлах. Делимость (ЕГЭ-17) Задания Файлы к заданиям Имя файла: ege17_35_Ivanov.py

 

15.05.2025, четверг

Зачёт. Символьные строки и системы счисления

 

 ЕГЭ-14  ege14_96_Ivanov.py               

Вариант 1 108 158 191 207 149
Вариант 2 109 159 192 208 150
Вариант 3 110 160 193 209 151
Вариант 4 111 161 194 210 152
Вариант 5 112 162 195 211 153
Вариант 6 113 163 196 212 154
Вариант 7 114 164 197 213 155
Вариант 8 115 165 198 214 223
Вариант 9 116 166 199 215 224
Вариант 10 117 167 200 216 225
Вариант 11 121 168 201 217 226
Вариант 12 122 169 202 218 227
Вариант 13 123 170 203 219 228
Вариант 14 124 171 204 220 229
Вариант 15 147 172 205 221 230
Вариант 16 148 173 206 222 211

 

2 урок

Практическая работа

Файлы.

ЕГЭ-24 Задания 1 - 122

Alt

Файлы к заданиям Скачать  Alt

Алгоритмы для заданий 1, 21, 41, 61, 81, 101

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

ЕГЭ-24 Задания 1 - 122. Уметь решать все задания

Подготовиться к итоговой контрольной работе

 

14.05.2025, среда

Работа с файлами

Отработать тему практически!!!

Файл – поименованная область данных на внешнем носителе.

С точки зрения программиста файлы бывают текстовые и двоичные (бинарные).

Рассмотрим работу с текстовыми файлами.

Для доступа к данным в файле, файл необходимо открыть. (Функция open).

Основные режимы работы с файлом:

"r– открыть для чтения

"w"- открыть для записи

"a" – открыть для добавления в файл

После завершения работы с данными файла, файл необходимо закрыть. (Метод close())

Для обращения к файлу создаётся файловый указатель (файловая переменная), которая позволяет указывать, к какому файлу обращаться.

Для чтения из файла используются методы:

read() – чтение всего файла в переменную, или указанного количества символов

readline() – построчное чтение из файла

readlines() – чтение содержимого файла с список строк

Имя файла – это строковая переменная.

Чтобы не указывать полный путь к файлу, файлы данных и файл программы должны находиться в одном каталоге.

Внимание!!!

При чтении из текстового файла в переменную записываются данные строкового типа, при записи в файл числовые должны быть преобразованы в строковый тип.

 

Пример 1

В файле in.txt записан текст: "Привет, мир!"

Переписать текст в файл out.txt.

 

Создадим каталог task.

В каталоге task создаём файл in.txt, запишем в файле текст: "Привет, мир!" (без кавычек) и сохраним файл.

Программа

f = open("in.txt", "r")  #указателю f сопоставляем файл in.txt, открываем в режиме чтения

f1 = open("out.txt","w") #указателю f1 сопоставляем файл out.txt, открываем в режиме записи

s = f.read()  # читаем весь файл в строковую переменную s

f1.write(s# записываем значение строковой переменной в файл out.txt

f.close() # закрываем файл in.txt

f1.close() # закрываем файл out.txt

Сохраняем программу и запускаем на выполнение.

Открываем в каталоге task файл out.txt, смотрим результат.

 

Пример 2

В файле in.txt записаны времена года в одной строке, разделённые пробелом.

Вывести в файл out.txt времена года по одному в строке.

f = open("in.txt", "r")

f1 = open("out.txt","w")

s = f.read().split() #чтение из файла в список с разделением через пробел

for x in s#вывод списка по одному элементу в строке

    f1.write(x + "\n")

f.close()

f1.close()

 

Пример 3

В файле in.txt записаны целые числа, разделённые пробелом.

Найти сумму чисел и записать результат в файл out.txt.

f = open("in.txt", "r")

f1 = open("out.txt","w")

s = f.read().split()

summa = 0

for x in s:

    summa += int(x)

f1.write("Сумма = " + str(summa)) # вывод результата, преобразованного в строку

f.close()

f1.close()

 

Пример 4

В файле in.txt записано 10 целых чисел по одному в строке.

Найти количество нечётных чисел и вывести результат в файл out.txt.

#1 способ

f = open("in.txt", "r")
f1 = open("out.txt","w")
k = 0
for i in range(10):
        x = f.readline()
        if x == "":
            break
        if int(x)%2 != 0:
            k += 1
f1.write(str(k))
f.close()
f1.close()

 

 

# 2 способ

f = open("in.txt", "r")
f1 = open("out.txt","w")
s = [] 
for i in range(10):
            
x = f.readline()  #чтение текущей строки
            
x = x.rstrip("\n")  #удаление символов \n в конце строки
           
 s.append(x)     #добавление не пустых символов в список
s = list(map(int,s))   #преобразование символьного списка в числовой
#нахождение количества нечётных чисел

k = 0
for x in s:
            
if x%2 != 0:
                     
k += 1
f1.write(str(k))  #вывод результата в выходной файл
f.close()
f1.close()

 

Пример 5

В файле in.txt записаны целые числа по одному в строке. Количество чисел неизвестно.

Найти сумму чисел, их количество и вывести результат в файл out.txt.

f = open("in.txt", "r")

f1 = open("out.txt","w")

summa = 0

k = 0

while True:

    s = f.readline()

    if not s:   #если нет строки

        break  #прервать цикл

    summa += int(s)

    k += 1

f1.write("Сумма = {} Количество чисел = {}".format(summa, k))

f.close()

f1.close()

 

Пример 6

В файле in.txt записаны целые числа по одному в строке. Количество чисел неизвестно.

Отсортировать числа по не убыванию и вывести результат в файл out.txt в одной строке.

f = open("in.txt", "r")

f1 = open("out.txt","w")

s = f.readlines()  # чтение данных в список строк

s = list(map(int,s)) # преобразование списка строк в список чисел

s = sorted(s)

for x in s:

    f1.write(str(x)+ " ")   #вывод отсортированных данных в файл одной строкой

f.close()

f1.close()

Самостоятельная работа

Во всех задачах входные данные хранятся в файле in.txt, выходные – в файле out.txt/

1.      Решить квадратное уравнение ax2 + bx + c = 0.

1.1. для одного уравнения (данные в одной строке)

1.2.для одного уравнения (данные находятся в разных строках)

1.3.для 10 уравнений (данные каждого уравнения находятся в разных строках, одного – в одной строке)

1.4.для любого количества уравнений

2.      В файле хранятся целые числа в одной строке. Числа разделены одним пробелом

         Найти количество отрицательных и положительны чисел. Результат в выходном файле вывести каждый с новой строки.

3.      В файле хранятся строки. Найти самую длинную строку и вывести количество символов в строке, номер строки и строку.

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

ЕГЭ-24. Задания 1 - 20

Файлы  к заданиям Скачать

ЕГЭ-14, к зачёту 15.05.2025

 

 

07.05.2025, среда

Практическая работа. Символьные строки и системы счисления

Контроль. Простейшие задачи на символьные строки.

С4

 

Преобразования число - строка

Компьютерные системы счисления в Python

 

ЕГЭ-14

1 группа №№ 107 - 117, 120  - 124

2 группа №№ 147 - 155, 158 - 173, 191 - 215

3 группа №№ 216 - 220

группа №№ 221 - 230

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

Уметь решать задания ЕГЭ-14 из рассмотренных групп

 

30.04.2025, среда

Обработка символьных данных

Учебник, стр. 236 - 239

Вопросы и задания

1.     Что такое символьная строка?

2.     Как компьютер распознаёт символы в строках?

3.     Какой тип имеет символьная строка?

4.     Как ввести символьную строку?

5.     Как вывести символьную строку?

6.     Как узнать длину символьной строки?

7.     Как вывести символ строки по индексу?

8.     Можно ли изменить строку?

9.     Как получить новую строку из существующей?

10. Как работает операция конкатенация?

11. Как сравнивают строки?

12. Что такое срез строки?

13. Как получить реверс строки срезом?

14. Как срезом сформировать из строки новую строку из символов на нечётных позициях?

15. Как работают методы isdigit(), upper(), lower()?

16. Вводится строка, не содержащая знаков препинания. Найти:

a.     длину строки;

b.     получи слова: форма, томат, фирма, норма из слова ИНФОРМАТИКА;

c.     получи реверс строки;

d.     количество гласных букв в строке;

e.     количество согласных в строке;

f.     количество слов в строке, если слова разделены одним пробелом;

g.     количество слов в строке, если слова разделены любым количеством пробелов;

h.     количество вхождений данной подстроки в строке;

i.      является ли строка палиндромом (око – палиндром, окно – не палиндром

[:] — копия последовательности
[1:] — все элементы за исключением первого
[:-1] — все элементы за исключением последнего
[::-1] — обратная последовательность.
[1:-1] — все элементы за исключением последнего и первого
[1::2] — вывод нечетных элементов последовательности со второго
[::2] — вывод четных элементов последовательности с первого
[-2:0:-1] — обратный порядок всех элементов за исключением первого и последнего
[-2:0:-2] — обратный порядок каждого второго элемента за исключением первого и последнего

Символьные строкиФункции и методы строк

Учебник, стр. 239 - 242

Чем отличаются методы find(), rfind().

Что будет результатом методов find(), rfind(), если подстроки в строке не найдено?

Если вызвать метод find() с тремя параметрами s.find(s1, a, b), то поиск будет осуществляться в срезе s[a:b]

Метод count(). Возвращает количество вхождений подстроки в строку.

s = "abscnacat"

print(s.count("а"))

#возвращает 3

print(s.count("", 1))

#возвращает 2

Что будет результатом обработки строки?

print(s.count("g"))

Что будет результатом обработки строки?

print(("f"*20).count("fff")

Метод replace() заменяет все вхождения одной строки на другую. Формат: s.replace(old, new) — заменить в строке s все вхождения подстроки old на подстроку new.

s = "abscnacat"

s.replace("a","A")

print(s)

#результат: AbscnAcAt

Что будет результатом обработки строки?

s = "abscnAcatac"

s.replace("a","A", 2)

print(s)

Функция len() возвращает длину строки.

Функция chr() возвращает символ по коду.

Функция ord() возвращает номер символа в кодовой таблице символов.

Опишите результаты выполнения фрагмента программы:

print(len("343nrtfd"))

print(ord("A"))   #А – буква кирилицы

print(chr(1041))

Преобразование строка-число.

Задачи

1.      Вводится целое число. Найти количество цифр в числе. Число может быть как положительным, так и отрицательным.

2.      Вводится вещественное число. Найти количество цифр в числе. Число может быть как положительным, так и отрицательным.

3.      Вводится целое число. Является ли число палиндромом?

4.      Напишите программу, которая вычисляет сумму трех чисел, введенную в форме символьной строки. Все числа целые.

Пример:

Введите выражение:

12+3+45

Ответ: 60

Преобразование строки в список.

    s = 'abbcdd' #строка

    print(s)

    #результат abbcdd

    s = list(s)  #список

    print(s)

    #результат ['a','b','b','c','d','d']

    s = set(s) #множество

    print(s)

    #результат {'d','a','c','b']

Преобразование списка, кортежа в строку.

    s = ['a','1','b','cd'] #список

    s = ''.join(s)  #строка

    print(s)

    #результат a1bcd

 

 


Задачи для самостоятельной работы

5.      Ввести с клавиатуры символьную строку и заменить в ней все буквы «а» на «б» и все буквы «б» на «а» (заглавные на заглавные, строчные на строчные).

 Пример:

Введите строку:

ааббААББссСС

Результат:

ббааББААссСС

6.      Ввести с клавиатуры символьную строку и определить, сколько в ней слов. Словом считается последовательности непробельных символов, отделенная с двух сторон пробелами (или стоящая с краю строки). Слова могут быть разделены несколькими пробелами, в начале и в конце строки тоже могут быть пробелы.

 Пример:

Введите строку:

  Вася  пошел      гулять

Найдено слов: 3

7.      Ввести с клавиатуры символьную строку и найдите самое длинное слово и его длину. Словом считается последовательности непробельных символов, отделенная с двух сторон пробелами (или стоящая с краю строки). Слова могут быть разделены несколькими пробелами, в начале и в конце строки тоже могут быть пробелы.

8.      Ввести с клавиатуры в одну строку фамилию, имя и отчество, разделив их пробелом. Вывести фамилию и инициалы.

Пример:

Введите фамилию, имя и отчество:

Иванов Петр Семёнович

П.С. Иванов

9. Ввести адрес файла и «разобрать» его на части, разделенные знаком '/'. Каждую часть вывести в отдельной строке.

 Пример:

Введите адрес файла:

C:/Фото/2013/Поход/vasya.jpg

C:

Фото

2013

Поход

vasya.jpg

10.  Напишите программу, которая заменяет во всей строке одну последовательность символов на другую.

Пример:

Введите строку:

(X > 0) and (Y < X) and (Z > Y) and (Z <> 5)

Что меняем: and

Чем заменить: &

Результат

(X > 0) & (Y < X) & (Z > Y) & (Z <> 5)

11.  Напишите программу, которая вычисляет сумму четырёх чисел, введенную в форме символьной строки. Все числа целые.

Пример:

Введите выражение:

12+3+45+50

Ответ: 110

12.  Напишите программу, которая вычисляет выражение, состоящее из трех чисел и двух знаков (допускаются только знаки «+» или «–»). Выражение вводится как символьная строка, все числа целые.

Пример:

Введите выражение:

12-3+45

Ответ: 54

 

Введите выражение:

12+3-45

Ответ: -30

 

13. Дано целое положительное число. Найдите количество единиц и нулей в двоичной записи числа. (Для перевода десятичного числа в двоичное используйте функцию bin()).

14. Дано целое положительное число. Найдите количество различных цифр в шестнадцатеричной записи этого числа. Также выведите эти цифры в порядке возрастания. (Для перевода числа из десятичной записи в шестнадцатеричную используйте функцию hex())

 

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

C4, уметь решать все задачи

 

24.04.2025, четверг

Квадратная матрица

Матрица с одинаковым количеством строк и столбцов называется квадратной.

Общий вид матрицы 3x3

a00 a01 a02

a10 a11 a12

a20 a21 a22

 

n = 3

    a00 a01 a02

    a10 a11 a12

    a20 a21 a22

(i == j) Красным выделены элементы главной диагонали

(i < j) Синим выделены элементы над главной диагональю

(i > j) Зелёным выделены элементы под главной диагональю

n = 3

    a00 a01 a02

    a10 a11 a12

    a20 a21 a22

(i + j == – 1) Красным выделены элементы побочной диагонали

(i + j < – 1) Синим выделены элементы над побочной диагональю

(i+ – 1 ) Зелёным выделены элементы под побочной диагональю

 

Задача 1

Найти сумму элементов квадратной матрицы. n = 5.

# ввод матрицы построчно, вывод матрицы

a = []

n = 5

for i in range(n):

    row = input("a["+str(i)+"]>").split()

    row = list(map(int,row))

    a.append(row)

print()

for row in a:

    for x in row:

        print(x, end = " ")

    print()

print()

# вычисление суммы элементов матрицы

s = 0

for row in a:

    s += sum(row)

print(s)

 

# вычисление суммы элементов каждой строки матрицы

for row in a:

    print(sum(row))

 

Задача 2а

Найти сумму элементов главной диагонали квадратной матрицы. n = 5.

# фрагмет вычисления суммы элементов главной диагонали

s = 0

for i in range(n):

    s += a[i][i]

print(s)

Задача 2б

Найти сумму элементов побочной диагонали квадратной матрицы. n = 5.

# фрагмет вычисления суммы элементов побочной диагонали

s = 0

j = n -1

for i in range(n):

    s  += a[i][j]

    j -= 1

print(s)

Дополнительно

Получить копию (сформировать одномерный массив) строки и столбца. Смотри учебник. Стр. 254

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

Уметь решать все задачи, 2 задачи по выбору - оформить решение в тетради (по одной задаче из каждого десятка)

Задачи для самостоятельной работы.

Дана квадратная матрица размера n.

3. Найти максимальный элемент главной диагонали.

4. Найти минимальный элемент побочной диагонали.

5. Найти сумму элементов, расположенных выше главной диагонали.

6. Найти произведение элементов, расположенных ниже главной диагонали.

7. Найти произведение элементов над побочной диагональю.

8. Найти сумму элементов под побочной диагональю.

9. Найти минимальный элемент над главной диагональю.

10. Найти максимальный элемент под побочной диагональю.

11. Сравнить суммы элементов главной и побочной диагонали.

12. Поменять местами соответствующие элементы главной и побочной диагоналей.

13. Вывести номер строки и столбца на пересечении которых находится максимальный элемент главной диагонали.

14. Вывести номер строки и столбца на пересечении которых находится минимальный элемент побочной диагонали.

15. Найти сумму строки и столбца, на которых находится первый чётный элемент главной диагонали или вывести сообщение, что такого элемента нет.

16. Заменить нулями те элементы главной и побочной диагонали, которые кратны хотя бы одному их индексу (строки или столбца), за исключением строки и столбца с индексом 0.

17. Заменить все элементы главной диагонали максимальным элементом побочной диагонали.

18. Заменить все элементы побочной диагонали  минимальным значением крайних элементов матрицы (крайние – угловые, их всегда 4).

19. Найти количество и сумму чётных элементов, расположенных на главной или побочной диагонали.

20. Найти количество элементов, расположенных на главной или побочной диагонали, шестнадцатеричная запись которых оканчивается на А или F.

21. В квадратной матрице поменять соответственные элементы k-й строки и k-го столбца местами.

 

23.04.2025, среда

Практикум. Алгоритмы обработки матриц

Задача 1

Найти сумму элементов матрицы 4х5.

#Сумма элементов матрицы

a = []

n =4

m = 5

for i in range(n):

    row = input("a["+str(i)+"]>").split()

    row = list(map(int,row))

    a.append(row)

  

print()

 

for row in a:

    for x in row:

        print(x, end = " ")

    print()

 

print()

#нахождение суммы перебором элементов матрицы по значениям

s = 0

for row in a:

    for x in row:

        s += x

print("Сумма =", s)

# или так

 

#нахождение суммы перебором строк  матрицы

s = 0

for row in a:

    s += sum(row)

print(s)

 

нахождение суммы перебором строк по индексам

s = 0

for i in range(n):

    s += sum(a[i])

print(s)

 

Задача 2

Найти сумму элементов каждой строки матрицы.

# сумма элементов каждой строки матрицы

a = []

n =4

m = 5

for i in range(n):

    row = input(f"a[{i)}]>").split()

    row = list(map(int,row))

    a.append(row)

print()

for row in a:

    for x in row:

        print(x, end = " ")

    print()

print()

 

#1  способ, суммы строк

for i in range(n):

    s = 0

    for j in range(m):

        s += a[i][j]

    print("Cумма {} строки = {}".format(i,s))

print()

 

#2 способ, суммы строк

for i in range(n):

    print(f"Cумма {i} строки = {sum(a[i]}")

 

Задача 3

Поменять местами две строки матрицы. Номера строк для обмена запрашиваются и вводятся с клавиатуры.

# перестановка строк

a = []

n = 6

m =9

 

for i in range(n):

    row = input("a["+str(i)+"]>").split()

    row = list(map(int,row))

    a.append(row)

print()

for row in a:

    print(*row)

   

#запрос номеров строк для перестановки

s1 = int(input("1-я строка"))

s2 = int(input("2-я строка"))

#обмен строк местами

a[s1],a[s2] = a[s2],a[s1]

#вывод изменённой матрицы

for row in a:

    print(*row)

 

Задача 4

Поменять местами два столбца матрицы.

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

 

Задача 4а

Найти строку и её номер с максимальной суммой.

Вывести элементы строки, их сумму и номер строки.

 

print(max(a), sum(max(a)), a.index(max(a)))

Что плохо в коде?

 

Самостоятельная работа

Дана матрица. (Размер матрицы можно брать произвольным)

5. Найти максимальный элемент матрицы. Вывести значение максимального и его координаты (номер строки и столбца). Если максимальных элементов несколько, то выбирать можно любой.

6. Найти сумму элементов каждого столбца.

7. Найти максимальный элемент каждой строки.

8. Найти минимальный элемент каждого столбца.

9. Найти сумму элементов той строки, в которой находится минимальный элемент массива.

10. Найти произведение элементов того столбца, в котором находится первый минимальный элемент.

11. Переставить местами те строки матрицы, в которых находятся первый максимальный и последний минимальный элементы.

12. Найти строку с наибольшей суммой.

13. Найти столбец с наименьшей суммой.

14. Найти сумму той строки, в которой наибольшее количество чётных элементов.

15. Найти минимальный элемент той строки, в которой находится первый нулевой элемент матрицы при просмотре матрицы по строкам.

16. Найти количество нечётных элементов каждой строки.

17. Найти максимальный элемент матрицы среди элементов, которые в каждой строке являются последними.

18. Отсортировать каждую строку массива по возрастанию.

19. Отсортировать нечётные строки по возрастанию, чётные – по убыванию.

20. Вывести номера тех строк, в которых находятся нулевые элементы. Отсортировать эти строки по убыванию.

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

Оформить решение 3 любых задач с интервалом номеров не менее 4.

Закомментировать каждую строку во всех задачах

 

 

17.04.2025, четверг

1 урок

Зачёт. Сортировка массива

Дан одномерный массив целых чисел. В массиве 20 элементов.

100. Найти сумму первых пяти наибольших элементов массива.

101. Найти сумму последних трёх наименьших элементов массива.

102. Отсортировать массив и вывести последовательность индексов исходного массива после сортировки.

103. Найти произведение первых двух наименьших и первых двух наибольших элементов.

2. Отсортировать по неубыванию первую половину массива и по невозрастанию вторую. В массиве 20 элементов.

3. Отсортировать по невозрастанию первую половину массива и по неубыванию вторую. В массиве 20 элементов.

4. Отсортировать по возрастанию элементы массива с чётными индексами.

5. Отсортировать по убыванию элементы массива с нечётными индексами.

6. Отсортировать по убыванию элементы массива, расположенные до первого максимального элемента массива, включая этот элемент.

7. Отсортировать по возрастанию элементы массива, расположенные после последнего максимального элемента, исключая сам последний максимальный элемент

8. Отсортировать элементы массива, расположенные между первым максимальным и последним минимальным элементами, исключая сами эти элементы.

9. Отсортировать по возрастанию только чётные элементы массива, оставив нечётные на своих местах.

10. Отсортировать элементы массива кратные 3, оставив остальные элементы на своих местах. Или вывести сообщение о том, что таких элементов в массиве нет.

11. Будем считать, что в массиве всегда есть одна пара равных максимальных элементов. Отсортировать по не возрастанию элементы до первого максимального из пары и по не убыванию после после второго максимального в паре. Пару оставить на месте.

12. При сортировке массива методом "пузырька" вычислить минимальное количество итераций, необходимых для сортировки массива по возрастанию.

13. При сортировке массива методом "пузырька" вычислить минимальное количество итераций, необходимых для сортировки массива по убыванию.

14. Отсортировать чётные элементы массива с чётными индексами по возрастанию, нечётные элементы с нечётными индексами по убыванию.

      Остальные элементы массива не сортировать.

15. В массиве 20 элементов. Отсортировать нечётные группы элементов по убыванию, чётные - по возрастанию. Каждая группа - это 5 соседних элементов.

16. Отсортировать элементы массива кратные 2 и 3 по не убыванию, остальные элементы оставить на своих местах. Или вывести сообщение о том, что такие элементы отсутствуют.

17. В массиве только трёхзначные натуральные числа. Отсортировать массив по убыванию по старшей цифре.

     Например. Для массива 123  432 567 332 ответом будет массив 567 432 332 123

18. Отсортировать элементы массива кратные 7 по убыванию, а остальные элементы заменить нулями.

     Позиции нулевых элементов в новом массиве соответствуют позициям не сортируемых элементов.

     Если в исходном массиве имеется 0, он тоже не сортируется.

19. В массиве только различные числа. Определить степень неотсортированности массива.

     Степенью неотсортированности массива назовём количество элементов массива, которые при сортировке изменят свой индекс.

20. В одномерном массиве найти пару элементов с наименьшей суммой и с наибольшей суммой.

    Также вывести индексы элементов таких пар.

 

2 урок

Матрицы

Алгоритмы ввода и вывода матрицы

Матрица – это двумерный массив (прямоугольная таблица из строк и столбцов).

Матрица – это массив массивов.

Двумерный массив – это массив, каждый элемент которого характеризуется двумя индексами: индексом строки и индексом столбца, на пересечении которых находится элемент массива.

Т.к. в Python массив  - это список, то двумерный массив – это список, каждый элемент которого является также списком.

Пример матрицы.

1 2 1 3

3 6 2 7

9 5 4 6

В данном случае – это матрица размером 3 х 4. Три строки, 4 столбца. Пусть это будет матрица a.

Обращение к элементам матрицы

а[2][3] – элемент на пересечении строки с индексом 2 и столбца с индексом 3. Первым всегда записывается индекс строки, затем индекс столбца. В данном примере – этот элемент равен 6.

a[1] – это строка элементов массива [3 6 2 7]

Объявление, ввод, вывод матрицы

Пример 1

Создадим матрицу 4х5.

#ввод матрицы

a = [[1,2,3,4,7],

       [2,3,4,5, 8],

       [3,4,5,6, 5],

       [4,5,6,7, 4]]

# или так

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

# вывод матрицы

print(a)

#результат

[[1, 2, 3, 4, 7], [2, 3, 4, 5, 8], [3, 4, 5, 6, 5], [4, 5, 6, 7, 4]]

# вывод матрицы

print(*a)

# результат

[1, 2, 3, 4, 7] [2, 3, 4, 5, 8] [3, 4, 5, 6, 5] [4, 5, 6, 7, 4]

# вывод матрицы перебором элементов по индексам

for i in range(4):

    for j in range(5):

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

    print()

#результат

1 2 3 4 7

2 3 4 5 8

3 4 5 6 5

4 5 6 7 4

# вывод матрицы перебором элементов по значениям

for row in a:

    for x in row:

        print(x, end = " ")   

    print()

или

for row in a:

    print(*row)

#результат

1 2 3 4 7

2 3 4 5 8

3 4 5 6 5

4 5 6 7 4

Пример 2

Создать матрицу размером 6 x 7 и заполнить её случайными однозначными положительными числами.

#объявление и ввод матрицы

from random import *

n = 6

m = 7

a= [[0]*m for i in range(n)] #создание нулевой матрицы

for i in range(n): # заполнение матрицы случайными числами

    for j in range(m):

        a[i][j] = randint(0,9)

#вывод матрицы перебором элементов по  индексам

for i in range(n):

    for j in range(m):

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

    print()

 

print()

#вывод матрицы перебором элементов по значениям

for row in a:

    for x in row:

        print(x, end = " ")

    print()

Пример 3

Ввод элементов матрицы по одному в строке

n = 4

m = 3

a = []

for i in range(n):

    a.append([0]*m)

for i in range(n):

    for j in range(m):

        a[i][j]=int(input())

print()

#код для вывода матрицы напишите самостоятельно

 

Пример 4

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

a = []

n =3

m = 4

for i in range(n):

    row = input().split()

    for i in range(m):

        row[i] = int(row[i])

    a.append(row)

 

print()

# запиши код вывода матрицы по индексам самостоятельно

 

# или так

a = []

n =3

m = 4

for i in range(n):
        row = input().split()
        row = list(map(int,row))
        a.append(row)

print()

 

# запиши код для вывода матрицы по значениям элементов

Пример 5

Формирование и вывод нулевой матрицы 5 х 3

n = 5
m = 3
a = [[0]*m]*n

print(a)   или print(*a)     Обрати внимание на отличие при выводе

for x in a:        #вывод матрицы перебором строк
    print(*x)

for i in range(n):        
#вывод матрицы перебором построчно каждого элемента
    for j in range(m):
            print(a[i][j], end = " ")
    print()
 

сформируй и выведи пустую матрицу

 

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

Отработать способы ввода и вывода матрицы.

Задание

Доработать программу ввода матрицы:

1.      При вводе матрицы по одному элементу в строке, должна быть подсказка, например:

Вводим матрицу по одному элементу в строке:

a[0][0]>

a[0][1]>

2.      При вводе матрицы построчно, должна появляться подсказка:

Вводим матрицу построчно

a[0]>

a[1]>

 

2 урок

10.04.2025, четверг

Методы сортировки массива

Сортировка массива методом "пузырька"

Сортировка - это расположение массива по возрастанию/не убыванию или по убыванию/не возрастанию.

Метод пузырька заключается в попарном сравнении всех его элементов и обмене пар местами, если они не упорядочены.

 

Задача. Отсортировать  массив по не убыванию.

Задание. Объясните каждую строку программы в примерах 1 и 2.

Пример 1

n =10
a = [0]*n
for i in range(n):
            a[i] = int(input())
print(*a)

for i in range(len(a)):
            for j in range(len(a) - 1):
                            if a[i] < a[j]:
                                a[i], a[j] = a[j], a[i]
 

print()
for x in a:
        print(x, end = " ")

 

Пример 2

a = input().split()
a = list(map(int,a))
print(*a)

flag = 0
while flag == 0:
            flag = 1
            for i in range(1,len(a)):
                    if a[i] < a[i-1]:
                        a[i], a[i-1] = a[i-1], a[i]
                        flag = 0
print()
print(*a)

 

Вопросы

1. Какая из программ эффективнее? Почему?

2. Почему вначале flag = 0, а затем в цикле меняется на 1 в программе 2?

3. Как будет программа 2 работать, если последнее значение flag = 0 не использовать?

4. Будет ли при каком-нибудь наборе программа 2 давать верный результат, если последнее значение flag = 0 не использовать?

Задачи для самостоятельного решения

1. Напишите функцию сортировки массива методом пузырька.

2. Отсортировать по неубыванию первую половину массива и по невозрастанию вторую. В массиве 20 элементов.

3. Отсортировать по невозрастанию первую половину массива и по неубыванию вторую. В массиве 20 элементов.

4. Отсортировать по возрастанию элементы массива с чётными индексами.

5. Отсортировать по убыванию элементы массива с нечётными индексами.

6. Отсортировать по убыванию элементы массива, расположенные до первого максимального элемента массива, включая этот элемент.

7. Отсортировать по возрастанию элементы массива, расположенные после последнего максимального элемента, исключая сам последний максимальный элемент

8. Отсортировать элементы массива, расположенные между первым максимальным и последним минимальным элементами, исключая сами эти элементы.

9. Отсортировать по возрастанию только чётные элементы массива, оставив нечётные на своих местах.

10. Отсортировать элементы массива кратные 3, оставив остальные элементы на своих местах. Или вывести сообщение о том, что таких элементов в массиве нет.

11. Будем считать, что в массиве всегда есть одна пара равных максимальных элементов. Отсортировать по не возрастанию элементы до первого максимального из пары и по не убыванию после после второго максимального в паре. Пару оставить на месте.

12. При сортировке массива методом "пузырька" вычислить минимальное количество итераций, необходимых для сортировки массива по возрастанию.

13. При сортировке массива методом "пузырька" вычислить минимальное количество итераций, необходимых для сортировки массива по убыванию.

14. Отсортировать чётные элементы массива с чётными индексами по возрастанию, нечётные элементы с нечётными индексами по убыванию.

      Остальные элементы массива не сортировать.

15. В массиве 20 элементов. Отсортировать нечётные группы элементов по убыванию, чётные - по возрастанию. Каждая группа - это 5 соседних элементов.

16. Отсортировать элементы массива кратные 2 и 3 по не убыванию, остальные элементы оставить на своих местах. Или вывести сообщение о том, что такие элементы отсутствуют.

17. В массиве только трёхзначные натуральные числа. Отсортировать массив по убыванию по старшей цифре.

     Например. Для массива 123  432 567 332 ответом будет массив 567 432 332 123

18. Отсортировать элементы массива кратные 7 по убыванию, а остальные элементы заменить нулями.

     Позиции нулевых элементов в новом массиве соответствуют позициям не сортируемых элементов.

     Если в исходном массиве имеется 0, он тоже не сортируется.

19. В массиве только различные числа. Определить степень неотсортированности массива.

     Степенью неотсортированности массива назовём количество элементов массива, которые при сортировке изменят свой индекс.

20. В одномерном массиве найти пару элементов с наименьшей суммой и с наибольшей суммой.

    Также вывести индексы элементов таких пар.

 

Сортировка массива методом вставки  (методом максимумов, минимумов)

Метод вставки заключается в поиске минимального (максимального) элемента и вставки их в нужную позицию.

Пример

Отсортировать массив по не убыванию.

n =10
a = [0]*n
for i in range(n):
            a[i] = int(input())
print(*a)

for i in range(n):
             max = a[i]
             p = i
             for j in range(i+1,n):
                            if a[j] > max:
                           
       max = a[j]
                           
       p = j
            a[i],a[p] = a[p],a[i]
 

print()
print(*a)

Вопросы.

Как отсортировать массив по не убыванию?

Сравните сортировку методом "вставки" и методом "пузырька"

Задачи

1. Найти сумму двух элементов массива, которая является наименьшей (наибольшей), используя сортировку массива.

    Вывести индексы элементов в массиве до сортировки.

2. Найти наибольший элемент массива, который является отрицательным, используя сортировку массива.

    Предполагается, что в массиве хотя бы один отрицательный элемент имеется.

3. Найти k-й наибольший элемент массива (тот элемент, который при сортировке окажется на k - м месте).

4. Напишите программу, которая сортирует элементы массива по возрастанию последней цифры десятичной записи чисел.

   Пример.

входные данные
6
219 234 890 81 73 96
выходные данные
890 81 73 234 96 219

Сортировка массива методами и функциями Python3

Для сортировки массива в Python3 используются:

1. метод sort() сортирует список по возрастанию;

2. метод reverse() - создаёт реверс списка, т.е., переставляет элементы списка в обратном порядке - "зеркально";

    для сортировки по убыванию метод reverse() надо использовать после применения метода sort()

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

    ключ reverse = True позволяет сортировать массив по убыванию.

Пример 1

Отсортировать массив а по возрастанию.

a = [4, 2, 7, 4, 5]
a.sort()
print(*a)

Пример 2

Отсортировать массив а по убыванию.

a = [4, 2, 7, 4, 5]
a.sort(reverse = True)

print(*a)

Пример 3

Отсортировать массив а по возрастанию.

a = [4, 2, 7, 4, 5]

a = sorted(a)

print(*a)

Пример 4

Отсортировать массив а по убыванию.

a = [4, 2, 7, 4, 5]

a = sorted(a, reverse = True)

print(*a)

Пример 5

Отсортировать массив а по убываниюсохранив первоначальный вид массива.

a = [4, 2, 7, 4, 5]

b = sorted(a, reverse = True)

print(*a)

print(*b)

Пример 6

Отсортировать массив срезами.

a = [1,7,2,4,9,5]

b = a[::]

c = a[::-1]

print(b)

print(c)

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

§64. Уметь решать все задачи.

 

 

09.04.2025, среда

Практикум. Поиск экстремальных элементов в массиве

Вопросы

Как ввести массив:

    - по одному элементу в строке;

    - все элементы ввести в одной строке через пробел?

Как преобразовать элементы списка в числовые значения?

Как вывести массив?

Какие элементы массива называются экстремальными?

Какой алгоритм поиска экстремальных значений в массиве?

Какое начальное значение необходимо присваивать максимальному (минимальному)?

Почему не всегда верно присваивать начальное значение максимальному (минимальному) значение первого элемента массива?

Что значит первый и последний максимальный (минимальный) элемент массива? В чём их отличие?

Задачи

1. Найти сумму всех максимальных элементов массива.

2. Найти произведение всех минимальных элементов массива.

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

4. Вывести индексы всех максимальных и минимальных элементов массива.

5. Найти сумму всех элементов массива, расположенных до первого максимального элемента. Сам элемент не включать в сумму.

6. Найти произведение всех элементов массива, расположенных после последнего минимального элемента. Сам элемент не включать в произведение.

7. Найти максимальный чётный элемент массива и его индекс. Если чётные элементы в массиве отсутствуют, то вывести NO. Если в массиве несколько чётных максимальных элементов, то вывести индекс любого их них.

8. Найти максимальный элемент массива, среди элементов с нечётными индексами. Вывести значение такого элемента и его индекс.

9. Найти минимальный элемент массива, который кратен 3 или 5 и вывести его индекс. Если таких элементов в массиве нет, то вывести NO.

10. Поменять местами первый минимальный и последний максимальный элементы массива. Предполагается, что в массиве имеются такие элементы.

11. Определить, сколько максимальных элементов удовлетворяют правилу: "Максимальный элемент имеет чётный индекс, а предшествующий ему элемент является нечётным или максимальный элемент имеет нечётный индекс, а предшествующий ему элемент является чётным"? Или вывести сообщение, что максимальный элемент левый крайний и единственный. Значит предшествующий элемент отсутствует.

12. Заменить нулями все элементы массива, которые являются максимальными или минимальными. Также вывести количество таких элементов.

13. Найти количество таких элементов массива, которые являются максимальными или минимальными и кратны своему индексу. Также вывести индексы таких элементов.

14. Найти сумму и количество всех элементов массива, которые не являются ни максимальными, минимальными.

15. Вывести позиции всех элементов массива, расположенных между последним максимальным и последним минимальным элементом.

16. Вывести индексы элементов массива, которые являются соседними у максимального элемента или минимального элемента, исключая из этого правила рядом стоящие максимальные или минимальные в любом порядке. Если в массиве всего два различных элементе, то в нём отсутствуют искомые элементы.

17. Вывести в одной строке все элементы массива, которые расположены до первого максимального, исключая максимальный, затем в обратном порядке все элементы массива, которые следуют после последнего максимального элемента, исключая сам элемент. Если в массиве один максимальный элемент, то он является первым и последним максимальным.

18. Найти количество элементов массива, которые не менее, чем на модуль разности максимального и минимального элементов массива отличаются от значений максимального или минимального.

Практическая работа

Разработка программы для решения задач, включающих поиск экстремальных значений одномерного массива.

Решить вариант из трёх заданий по образцу. 3 задачи (по одной разного цвета). Вариант сообщит учитель на уроке.

В комментарии в начале программы разместить номер и текст задачи.

Закомментировать пояснения к фрагментам программы.

Образец.

"""В одномерном массиве целых чисел найти максимальный элемент
среди элементов, последняя цифра которого 2 или 5.
Вывести значение такого элемента и его индекс. Если таких элементов несколько,
то вывести любой из них. Если таких элементов нет, то вывести NO."""

Описание алгоритма

После ввода массива в цикле переберём элементы массива с целью определения, имеется ли в нём элемент, удовлетворяющий условию поиска.

Для этого переменной mx присвоим любое значение, не удовлетворяющее условию поиска. В примере mx = -1

Если после перебора элементов массива значение mx не изменилось, тогда в массиве нужных элементов нет. Выводим NO.

Если хотя бы один такой элемент найден, то переменной mx присваиваем его значение выходим из цикла.

Если значение mx изменилось, то определяем индекс найденного элемента, далее в цикле со следующего элемента за найденным и до конца массива ищем элемент, удовлетворяющий условия поиска.

После просмотра всего массива выводим значение максимального и его индекс."""


a = input().split()   
ввод списка данных через пробел в одной строке
a =list(map(int,a))  
преобразование списка в целочисленный массив
поиск начального значения максимального, удовлетворяющего заданному условию: оканчивается на 2 или 5
mx = -1    
присваивание начального значения максимальному - любое число не удовлетворяющее условию поиска
for x in a:    
перебор элементов массива по значениям
        if abs(x)% 10 == 2 or abs(x)% 10 == 5:    проверка: удовлетворят ли очередной элемент условию поиска
                                                mx = x           присваивание начального значения максимальному из первого элемента, удовлетворяющего условию поиска
                                                break            выход из цикла, так как найден первый элемент, удовлетворяющий условию поиска

if mx == -1:        
проверяем был ли в массиве элемент, удовлетворяющий условию поиска, если условие истинно, то не было
           print("NO") выводим результат, т.е., ни одного элемента, удовлетворяющего условию поиска в массиве нет
else:                   
если алгоритм идет по этой ветке, значит хотя бы один элемент массива, удовлетворяющий условию поиска, в массиве имеется
            p = a.index(mx)    запоминаем в переменной индекс начального значения максимального из массива
            for i in range(p+1,len(a)):    в цикле перебираем элементы от следующего за найденным и до конца массива
                                if a[i] > mx and (abs(a[i])% 10 == 2 or abs(a[i])% 10 == 5):    анализируем очередной элемент массива на соответствие условию поиска
                                                                                mx = a[i]       изменяем значение максимального
                                                                                p = i            #изменяем индекс изменённого максимального
            print("max = {}, index_max = {}".format(mx, p))""" Тестирование    # выводим значение максимального, удовлетворяющего условию поиска и его индекс

 

"""Тестирование

Тест 1

11 23 24 89 17 333
NO

Тест 2

12 32 45 455 1000 36 982 13
max = 982, index_max = 6

Тест 3

-455 23 900 -1022
max = -455, index_max = 0

Тест 4

-455 23 900 -1022
max = -455, index_max = 0

Тест 5

65 -385 122 874 12 562 7082
max = 7082, index_max = 6

"""

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

§63. Уметь решать все задачи

 

27.03.2025, четверг

Поиск экстремальных элементов в массиве

Функции max(), min()

Задание 1

1)      Найти номер первого из двух последовательных элементов в целочисленном массиве из 30 элементов,

сумма которых максимальна (если таких пар несколько, то можно выбрать любую из них).

    a = [int(input()) for i in range(30)]
print(*a)
mx = a[0]+a[1]
imx = 0
for i in range(2,30):
        if a[i-1] + a[1] > mx:
                imx = i -1
print(imx)

Задание 2

    Найти количество максимальных элементов в целочисленном массиве из 20 элементов.

    a = []
    for i in range(20):
            a.append(int(input()))
    print(*a)
    print(a.count(max(a)))

Задание 3

    Найти количество максимальных элементов в целочисленном массиве из 20 элементов и вывести их индексы.

    from random import *
    n = 20
    a = [randint(0, 10) for i in range(n)]
    print(*a)
    mx = 
max(a)
    k = 0
    print("Индексы максимальных: ", end = " ")
    for i in range(n):
    
        if a[i] == mx:
    
                k += 1
   
                 print(i, end = " ")
    print()
    print("Количество максимальных =", 
a.count(mx))

Самостоятельная работа

4. Найти последний минимальный элемент массива и его индекс.

5. Найти минимальный элемент массива среди элементов с чётными индексами.

6. Найти минимальный элемент массива среди положительных элементов массива.

7. Найти максимальный, минимальный элементы массива и их индексы среди элементов массива кратных 2, но не кратным 3 или вывести сообщение о том, что такие элементы в массиве отсутствуют.

8. Найти минимальный элемент массива среди отрицательных элементов массива с нечётными индексами или вывести сообщение, что таких элементов нет в массиве.

9. Найти сумму элементов массива между первым максимальным и последним минимальным элементом массива, исключая эти элементы. Также вывести количество элементов в найденной сумме. Предполагается, что в массиве есть хотя бы два различных по значению элемента.

10*. Вставить после максимального элемента минимальный, а после минимального - максимальный.

11*. Найти среднее арифметическое между соседями максимальных элементов массива и вывести индекс того элемента массива, среднее арифметическое элементов, окружающих него, наибольшее. Окружающими элементами являются два ближайших соседа. Заметим, что у крайних элементов по одному соседу.

 

26.03.2025, среда

1 урок

Вычисление рекурсивной функции

ЕГЭ-16

Разбор №№ 19, 22, 31

19.      Алгоритм вычисления функций F(n) и G(n) задан следующими соотношениями:

              F(1) = G(1) = 1

              F(n) = 2·F(n1) + G(n1) – 2n, если n > 1

              G(n) = F(n1) +2·G(n1) + n, если n > 1

Чему равно значение F(14) + G(14)?

 

22.    Определите, сколько символов * выведет эта процедура при вызове F(35):

Python

def F( n ):

  print('*')

  if n >= 1:

    print('*')

    F(n-1)

    F(n-2)

    print('*')

 

 

31.    Определите наименьшее значение n, при котором значение F(n), будет больше числа 320.

Запишите в ответе сначала найденное значение n, а затем через пробел – соответствующее значение F(n).

 

Самостоятельная работа

№№ 1-40, по 3 задания

 

ЕГЭ-16

ege16_3_Ivanov.py

Вариант 1 5 35
Вариант 2 6 23
Вариант 3 7 37
Вариант 4 8 25
Вариант 5 9 26
Вариант 6 10 27
Вариант 7 11 28
Вариант 8 12 29
Вариант 9 13 30
Вариант 10 14 36
Вариант 11 15 32
Вариант 12 16 33
Вариант 13 17 34
Вариант 14 18 35
Вариант 15 21 36
Вариант 16 20 37
Вариант 17 23 38
Вариант 18 24 39
Вариант 19 25 40

2 урок

Массивы. Одномерный массив

Список - это набор элементов, каждый из которых имеет свой номер.

Нумерация элементов списка начинается с 0.

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

Элементы списка заключаются в квадратные скобки и разделяются запятой.

Примеры списков

1. Список целых чисел

a = [3, 5, 1, 43, 12, 6]

2. Cписок вещественных чисел

b = [4.54, 1.4, 9.0, 23.2]

3. Список данных разных типов

с = [1, 45, 5.3, "огонь", True, "весна"]

Список характеризуется типом данных list

В Python отсутствует такая структура как массив.

Для обработки массивов используют списки.

Массив - упорядоченный набор однотипных данных, объединённых общим именем.

Упорядоченных - значит пронумерованных.

Номер элемента массива называется индексом.

Массив, каждый элемент характеризуется общим именем и одним индексом, называют линейным или одномерным.

При обращении к элементу массива указывают имя массива и в квадратных скобках индекс. Например, a[3]; a[i]

Способы ввода и вывода массива

0. Объявление пустого массива

a = []

или

a = list()

1. Перечисление элементов массива

a = [1, 4, 5, 3, 6, 7]  #формирование массива

 

print(a)     вывод массива в формате списка [1, 4, 5, 3, 6, 7]

 

print(*a)   вывод элементов массива в одной строке через пробел   1 4 5 3 6 7

 

for x in a:        # вывод массива в одной строке способом перебора его элементов переменной x
        print(x, end = " ")    # 1 4 5 3 6 7

 

for i in range(6):   вывод массива в одной строке перебором элементов по индексам
         print(a[i], end = " ")   # 1 4 5 3 6 7

 

for i in range(6):   вывод массива по одному в строке перебором элементов по индексам

         print(a[i])   # 1 4 5 3 6 7

 

2. Объединение нескольких списков в один

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

print(*a)  Результат: 1 3 5 7 2 4 6

 

3. Повторение одного и того же списка несколько раз

a = [1, 4, 9]*3

print(*a)  Результат: 1 4 9 1 4 9 1 4 9

 

4. Использование генератора списков

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

print(*a) Результат: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14

 

5. Использование генератора случайных чисел

from random import *
a = [randint(10, 99) for i in range(15)]
print(*a)

 

6. Ввод элементов массива по одному (способ 1)

n = 10
a = [0]*n
for i in range(n):
            a[i] = int(input())
print(*a)

 

7. Ввод элементов массива по одному (способ 2)

n = 10
a = [int(input()) for i in range(n)]
print(*a)

 

8. Ввод элементов массива в одной строке через пробел

a = input().split() формирование строки
a = [int(x) for x in a] 
преобразование строки в целочисленный массив генератором
print(*a)

 

или

a = input().split() формирование строки
a = 
list(map(int, a)) преобразование строки в целочисленный массив с использованием функции map
print(*a)

 

9. Добавление и удаление элементов в массив

9.1 Добавление

#сформируем массив из 10 однозначных чисел
a = input().split()
a = list(map(int,a))
print(*a)
#добавим в массив число 
23
a.append(
23)
print(*a)

 

9.2 Вставка элемента массива в нужную позицию

#сформируем массив из 10 однозначных чисел
a = input().split()
a = list(map(int,a))
print(*a)
#вставим на место элемента с индексом 2 число 
23
a.
insert(2, 23)
print(*a)

 

9.3 Удаление элемента по индексу

#сформируем массив из 10 однозначных чисел
a = input().split()
a = list(map(int,a))
print(*a)
#удалим элемент с индексом 3
a.
pop(3)
print(*a)

 

9.4 Удаление элемента по значению

#сформируем массив из 10 однозначных чисел
a = input().split()
a = list(map(int,a))
print(*a)
#удалим первый элемент, значение которого равно 1. Если такого элемента в массиве нет, то возвращается исключение (сообщение об ошибке)
a.
remove(1)
print(*a)

 

Практическая работа.

1. Отработка навыков ввода и вывода одномерного массива.

2. Задачи

Дан массив целых чисел.

1. Найти сумму элементов массива.

2. Найти произведение элементов массива.

3. Найти количество элементов массива больших, чем первый элемент (элемент с индексом 0) .

4. Найти количество чётных и количество нечётных элементов массива, а также количество нулевых элементов.

5. Найти количество элементов массива, кратных своим индексам и вывести индексы таких элементов (кроме элемента с индексом 0).

6. Найти количество и сумму элементов массива, кратных 3, но не оканчивающихся на 6.

7. Найти количество соседних пар элементов массива, разность между которыми равна 1 по модулю.

8. Вывести индексы тех элементов массива, которые меньше своих индексов.

8. Вывести индексы элементов массива, если индекс меньше на 1 по модулю, чем сам элемент массива.

9. Найти сумму элементов массива, которые оканчиваются на 7 или 5.

10. Найти количество элементов массива, являющихся двузначными числами.

11. Найти количество трёхзначных элементов массива, являющихся перевёртышами.

12. Уменьшить каждый элемент массива на целую часть среднего арифметического первого и последнего элемента массива.

13. В массиве хранится температура каждого из 31 дня января. Известно, что температура в январе менялась от -24 до +2 градусов.

      Найти  количество дней, в которые была оттепель и среднюю температуру этих дней с точностью до сотых. (Оттепель: температура выше 0)

      Температуру каждого дня сгенерировать случайными числами.

14. Найти первый элемент массива, который равен или вывести сообщение, что такого элемента в массиве нет (вывести NO)

15, Сформировать новый массив из элементов, равных разности пар соседних элементов массива.

16. Удалить из массива те элементы, которые кратны своему индексу.

17. Вставить после каждого чётного элемента массива элемент, равный по величине следующему значению.

18. Найти количество пар соседних нечётных элементов массива.

19. Найти среднее арифметическое элементов массива, которые кратны 5, но не заканчиваются на 0.

 

20.03.2025, четверг

Рекурсия

Определение рекурсии.

Рекурсия - способ определения множества объектов через само это множество.

Пример 1. 1 - натуральное число, если n - натуральное число, то n + 1 - тоже натуральное число.

Рекурсивная функция - это функция, которая обращается многократно к самой себе для получения новых значений.

Для написания рекурсивной функции необходимо:

 1. Выяснить условие остановки вызова функции.

2. Рекуррентное соотношение (как очередное значение получить через предыдущие значение).

Пример 2. Написать рекурсивную функцию для вычисления факториала числа n. n - натуральное число

1. Условия остановки вызова функции: n == 0. Возврат значения: 1

2. Рекуррентное соотношение. (n - 1)! * n  (n! = 1*2*3* ... * (n - 1) * n)

рекурсивная процедура

def fact(n):
        if n == 1:
            return 1
        else:
            return n*fact(n - 1)
#основная программа
n = int(input())
print(fact(n))

 

Пример 3.

Алгоритм вычисления значения функции F(n), где n – натуральное число, задан следующими соотношениями:

F(1) = 1                            Условие выхода из рекурсии

F(n) = F(n–1) * (n + 1)при n > 1  Рекуррентная формула

Чему равно значение функции F(5)? В ответе запишите только целое число.

Выполнить трассировкой алгоритма и написать рекурсивную процедуру.   

#рекурсивная процедура

def f(n):
        if n == 1:
                return 1
        else:
                return f(n - 1)*(n + 1)
#основная программа
n = int(input())
print(f(n))

 

Пример 4.

Алгоритм вычисления значения функции F(n), где n – натуральное число, задан следующими соотношениями:

F(0) = 1, F(1) = 1

F(n) = F(n–1) + 2*F(n-2), при n > 1

Чему равно значение функции F(6)? В ответе запишите только целое число.

Выполнить трассировкой алгоритма и написать рекурсивную процедуру.

#рекурсивная процедура

def f(n):
        if n == 0 or n == 1:
                    return 1
        else:
                    return f(n - 1) + 2*f(n - 2)
#основная программа
n = int(input())
print(f(n))

Практическа работа

ЕГЭ-16 задания №№ 1, 10, 15, 19

 

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

§61

 

19.03.2025, среда

Процедуры

Процедура - это программа, которая является частью другой программы.

Процедура выполняет некоторые действия в основной программе.

Процедура может возвращать один или несколько результатов.

Данные, которые передаются в процедуру, называются фактическими параметрами.

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

Процедура описывается до точки вызова в любом месте программы.

Процедуры размещаются в начале программы.

Для использования процедуры, её вызывают из основной программы.

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

Процедура разбивает программу на части, каждая из которых является решением какой-то задачи (то есть, является подзадачей)

Локальные и глобальные переменные.

Локальные переменные доступны в пределах процедуры.

Глобальные переменные доступны как в основной программе, так и в процедурах, но если возникла изменить значение глобальной переменной в процедуре, необходимо в процедуре указать, что переменная глобальная. Например: global z, t 

Пример 1

Вывести на раз на экран текст; "Привет, мир!", используя процедуру hi.

процедура hi

def hi():

    print("Привет, мир!")

основная программа

hi()

 

Вывести 10 раз на экран текст; "Привет, мир!", используя процедуру hi.

# процедура hi
def hi():
    print("Привет, мир!")
# основная программа
for i in range(10):
      hi()
Пример 2

Найти количество цифр целого числа.

#процедура

def number(m):
        m = abs(m)
        k = 0

        if m == 0: k = 1
        while m > 0:
                k += 1
                m //= 10
        print(k)

#основная программа
n = int(input())
number(n)

 

# процедура, возвращающая значение с помощью глобальной переменной

def number(m):

        global k
        m = abs(m)
        if m == 0: k = 1
        while m > 0:
                k += 1
                m //= 10
#основная программа
n = int(input())
k = 0

number(n)

print(k)

 

Практическая работа.

Написать процедуры для решения задач.

1. Выполнения основных арифметических действий над двумя числамисложение, вычитание, умножение, деление.

2. Нахождения НОД двух целых чисел по алгоритму Евклида.

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

§59.Вопросы и задания на стр. 181

Задачи.

Написать процедуры:

1. Для решения квадратного уравнения ax2 + bx + c = 0, a ¹ 0
2. 
Найти большее и меньшее из трёцелых чисел. Для нахождения каждого из значений использовать свою процедуру.

3. Большее из трёх целых чисел увеличить на значение меньшего, а меньшее уменьшить на значение большего.

4Вывести все палиндромы трёхзначных чисел и их количество. Оформить решение  с использованием процедуры,

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

5. Написать процедуру, которая для четырёх введённых чисел, меняет местами крайние и внутренние числа.

6. Написать процедуру, которая решает линейное уравнение ax + b = 0.

7. Размеры таблиц задают две переменные: m - количество строк, n - количество столбцов.

    Получить таблицы, подобные образцам 1) - 6)

1)

1 2 3 4 5 6 7 8

1 2 3 4 5 6 7 8

1 2 3 4 5 6 7 8

1 2 3 4 5 6 7 8

2)

5 4 3 2 1

5 4 3 2 1

5 4 3 2 1

5 4 3 2 1

3)

1

2 2

1 1 1

2 2 2 2

1 1 1 1 1

4)

1 1 1 1 1 1

0 0 0 0 0

3 3 3 3

0 0 0

5 5

0

5)

5 1

4 4 2

3 3 3 3

2 2 2 2 4

1 1 1 1 1 5

6)

1 6 6 6 6 6 6

2 5 5 5 5 5

3 4 4 4 4

4 3 3 3

5 2 2

6 1

 

Функции пользователя

Функции пользователя - это функции, которые создаёт сам программист, в отличие от стандартных функций, определённых в языке программирования.

Стандартные функции: int(), max(), min(), sum(), sin(), cos(), abs(), divmod() И другие.

Функция пользователя начинается служебным словом def, далее через пробел записывается название функции, далее в круглых скобках записываются формальные параметры, после скобок ставится двоеточие.

Тело функции записывается с отступом.

Результат работы функции возвращается в программу служебным словом return <список возвращаемых результатов через запятую>.

В теле функции может быть использовано несколько слов return. После обращения к любому из них происходит выход из функции и возвращается результат.

Если после слова return ничего не указано, то просто происходит выход из функции без возвращения каких-либо результатов.

Вызов функции в основной программе происходит по имени функции и передаче её фактических параметров для обработки.

Результаты функции можно вывести или присвоить каким-то переменным. Число переменных, которые принимают результаты, должно быть не менее, чем количество возвращаемых результатовЕсли их всё же меньше, то переменной будет присвоено значение всех результатов в форме кортежа.

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

Элементы кортежа пронумерованы с 0. К элементу обращаются при помощи имени кортежа и индекса, который заключается в квадратные скобки.

Например, x[3] - обращение к элементу кортежа с индексом 3.

Задача 0

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

def f(a,b):

        return a+b, a*b

 

x, y  = map(float, input().split())

print(f(x, y)) #результат суммы и произведения в виде кортежа

 

или так

def f(a,b):

        return a+b, a*b

 

x, y  = map(float, input().split())

answer = f(x, y)

print(answer) #результат суммы и произведения в виде кортежа

 

или так

def f(a,b):

        return a+b, a*b

 

x, y  = map(float, input().split())

summa, composition = f(x, y)

print(summa, composition ) результат суммы и произведения в виде двух чисел через пробел

 

Задача 1

Написать функцию, которая вычисляет среднее арифметическое трёх целых чисел, затем выводит сами числа и их среднее арифметическое.

def average(a,b,c):

            return (a + b + c)/3

 

x, y, z = map(int, input().split())

print(x, y, z, average(x, y, z)) #вывод результата: значения x, y, z, ср. арифметическое через пробел

 

или так

def average(a,b,c):

            return a, b, c, (a + b + c)/3

 

x, y, z = map(int, input().split())

print(average(x, y, z)) #вывод результата как кортежа из четырёх чисел

 

или так

def average(a,b,c):

            return a, b, c, (a + b + c)/3

 

x, y, z = map(int, input().split())

answer = average(x, y, z)

print(answer) #вывод результата как кортежа из четырёх чисел

 

Задача 2

Вычислить факториал числа.

def factorial(m):

        p = 1

        for i in range(1, m+1):

                    p *= i

        return p

 

n = int(input())

print(factorial(n))

 

Задача 3

Вычислить НОК двух чисел.

def nod(a,b):
        while a != b:
                if a > b:
                         a -= b
                else:
                         b -= a
        return a

def nok(a,b):
        return (a*b) / nod(a,b)

x, y = map(int, input().split())
print(int(nok(x, y)))

 

Практическая работа.

4. Дано три целых числа. Расположить числа в порядке невозрастания и неубывания.

   Оформить нахождение результата функцией именем za_az.

5. Написать функцию для определения является ли число простым.

6. Дано натуральное число. Напишите функцию, которая возвращает введённое число, его квадрат и куб через пробел в одной строке.

7. Дано целое число. Напишите функцию, которая определяет количество цифр в числе и их сумму.

8. Дано целое число. Напишите функцию, которая переворачивает трёхзначное число.

Примените данную функцию для получения перевёрнутых чисел, которые вводятся по одному с клавиатуры.

9. Напишите функцию, которая для целого трёхзначного числа определяет, является ли число перевёртышем.

Примените данную функцию для определения является ли трёхзначное число перевёртышем для чисел, вводимых с клавиатуры до тех пор, пока не будет введено число 1000.
10. Дано целое число. Определите чётность числа.

11. Дано целое число. Является ли число числом Фибоначчи? Если является, выведите номер числа, если не является, выведите NO.

12. Дано целое число. Найдите количество цифр в числе и определите чётность суммы цифр данного числа.

13. Дано трёхзначное число. Поменяёте местами крайние цифры, если цифра десятков не ноль, в противном случае вычеркните цифру десятков.

14*. Простое число называется гиперпростым, если любое число, получающееся из него откидыванием нескольких цифр, тоже является простым. Например, число 733 – гиперпростое, так как данное число, и числа 73 и 7 – простые.

    а) Напишите программу с использованием логической функции, которая определяет: верно ли, что переданное ей число – простое.

    б) Напишите программу с использованием логической функции, которая определяет: верно ли, что переданное ей число – простое и находит количество всех гиперпростых чисел из первых 10000 натуральных чисел.

 

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

§60, Вопросы и задания на стр. 187

Уметь использовать описание и вызов функции пользователя

Отработать все задания урока.

 

13.03.2025, четверг

1 урок

Циклы. Самостоятельная работа

ЕГЭ-17

Варианты те же, что и 12.03.2025

Комментарием вставить условие задания

Выполненные задания отправить по электронной почте

 

ЕГЭ-17

ege17_3_Ivanov.py

Вариант 1 21 91
Вариант 2 22 92
Вариант 3 23 93
Вариант 4 24 94
Вариант 5 25 95
Вариант 6 26 96
Вариант 7 27 97
Вариант 8 28 98
Вариант 9 29 99
Вариант 10 30 82
Вариант 11 31 83
Вариант 12 32 84
Вариант 13 33 85
Вариант 14 34 86
Вариант 15 35 87
Вариант 16 36 88
Вариант 17 37 89
Вариант 18 38 90
Вариант 19 39 100

 

2 урок

Вложенные циклы

Вложенные циклы

Цикл while

#задание а

i = 1
while i <= 4:                #начало внешнего цикла
        j = 1

        while j <= 10:      #начало внутреннего цикла
                print(i, end = " ")        
                j += 1
        i += 1
        print()

 

Цикл for

#задание а

for i in range(1,5):   #начало внешнего цикла
        for j in range(1,11):    #начало внутреннего цикла
                print(i, end = " ")
        print()

 

а)

1 1 1 1 1 1 1 1 1 1

2 2 2 2 2 2 2 2 2 2

3 3 3 3 3 3 3 3 3 3

4 4 4 4 4 4 4 4 4 4

б)

5 5 5 5 5

4 4 4 4 4

3 3 3 3 3

2 2 2 2 2

1 1 1 1 1

г)

1

2 2

3 3 3

4 4 4 4

5 5 5 5 5

д)

1 1 1 1 1 1

2 2 2 2 2

3 3 3 3

4 4 4

5 5

6

е)

5

4 4

3 3 3

2 2 2 2

1 1 1 1 1

ж)

6 6 6 6 6 6

5 5 5 5 5

4 4 4 4

3 3 3

2 2

1

ЕГЭ-17: №№ 101-149, разбор заданий 126

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

§58, стр. 175 - 177

Записать программы в рабочей тетради.

з)

1 2 3 4 5 6 7 8

1 2 3 4 5 6 7 8

1 2 3 4 5 6 7 8

1 2 3 4 5 6 7 8

и)

5 4 3 2 1

5 4 3 2 1

5 4 3 2 1

5 4 3 2 1

к)

1

2 2

1 1 1

2 2 2 2

1 1 1 1 1

л)

1 1 1 1 1 1

0 0 0 0 0

3 3 3 3

0 0 0

5 5

0

м)

5 1

4 4 2

3 3 3 3

2 2 2 2 4

1 1 1 1 1 5

н)

1 6 6 6 6 6 6

2 5 5 5 5 5

3 4 4 4 4

4 3 3 3

5 2 2

6 1

Онлайн-тестирование Исполнение циклических алгоритмов

ЕГЭ-17: №№ 101-1493 задания из №№ 101-149, по одному из каждых 15

 

12.03.2025, среда

Программирование циклических вычислительных процессов

Часть 1 Контроль

Вначале комментарием вставить условие задачи.

  1 - 48

3_Ivanov.py

C3

3_C3_Ivanov.py

Вариант 1 12 30
Вариант 2 15 29
Вариант 3 17 28
Вариант 4 19 27
Вариант 5 21 26
Вариант 6 23 25
Вариант 7 25 24
Вариант 8 27 23
Вариант 9 29 22
Вариант 10 31 21
Вариант 11 33 20
Вариант 12 35 19
Вариант 13 37 18
Вариант 14 39 17
Вариант 15 41 16
Вариант 16 43 15
Вариант 17 45 14
Вариант 18 47 13
Вариант 19 46 12

Часть 2

ЕГЭ-17 Перебор последовательности целых чисел. Проверка делимости №№ 1 - 100

"""17-25)  Рассматривается множество целых чисел,
принадлежащих числовому отрезку [3672; 9117],
которые удовлетворяют следующим условиям:
− остаток от деления на 3 равен 2;
− остаток от деления на 5 равен 4.
Найдите количество таких чисел и их сумму.
"""

k = 0
s = 0
for x in range(3672,9118):
    if x % 3 == 2 and x % 5 == 4:
        k += 1
        s += x
print(k, s)

 

"""17-39) Рассматривается множество целых чисел,
принадлежащих числовому отрезку [3466; 9081],
которые удовлетворяют следующим условиям:
− количество цифр в восьмеричной и десятичной записях числа не совпадает;
− остаток от деления на 7 равен 1 или 5.
Найдите количество таких чисел и максимальное из них
"""

k = 0
mx = 0
for x in range(3466,9082):
    z = x
    k1 = 0
    while z != 0:
        k1 += 1
        z //= 8
    if (x % 7 == 1 or x % 7 == 5) and k1 != 4:
        k += 1
        if x > mx: mx = x
print(k, mx)

 

Обсуждение алгоритмов решения задач 50, 51, 60, 65, 69, 89, 99

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

ЕГЭ-17 №№ 1 - 100

5 заданий по выбору, по одному из каждых 20

 

06.03.2025, четверг

Программирование циклических вычислительных процессов

1 урок

Цикл for

Функция range(n1[[,n2],h])

Пример 1.

 for x in range(5):

            print(x, end = " ")

Результат:  0 1 2 3 4

 

Пример 2.

 for x in range(1, 5):

            print(x, end = " ")

Результат:  1 2 3 4

 

Пример 3.

 for x in range(0, 5, 2):

            print(x, end = " ")

Результат:  0 2 4

 

Пример 3.

 for x in range(5, 0, -1):

            print(x, end = " ")

Результат:  5 4 3 2 1

Пример 4.

Найти сумму чётных чисел первой сотни.

 

s = 0

for x in range(2, 101,2):

            s += x

print(s)

 

Пример 5.

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

 

for x in range(20,10,-1):

        print(x**2, end = " ")

 

 

 

Самостоятельная работа.

12. Напишите программу, которая в последовательности натуральных чисел определяет максимальное число, оканчивающееся на 3. Программа получает на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется число, оканчивающееся на 3. Количество чисел не превышает 1000. Введённые числа не превышают 30 000. Программа должна вывести одно число – максимальное число, оканчивающееся на 3. Пример работы программы:
13. Напишите программу, которая в последовательности натуральных чисел определяет количество чисел, кратных 6 и оканчивающихся на 4. Программа получает на вход количество чисел в последовательности, а затем сами числа. Количество чисел не превышает 1000. Введённые числа по модулю не превышают 30 000. Программа должна вывести одно число: количество чисел, кратных 6 и оканчивающихся на 4.
Пример работы программы:
14Напишите программу, которая в последовательности целых чисел определяет количество двузначных чисел, кратных 8. Программа получает на вход целые числа, количество введённых чисел неизвестно, последовательность чисел заканчивается числом 0 (0 – признак окончания ввода, не входит в последовательность). Количество чисел не превышает 1000. Введённые числа по модулю не превышают 30 000. Программа должна вывести одно число: количество двузначных чисел, кратных 8.
Пример работы программы:

 

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

§58. Решение задач 15 и 16 записать в тетрадь

15. Напишите программу, которая в последовательности целых чисел определяет количество чисел, кратных 5 или 9. Программа получает на вход целые числа, количество введённых чисел неизвестно, последовательность чисел заканчивается числом 0 (0 – признак окончания ввода, не входит в последовательность). Количество чисел не превышает 1000. Введённые числа по модулю не превышают 30 000. Программа должна вывести одно число: количество чисел, кратных 5 или 9.
Пример работы программы:
16. Напишите программу, которая в последовательности натуральных чисел определяет минимальное число, оканчивающееся на 4. Программа получает на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется число, оканчивающееся на 4. Количество чисел не превышает 1000. Введённые числа не превышают 30 000. Программа должна вывести одно число – минимальное число, оканчивающееся на 4. Пример работы программы:

 

Практикум. Алгоритмизация и программирование циклических вычислительных процессов

Задачи

Часть 1

  1. Вывести на экран числа 1,3,5,7,…31

  2. Вывести на экран числа 2,4,6,8,…32

  3. Вывести на экран числа 40, 39, 38, … 1

  4. Вывести на экран числа 100, 90, 80, … 10

  5. Найти сумму чисел от 1 до 30

  6. Найти произведение чисел от 1 до 33

  7. Найти сумму модулей чисел от -5 до 5

  8. Получить кубы чисел второго десятка натуральных чисел, результаты вывести в одной строке через знак подчёркивания.

  9. Получить таблицу значений функции y = 5x2 - x3 +3 на отрезке [-5; 3] c шагом 0.5.

  10. Вычислить сумму чисел x1 + x2 + x3 + ... + xn

  11. Составить таблицу перевода байтов в биты на отрезке [1;20]. Формат вывода: 1 байт = 8 бит

  12. Получить таблицу умножения на заданное число и вывести ее в перевёрнутой форме. Формат первой строки для таблицы на 6:  10 * 6 = 60

  13. Дано натуральное число не превышающее 9. Вывести первые 10 степеней данного числа. Формат вывода для числа 3: 3 ** 1 = 3

  14. Получить последовательность первых десяти чётных положительных чисел, начиная с некоторого числа n. Значение может быть как чётным, так и нечётным.

  15. Найти сумму чётных чисел на отрезке [a,b]. Значения а и могут быть как чётными, так и нечётными.

  16. Выводить на экран случайные числа [0,10] до тех пор, пока не будет получено 5

  17. Выводить на экран случайные числа [0,10] до тех пор, пока их сумма не превысит 50

  18. Выводить на экран случайные числа [0,10] до тех пор, пока их сумма не превысит 50 или их количество не превысит 10

  19. Выводить на экран случайные числа [0,10] до тех пор, пока количество нулей не превысит 3 или количество всех — 30

  20. Выводить случайные числа, пока сумма четных не окажется равной сумме нечетных или количество не превысит 15

  21. Сформировать 25 случайных трёхзначных чисел. Сколько из данных чисел являются такими, что их цифры являются числами Пифагора?

  22. Сформировать 10 случайных трёхзначных чисел  получить из каждого числа двузначное вычёркиванием средней цифры. Формат вывода: Трёхзначное число 925 Двузначное число 95.

  23. Дано целое число N и набор из N ненулевых целых чисел. Найти сумму и количество чисел, не кратных 5.

  24. Дано целое число N и набор из N ненулевых целых чисел. Сравнить количество отрицательных и положительных чисел.

  25. Даны целые числа K, N и набор из N целых чисел. Если в наборе присутствует число, меньшее K, то вывести True; в противном случае вывести False. 

  26. Дан набор ненулевых целых чисел, признак его завершения — число 0. Вывести количество чисел в наборе. 

  27.  Дан набор ненулевых целых чисел. признак его завершения — число 0. Вывести сумму всех положительных четных чисел из данного набора. Если требуемые числа в наборе отсутствуют, то вывести 0. 

  28.  Дано целое число K и набор ненулевых целых чисел, признак его завершения — число 0. Вывести количество чисел в наборе, меньших K. 

  29.  Дано целое число K и набор ненулевых целых чисел, признак его завершения — число 0. Вывести номер первого числа в наборе, большего K. Если таких чисел в наборе нет, то вывести 0. 

  30.  Дано целое число K и набор ненулевых целых чисел, признак его завершения — число 0. Вывести номер последнего числа в наборе, меньшего K. Если таких чисел в наборе нет, то вывести 0. 

  31.  Дано целое число K и набор ненулевых целых чисел, признак его завершения — число 0. Вывести номер первого числа в наборе, меньшего K. Если таких чисел в наборе нет, то вывести 0.

  32. Вывести все палиндромы трёхзначных чисел и их количество.

  33. Вывести все двузначные числа, у которых цифра десятков не больше цифры единиц.

  34. С клавиатуры вводится целых трёхзначных чисел. Найти количество чисел, которые оканчиваются на 3, но перед этой цифрой нет цифры 7.

  35.  С клавиатуры вводится целых трёхзначных чисел. Найти количество чисел у которых нет повторяющихся цифр.

  36.  С клавиатуры вводится целых трёхзначных чисел. Найти количество чисел у которых цифры от старшей к младшей возрастают.

  37. С клавиатуры вводится целых трёхзначных чисел. Найти количество чисел у которых цифры от старшей к младшей не возрастают.

  38. С клавиатуры вводится целых трёхзначных чисел. Найти количество чисел у которых ровно 2 одинаковые цифры.

  39. Дано целое число N и набор из N целых чисел. Вывести номера тех чисел в наборе, которые меньше своего левого соседа, и количество K таких чисел. 

  40. Дано целое число N и набор из N целых чисел. Вывести номера тех чисел в наборе, которые больше своего правого соседа, и количество K таких чисел. 

  41. Дано целое число N и набор из N вещественных чисел. Проверить, образует ли данный набор возрастающую последовательность. Если образует, то вывести True, если нет — вывести False. 

  42. Дано целое число N и набор из N вещественных чисел. Если данный набор образует убывающую последовательность, то вывести 0; в противном случае вывести номер первого числа, нарушающего закономерность. 

  43. Дано целое число N и набор из N целых чисел, содержащий  ровно два нуля. Вывести сумму чисел из данного набора, расположенных между нулями (если нули идут подряд, то вывести 0). 

  44. Дано целое число N и набор из N целых чисел, содержащий по крайней мере два нуля. Вывести сумму чисел из данного набора, расположенных между последними двумя нулями (если последние нули идут подряд, то вывести 0).

  45. Дано целое число N и набор из N целых чисел, содержащий по крайней мере два нуля. Вывести сумму чисел из данного набора, расположенных между первыми двумя нулями (если первые нули идут подряд, то вывести 0).

  46. Проверить, является ли число а степенью числа b.

  47. Перевести число из системы счисления с основанием q в систему счисления с основанием 10.  a) q = 2..9; б) q = 2..16

  48. 100 абитуриентов сдавали по три экзамена. Максимальный балл за каждый экзамен - 10 баллов. Найти максимальное и минимальное количество баллов, которые получили абитуриенты за три экзамена.

Часть 2

Задачи С3

Часть 3

ЕГЭ-17: №№ 1-149

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

На каждый урок оформить в тетради по 3 задачи разного уровня сложности (ориентироваться по цвету текста задачи)

 

05.03.2025, среда

Циклы

Цикл с предусловием, цикл с постусловием, цикл с параметрами.

Практическая работа. Разработка циклических алгоритмов.

Задачи типа С3

Программирование циклических вычислительных процессов

Цикл while предусловием

while <логическое выражение>:

            <тело цикла>

 

Цикл while c постусловием

while True:

            <тело цикла>

            if <логическое выражение>:

                        break

Практическая работа.

Задача 1

Найти квадраты натуральных чисел второго десятка.

Результат вывести в одной строке.

цикл с предусловием

x = 11

while x <= 20:

        print(x ** 2, end = " ")

        x += 1

 

цикл с постусловием

x = 11

while True:

        print(x ** 2, end = " ")

        x += 1

        if x == 21: break

 

Примечание.

print("{:2d} ^ 2 = {:3d}".format(x, x ** 2))  #форматный вывод, квадраты чисел выводятся по одному в строке с пояснением, например: 11 ^ 2 = 121

или

print(f"{x:2d} ^ 2 = {x**2:3d}") 

 

Задача 2. С клавиатуры вводится n целых чисел.

Найти сумму  чётных и произведение нечётных чисел. Число 0 отнести к чётным числам.

Задача 3. С клавиатуры вводится n целых чисел.

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

Задача 4.  Выполнить табулирование функции y = 3x2 - 2x +1 на [- 5; 5] с шагом 0.5.

Задача 5. Получить таблицу умножения на заданное число. При выводе результата использовать форматный вывод.

Задача 6. Вычислить n! (n! = 1*2* ... *n).

Задача 7. Найти количество цифр натурального числа.

Задача 8. Найти количество чётных, нечётных и равных нулю цифр натурального числа.

Задача 9. Найти НОД двух целых чисел по алгоритму Евклида.

Задачи С3

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

§57

Разработать пограмму для решения задачи. 2 задачи по выбору. Задачи типа С3

Задача 10. Мишень.

Мишенью является круг с центром в начале координат, радиус круга равен r, который задаётся случайным целым числом из диапазона [0;100].

Играют пользователь и компьютер, поочерёдно производя "выстрелы". Пользователь вводит координаты произвольно, а компьютер - случайным образом выбирает координаты из промежутка [0;100]. Производится не более 100 выстрелов суммарно пользователя и компьютера. Определить победителя.

Вывести протокол игры для анализа.

Задача 11.

Дано два натуральных числа одинаковой разрядности. Выяснить, в каком числе раньше встречается нечётная цифра или вывести сообщение о том, что впервые нечётные цифры встречаются на одинаковых позициях или отсутствуют вовсе. Порядок цифр следует слева направо.

 

 

26-27.02.2025, среда, четверг

Программирование разветвляющихся вычислительных процессов

Практическая работа

  задачи с графиками
Вариант 1 41
Вариант 2 40
Вариант 3 39
Вариант 4 38
Вариант 5 37
Вариант 6 36
Вариант 7 35
Вариант 8 34
Вариант 9 33
Вариант 10 32
Вариант 11 31
Вариант 12 30
Вариант 13 29
Вариант 14 27
Вариант 15 26
Вариант 16 25

ОБРАЗЕЦ

Задание 1

"""1_20 Дано трёхзначное натуральное число и цифра не 0.
Если число чётное, то приписать цифру справа, в противном случае - слева"""

x = int(input('Введите трёхзначное число >>>')) #ввод числа
c = int(input('Введите цифру не 0 >>>')) #ввод цифры
if x % 2 == 0: #проверка числа на чётность
    x = 10*x + c #вычисление результата, если число чётное
else:
    x = 1000*c + x #вычисление результата, если число нечётное
print('Ответ:',x)
#вывод результата

 

Задание 2

"""Принадлежит ли точка A(x,y) отмеченной области на числовой прямой?
Область задана отрезками [-4;2] и [8;14]"""

x = int(input('Введите координату точки >>>'))
if -4 <= x <= 2 or 8 <= x <= 14:
    print('Принадлежит')
else:
    print('НЕ принадлежит')

 

Часть 1

 Практическая работа

1. Дано три целых числа. Сколько из них являются чётными числами?

2. Даны два числа. Одно число вводится с клавиатуры, другое - случайное. Сравнить числа.

3. Найти большее из трёх различных чисел.

4. В трёхзначном числе поменять местами цифры десятков и сотен, если цифра десятков - чётное число, в противном случае поменять местами цифры сотен и единиц.

5. Дано четырёхзначное число. Найти количество нечётных цифр в нём.

6. Разработать программы для решения уравнений: a) ax + b =0; б) ax2 + bx + c = 0, a<>0.

7. Дано два различных целых числа. Большее из них увеличить на 1, меньшее - уменьшить на 1.

8. Дано число. Принадлежит ли оно [a;b]?

9. По номеру дня недели вывести название дня. Если такого дня не обнаружено, вывести NO.

10. По названию месяца вывести название времени года.

11. В строке через пробел вводятся координаты точки плоскости.

      Вывести сообщение о расположении точки относительно прямой y = 3x - 1,5выше, ниже, на прямой.

12.Даны 3 вещественных числа. Существует ли треугольник со сторонами a, b, c?

13. Принадлежит ли точка A(x,y) кругу, ограниченному окружностью  (x - a)2 + (y - b)2 = 49?

14. Дано двузначное натуральное число. Верно ли, что квадрат суммы его цифр больше самого числа? Вывести YES или NO.

15. Даны коэффициенты прямой y = kx + b и координаты двух точек. Верно ли, что точки лежат по разные стороны прямой?

16. Даны координаты центов и радиусы двух окружностей. Пересекаются ли они? Пересекающимися будем называть окружности, имеющие хотя бы одну общую точку.

17. Дано трёхзначное натуральное число. Верно ли, что удалив одну из его цифр, можно получить число, делящееся на 3?

18. Дана дата в виде: день, месяц. Вывести дату следующего дня. Считать, что год не високосный.

19. Известна сторона квадрата и радиус круга.

      а) Поместится ли круг в квадрате?

      б) Поместится ли квадрат в круге?

Часть 2

 20. Задачи типа С2

Часть 3

21. Задачи на составное условие.

Условие для всех задач. Вводятся координаты некоторой точки A(x,y).

                                        Выяснить, принадлежит ли точка фигуре, ограниченной линиями.

(задачи с графиками): №№ 1115, 16, 17, 18, 19, 20, 21, 22, 23, 24, 24, 25, 26, 27, 28, 29, 30

                        31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43

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

Подготовиться к зачёту по теме: "Ветвления"

 

20.02.2025, четверг

Ветвления

Знаки отношений: >, <, >=, <=, ==, !=

Логические операции: not, and, or

 

Полная форма ветвления

if <логич. выражение>:

            <значение если истина>

else:

            <значение если ложь>

 

Неполная форма

if <логич. выражение>:

            <значение если истина>

 

Каскадное ветвление

if <логич. выражение 1>:

    <значение если истинно логич. выражение 1>

elif  <логич. выражение 2>:

    <значение если истинно логич. выражение 2>

    . . .

elif  <логич. выражение n>:

    <значение если истинно логич. выражение n>

else:

    <значение если не выполнилось ни одно из логических выражений 1 .. n>

 

Задача. Получить квадрат числа, если оно чётное, иначе получить куб числа.

 

a = int(input())

 

пример 1

if a % 2 == 0:

        print(a**2) 

else:

        print(a**3)

 

пример 2

if a % 2 == 0:

        print(a**2) 

if a % 2 != 0:

        print(a**3)

 

пример 3

if a % 2 == 0: print(a**2)

else: print(a**3)

 

пример 4

print(a**2) if a % 2 == 0 else print(a**3)

 

 Практическая работа

1. Дано три целых числа. Сколько из них являются чётными числами?

2. Даны два числа. Одно число вводится с клавиатуры, другое - случайное. Сравнить числа.

3. Найти большее из трёх различных чисел.

4. В трёхзначном числе поменять местами цифры десятков и сотен, если цифра десятков - чётное число, в противном случае поменять местами цифры сотен и единиц.

5. Дано четырёхзначное число. Найти количество нечётных цифр в нём.

6. Разработать программы для решения уравнений: a) ax + b =0; б) ax2 + bx + c = 0, a<>0.

7. Дано два различных целых числа. Большее из них увеличить на 1, меньшее - уменьшить на 1.

8. Дано число. Принадлежит ли оно [a;b]?

9. По номеру дня недели вывести название дня. Если такого дня не обнаружено, вывести NO.

10. По названию месяца вывести название времени года.

11. В строке через пробел вводятся координаты точки плоскости.

      Вывести сообщение о расположении точки относительно прямой y = 3x - 1,5выше, ниже, на прямой.

12.Даны 3 вещественных числа. Существует ли треугольник со сторонами a, b, c?

13. Принадлежит ли точка A(x,y) кругу, ограниченному окружностью  (x - a)2 + (y - b)2 = 49?

14. Дано двузначное натуральное число. Верно ли, что квадрат суммы его цифр больше самого числа? Вывести YES или NO.

15. Даны коэффициенты прямой y = kx + b и координаты двух точек. Верно ли, что точки лежат по разные стороны прямой?

16. Даны координаты центов и радиусы двух окружностей. Пересекаются ли они? Пересекающимися будем называть окружности, имеющие хотя бы одну общую точку.

17. Дано трёхзначное натуральное число. Верно ли, что удалив одну из его цифр, можно получить число, делящееся на 3?

18. Дана дата в виде: день, месяц. Вывести дату следующего дня. Считать, что год не високосный.

19. Известна сторона квадрата и радиус круга.

      а) Поместится ли круг в квадрате?

      б) Поместится ли квадрат в круге?

20. Задачи типа С2

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

§56

Уметь решать все задачи. Решить 5 задач по выбору. Исходный текст программ записать в тетрадь.

 

19.02.2025, среда

Программирование линейных алгоритмов

Практическая работа. Программирование линейных алгоритмов

Часть 1. Вычисление значений сложных математических выражений.

       

0. Вычислить значение выражения с точностью до 4 знаков после запятой с округлением результата по правилам математики.

    2,3sin 2,32 - 0.5tg30º -  2,343·10-12 +e3,4 + cos243º - 75 + log317,23

 Самостоятельная работа

Вычислить значение выражения.

Вариант 1 Результат округлить до 3 знаков после запятой.

Вариант 2 Результат округлить до 6 знаков после запятой.

Вариант 3 Результат округлить до 2 знаков после запятой.

Вариант 4 Результат округлить до 5 знаков после запятой.

Часть 2. Функции "компьютерных" систем счисления: bin(), oct(), hex(). Метод count(). Срез строки.

        Задания ЕГЭ - 14

Сколько значащих нулей в двоичной записи числа 416 + 236  – 16?

 

1)      Сколько единиц в двоичной записи числа 8502 – 4211 + 21536 – 19?

2)      Сколько единиц в двоичной записи числа 8415 – 4162 + 2543 – 25?

3)      Сколько единиц в двоичной записи числа 8115 – 4123 + 2543 – 15?

4)      Сколько единиц в двоичной записи числа 8125 – 4156 + 2632 – 7?

5)      Сколько единиц в двоичной записи числа 8148 – 4123 + 2654 – 17?

6)      Сколько единиц в двоичной записи числа (24400 – 1)·(42200 + 2)?

7)      Сколько значащих нулей в двоичной записи числа 4350 + 8340 – 2320 – 12?

8)      Сколько значащих нулей в двоичной записи числа 4590 + 8350 – 21020 – 25?

9)      Сколько значащих нулей в двоичной записи числа 4230 + 8120 – 2150 – 100?

10)   Сколько значащих нулей в двоичной записи числа 41024 + 81025 – 21026 – 140?

11)   Сколько значащих нулей в двоичной записи числа 42015 + 82016 – 22017 – 150?

14)   Сколько значащих нулей в двоичной записи числа 8740 – 2900 + 7?

15)   Сколько значащих нулей в двоичной записи числа 8820 – 2760 + 14?

16)   Сколько значащих нулей в двоичной записи числа 8560 – 2234 + 56?

17)   Сколько единиц в двоичной записи числа 82020 + 42017 + 26  – 1?

Часть 3. Программирование линейных вычислительных процессов.

1. Дано двузначное целое число. Найдите произведение цифр числа.

2. Дано трёхзначное число. Поменять местами цифры сотен и единиц в нём. (Например. Для числа 347 ответом будет число 743)

3. Дано двузначное число и цифра. Приписать цифру справа к двузначному числу.  (Например. Для числа 12 и цифры 9 ответом будет число 129)

4. Дано двузначное число и цифра. Приписать цифру слева к двузначному числу.  (Например. Для числа 12 и цифры 9 ответом будет число 912)

5. Дано двузначное число и цифра. Вставить цифру в "середину числа". (Например. Для числа 12 и цифры 9 ответом будет число 192)

6. Известны катеты прямоугольного треугольника. Найти площадь треугольника и гипотенузу.

7. Известна диагональ квадрата. Найти площадь и периметр квадрата с точностью до 3 знаков после запятой без округления.

8. Покупка состоит из четырёх товаров. Найти стоимость покупки.

9. Ученик получил за четверть по физике пять отметок. Найти среднюю отметку ученика по физике с точностью до 2 знаков после запятой без округления.

10. В прыжках с трамплина выполняются три попытки. Итоговый результат засчитывается как среднее арифметическое всех попыток. Найти итоговый результат с точностью до 2 знаков после запятой с округлением вниз.

11. Автомобиль проехал км за часов. Найти среднюю скорость автомобиля.

12. Турист находился в пути секунд. Выразите это время в часах, минутах, секундах.

13. Дано шестизначное число. Переставить цифру тысяч в начало, а цифру сотен в конец числа.

14. По известному времени старта и финиша бегуна марафона в часах, минутах, секундах. Найти время, за которое бегун преодолел дистанцию в часах, минутах, секундах.

15. Дано шестизначное натуральное число. Поменять местами его половины. Например. Для числа 534520 ответом будет 520534.

16. В шестизначном натуральном числе каждую цифру уменьшить на 1.

17. Задачи С1 Выполнить задание по номеру варианта.

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

§55. Решить все задания

1. Даны переменные a и b. Значение а заметить значением и наоборот.

2. Даны три стороны треугольника. Найти периметр и площадь треугольника.

3. Дано два трёхзначных числа. Найти сумму цифр старших разрядов и произведение цифр младших разрядов трёхзначных чисел.

 Дано трёхзначное число.

        4Найти цифры числа. Вывести цифры с пояснениями. Например: число 349. Результат: s = 3 d = 4 e = 9)

        5. Поменять местами крайние цифры.

        6. Получить перевёртыш числа.

        7. Получить новое число, соединив результаты квадратов цифр исходного трёхзначного числа.

            (Например. Дано: 465. Результат: 163625)

        8. Удалить среднюю цифру числа.

Получить случайное четырёхзначное число. В первой строке вывести полученное число.

        9. Найти сумму цифр числа.

        10. Переставить местами первую и последнюю пары цифр числа. Например, для числа 3645 результатом будет 4536.

        11. Поменять местами первую и последнюю цифры числа, средние оставить без изменений. Например, для числа 3547 результатом будет 7543.

        12. Получить перевёртыш числа. Для числа 2941 результатом будет число 1492

13.  Вычислите значение функции F(x,y) = -3y3 + sin(2x/6) с точностью до 2 знаков после запятой. x, y - вещественные числа.

14. Дано два целых трёхзначных числа. Поменять местами соответственные последние цифры чисел. Например, для чисел 456 и 304 результатом будут числа 454 и 306.

15. Дан квадрат со стороной a. Найти радиус равновеликого ему круга. (Равновеликие фигуры имеют одинаковые площади)

16. Дано трехзначное число из отрезка [-555; -333]. Найти сумму цифр числа.

В трёхзначном числе:

        17. найти сумму квадратов цифр числа;

        18. найти сумму цифр десятков и единиц, а также куб цифры сотен;

        19. получить шестизначное число, повторив каждую цифру исходного числа дважды; (Дано: 345. Результат: 334455)

        20. поменять местами цифры сотен и единиц;

        21. вычеркнуть из числа цифру десятков; (Дано: 386. Результат: 36)

        22. вычеркнуть из числа цифру сотен; (Дано: 123. Результат: 23)

        23. вычеркнуть из числа цифру единиц; (Дано: 835. Результат: 83)

24. В четырёхзначном числе вычеркнуть цифры сотен и единиц. (Дано: 4863. Результат: 46)

 

12-13.02.2025, среда, четверг

Введение в язык программирования Python3

Python - интерпретируемый язык высокого уровня, реализующий процедурное и объектно-ориентрованное программирование.

Режимы работы:

    - интерактивный;

    - программный.

Команды Python: операторы, функции.

Программа на Python.

Пустая программа.

Комментарии в программе.

Функция print.

Первая программа

print("Привет, мир!")

Практическая работа. Знакомство со средой программирования Python3

Тестирование первой программы: a) в интерактивном режиме; б) в программном режиме

 

Переменные. Основные типы данных. Функции ввода, вывода, оператор присваивания

Практическая работа. Функции print(), input(), оператор присваивания.

Переменные - величины, значения которых можно изменять в процессе выполнения программы.

    При обозначении переменных используется латиница, сочетание латинских букв с цифрами, некоторыми знаками: _, - и др.

    Переменная принимает тип в зависимости от присвоенного значения.

    Тип одной и той же переменной может меняться в процессе выполнения программы.

    Для присваивания значения переменной используют оператор = (Присвоить)

    Имя переменной чувствительно к регистру. и f - это различные переменные.

Типы переменных в Python (функции int, float, bool, str определяют/изменяют тип переменной):

    int(x) - целый тип;

    float(x) - вещественный тип;

    bool(x) - логический тип (Значения логического типа: True, False);

    str(x) - строковый (символьный) тип.

    Функция type(x) определяет класс типа.

Простейшие арифметические выражения и операции

Полная форма

Сокращённая запись

a = a + b

a += b

a = a - b

a -= b

a = a * b

a *= b

a = a/b

a /= b

a = a**b

a **=b

a = a // b a //= b
a = a % b a %= b

Выполнить задания в интерактивном режиме.

Открыть консоль. Shit + F4

Загрузить интерпретатор Python. python3

>>>   

Примеры.

    1. a = 6    присваивание переменной значения 6

       a = a + 3  увеличение значения а на 3

       a    выведет 9

       a += 4    увеличение значения а на 4

       a  выведет 13

    2. a = 3

        b = 5

        a **= b  вычисляет а в степени b, результат присваивает a

        a  выведет 243

Вывод данных. Функция print().

    print() - вывод результата. Формат:  print(<операнды>)

    Примеры.  

    1. print("Hello, World!")  выведет текст Hello, World!курсор переводится в следующую строку

    2. print(2, 3, 5)        # выведет 2 3 5

    3. print(2, 3, 5, sep = "_")  выведет 2_3_5   Функция sep указывает как разделить список

    4. print(2, 3, "\n", 5)  # 2 3 возвращает  2 3 в одной строке, а 5 - в следующей строке. "\n" - переход на следующую строку

    5. print(2); print(3); print(5) выведет каждое число в новой строке (Запись нескольких функций в одной строке разделяется точкой с запятой)

    6. print(2, end = " "); print(3, end = " "); print(5) выведет числа через пробел. end = " " - завершить вывод пробелом (в кавычках можно указать любой другой символ)

    7. a, b = 9, 17    # присваивание переменным и  значений целых чисел 9 и 17 соответственно

        print(a + b)    возвращение суммы чисел. Результат:  26

    8. print("a =", a, "b =", b)  вывод значений переменных с их именами

        print(a, "+", b, "=", a + b)  вывод   9 + 17 = 26

            или

        print(f'a =  {a} b = {b} a + b = {a + b}')

Ввод данных. Функция input().

    * Для ввода данных можно использовать присваивание.

        a = 72  # значению a присвоено значение 72

    * Функция input() всегда вводит строку.

    input() ввод данных. Формат: <переменная> = input(<строка>)

    Примеры.

    1. >>>a = input("Введите значение a >") ввод строки

        >>>a   

        вывод введённой строки

    2. >>>b = input()   ввод строки

        >>>b*3   

        повторение значения три раза

    3. >>>b = input()   ввод строки

       >>> b = int(b)  преобразование строки в число

        >>>b*3      

        вывод произведения введённого значения на 3

    4. >>>a, b = input().split() ввод значений двух строк через пробел

        >>>a

        вывод значения строки а

        >>>b

       вывод значения строки b

    5. >>>a, b = input().split() ввод значений двух строк через пробел

        >>>a =int(a); b = int(b)  преобразование введённых значений строк к целым числам

        >>>a*b

        вывод произведения чисел

    6. >>>a, b = map(int, input().split()) ввод значений двух целочисленных переменных через пробел

        >>>a*b

        вывод произведения значений и b

 

Вычисление значений математических выражений

Программирование линейных алгоритмов

Форматный вывод.

>>>a, b = 23, 2.234

>>>a, b

(23, 2.234)

 

>>>print("Ответ: a = {:3d}, b = {:3.2f}".format(a, b))

Ответ: a = 23, b = 2.23

 

>>>print("Ответ: a = {:5d}, b = {:7.3e}".format(a, b))

Ответ: a = 23, b = 2.234e+00

 

>>>print("{:7.4g}".format(123.2501))

 123.2

Операции // (целая часть од деления одного числа на другое) и % (остаток от деления одного числа на другое)

Стандартные математические функции.

abs(x) - модуль числа

int(a) - преобразование к целому типу

round(x) - округление

bin(a) - перевод числа в двоичную систему счисления

oct(a) - перевод числа в восьмеричную систему счисления

hex(a) - перевод числа в шестнадцатеричную систему счисления

Модуль math.

import math

math.pi      — число «пи»

math.sqrt(x) — квадратный корень

math.sin(x)  — синус угла, заданного в радианах

math.cos(x)  — косинус угла, заданного в радианах

math.exp(x)  — экспонента ех

math.log(x)   — натуральный логарифм

math.log(a,b) - логарифм от a по основанию b

math.floor(x) — округление «вниз»

math.ceil(x)  — округление «вверх»

 

from math import *

pi      — число «пи»

sqrt(x) — квадратный корень

sin(x)  — синус угла, заданного в радианах

cos(x)  — косинус угла, заданного в радианах

exp(x)  — экспонента еx , е= 2.718281828459045

log(x)   — натуральный логарифм

log(a,b) - логарифм от a по основанию b

round(x) — округление по правилам математики

floor(x) — округление «вниз»

ceil(x)  — округление «вверх»

Случайные числа

Подключение модуля случайных чисел

from random import *

Целые случайные числа на [a;b]

>>>randint(5,10)

Вещественные случайные числа на [0;1)

>>>random()

Вещественные случайные числа на [a;b]

>>>uniform(2.5, 4.8)

Практическая работа.

Образцы

""" Задание 1
Найти сумму трёх случайных двузначных целых чисел. """

from random import *  # подключение модуля random
a, b, c = randint(10,99), randint(10,99), randint(10,99# присвваивание переменным значений случайных двузначных чисел
print(a, b, c) #вывод трёх случайных двузначных чисел
print(a,'+', b,'+', c, '=', a + b + c , "\n"#вывод результата с переводом курсора на новую строку

""" Задание 2
В трёхзначном целом числе, вводимом с клавиатуры, найти произведение цифр числа."""

x = int(input('Введите трёхзначное число > ')) #ввод трёхзначного числа
x = abs(x) #вычисление модуля числа x
s = x // 100 #нахождение цифры сотен
d = x //10 10 #нахождение цифры десятков
e = x % 10 #нахождение цифры единиц
print('Произведение цифр числа ', x, 'равно', s*d*e) #вывод результата

 

1. Вычисление значений сложных математических выражений в интерактивном режиме.

    2,3sin 2,32 - 0.5tg30º -  2,343·10-12 +e3,4 + cos243º+275

a) найти целую часть выраженияб) вывести результат с точностью до 3 цифр после запятой.

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

Пример:

Введите три целых числа:

5 7 8

5+7+8=20

5*7*8=280

(5+7+8)/3=6.667

3. Ввести с клавиатуры координаты двух точек (A и B) на плоскости (вещественные числа).

Вычислить длину отрезка AB.

Пример:

Введите координаты точки A:

5.5 3.5

Введите координаты точки B:

1.5 2

Длина отрезка AB = 4.272

4. Получить случайное трехзначное число и вывести через запятую его отдельные цифры.

Пример:

Получено число 423.

Его цифры 4, 2, 3.

Сумма цифр 4 + 2 + 3 = 9

Произведение цифр  4*2*3 = 24

 

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

§54-55

Задачи С1

 

 

05-06.02.2025, среда, четверг

Построение алгоритмов для обработки одномерных и двумерных  массивов

Задачи (С1, C2, С3, С5, С6)

Исполнение алгоритмов

ЕГЭ-5 Письменный опрос

  ЕГЭ-5
Вариант 1 2 17 35 52 70 104
Вариант 2 3 18 36 53 71 103
Вариант 3 4 19 37 54 72 106
Вариант 4 5 20 38 55 73 89
Вариант 5 6 26 40 56 74 107
Вариант 6 7 22 41 57 75 91
Вариант 7 8 23 42 59 76 92
Вариант 8 9 24 43 60 77 108
Вариант 9 10 25 44 61 78 94
Вариант 10 11 27 45 62 79 109
Вариант 11 12 28 46 63 80 97
Вариант 12 13 29 47 54 81 110
Вариант 13 14 30 48 65 82 99
Вариант 14 15 32 39 66 83 100
Вариант 15 17 33 50 69 84 101
Вариант 16 18 34 51 68 85 102

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

Задачи (C1, C2, C3, С5, С6) подготовиться к зачёту

 

30.01.2025, четверг

Построение алгоритмов базовых структур

Практическая работа. Разработка алгоритмов.

Задачи (С1, С2, С3)

Исполнение алгоритмов

ЕГЭ-5 №№ 1, 16, 21, 31, 39, 58, 67, 87, 95, 105

Разработка алгоритмов.

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

ЕГЭ-5 Задания 1 - 110, по выбору 5 заданий (по одному из каждых 20)

 

29.01.2025, среда

1 урок

Контрольная работа "Логические основы компьютера"

Вариант 1   Вариант 2   Вариант 3   Вариант 4

2 урок

Практическая работа. Разработка алгоритмов базовых структур

Построение алгоритмов базовых структур

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

1. Материал в учебнике на стр. 126 - 127

Задачи (С1, С2, С3)

2. Образцы решения задач на примере задач С1, С2, С3 - № 21

3. Самостоятельная работа. Задания по вариантам.

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

§51. Разработать блок-схемы алгоритмов, по две каждого типа

Задачи (С1, С2, С3)

 

23.01.2025, четверг

Алгоритмы

Этапы решения задач на компьютере

Презентации  1  2

Видеоролик 1

Видеоролик 2

Постановка задачи.

    Данные и величины.

    Постоянные и переменные величины.

    Входные, выходные, промежуточные данные.

    Основные характеристики величины.

Формализация.

Построение алгоритма.

    Понятие алгоритма.

    Свойства алгоритма.

        Понятность.

        Дискретность.

        Детерминированность.

        Результативность.

        Массовость.

    Базовые структуры алгоритмов.

        Линейные.

        Разветвляющиеся. (Виды ветвлений)

        Циклические (Виды циклов).

    Способы записи алгоритмов.

        Словесный - на естественном языке.

        Графический.

        На формальном языке.

    Запись базовых структур алгоритмов в виде блок-схемы.

Разработка (составление, написание) программы.

Тестирование и отладка программы.

Анализ полученных результатов.

Документирование программы.

Эксплуатация программы.

Построение алгоритмов базовых структур

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

1. Материал в учебнике на стр. 126 - 127

Задачи (С1, С2, С3)

2. Образцы решения задач на примере задач С1, С2, С3 - № 21

3. Самостоятельная работа. Задания по вариантам.

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

§51. Разработать блок-схемы алгоритмов, по одной каждого типа

Задачи (С1, С2, С3)

  

 

22.01.2025, среда

Практическая работа. Логика

1.

1

2

3

4

5

2. Представить числа 123 и -123 в восьмиразрядной и шестнадцатиразрядной сетке.

3. Записать 3 различных формы числа: а) -0,0000000178; б) 1223,0579

4. Записать числа в нормальной форме.

    а) 0,000000235; б) -3011154; в) 1024,8860001; г) -522478,20003; д) -8,001325

Практическая работа

1. По данной логической функции построить логические схемы.

№ 1  F=A \/ B /\ A.

№ 2  F=А /\ В \/  ¬(В \/ А)

№ 3  F=A \/ B /\ ¬C

№ 4  F= ¬(A \/ B /\ C) \/ B

№ 5. Записать логические функции для схем и составить таблицы истинности.


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
а)
 

 

 

 

 

 

 
НЕ
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
A    
 

 
        ИЛИ
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
   

F


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
   
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
В              
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
                         
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
б)
 

 

 

 
   
 

 

 

 

 

 

 

 

 

 
   
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
    НЕ
 

 

 

 

 

 

 

 

 
 
  ИЛИ
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
A        
 

 
    0
 

 

 

 

 

 

 

 

 
     
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
0 0 И
 
       
 

 

 

 
   
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
       
 

 

 

 
    И
 

 

 

 

 

 

 

 

 

 

 
B                    
 

 

 

 

 

 

 

 

 

 

 

 

 

 
    F
 

 

 

 

 

 

 

 

 

 
   
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
   
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
    НЕ
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
0
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
   
 

 
                            0
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
                           
 

 

 

 

 

 
в)
 

 

 

 

 

 

 

 

 

 

 

 
       
 

 

 

 

 

 

 

 

 

 

 
 
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
       
 

 

 

 

 

 

 

 

 

 

 
 
 

 

 

 

 

 

 
   
 
А             И
 
        НЕ
 

 

 

 

 

 

 

 

 

 
 
 
 
 

 

 

 

 

 

 
           
 

 

 
       
 

 
       
 

 

 

 

 
F1
 

 

 
   
 
B            
 

 
       
 

 
       
 

 

 

 

 
 
 

 

 

 

 

 
             
 

 

 

 

 

 

 

 
       
 

 

 

 

 

 

 

 

 

 

 

 

 
             
 

 

 

 

 

 

 

 
        И
 

 

 

 

 

 

 

 

 

 

 

 
              ИЛИ
 

 

 

 

 

 

 
       
 

 
     

F2


 

 

 

 

 

 
             
 

 
                   
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
             
 

 

 

 

 

 

 

 
       
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
г)
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
А     И
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
   
 

 
        ИЛИ
 

 

 

 

 
НЕ
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
B    
 

 

 

 

 

 

 

 
       
 

 
   

F


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
   
 

 
       
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
C                
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
д)
 
А                 И
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
       
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
НЕ
 
       
 

 
       
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
B    
 

 
       
 

 
       
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
        ИЛИ
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
                   
 

 

 

 

 

 
    F
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
C                     с с с с
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
е)
 
А           И
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
       
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
B          
 

 
        ИЛИ
 

 

 

 

 
НЕ
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
0
 

 

 

 
       
 

 
       
 

 
   

F


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
0
 

 

 

 
       
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
          И
 
       
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
         
 

 
       
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
C          
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
ж)
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
А     И
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
   
 

 
        ИЛИ
 

 

 

 

 
НЕ
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
B    
 

 

 

 

 

 

 

 
       
 

 
   

F


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
   
 

 

 

 
   
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
C              
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

Подготовиться к контрольной работе по теме "Основы логики"

 

16.01.2025, четверг

Представление целых и вещественных чисел в компьютере

Ограниченность диапазона чисел при ограничении количества разрядов.

Знаковые и беззнаковые числа.

Переполнение разрядной сетки.

Представление вещественных чисел.

Практическая работа. Представление чисел в компьютере.

1. Представить числа 73 и -73 в восьмиразрядной и шестнадцатиразрядной сетке.

2. Записать 3 различных формы числа 456,08

2. Записать числа в нормальной форме.

    а) 345; б) 0,00003254; в) 56701,0235; г) -0,000000854125003; д) -119,0078

Практическая работа. Логика

Задания 3, 7 из каждого номера

1

2

3

4

5

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

1. Уметь решать все задания

1

2

3

4

5

2. Представить числа 241 и -241 в восьмиразрядной и шестнадцатиразрядной сетке.

3. Записать 3 различных формы числа -0,000254

4. Записать числа в нормальной форме.

    а) 0,00879; б) -3254; в) 358,906; г) -3478985,23; д) -9083,0011

 

15.01.2025, среда

Проверка домашнего задания

Анализ таблиц истинности

    ЕГЭ-2 №№ 270, 280

3. Упрощение логических выражений. Логика и множества

    ЕГЭ-15  №№ 85, 91

4. Поисковые запросы

    Задания №№ 60, 55

5. Логические уравнения

    Задания №№ 37, 49

  ЕГЭ-2 ЕГЭ-2 ЕГЭ-15 Поисковые запросы Логические уравнения
Вариант 1 120 200 104 118 50
Вариант 2 121 201 103 117 49
Вариант 3 122 202 102 116 47
Вариант 4 123 203 101 115 46
Вариант 5 124 204 100 114 45
Вариант 6 125 205 99 113 44
Вариант 7 126 206 97 112 43
Вариант 8 127 207 96 111 42
Вариант 9 128 208 95 110 41
Вариант 10 129 209 94 109 40
Вариант 11 130 210 93 108 39
Вариант 12 131 211 87 107 38
Вариант 13 132 212 91 106 37
Вариант 14 133 213 90 105 36
Вариант 15 134 214 89 104 33
Вариант 16 135 215 88 103 34

 

Логические основы устройства компьютера. Базовые логические элементы

Простейшие логические элементы: инвертор, коньюнктор, дизъюнктор.

Логические элементы имеют один или несколько входов и один выход, через которые проходят электрические сигналы,

обозначаемые условно 0, если "отсутствует" электрический сигнал, и 1, если "имеется" электрический сигнал.

Логические элементы компьютера: триггер, регистр, счётчик, полусумматор, сумматор.

Пример логической схемы.

  F(A,B,C) = не (A /\ B) \/ не С

                                     
                                     
    A     И         НЕ  
 
      ИЛИ   F
    B                                
                                     
                                     
    C     НЕ  
 
                       
                                     
                 

Практическая работа

1. По данной логической функции построить логические схемы.

№ 1  F=A \/ B /\ A.

№ 2  F=А /\ В \/  ¬(В \/ А)

№ 3  F=A \/ B /\ ¬C

№ 4  F= ¬(A \/ B /\ C) \/ B

№ 5. Записать логические функции для схем и составить таблицы истинности.


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
а)
 

 

 

 

 

 

 
НЕ
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
A    
 

 
        ИЛИ
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
   

F


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
   
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
В              
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
                         
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
б)
 

 

 

 
   
 

 

 

 

 

 

 

 

 

 
   
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
    НЕ
 

 

 

 

 

 

 

 

 
 
  ИЛИ
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
A        
 

 
    0
 

 

 

 

 

 

 

 

 
     
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
0 0 И
 
       
 

 

 

 
   
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
       
 

 

 

 
    И
 

 

 

 

 

 

 

 

 

 

 
B                    
 

 

 

 

 

 

 

 

 

 

 

 

 

 
    F
 

 

 

 

 

 

 

 

 

 
   
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
   
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
    НЕ
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
0
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
   
 

 
                            0
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
                           
 

 

 

 

 

 
в)
 

 

 

 

 

 

 

 

 

 

 

 
       
 

 

 

 

 

 

 

 

 

 

 
 
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
       
 

 

 

 

 

 

 

 

 

 

 
 
 

 

 

 

 

 

 
   
 
А             И
 
        НЕ
 

 

 

 

 

 

 

 

 

 
 
 
 
 

 

 

 

 

 

 
           
 

 

 
       
 

 
       
 

 

 

 

 
F1
 

 

 
   
 
B            
 

 
       
 

 
       
 

 

 

 

 
 
 

 

 

 

 

 
             
 

 

 

 

 

 

 

 
       
 

 

 

 

 

 

 

 

 

 

 

 

 
             
 

 

 

 

 

 

 

 
        И
 

 

 

 

 

 

 

 

 

 

 

 
              ИЛИ
 

 

 

 

 

 

 
       
 

 
     

F2


 

 

 

 

 

 
             
 

 
                   
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
             
 

 

 

 

 

 

 

 
       
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
г)
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
А     И
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
   
 

 
        ИЛИ
 

 

 

 

 
НЕ
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
B    
 

 

 

 

 

 

 

 
       
 

 
   

F


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
   
 

 
       
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
C                
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
д)
 
А                 И
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
       
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
НЕ
 
       
 

 
       
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
B    
 

 
       
 

 
       
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
        ИЛИ
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
                   
 

 

 

 

 

 
    F
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
C                     с с с с
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
е)
 
А           И
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
       
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
B          
 

 
        ИЛИ
 

 

 

 

 
НЕ
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
0
 

 

 

 
       
 

 
       
 

 
   

F


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
0
 

 

 

 
       
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
          И
 
       
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
         
 

 
       
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
C          
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
ж)
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
А     И
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
   
 

 
        ИЛИ
 

 

 

 

 
НЕ
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
B    
 

 

 

 

 

 

 

 
       
 

 
   

F


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
   
 

 

 

 
   
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
C              
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

Уметь по логическому выражению строить логическую схему и наоборот: по схеме построить логическое выражение и строить таблицу истинности.

 

09.01.2025, четверг

Повторение. Основы логики

Что изучает логика?

Задача логики.

Основные категории логики: понятие, высказывание (утверждение), умозаключение.

Логические операции: отрицание (инверсия), коньюнкция, дизъюнкция, импликация, эквиваленция, исключающее или (сложение по модулю 2).

Приоритет логических операций.

Практическая работа

1. Построение таблиц истинности.

    а) F(A, B, С) = (¬А или B) --> (A \/ B /\ ¬С)  

    б) F(x,y,z,w) = ¬ (x z) ˅ (y w) ˅ y

2. Анализ таблиц истинности

    ЕГЭ-2 №№ 270, 277

3. Упрощение логических выражений. Логика и множества

    ЕГЭ-15  №№ 89, 92

4. Поисковые запросы

    Задания №№ 61, 98

5. Логические уравнения

    Задания №№ 35, 48

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

§23 для ознакомления

ЕГЭ-2 №№ 270, 280

ЕГЭ-15 №№ 85, 91

Поисковые запросы №№ 60, 55

Логические уравнения №№ 37, 49