Код Камиля | Информатика ЕГЭ | Сотка
رفتن به کانال در Telegram
820 человек сдали на 80+, 5 сдали на 100 баллов! Здесь самый интересный контент по информатике 😎Если хочешь подготовиться со мной и получить 3 предмета в подарок, пиши 👉🏻 https://clck.ru/3MC4ox
نمایش بیشتر3 942
مشترکین
-1824 ساعت
-1087 روز
-69930 روز
در حال بارگیری داده...
کانالهای مشابه
ابر برچسبها
اشارات ورودی و خروجی
---
---
---
---
---
---
جذب مشترکین
ژوئیه '26
ژوئیه '26
+29
در 0 کانالها
ژوئن '26
+128
در 0 کانالها
Get PRO
مه '26
+87
در 2 کانالها
Get PRO
آوریل '26
+90
در 0 کانالها
Get PRO
مارس '26
+119
در 0 کانالها
Get PRO
فوریه '26
+150
در 0 کانالها
Get PRO
ژانویه '26
+196
در 2 کانالها
Get PRO
دسامبر '25
+173
در 1 کانالها
Get PRO
نوامبر '25
+211
در 2 کانالها
Get PRO
اکتبر '25
+277
در 21 کانالها
Get PRO
سپتامبر '25
+564
در 61 کانالها
Get PRO
اوت '25
+154
در 28 کانالها
Get PRO
ژوئیه '25
+46
در 3 کانالها
Get PRO
ژوئن '25
+244
در 51 کانالها
Get PRO
مه '25
+208
در 98 کانالها
Get PRO
آوریل '25
+164
در 23 کانالها
Get PRO
مارس '25
+226
در 19 کانالها
Get PRO
فوریه '25
+424
در 25 کانالها
Get PRO
ژانویه '25
+368
در 1 کانالها
Get PRO
دسامبر '24
+289
در 1 کانالها
Get PRO
نوامبر '24
+493
در 2 کانالها
Get PRO
اکتبر '24
+663
در 1 کانالها
Get PRO
سپتامبر '24
+1 444
در 4 کانالها
Get PRO
اوت '24
+282
در 3 کانالها
Get PRO
ژوئیه '24
+80
در 0 کانالها
Get PRO
ژوئن '24
+200
در 0 کانالها
Get PRO
مه '24
+186
در 0 کانالها
Get PRO
آوریل '24
+255
در 1 کانالها
Get PRO
مارس '24
+301
در 4 کانالها
Get PRO
فوریه '24
+452
در 1 کانالها
Get PRO
ژانویه '24
+260
در 2 کانالها
Get PRO
دسامبر '23
+305
در 1 کانالها
Get PRO
نوامبر '23
+425
در 2 کانالها
Get PRO
اکتبر '23
+541
در 2 کانالها
Get PRO
سپتامبر '23
+719
در 0 کانالها
Get PRO
اوت '23
+273
در 0 کانالها
Get PRO
ژوئیه '23
+71
در 0 کانالها
Get PRO
ژوئن '23
+236
در 0 کانالها
Get PRO
مه '23
+142
در 0 کانالها
Get PRO
آوریل '23
+83
در 0 کانالها
Get PRO
مارس '23
+111
در 0 کانالها
Get PRO
فوریه '23
+177
در 0 کانالها
Get PRO
ژانویه '23
+120
در 0 کانالها
Get PRO
دسامبر '22
+228
در 0 کانالها
Get PRO
نوامبر '22
+256
در 0 کانالها
Get PRO
اکتبر '22
+196
در 0 کانالها
Get PRO
سپتامبر '22
+458
در 0 کانالها
Get PRO
اوت '22
+439
در 0 کانالها
| تاریخ | رشد مشترکین | اشارات | کانالها | |
| 25 ژوئیه | 0 | |||
| 24 ژوئیه | 0 | |||
| 23 ژوئیه | +1 | |||
| 22 ژوئیه | +2 | |||
| 21 ژوئیه | 0 | |||
| 20 ژوئیه | 0 | |||
| 19 ژوئیه | +4 | |||
| 18 ژوئیه | 0 | |||
| 17 ژوئیه | +1 | |||
| 16 ژوئیه | +3 | |||
| 15 ژوئیه | 0 | |||
| 14 ژوئیه | +1 | |||
| 13 ژوئیه | 0 | |||
| 12 ژوئیه | +2 | |||
| 11 ژوئیه | +1 | |||
| 10 ژوئیه | 0 | |||
| 09 ژوئیه | +1 | |||
| 08 ژوئیه | +1 | |||
| 07 ژوئیه | +9 | |||
| 06 ژوئیه | +1 | |||
| 05 ژوئیه | 0 | |||
| 04 ژوئیه | +1 | |||
| 03 ژوئیه | +1 | |||
| 02 ژوئیه | 0 | |||
| 01 ژوئیه | 0 |
پستهای کانال
салют 👋 сегодня разберем рекурсию - одну из самых непонятных тем для многих, но на деле она гораздо проще, чем кажется
🧠 что такое рекурсия
рекурсия - это когда функция вызывает саму себязвучит странно, но по сути это просто способ разбить задачу на более маленькие 📌 простой пример представь, что тебе нужно посчитать сумму чисел от 1 до n можно так:
1 + 2 + 3 + … + n
а можно через рекурсию:
F(n) = n + F(n-1)
то есть мы говорим: чтобы найти F(n), нужно знать F(n-1)
🔥 из чего состоит любая рекурсия
всегда есть 2 ключевых элемента:
1. база - момент, когда мы останавливаемся
например: F(1) = 1
2. переход - как мы двигаемся
например: F(n) = n + F(n-1)
если базы нет - будет бесконечность
⚠️ важный момент
рекурсия работает не сверху вниз, а как бы раскручивается обратно
пример:
F(3)
= 3 + F(2)
= 3 + (2 + F(1))
= 3 + (2 + 1)
= 6
💡 как проще понять
представь стопку задач
ты откладываешь текущую и переходишь к более простой
и так до базы
а потом возвращаешься обратно и собираешь ответ
на деле это обычная последовательность, просто записанная через саму себя
⚡ где это пригодится
рекурсия встречается в задачах на вычисление значений функций
и иногда в заданиях егэ (в том числе около 16 номера, 19-21), но там уже могут добавляться дополнительные условия
🎯 главный вывод
если понимаешь идею база + переход - рекурсия перестает быть страшной
если нет - она кажется магией
записаться на занятия 💜| 2 | салют 👋 давайте поговорим про популярные ошибки при написании кода!
❌ IndexError
вышел за границы списка
📌 пример
lst = [1, 2, 3]
print(lst[3])
помни, что индексация начинается с 0
последний элемент имеет индекс len(lst) - 1
❌ ZeroDivisionError
деление на ноль
📌 пример
10 / 0
всегда проверяй делитель перед делением
❌ KeyError
ключа нет в словаре
📌 пример
d = {"a": 1}
print(d["b"])
используй проверку
или безопасный вариант
d.get("b")
❌ AttributeError
у объекта нет такого метода
📌 пример
x = 5
x.append(3)
проверь тип переменной
у каждого типа свой набор методов
❌ RuntimeError (реже, но бывает)
ошибка во время выполнения
📌 часто связано
с бесконечной рекурсией или изменением структуры во время обхода
смотри логику программы, а не только синтаксис
🎯 главный вывод
ошибки - это не проблема, а инструмент
если читаешь текст ошибки - ты уже знаешь половину решения
игнорируешь ошибки - теряешь баллы даже на простых задачах 🚀 | 409 |
| 3 | у меня, кажется, появился еще один питомец 🥹 | 534 |
| 4 | 💡 Зачем вообще нужно условие Фано?
Сегодня со вторым потоком будем разбирать задание 4, поэтому давайте бахнем префом немного простой теории! 😎
Представь тебе передали сообщение 0101. И у тебя есть коды букв:
A → 0
B → 01
Теперь попробуй расшифровать. 0101 это A B A? или A A B?
Ты не можешь понять где заканчивается один символ и начинается другой. И вот здесь появляется ключевая идея - код должен быть устроен так чтобы расшифровка была однозначной.
💡 И вот для этого существует условие Фано: Ни одно кодовое слово не является началом другого.
Если перевести на нормальный язык - ни один код не должен входить в начало другого.
🔥 Где происходит ошибка?
Самый классический случай:
A → 0
B → 01
Код A уже содержится в начале кода B и всё ломается, однозначно декодировать не получится 🤧
✅ Как выглядит нормальная система:
A → 0
B → 10
C → 11
Здесь у тебя чёткая структура, ты читаешь слева направо и никогда не путаешься.
🧠 Самый удобный способ решать задание 4 - не мучаться с проверками а просто строить бинарное дерево. Каждое движение влево это 0, вправо это 1, каждый символ это лист дерева. И самое важное - символы находятся только в листьях. Это автоматически означает что никакой код не будет началом другого, ты буквально видишь структуру.
‼️ Очень важный момент который почти никто не понимает. Есть обратное условие Фано: ни одно кодовое слово не является концом другого. Это такой же способ проверить корректность кодов, просто с другой стороны. Если хотя бы один код заканчивается другим - будет та же проблема с неоднозначной расшифровкой.
🧩 Давай проверим тебя. Какая система кодов подходит?
A) A → 0, B → 01, C → 10
B) A → 00, B → 01, C → 10
C) A → 1, B → 10, C → 01
💜 - A
😎 - B
🔥 - C
🚀 Вывод. Условие Фано это не какая-то абстрактная теория. Это просто правило которое гарантирует что ты всегда сможешь правильно прочитать сообщение. Понимаешь это, строишь дерево и задание 4 превращается в один из самых лёгких баллов.
записаться на занятия 💜 | 604 |
| 5 | 💡 Как работают формулы СРЗНАЧЕСЛИ и СРЗНАЧЕСЛИМН в Excel?
Excel – отличный инструмент для анализа данных, и сегодня мы разберём две функции, которые помогают считать среднее значение с учётом условий: СРЗНАЧЕСЛИ и СРЗНАЧЕСЛИМН. Эти формулы часто нужны для аналитических задач, где требуется учитывать определённые параметры.
🔥СРЗНАЧЕСЛИ – среднее по одному условию:
Формула СРЗНАЧЕСЛИ позволяет вычислить среднее значение для диапазона, где значения удовлетворяют заданному условию.
Пример:
Допустим, у нас есть список оценок учеников:
• Коля: 5
• Маша: 4
• Иван: 5
• Сергей: 3
• Маша: 4
Чтобы найти среднюю оценку только для "Маша", используем формулу:
=СРЗНАЧЕСЛИ(A1:A5; "Маша"; B1:B5)
Результат: 4, так как у Маши оценки 4 и 4, и их среднее значение — 4.
🔥 СРЗНАЧЕСЛИМН – среднее для нескольких условий:
Если нужно вычислить среднее значение на основе сразу нескольких условий, используйте СРЗНАЧЕСЛИМН.
Пример:
Предположим, у нас есть та же таблица, и мы хотим найти среднюю оценку для учеников, получивших оценки выше 3 и ниже 5.
=СРЗНАЧЕСЛИМН(B1:B5; ">3"; B1:B5; "<5")
Результат: 4, так как оценки, попадающие под условия, — это 4 и 4, а их среднее значение — 4.
Эти формулы помогут вам в аналитике данных, а в заданиях с Excel – при решении сложных задач с оценками и подсчётами! | 622 |
| 6 | Bubble Sort и Quick Sort
На видео вышк оба алгоритма получают один и тот же набор чисел. Задача тоже одинаковая: расположить элементы по возрастанию. Но действуют они совершенно по-разному.
🫧 Bubble Sort, или пузырьковая сортировка
Алгоритм сравнивает два соседних элемента. Если они стоят в неправильном порядке, то меняет их местами.
Например:
5, 2, 4 → 2, 5, 4 → 2, 4, 5
Так он снова и снова проходит по всему списку. Самые большие элементы постепенно перемещаются вправо, будто пузырьки всплывают наверх. Отсюда и название.
На видео хорошо видно, как Bubble Sort долго двигается слева направо и совершает огромное количество сравнений и перестановок.
🏎️ Quick Sort, или быстрая сортировка
Здесь подход намного умнее. Алгоритм выбирает опорный элемент и делит массив на две части:
• числа меньше опорного
• числа больше опорного
После этого он повторяет те же действия отдельно для каждой части. Массив постепенно разбивается на небольшие фрагменты, которые сортируются гораздо быстрее.
Поэтому на видео Quick Sort может сначала выглядеть немного хаотично, но затем очень быстро приводит весь массив в порядок.
Bubble Sort легко понять и написать, поэтому его часто изучают в самом начале. Но на больших массивах он работает медленно.
Quick Sort устроен сложнее, зато в большинстве случаев справляется с сортировкой намного быстрее.
Посмотрите на анимацию и обратите внимание не только на результат, но и на количество действий, которое приходится выполнить каждому алгоритму ☺️ | 638 |
| 7 | بدون متن... | 558 |
| 8 | 💻 Один и тот же код на Pascal, C++, Java и Python
Очень полезно иногда посмотреть не просто на решение задачи, а на то, как один и тот же алгоритм выглядит в разных языках программирования. Это сразу показывает:
1. сколько кода приходится писать
2. насколько язык удобен для обычных задач
Возьмем простую сортировку массива по возрастанию. Пузырьковая сортировка 👇
Pascal:
program SortExample;
var
a: array[1..5] of integer = (5, 2, 4, 1, 3);
i, j, t: integer;
begin
for i := 1 to 4 do
for j := 1 to 5 - i do
if a[j] > a[j + 1] then
begin
t := a[j];
a[j] := a[j + 1];
a[j + 1] := t;
end;
for i := 1 to 5 do
write(a[i], ' ');
end.
C++:
#include <iostream>
using namespace std;
int main() {
int a[5] = {5, 2, 4, 1, 3};
for (int i = 0; i < 4; i++) {
for (int j = 0; j < 4 - i; j++) {
if (a[j] > a[j + 1]) {
int t = a[j];
a[j] = a[j + 1];
a[j + 1] = t;
}
}
}
for (int i = 0; i < 5; i++)
cout << a[i] << " ";
}
Java:
public class Main {
public static void main(String[] args) {
int[] a = {5, 2, 4, 1, 3};
for (int i = 0; i < 4; i++) {
for (int j = 0; j < 4 - i; j++) {
if (a[j] > a[j + 1]) {
int t = a[j];
a[j] = a[j + 1];
a[j + 1] = t;
}
}
}
for (int i = 0; i < 5; i++) {
System.out.print(a[i] + " ");
}
}
}
Python:
a = [5, 2, 4, 1, 3]
for i in range(4):
for j in range(4 - i):
if a[j] > a[j + 1]:
a[j], a[j + 1] = a[j + 1], a[j]
print(*a)
Сравнение по количеству строк
Pascal: ~15-16 строк
C++: ~16-17 строк
Java: ~17-18 строк
Python: ~6 строк
🤔 Что важно заметить
Алгоритм везде один и тот же:
• сравниваем соседние элементы
• меняем местами
• повторяем несколько раз
Но язык сильно влияет на запись. Python уже выглядит проще, но самое интересное даже не это 👇
🔥 В Python можно вообще не писать сортировку
a = [5, 2, 4, 1, 3]
a = sorted(a)
print(a)
• одна строка вместо двух вложенных циклов
• меньше шансов ошибиться
• быстрее писать на экзамене
📌 Вывод
В Pascal, C++, Java - ты пишешь алгоритм руками
В Python ты можешь:
1. написать алгоритм (если нужно)
2. или просто использовать готовую функцию
И именно поэтому Python идеально подходит для экзаменов:
ты выбираешь самый простой путь к правильному ответу
‼️
на экзамене не проверяют, как красиво ты написал сортировку
проверяют правильный ответ
а значит иногда лучше не геройствовать, а просто написать sorted 😎
записаться на занятия 💜 | 737 |
| 9 | Поговорим про CTF и про то, как вообще люди находят уязвимости на сайтах.
Сразу важный момент: настоящий CTF - это не взлом всего подряд. Это специальные тренировочные задания, где тебе специально дают уязвимый сайт или программу, а твоя задача - понять, где ошибка.
Теперь к сути. Представь обычный сайт. Допустим, сайт с авторизацией.
Ты вводишь:
Логин: Kamil
Пароль: 12345
И сайт отправляет эти данные на сервер для проверки.
Но проблема в том, что сайты пишут люди. А люди ошибаются 😅
Например, разработчик мог забыть нормально проверить данные. И тогда через специальные символы можно заставить сайт работать не так, как задумывалось.
Один из самых известных примеров - SQL-инъекция. Очень упрощенно это выглядит так:
Сайт спрашивает:
«Есть ли в базе пользователь с таким логином и паролем?»
И внутри выполняется примерно такой запрос:
SELECT * FROM users WHERE login=‘Kamil’ AND password=‘12345’
Но если защита плохая, человек может ввести не пароль, а специальную команду.
И тогда запрос изменится так, что сайт может случайно пустить человека без пароля вообще 😅
Сейчас такие ошибки встречаются реже, но принцип остается тем же:
хакер ищет место, где система доверяет данным слишком сильно.
Еще пример - загрузка файлов. Допустим, сайт разрешает загружать картинки. Но разработчик не проверил, что это реально картинка. И тогда вместо фото человек может загрузить специальный файл с кодом. И если сервер настроен неправильно - этот код выполнится.
Вот так и появляются многие уязвимости.
Причем самое интересное - большинство взломов происходят не из-за «супермагии хакеров», а из-за маленьких ошибок:
- забыли проверку
- не обновили систему
- оставили пароль admin123
- открыли лишний доступ
По сути, кибербезопасность - это огромная игра в внимательность.
Именно поэтому CTF так полезны. Они учат не просто «ломать», а думать:
• как устроена система
• где разработчик мог ошибиться
• почему защита должна быть многоуровневой
Ну и да, именно поэтому хорошие специалисты по кибербезопасности сейчас стоят ОЧЕНЬ дорого 💀 | 742 |
| 10 | у нас сегодня очень красиво 😍
а еще хотел напомнить, что в 15:30 мы встречаемся с вами на летней продленке и будем разбирать номер 7 и 11, всех буду ждать ☺️ | 779 |
| 11 | Что такое шаг??
Когда ты видишь:
for i in range(1, 10, 2):
print(i)
Имей ввиду, что
range(старт, стоп, шаг)
📌 Шаг - это
Число, которое показывает, на сколько изменяется переменная на каждой итерации.
Пример:
range(1, 10, 2)
Получим:
1, 3, 5, 7, 9
Каждый раз +2.
⚠ Важно
Стоп не входит.
range(1, 5)
Выведет:
1, 2, 3, 4
5 не будет!
⬅ Отрицательный шаг
range(10, 0, -2)
Получим:
10, 8, 6, 4, 2
Потому что каждый раз -2.
⚠ Если шаг отрицательный, то старт должен быть больше стопа, иначе цикл просто не выполнится ни разу.
В итоге:
Шаг - это направление и скорость движения цикла.
Он отвечает на два вопроса:
1. Куда мы идём? вверх или вниз
2. Насколько быстро?
ещё раз коротко
range(старт, стоп, шаг)
✔ старт - откуда начинаем
✔ стоп - до какого числа идём (не включается)
✔ шаг - как меняется число каждый раз
Положительный шаг - числа растут
Отрицательный шаг - числа уменьшаются
Стоп никогда не входит
Если направление шага и порядок чисел не совпадают - цикл не запустится
записаться на занятия 💜 | 915 |
| 12 | Mac, Windows или Linux - на чем программируют чаще всего? 👨💻
На самом деле хороший программист может работать на любой операционной системе. Главное — чтобы она подходила именно под ваши задачи.
🍏 Mac
Чаще всего выбирают мобильные разработчики и те, кто работает с вебом.
✅ Плюсы:
• Очень стабильная система
• UNIX “под капотом” — удобно работать с терминалом
• Отличная автономность и производительность на чипах Apple Silicon
• Практически все инструменты устанавливаются без проблем
❌ Минусы:
• Высокая цена
• После покупки практически ничего нельзя улучшить
🖥️ Windows
Самая популярная операционная система в мире.
✅ Плюсы:
• Огромный выбор ноутбуков и ПК
• Подходит практически для любого языка программирования
• Отличная совместимость с играми и большинством программ
• Можно собрать мощный компьютер под свои задачи
❌ Минусы:
• Иногда обновления могут преподносить сюрпризы
• Для некоторых задач приходится использовать WSL или виртуальные машины
🐧 Linux
Любимая система многих опытных разработчиков.
✅ Плюсы:
• Бесплатная
• Быстро работает даже на старом железе
• Отлично подходит для серверной разработки и DevOps
• Большинство серверов в интернете работают именно на Linux
❌ Минусы:
• Некоторые привычные программы отсутствуют
• Порог входа немного выше
📌 Что выбрать новичку?
💻 Уже есть компьютер на Windows? Смело начинайте учиться на нем. Для Python, C++, Java и большинства других языков этого более чем достаточно.
🍏 Покупаете новый ноутбук и бюджет позволяет? Тогда Mac отличный вариант, которого хватит на долгие годы.
🐧 Любите разбираться в устройстве компьютера? Попробуйте Linux, получите много полезного опыта.
💬 А на чем работаю я?
Для работы я использую Mac, на нем пишу код, готовлю материалы, монтирую видео и решаю практически все рабочие задачи.
Уроки при этом я провожу с отдельного ПК на Windows, но это исключительно вопрос удобства моей студии. Если бы у меня был только Mac, он спокойно справился бы и с проведением занятий, и со всей остальной работой 👨💻 | 903 |
| 13 | Салют! 👋
Сегодня мы каждый день пользуемся мощными компьютерами, телефонами, видеокартами… Всё работает быстро, плавно, без лагов.
Но задумывались ли вы, за счёт чего устройства вообще становятся мощнее? 🤔
За этим стоят реальные инженерные прорывы, о которых почти не говорят, но именно они двигают индустрию вперёд 🚀
🔥 ТОП-3 инженерных прорыва
💡 1. HBM-память
Это память, которая находится максимально близко к процессору и соединяется через сверхширокую шину.
Почему это разрыв:
• огромная скорость передачи данных
• минимальные задержки
• критично для нейросетей и видеокарт
Без этого современные AI и графика просто не ехали бы.
💡 2. CXL - новая архитектура памяти
Технология, которая позволяет процессору, видеокарте и другим устройствам работать с общей памятью.
Почему это важно:
• можно расширять память как конструктор
• гибкость серверов и дата-центров
• стирается граница между RAM и другими типами памяти
Это уже меняет архитектуру вычислений.
💡 3. RISC-V - открытая архитектура процессоров
Новая волна процессоров, которую можно свободно использовать и модифицировать.
Почему это прорыв:
• независимость от крупных корпораций
• гибкость под любые задачи
• уже используется в реальных устройствах
Это как Linux, только на уровне железа.
Мощность устройств растёт не только за счёт частоты и ядер. Самое важное сейчас происходит глубже - в том, как устроено железо и как оно взаимодействует внутри системы.
И именно это определяет будущее IT 🚀
записаться на занятия 💜 | 1 012 |
| 14 | 🧠 Что делает return в Python?
return — это ключевое слово, которое играет важную роль в функциях. Оно не просто “выводит” значение — оно завершает работу функции и отдает результат туда, откуда её вызвали.
Разберем по полочкам:
🔹 1. Завершает выполнение функции
Когда интерпретатор доходит до return, он немедленно выходит из функции — даже если ниже по коду есть ещё инструкции, они уже не выполнятся.
🔹 2. Возвращает результат
То, что указано после return, и есть тот результат, который “отдает” функция. Это значение можно сохранить в переменную, использовать в вычислениях и так далее.
🔹 3. Без return — нет результата
Если в функции нет return, она всё равно выполнится, но ничего не “отдаст”. В этом случае функция возвращает специальное значение None.
📌 Примеры:
🔸 С return — есть результат:
def square(x):
return x * x
result = square(3)
print(result)
🟢 Вывод: 9
Функция вернула значение 9, и мы его напечатали.
🔸 Без return — результат пропадает:
def square(x):
print(x * x)
result = square(3)
print(result)
🟡 Вывод:
9
None
Функция вывела значение, но не вернула — поэтому result стал None.
🔸 return завершает выполнение функции:
def test():
return 1
print("Эта строка уже не выполнится")
print(test())
🟢 Вывод: 1
Всё, что после return, игнорируется.
⚠️ Частая ошибка:
def multiply(a, b):
print(a * b)
result = multiply(2, 3)
print(result)
🔴 Вывод:
6
None
💬 Почему так? Потому что print() только показывает результат, но не возвращает его. Поэтому result — это None.
✅ Вывод:
return — это не просто “показать на экран”, а вернуть результат работы функции. Без него функция работает “впустую”, если только ты не хочешь просто что-то распечатать.
Камиль Шакиров | Сотка ❤️
Жми, чтобы затащить ЕГЭ на 80+ | 1 167 |
| 15 | 📂 read() vs readline() vs readlines() — кто есть кто в Python
Работаешь с файлами и не понимаешь, когда что использовать? Держи короткий гайд:
📘 read()
Считывает весь файл как одну большую строку.
f = open('file.txt')
text = f.read()
print(text)
Вывод:
Первая строка файла
Вторая строка файла
Третья строка файла
🔸 Хорошо, если файл короткий.
🔻 Не подходит для больших файлов — может занять много памяти.
📗 readline()
Считывает только одну строку. Каждый вызов — следующая строка.
f = open('file.txt')
line = f.readline()
print(line)
Вывод:
Первая строка файла
🔸 Удобно для построчной обработки.
🔻 Строка сохраняет \n в конце (если он был).
📙 readlines()
Считывает все строки и возвращает список:
f = open('file.txt')
lines = f.readlines()
print(lines)
Вывод:
['Первая строка файла\n', 'Вторая строка файла\n', 'Третья строка файла']
🔸 Удобно, если нужен список строк.
🔻 Не юзай на гигабайтных файлах — можно убить оперативку.
🔥 Как правильно читать большие файлы:
f = open('file.txt')
for line in f:
print(line)
Построчно, без перегрузки памяти — 💯 способ!
🧠 Краткое сравнение:
• read() — весь файл одной строкой.
• readline() — одна строка за раз.
• readlines() — список всех строк.
• for line in f: — читаем построчно, идеально для больших файлов. | 1 219 |
| 16 | 📊 Что такое диаграмма Ганта и зачем она вообще нужна?
Представь, что у тебя большой проект:
много задач, у каждой - своё время начала и конца, и всё это должно как-то не пересекаться и не ломать друг друга.
Вот тут и появляется диаграмма Ганта - это по сути график работ во времени:
• по горизонтали - время
• по вертикали - задачи
• каждая задача - это полоска, показывающая когда она начинается и когда заканчивается
👀 С одного взгляда видно:
• что идёт параллельно
• что зависит от чего
• где простой
• где перегруз
🛠 Где применяется в жизни?
• строительство
• IT-проекты
• производство
• управление проектами, планирование, логистика - вообще везде, где есть много этапов и сроки
🎓 А на ЕГЭ?
В задании №22 по информатике.
Там диаграмма Ганта используется, чтобы:
• анализировать порядок выполнения процессов
• считать общее время работы
• находить, что можно делать параллельно, а что - только последовательно
Фишка в том, что задание выглядит страшным, но если понять саму идею диаграммы, оно решается почти механически. А более подробно мы разберемся в этом завтра на вебе ❤️
записаться на занятия 💜 | 1 230 |
| 17 | знакомьтесь! | 1 246 |
| 18 | я сегодня за питомцем ездил 🥹
угадаете? | 1 365 |
| 19 | Формулы ВПР и ПРОСМОТР в Excel: сходства и различия 😎
Если ты учишься работать с данными в Excel, то наверняка слышал про функции ВПР и ПРОСМОТР. На первый взгляд они похожи, но на деле у них есть важные отличия. Давай разберемся вместе! 👇
🔍 Что такое ВПР и ПРОСМОТР?
- ВПР — это функция, которая ищет значение в первом столбце диапазона и возвращает данные из указанного столбца.
- ПРОСМОТР — функция, которая ищет значение в одном диапазоне и возвращает данные из другого диапазона того же размера.
🎯 Сходства:
1. Оба используются для поиска и возврата значений из таблиц.
2. Они позволяют находить данные по заданному критерию (например, по имени или номеру).
3. Оба могут работать как с точным, так и с приближенным совпадением.
⚖️ Различия:
- Структура данных:
- ВПР работает, когда искомое значение находится в первом столбце таблицы, и возвращает данные из столбцов справа.
- ПРОСМОТР более гибкий и может искать в любом диапазоне, а возвращать из другого.
- Ограничения по направлениям поиска:
- ВПР ищет только сверху вниз и слева направо.
- ПРОСМОТР может искать и слева направо, и справа налево, если используется с массивами.
- Синтаксис:
- ВПР требует указания номера столбца, из которого нужно вернуть данные.
- ПРОСМОТР работает с двумя диапазонами — диапазоном поиска и диапазоном возврата.
💡 Когда использовать:
- ВПР — удобно для простых таблиц с данными, когда значение для поиска находится в первом столбце.
- ПРОСМОТР — лучше подойдет, если нужно больше гибкости в структуре данных.
Лучше научиться пользоваться и тем, и другим 👾
готовься с нами ❤️ | 1 381 |
| 20 | Салют! Надоел питон? 😄
Сегодня немного отвлечёмся от подготовки и поговорим о самом странном, что есть в мире информатики — максимально тупые и смешные языки программирования 🤯
Да-да, их реально создают… и иногда даже используют (но лучше не надо)
Поехали 👇
😂 Brainf*ck
Это легендарный язык, который придумали просто чтобы сделать максимально неудобное программирование
В нём ВСЕГО 8 команд:
+ - < > [ ] . ,
И всё 😐
Никаких слов, никаких переменных
Пример кода выглядит вот так:
++++++++++[>+++++++>++++++++++>+++>+<<<<-]
Зачем это нужно?
Чтобы страдать и проверять, насколько ты терпеливый
🤡 LOLCODE
Язык, который выглядит как мемы из интернета
Программа начинается так:
HAI
А заканчивается:
KTHXBYE
Переменные:
I HAS A var
Условие:
O RLY?
Это буквально программирование на языке котиков из старых мемов 🐱
💀 Whitespace
Самый гениальный и тупой одновременно. В нём код состоит ТОЛЬКО из: пробелов, табов и переносов строки. Ты просто смотришь на файл - и там ничего нет 😐
Но программа работает. Идеально, чтобы спрятать код от преподавателя 😏
🔥 Malbolge
Язык, который почти невозможно понять
Его специально сделали настолько сложным, что первую программу для него… генерировал компьютер. Даже если ты опытный программист - ты будешь страдать
🤯 Piet
Программирование… картинками
Код - это изображение, состоящее из цветных блоков. Каждый цвет = команда. Ты буквально “рисуешь” программу 🎨
😵💫 Shakespeare
Да, это не шутка, ты пишешь программу как пьесу:
Romeo:
You are as brave as the sum of yourself and a big old number
Juliet:
Speak your mind!
Это выглядит как литература, а не код 📖
Программирование - это не только Python и C++
И да… после этого Python кажется максимально удобным 😎 | 1 255 |
