- «Python, делай Print»: что такое псевдокод и зачем его писать
- Описываем цель программы
- Используем стандартные конструкции разработки
- Делаем разделы текста заметнее
- Используем пустые строки и отступы
- Подробно и последовательно описываем действия программы
- Проверяем себя
- Решение задачи с использованием псевдокода на языке Python: подробный гайд
- Шаг 1: Ввод исходных данных
- Шаг 2: Обработка данных
- Шаг 3: Вывод результатов
- Пример решения задачи с использованием псевдокода на языке Python
- Псевдокод и введение в циклы
«Python, делай Print»: что такое псевдокод и зачем его писать
Псевдокод — это построчное неформальное описание кода будущей программы. Он полезен, когда нужно:
- Описать работу алгоритма. С помощью псевдокода можно объяснить, где и как в программе появляется определенная структура, механизм или прием.
- Объяснить устройство программы пользователям, которые плохо разбираются в разработке. При написании программы используется строгий синтаксис — иначе она не смогла бы правильно работать. Людям, особенно новичкам, проще воспринимать код на более простом и естественном языке, где понятна задача каждой строки.
- Работать над кодом в команде. Сеньор-разработчики часто используют псевдокод для решения сложных проблем, с которыми сталкиваются мидлы и джуны, или просто чтобы объяснить свои действия.
Псевдокод будет действительно полезен и упростит разработку, если его правильно написать. Разберем основные правила работы с ним.
Описываем цель программы
Писать псевдокод лучше в простом текстовом редакторе, ему не потребуется сложное форматирование.
Сначала нужно обозначить цель кода в одной или двух строках. Краткое описание цели позволяет структурировать документ и объясняет задачи программы каждому читателю псевдокода.
Позднее такой псевдокод будет преобразован в код на языке программирования, что необходимо учитывать при обдумывании его структуры.
Составляя псевдокод, легко забыться и перейти на язык программирования. Чтобы этого не произошло, нужно всегда помнить про задачи псевдокода — объяснять, для чего нужна каждая строка программы.
Используем стандартные конструкции разработки
Хотя единых требований к псевдокоду не существует, проще понять текст, в котором используются конструкции из языков программирования. Команды «если» ( if ), «то» ( then ), «пока» ( while ), «иначе» ( else ) и «цикл» ( loop ) можно применять так же, как и в любом языке программирования. Часто используются следующие конструкции:
- Если Условие , то Инструкция — инструкция выполняется только при соблюдении условия. Она означает действие, выполняемое программой. Условие формулирует требования, в соответствии с которыми выполняется действие.
- Пока Условие выполнять Инструкцию — инструкция повторяется многократно, пока выполняется условие. Программа проверяет условие, а затем выполняет инструкцию.
- Выполнять Инструкцию пока Условие — Эта конструкция похожа на предыдущую, но программа сначала выполняет инструкцию и только потом проверяет условие. Поэтому Инструкция выполняется один раз без проверки условия.
- Функция Имя (Аргументы): Инструкция — При каждом упоминании в коде указанного имени запускается инструкция. Аргументы обозначают список переменных, которые уточняют инструкцию.
Делаем разделы текста заметнее
Псевдокод удобнее читать, если его разделы упорядочены. Большой фрагмент текста, который относится к другому фрагменту того же раздела, можно заключить в фигурные скобки или выделить другим образом.
Каждая строка псевдокода содержит один оператор, который описывает одно действие. Если список задач составлен грамотно, каждая из них соответствует одной строке псевдокода. Полезно составить список задач, написать псевдокод, а затем постепенно преобразовать его в исполняемый код программы.
Используем пустые строки и отступы
Чтобы читать псевдокод было проще, рекомендуем эффективно использовать свободное пространство. Пустые строки позволяют разделить псевдокод на отдельные фрагменты, а отступы — обозначить отношения между этими фрагментами.
Если один фрагмент кода посвящен вводу числа, а следующий — выводу, их можно разделить пустой строкой.
Для удобства можно сразу выделять ключевые команды заглавными буквами и записывать их на английском языке. В зависимости от требований к псевдокоду или целей его использования, так можно поступать с командами, которые останутся в неизменном виде при переходе на язык программирования.
Если в псевдокоде используются команды «если» и «то», их можно сразу заменить на IF и THEN : « IF ввод числа THEN вывод результата ».
Подробно и последовательно описываем действия программы
Псевдокод — это описание задач проекта, а не краткое содержание кода. Об этом особенно важно помнить, если код предназначен для читателя, который плохо разбирается в программировании. Например, чтобы рассказать о программе клиенту или подготовить учебный проект для начинающего разработчика.
Каждый этап процесса должен быть подробно описан. Операторы псевдокода похожи на предложения на естественном языке. Обычно в них не используются переменные. Вместо этого псевдокод описывает действия программы с реальными объектами, такими как номера счетов, имена или суммы операций.
Последовательность действий в псевдокоде очень важна. Хотя для пошагового описания лучше использовать простые формулировки, они должны идти именно в том порядке, в котором они выполняются.
Иногда можно отказаться от команд на языке программирования и описать порядок действий на человеческом языке. Вместо «если ввод равен нечетному числу, вывод ‘Y’» можно написать «если пользователь вводит нечетное число, на экране отображается ‘Y’».
Проверяем себя
После завершения работы над документом нужно проверить, насколько он понятен и легко ли читается. Для этого можно задать себе следующие вопросы:
- Понятен ли псевдокод человеку, который не знаком с процессом?
- Легко ли будет преобразовать псевдокод в код на вашем языке программирования?
- Описан ли процесс полностью, с учетом всех деталей?
- Понятны ли читателям имена всех объектов?
Если какой-то раздел псевдокода не доработан или шаг пропущен, нужно вернуться к тексту и добавить необходимую информацию.
Так выглядит псевдокод — пример нахождения факториала:
= 1, i := 1 WHILE i = number DO COMPUTE factorial := factorial * i INCREASE i by 1 END LOOP PRINT factorial
Продолжайте учиться: На Хекслете есть несколько больших профессий, интенсивов и треков для джуниоров, мидлов и даже сеньоров: они позволят не только узнать новые технологии, но и прокачать уже существующие навыки
Решение задачи с использованием псевдокода на языке Python: подробный гайд
Псевдокод это алгоритмическое описание программы, которое позволяет программисту легко понять общую структуру решения задачи. Он используется для разработки и отладки программного кода. В данном гайде мы рассмотрим подход к решению задач с использованием псевдокода на языке Python.
Шаг 1: Ввод исходных данных
Первым шагом в решении задачи является ввод исходных данных. Это может быть ввод с клавиатуры, чтение данных из файла или любой другой источник. В псевдокоде это обычно представлено с помощью инструкции input() . Пример:
Имя = input("Введите свое имя: ")
Шаг 2: Обработка данных
После ввода исходных данных, следующий шаг — обработка этих данных. Здесь мы можем выполнять различные операции, такие как вычисления, сортировка, фильтрация и т.д. Инструкции для обработки данных записываются в псевдокоде так же, как и в языке программирования Python. Например:
Шаг 3: Вывод результатов
Последний шаг в решении задачи — вывод результатов. Здесь мы можем использовать инструкцию print() для вывода значения переменной или результата вычислений. Например:
Пример решения задачи с использованием псевдокода на языке Python
Давайте рассмотрим простой пример решения задачи. Пусть нам нужно найти сумму двух чисел, введенных пользователем, и вывести ее на экран.
Вот как может выглядеть псевдокод для этой задачи:
Имя = input("Введите свое имя: ") число1 = int(input("Введите первое число: ")) число2 = int(input("Введите второе число: ")) сумма = число1 + число2 print("Привет,", Имя) print("Сумма чисел:", сумма)
Теперь перейдем к реализации на языке Python:
Имя = input("Введите свое имя: ") число1 = int(input("Введите первое число: ")) число2 = int(input("Введите второе число: ")) сумма = число1 + число2 print("Привет,", Имя) print("Сумма чисел:", сумма)
Скопируйте код в файл с расширением .py и запустите программу. Она попросит ввести имя и два числа, затем выведет приветствие и сумму этих чисел.
Таким образом, использование псевдокода на языке Python позволяет нам легко описывать и реализовывать решение задачи. Это полезный инструмент для программистов, который помогает разбивать задачу на более мелкие шаги и понять структуру решения.
Псевдокод и введение в циклы
Теперь вы должны быть в состоянии написать программу, которая находит наибольшее из четырех, пяти, шести или даже десяти чисел.
Вы уже знаете схему, поэтому увеличение размера задачи не составит особого труда.
Но что произойдет, если мы попросим вас написать программу, которая находит наибольшее из двухсот чисел? Вы можете представить себе код?
Вам понадобится двести переменных. Если двести переменных — не так уж и плохо, представьте себе поиск наибольшего из миллиона чисел.
Представьте себе код, содержащий 199 условных операторов и двести вызовов функции input () . К счастью, вам не нужно с этим разбираться. Есть более простой подход.
Мы пока проигнорируем требования синтаксиса Python и попытаемся проанализировать проблему, не думая о реальном программировании. Другими словами, мы попробуем написать алгоритм, и когда он нас устроит, мы его реализуем.
В этом случае мы будем использовать нотацию, которая не является реальным языком программирования (она не может быть ни скомпилирована, ни выполнена), но она формализованная, краткая и удобочитаемая. Это называется псевдокод.
Давайте посмотрим на наш псевдокод ниже:
largest_number = -999999999 number = int(input()) if number == -1: print(largest_number) exit() if number > largest_number: largest_number = number # Go to line 02
Во-первых, мы можем упростить программу, если в самом начале кода мы присвоим переменной large_number значение, которое будет меньше любого из введенных чисел. С этой целью мы будем использовать -999999999 .
Во-вторых, мы предполагаем, что наш алгоритм заранее не будет знать, сколько чисел будет доставлено программе. Мы ожидаем, что пользователь введет столько чисел, сколько захочет — алгоритм будет хорошо работать и с сотней, и с тысячей чисел. Как мы это сделаем?
Мы заключаем сделку с пользователем: когда вводится значение -1 , это будет признаком того, что данных больше нет и программа должна завершить свою работу.
В противном случае, если введенное значение не равно -1 , программа прочитает другое число и так далее.
Уловка основана на предположении, что любая часть кода может быть выполнена более одного раза — ровно столько раз, сколько необходимо.
Выполнение определенной части кода более одного раза называется циклом. Значение этого термина, вероятно, Вам очевидно.
Строки с 02 по 08 образуют цикл. Мы пройдемся по ним столько раз, сколько потребуется, чтобы проверить все введенные значения.
Можете ли Вы использовать аналогичную структуру в программе, написанной на Python? Да, можете.
Дополнительная информация
Python часто имеет множество встроенных функций, которые сделают всю работу за вас. Например, чтобы найти наибольшее количество из всех, вы можете использовать встроенную функцию Python под названием max() . Вы можете использовать его с несколькими аргументами. Проанализируйте код ниже:
# Read three numbers. number1 = int(input(«Enter the first number: «)) number2 = int(input(«Enter the second number: «)) number3 = int(input(«Enter the third number: «)) # Check which one of the numbers is the greatest # and pass it to the largest_number variable. largest_number = max(number1, number2, number3) # Print the result. print(«The largest number is:», largest_number)
Таким же образом вы можете использовать функцию min() , чтобы вернуть наименьшее число. Вы можете перестроить приведенный выше код и поэкспериментировать с ним в песочнице.
Мы скоро поговорим об этих (и многих других) функциях. В настоящее время наше внимание будет сосредоточено на условном выполнении и циклах, чтобы дать вам больше уверенности в программировании и научить вас навыкам, которые позволят Вам полностью понять и применить эти две концепции в своем коде. Так что, на данный момент мы не срезаем путь.