Программирование на Питоне (Python)
Для чего вы учите информатику и сдаёте ЕГЭ? Задумайтесь на пол-минуты и ответьте себе на этот вопрос.
Скорее всего, чтобы научиться программировать, правда? Уверен, что большинство из вас ответили именно так.
Смотрите все видео этой статьи и вы научитесь писать и анализировать базовые программы, а также сможете решить задачи № 6, 12 (некоторые) и 16, то есть зарабатывать 3 первичных балла на ЕГЭ!
Программирование на Python. ЕГЭ 2022
Урок 1 из 5. Основы
Языки программирования бывают разные, например, для веба хорошо подходит PHP, а если хочешь написать ОС, то лучше всего Си. В принципе, большинство современных языков — полные, то есть на любом из них можно написать что угодно: хоть сайт, хоть игру.
Но не рекомендую вам писать видеоигры на Паскале:)
Какой язык лучше всего учить сейчас? Он должен отвечать двум критериям:
- Не очень сложный синтаксис: его нужно успеть освоить в совершенстве за учебный год. Поэтому если вы не знаете Java, например, то лучше оставить его на потом;
- На нем должно быть удобно решать задачи из ЕГЭ (спасибо, кэп).
Ну, что, вы уже догадались, к чему я веду?:)
Конечно, нам подходит Python. У него простой синтаксис, и, главное, — очень много встроенных функций, которые существенно облегчают жизнь.
Например, сравните код на Паскале и на Питоне для вот этой задачи:
Дана строка, у которой могут быть пробелы в начале, в конце и между словами может оказаться более одного пробела. Уберите все лишние пробелы, т.е. удалите все пробелы в начале и конце, а между словами оставьте только один пробел.
Паскаль:
var s: string;
begin
readln(s);
p := 0;
while s[p] = ' ' do
delete(s, p, 1); {удаляем все пробелы в начале}
p := length(s);
while s[p] = ' ' do begin
delete(s, p, 1); {удаляем все пробелы в конце}
p := p - 1;
end;
p := pos(s, ' ');
while pos(s, ' ') <> 0 do begin
delete(s, p, 1); {удаляем один пробел каждый раз, когда встретили два пробела подряд}
p := pos(s, ' ');
end;
writeln(s)
end.
Питон:
s = input().strip() # считываем и сразу удаляем лишние пробелы вначале и в конце
while s.find(' ') >= 0:
s = s.replace(' ', ' ') # заменяем два пробела на один
print(s)
Если вы думаете, что будет что-то ещё, вы ошибаетесь: это и есть вся программа 🙂 Некоторые программы на питоне вообще можно написать в одну строку!
В общем, думаю, я вас заинтересовал. А если вы хотите научиться так же влёгкую решать задачки из ЕГЭ (а потом и более сложные, то есть становиться программистом), вам самое время смотреть первый вебинар марафона «Программирование на Python!»
Урок 2 из 5. Целочисленное деление и другие операции
На прошлом уроке мы узнали, насколько же просто в Питоне создавать и менять переменные, какие типы данных здесь существуют, а также самое главное: как вводить и выводить данные.
На этом уроке мы разберём все арифметические операции, и особое внимание уделим одной из них: целочисленному делению.
Фактически целочисленное деление — это две операции: само деление и поиск остатка от деления (привет, математика – 3 класс).
Деление с остатком играет особую роль в программировании и решении очень многих жизненных задач. Например, с помощью этих операций мы переводим числа в другие системы счисления.
И на ЕГЭ почти все задачи на программирование – на целые числа. Поэтому мы посвятили этому целое занятие нашего 5-дневного мини-марафона, и ещё не раз встретимся с ним на нашем годовом курсе.
Урок 3 из 5. Условный оператор if и логические выражения
На прошлом уроке мы выучили основные типы переменных и арифметические операции.
Также мы научились составлять линейные алгоритмы, то есть те, в которых все действия идут друг за другом (например, если нам нужно нарисовать дерево, мы последовательно выполняем действия: берём карандаш и бумагу, рисуем ствол, рисуем ветки, рисуем листья, готово!).
Но пришло время добавить вариативности. На этом уроке мы пройдём условный оператор if. Переводится как если.
Например, если лето, то листьев рисуем много и зелёных; иначе, если осень, то листья жёлтые и под деревом; иначе, если зима, то вместо листьев везде снег; иначе (остался только вариант весны) рисуем почки.
Здесь же мы познакомимся с логическими выражениями.
Этот урок – один из самых важных, без него не получится написать практически никакую программу.
Урок 4 из 5. Цикл While
Ну вот мы и освоили почти все базовые приёмы, осталось только последнее – циклы.
Помните пример с рисованием дерева?
Там я немного схитрил и пропустил описание одного важного шага: что значит «нарисовать много листьев»? Будь я компьютером – совершенно не понял бы, что от меня хотят.
Более подробно эта инструкция выглядит так: — нарисуй лист в случайном месте на дереве; — повторяй это действие, пока все ветки не будут покрыты листьями. Ключевые слова здесь – повторяй и пока.
Именно цикл while (это по-английски «пока») и станет гвоздём нашей сегодняшней программы.
Мы познакомимся с его синтаксисом (довольно простым), а также с разными примерами, когда и как его использовать.
Урок 5 из 5. Задачи №6 и №22 — на бумаге и программированием
Ну вот мы и овладели основными навыками программирования, пора и на ЕГЭ взглянуть.
Сегодня в нашем меню задачи ЕГЭ № 6 и 22.
Это задачи, в которых нужно уметь понимать и анализировать уже написанную кем-то программу.
И мы научимся их решать двумя способами: на бумаге и с помощью программирования.
Ввод и вывод. Типы данных. Линейные алгоритмы
Итак, Питон или Python — язык программирования, на котором мы пишем программы на нашем курсе.
Как понятно из названия видео — в нём мы узнаем самые основы программирования на языке Python (читается «пайтон», но по-простому его все называют питоном).
А именно:
Если вы ранее не сталкивались с языком Python, и уж тем более, если вы не работали и на других языках, этот урок будет одним из самых важных.
Твое слово против нашего ))
Ну вот мы и разобрали самый важный навык информатики — программирование.
Хороший старт! Надеюсь тебе понравилось и ты продолжишь.
Напиши как тебе эта статья? Есть ли вопросы?
Какой язык выберешь для сдачи ЕГЭ? :)
Спасибо, посмешили. Конечно, занимательно рассказывать какой Пайтон передовой и какой Паскаль отсталый. Но здесь это сравнение некорректно, это как сравнивать BMW образца 2010 года и Mersedes из 1980-х. А почему бы не взять Mersedes сегодняшний?
Какой прок сравнивать код Пайтона с кодом Turbo Pascal образца Н.Вирта 1970 года? Давайте сравним с кодом PascalАВС.NЕТ:
## ReadString.ToWords.Print
Да, это весь код. Ну и где ваш Пайтон? И так будет в любой школьной задаче.
Александр, спасибо за ваш комментарий. Не хотел обидеть никого, кто программирует на Pascal ABC:)
Да, я нарочно утрировал пример, чтобы противопоставить пайтон тому паскалю, который учат в 99% школ. Вернее, конечно, не сам язык, а методы решения задач.
Причём, я даже не против того, чтобы детей учили строить подобные алгоритмы, в целом это очень полезное упражнение. В этом мини-курсе я хотел показать, как эффективно экономить время на экзамене (а упражняться можно будет потом в свободное время, а не когда до экзамена 9 месяцев, и нужно успеть научиться всему).
Паскаль ABC сейчас в школах все используют, только код в нём пишут именно такой, как будто это Турбо:) А по назначению пользуются подобными функциям только единицы.