Информатика | Илья Андрианов | itpy 🧑‍💻
1.05K subscribers
263 photos
20 videos
19 files
629 links
По рекламе: @ilandroxxy

Шпаргалки: clck.ru/3FwqWt
📚 Наши курсы: clck.ru/3FwqYb

Разборы: clck.ru/3Fwqay
💬 Чатик: clck.ru/3FwqZa

📺 YouTube: clck.ru/3FwqbX

🙋‍♂️ Я автор: @ilandroxxy
Download Telegram
2️⃣Номер #2
код задания: 35891

📎 Условие:
Логическая функция F задаётся выражением:

(y → z) ∧ ¬((y ∨ w) → (z ∧ x)).

На рисунке приведён частично заполненный фрагмент таблицы истинности функции F, содержащий неповторяющиеся строки.

Определите какому столбцу таблицы истинности функции F соответствует каждая из переменных x, y, z, w.

# ? ? ? ? F
# 1 1 * 1 1
# * 1 1 * 1
# 1 1 * * 1

Найти:
В ответе напишите буквы x, y, z, w в том порядке, в котором идут соответствующие им столбцы.

❗️ Примечание:
Внимательно изучите всю теорию представленную в «Разбор номера #2», используйте ХЕШТЕГ для навигации и поиска нужного разбора.
🎉 Ответ:
zwxy

↘️ Программа:
print("x y z w F")
for x in range(2):
for y in range(2):
for z in range(2):
for w in range(2):
F = ( (y <= z) and (not((y or w) <= (z and x))) )
if F == True:
print(x, y, z, w, F)


Вывод программы:
# x y z w F
# 0 0 0 1 True
# 0 0 1 1 True
# 0 1 1 0 True
# 0 1 1 1 True
# 1 0 0 1 True



💬 Комментарии:
1. Обратите внимание, что всю логическую функцию я поместил в общие скобки ( ), это необходимо для корректного чтения логической функции.

2. Переменную F можно было вообще не создавать, но я сделал это для понятного и красивого вывода.

3. Обратите внимание, что логическая операция инверсии (отрицание) записывается как (not())
- это не прихоть, она самая приоритетная, а потому требует отдельныйх скобок ❗️

4. Ну и конечно же не пугайтесь пяти строк вывода, это нормально для четырех переменных x,y,z,w. Так как 2**4 = 16 строк и обработать пять из них не беда 😅
#useful
Для всех, кто овладел базовыми знаниями Python (под базовыми знаниями я подразумеваю достаточный уровень знания теории для успешной сдачи экзамена ЕГЭ по Информатике), я хочу порекомендовать веб платформу CheckIO 💡

По фатку это интерактивный курс с элементами геймификации, доступный к прохождению для двух языков: Python и JavaScript.
Вы выполняете задания, продвигаетесь по дереву прогрессии и параллельно соревнуетесь с тысячами других игроков, но рейтинг строится не по количеству общих очков, а по качеству и скорости выполнения той или иной программы/задачи.

Уровень программирования конечно же выше, чем на базовых бесплатных онлайн курсах Python, но и результат от таких тренировок куда превликательнее 👌
#tpy Арифметические действия:
Читать подробнее..

📌 Вступление:
Арифметические действия это основа, так как любые математические вычисления требуют знаний правильного синтаксиса языка.
В Python арифметические действия очень просто интегрированы, ими удобно пользоваться. Но конечно же есть свои нюансы.
Разберем по пунктам каждое действие ☝️

📚 Теория:
Сложение, умножение и отрицание самые беспроблемные действия, они не имеют подводных камней и с ними приятно работать.

В то время как операция деления разбивается аж на 3 разных команды:
A / B - вещественное деление (деление с дробями)
A // B - целочисленное деление (возвращает только целую часть без округления)
A % B - деление с остатком (возвращает остаток от деления, причем от дробной формы)

Так же полезным действием является возведение в степень, что позволяет избежать использования математической библиотеки import math:
print(A ** B) - возвели A в степень B
print(A ** (1/2)) - пример взятия квадратного корня (свойства степеней)

✏️ На практике:
A = 7
B = 2


1. Сложение
print(A +
B) # 9

2. Вычитание
print(A - B) # 5

3. Умножение
print(A * B) # 14

4. Деление вещественное
print(A / B) # 3.5

5. Деление целочисленное
print(A // B) # 3

6. Деление с остатком
print(A % B) # 1

7. Возведение в степень
print(A ** B) # 49
print(2 ** 4) # 16


8. Взятие корня от переменной
print(16 ** (1 / 2)) # 4.0
print(27 ** (1 / 3)) # 3.0
#useful
Крайне интересное и поучительное видео!
Парень имитирует действия, которые соответствуют манифесту по изучению программирования.

👉 Берите задачку, для этого подойдет любой ресурс - даже книги или как пример codewars.com. И просто пробуйте решать, а со всеми ошибками вам помогут разобраться поисковые запросы Google.

Для того, чтобы довести задачу до правильного решения, мы напрягаем нейронные связи и развиваем мышечную память.
И в скором времени вы начнете использовать полученные знания на автомате.
Возможно даже овладеете слепой печатью 😉
#useful
Хороший пример, чтобы овладеть форматированием строк.
С помощью метода .format() мы можем оформлять консольный вывод наших программ и повышать читабельность кода.

Код можно получить по ссылке: github link
В Python довольно большое кол-во типов данных, но я предпочитаю называть типами данных, только то, что относится непосредственно к переменным. Остальное правильнее называть типами коллекций.

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

Для ЕГЭ нам с лихвой хватит только коллекции list – список, но для тех кто захочет разобраться, оставлю полезные ссылки на подробные статьи по остальным участникам:

tuple - кортеж

set - множество

dict - словарь

Код можно получить по ссылке: github link
👍21
💡Очень интересная задача для тех, кому любопытно, как работает чат бот, отвечающий на ключевые слова. Есть множество способов и я покажу один из самых доступных 🙌🏻

Задача – получить из текста список слов в удобной форме для дальнейшей обработки

1️⃣ В строках (в отличие от списков) нельзя изменять элементы по индексу, поэтому разобьем нашу строку на список ArrayText

2️⃣ Сравнив элементы списка с запрещенными элементами, заменим их на пробелы

3️⃣ Использовав метод .join() , соберем элементы ArrayText в одну строку NewText

4️⃣ Через метод .split() разобьем строку поэлементно в новый список RES

Отлично, теперь по этим данным бот может искать ключевые слова из запроса!

ℹ️Код можно получить по ссылке: github
👍3
ℹ️ Дополнительная информация к посту выше

⚡️Теперь вместо .format(), можно использовать %
Но с небольшими условиями– для каждого типа данных переменных используется свой модуль🔻
◾️ %d– для значений int
◾️ %s– для значений str
◾️ %f– для значений float

⚡️ Чтобы скачать пример, воспользуйся ссылкой на github
1️⃣4️⃣ Разбор номера #14
код примера: 29662

Системы счисления и задачи, которые могут попасться на экзамене, идеально решаются через строки и списки, потому что они крайне похожи!

Отличия списка от строк заключается в возможности изменения элемента строки путем вызова ее через индекс, например M[i] = 5.

В тоже время провернуть такой трюк со строкой (а также с кортежем tuple) мы не сможем, на скрипт s[i] = ‘5’ программа выведет ошибку:
TypeError: 'str' object does not support item assignment

📎 Ссылка на код github #useful
Навигация and Правила

📌 Основная идея канала:
На канале будет три основные рубрики, а также дополнительные материалы про IT сферу и перспективные направления в ней. Посты выходят два раза в неделю: Среда, Воскресенье, чтобы вы не страдали от инфошума.

✍️ Рубрики:
1. Разбор номеров #1-27 с решу ЕГЭ и КЕГЭ
2. Практика решений задачек #1-27
3. Теория #tpy по языку Python и #useful примеры, которые пригодятся при сдаче экзамена

☝️ Навигация:
В профиле канала можно найти кнопки навигации по контенту, показывающие все записи по той или иной задаче, просто воспользуйтесь нужным номером #1-27 или рубрикой #tpy or #useful.

❗️Комментирование:
В комментариях мы относимся уважительно к другим участникам канала. Этот инструмент предназначен для совместных обсуждений задач, поиска решений и ответов на вопросы.

🎯 Цель:
Давайте создавать полезное комьюнити вместе 👏

👨‍💻 P.S Свои идеи, вопросы м предложения вы можете писать мне в личку: @ilandroxy
1️⃣4️⃣ Разбор номера #14
код примеров:
48386 и 48394

Рассмотрим две задачи 14 типа из новой демки для экзамена 2022 года.

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

Как и большинство задач ЕГЭ по информатике, ее легко решить перебором. Обратите внимание, что перебераем мы по числам из наименьшей системы счисления!

📎 Ссылка на код github
👍2