Что такое псевдокод и как он делает вас лучшим разработчиком?
Когда вы впервые начинаете учиться программировать, есть много вещей, которые нужно изучить, прежде чем создавать свое первое приложение. Думая как программист, вы можете разбивать проблемы на алгоритмы для их решения. Алгоритмы — это шаги, которые ваш код предпримет для решения проблемы или ответа на вопрос.
Это может быть непросто, если вы новый программист с самого начала мыслите как программист. Перевод идей приложений в реальный код требует некоторой практики.
Чтобы преодолеть разрыв между тем, что вы хотите, чтобы ваше приложение делало, и реальным кодом, который вам нужно написать, вы можете использовать псевдокод.
Что такое псевдокод?
Псевдокод — это текстовое описание фрагмента кода или алгоритма. На самом деле это не кодирование; нет сценария, нет файлов и нет программирования. Как следует из названия, это «поддельный код».
Псевдокод не написан на каком-либо конкретном языке программирования. Он написан простым английским языком, понятным и простым для понимания.
Хотя он не написан на языке программирования, все еще используются ключевые слова, которые относятся к общим концепциям кодирования. Они написаны заглавными буквами, чтобы их было легче читать.
Вот фрагмент того, как может выглядеть псевдокод для программы, которая просит вас ввести ваш любимый цвет и печатает ваш выбор.
Это довольно простой алгоритм, написанный в псевдокоде. Любой может прочитать и понять, что это пытается сделать. Как программист, все, что вам нужно сделать, это воплотить это в жизнь, используя любой язык программирования, на котором вы кодируете. Вот та же программа на JavaScript:
Эта программа использует синтаксис JavaScript
написать алгоритм. Если вы не знаете JavaScript, выяснить, что происходит, может быть немного сложно.
Псевдокод пишет алгоритм, языки программирования пишут синтаксис.
Чем полезен псевдокод?
Псевдокод поможет вам спланировать свое приложение до того, как вы его напишите. Это помогает вам создавать алгоритмы в формате, который легче читать, чем синтаксис кода. Как только языки программирования входят в картину, может быть труднее понять, что делает ваш код.
Пример JavaScript легко прочитать, если вы знаете язык. Но что, если вы просто читаете это и пытаетесь определить логику? Конкретные термины, такие как window.prompt или console.log не рассказывать много об алгоритме.
Хорошие принципы программного обеспечения важны. Если вы интервью, чтобы стать инженером программного обеспечения
они не ожидают, что вы запомните синтаксис. Они спросят о ваших знаниях алгоритмов и структуры. Вы напишите намного лучший код, если создадите свои алгоритмы и структуру до того, как начнете кодировать.
Как написать псевдокод
Написание полной программы в псевдокоде требует много разных операторов и ключевых слов, очень похожих на обычное программирование. Фактически, как только вы достаточно далеко продвинетесь в своем псевдокоде, он начнет выглядеть очень близко к реальной программе.
Давайте построим ключевые слова с помощью операторов псевдокода для построения алгоритмов.
Conditionals
Условные операторы имеют решающее значение для программирования. Эти операторы являются операторами IF или IF / ELSE, которые могут добавить логику в ваш код. Эти операторы написаны в псевдокоде с использованием:
Вот программа, которая выполняет простой оператор IF / ELSE, написанный в псевдокоде. Посмотрите, сможете ли вы определить, что этот код пытается сделать, просто прочитав.
Это довольно простая программа. Он запрашивает у пользователя число и делает что-то в зависимости от того, является ли число нечетным или четным.
итерация
Другой важной частью программирования является итерация, также известная как создание циклов. Некоторые общие петли за петли и пока петли, обе из которых могут быть записаны в псевдокоде.
Этот алгоритм предназначен для программы, которая будет печатать «Hello» 12 раз, что немного излишне, но показывает, насколько просто написать цикл в псевдокоде.
В то время как петли также пишутся очень легко
Еще один довольно простой алгоритм, использующий цикл while для вывода «Hello». Оба примера цикла имеют четкое начало и конец итерации.
Вы также можете написать так называемые циклы Do-While.
, Ключевые слова в псевдокоде отличаются: REPEAT и UNTIL.
Так же, как делать пока цикл, это будет выполнять действие, пока не будут выполнены определенные критерии. Как только оно выполнено, цикл завершится.
функции
Функции — лучший друг программиста. Они содержат код, который можно вызывать снова и снова и используются во всех языках программирования высокого уровня. Добавление функций в ваш псевдокод очень просто.
Вы можете вызывать функции в псевдокоде.
Там не так много функций; они очень просты, и вы можете добавить любую логику, которая вам нравится.
Обработка ошибок
Возможность разработки кода, который реагирует на ошибки, очень важна при разработке приложений. Таким образом, вы можете включить эти уловки в свой псевдокод.
Вы можете обрабатывать ошибки и исключения, используя ключевое слово: ИСКЛЮЧЕНИЕ. Вот простой алгоритм, который ловит ошибку
Код исключения поймает неверный ввод от пользователя. Тестирование кода жизненно важно для написания хороших приложений. Некоторые из этих исключений снова появятся в вашем тестировании, поэтому хорошо иметь возможность записать их в свой псевдокод при планировании приложения.
Разработка программного обеспечения и многое другое
Псевдокод — это все, что делает вас лучшим программистом. Теперь, когда вы знаете, как написать его, вы можете увидеть, насколько он может быть полезен в процессе программирования. Программисты зарабатывают довольно хорошие деньги, поэтому, если это ваш карьерный шаг, у вас будет много возможностей, если вы многому научитесь.
Рекомендуется знать, как использовать псевдокод, однако вы учитесь программировать. Хотите узнать больше? Ознакомьтесь с некоторыми основными принципами, которым должен следовать каждый программист
Руководство по написанию псевдокода для начинающих
Перевод статьи «How to write Pseudocode: A beginner’s guide».
Зачем вообще писать псевдокод?
Первый образец, модель или пробный выпуск продукта, созданный для проверки концепции или с учебными целями это прототип. Благодаря прототипам мы можем учиться писать код и при этом не реализовывать полное решение. Разрабатывая пользовательские интерфейсы для приложений, мы создаем несколько прототипов, прежде чем получим финальный вариант.
То же самое касается и кода. Если вы будете сразу писать настоящий код какого-то сложного функционала, вы можете в результате напрасно потерять много времени. Такое может произойти, например, при использовании неподходящего алгоритма или при непродуманном дизайне программы. Чтобы этого избежать, мы пишем псевдокод.
Что такое псевдокод?
Псевдокод это неформальное высокоуровневое описание компьютерной программы или алгоритма. Чтобы написанная вами программа могла выполняться, псевдокод должен быть преобразован в обычный код, написанный на каком-либо языке программирования.
Есть ли альтернатива написанию псевдокода?
Да, есть и другие варианты. Вы можете пользоваться диаграммами UML, блок-схемами, а также языком ДРАКОН. Все это может быть использовано с теми же целями, но потребует больше ресурсов по сравнению с псевдокодом.
Операторы
Операторы это инструкции, предписывающие компьютеру выполнить определенное действие.
При написании псевдокода мы исходим из того, что все инструкции будут выполняться по порядку, сверху вниз. Но при использовании функций и обработке исключений порядок может меняться.
Математические операторы
Математические операторы — неотъемлемая часть разработки решения. Они позволяют нам производить различные манипуляции с хранимыми значениями. Вот как используются распространенные математические символы:
Ключевые слова
Ключевое слово это слово, «зарезервированное» за программой и имеющее специальное значение. Ключевые слова могут быть командами или параметрами. В каждом языке программирования есть свои ключевые (зарезервированные) слова. Они не могут использоваться в качестве имен для переменных.
В псевдокоде ключевые слова используются, чтобы показать обычный input-output и процедурные операции. Эти слова пишутся исключительно в верхнем регистре.
Условия
При разработке алгоритмов нам нужно оценивать выражения и делать так, чтобы инструкции выполнялись в зависимости от того, является ли значение выражения истиной или ложью (True или False).
Вот некоторые распространенные условия, используемые в псевдокоде:
IF — ELSE IF — ELSE
При помощи этих слов указывается, что инструкции должны быть выполнены при соблюдении определенных условий. (Сами слова в буквальном переводе означают IF — «если», ELSE IF — «еще если», ELSE — «в противном случае», THEN — «тогда, в таком случае», — прим. перев.). Условий при этом может быть несколько, как и переменных.
Вот if-блок с одним условием:
Вот if-блок с разделом else. ELSE позволяет запустить выполнение каких-то инструкций, если первое условие, заданное при помощи IF, не соблюдено.
Мы можем добавлять дополнительные условия для выполнения разных инструкций.
Case-структуры используются, если нужно проверить одну переменную на совпадение с несколькими условиями.
Вариант OTHERS опционален. Условия обычно бывают в виде чисел или букв.
Итерации
«Итерировать» означает повторять набор инструкций, чтобы получить последовательность результатов (для достижения какой-то цели).
Структура FOR
Цикл FOR принимает группу элементов и запускает код в цикле для каждого отдельного элемента.
Структура WHILE
Цикл WHILE похож на цикл FOR. Но цикл FOR это способ повторять блок кода до того момента, как определенное условие станет истиной. В отличие от цикла FOR, цикл WHILE длится, пока какое-то условие является истиной.
Чтобы цикл while не стал бесконечным, мы добавляем какую-то инструкцию для манипуляций со значением в каждой итерации. Например, значение может увеличиваться или уменьшаться.
Функции
При решении сложных задач необходимо разделять инструкции на блоки, расположенные в разных местах. Это особенно верно, когда ряд инструкций служит для какой-то одной конкретной цели. Чтобы использовать этот код повторно, мы создаем функции. Эти функции мы можем вызывать каждый раз, когда нам нужно запустить содержащийся в них код.
Чтобы имитировать вызов функции в псевдокоде, используется ключевое слово Call.
Обертывание программ
Когда мы написали несколько функций в нашем псевдокоде, возникает необходимость поместить все это в один контейнер. Это улучшает читаемость и делает выполнение программы более простым для понимания.
Для этого мы обертываем код и делаем из него программу. Программа может быть определена как набор инструкций, выполнение которых позволяет решить какую-то задачу.
Обработка исключений
Исключение это событие, которое происходит во время выполнения программы и прерывает нормальное выполнение инструкций. Эти события нежелательны. Их нужно отслеживать и выполнять определенные блоки кода в качестве ответной реакции на их возникновение. Это называется обработкой исключений.
Заключение
Для написания псевдокода нет каких-то технических правил. Главное — писать псевдокод так, чтобы людям было легко его читать, а ход программы был понятен.
Есть различные руководства по написанию псевдокода, более специфичного для какого-то определенного языка программирования. Например, есть правила стиля псевдокода для языков Fortran, Pascal, C, Basic.
Псевдокод: как начать программировать программу
Когда мы собираемся программировать, неважно, игра это, программа, сайт или скрипт, это нужно подготовить. Мы должны тщательно продумать проект, который мы собираемся реализовать, мы должны подготовить системы, иметь под рукой программы и доступ к необходимой нам документации. Однако, прежде чем вы начнете писать код как таковой в редакторе, вам нужно выполнить предыдущую задачу, что в мире программирования известно как псевдо- программирование.
Универсального языка для создания псевдокода программы не существует, поскольку это зависит от каждого программиста. Важно обрисовать, каким должен быть код и как он будет работать после компиляции. Мы можем писать код как есть, на листе или использовать схемы или диаграммы, которые позволяют нам увидеть программу в гораздо более графическом виде.
Преимущества и проблемы псевдопрограммирования
Псевдокод легче писать и интерпретировать, чем обычный код. Поэтому, помимо того, что он является хорошим источником изучения структуры языков, он также является хорошим источником для других людей, которые могут помочь нам с кодом без необходимости знать весь язык.
К сожалению, отсутствие стандартов может затруднить понимание кода, поскольку каждый пишет его по-своему. Кроме того, в очень обширных программах все становится слишком сложным, что делает проекты более длинными, чем необходимо.
Программы, помогающие писать псевдокод
PSeInt, испанская программа для написания псевдокода.
Эта бесплатная программа с открытым исходным кодом является одной из наиболее распространенных, помогающих студентам сделать первые шаги в области псевдопрограммирования. Эта программа имеет очень простую псевдоязычную систему на испанском языке. Что вместе с редактором блок-схем помогает нам формировать нашу программу. Все это схематично, очень понятно для понимания и, кроме того, с большим количеством учебных пособий и ресурсов.
Эдпкс, ветеран псевдопрограммирования
Еще одна бесплатная альтернатива с открытым исходным кодом, призванная помочь нам с псевдопрограммированием. Очень ветеранская программа, созданная, прежде всего, для сектора образования. Он имеет интерфейс на основе вкладок и безграничные возможности, когда дело доходит до формирования нашего кода. Среди его основных характеристик мы можем выделить, например, использование стандартных структур, таких как If..Then, If..Then..Else, For..Do, While..Do, для облегчения создания этой псевдопрограммы.
Что такое псевдокод и зачем его писать
Перевод статьи «How To Write Pseudo-code».
Перед вами когда-нибудь стояла действительно сложная задача, связанная с программированием? Задача, в которой вы могли бы, пожалуй, написать логику, но не уверены насчет того, какой синтаксис использовать? Написание псевдокода будет отличным началом решения подобных задач.
Что это такое
Псевдокод это «язык», с помощью которого вы можете изложить всю логику вашего кода и при этом не написать ни строчки на каком-либо языке программирования. Он будет очень часто попадаться вам в исследованиях алгоритмов, особенно алгоритмов машинного обучения. Но это не значит, что псевдокод не годится для веб-разработки.
Почему вам стоит использовать псевдокод?
Есть проекты, настолько массивные, что без применения псевдокода вы просто потеряетесь в них. Написание псевдокода позволяет вам заранее продумать потенциальные проблемы. Благодаря ему вы можете наблюдать чистую логику и порядок выполнения программы, не беспокоясь при этом о запуске вашего кода.
Создание псевдокода перед написанием настоящего кода также поможет вам быстрее завершать ваши проекты. Вы можете считать его своеобразным эскизом вашей программы. Написав псевдокод, вы уже знаете, где что должно находиться и как должно работать вместе. Поэтому, когда вы приступите к фазе настоящей сборки, вам не нужно будет долго раздумывать над тем, что нужно сделать, ведь вы уже заранее это определили.
Самый смак в том, что псевдокод не зависит ни от какого языка программирования. Логика, написанная вами, может быть применена кем угодно и реализована на любом языке. Это дает вам свободу повторного использования и улучшения архитектуры создаваемого вами приложения.
Одна из не слишком бросающихся в глаза особенностей псевдокода – возможность делиться им с другими людьми. Порой у вас в руках оказывается специфический кусок логики, который можно использовать во многих проектах, но все эти проекты написаны на разных языках. Благодаря псевдокоду вы можете поделиться этой логикой с другими программистами, а уж они реализуют ее на нужном им языке.
Еще одно отличное свойство псевдокода состоит в том, что вы можете писать его в любом формате. Можно использовать академический формат. Он невероятно структурированный и детализированный, но связан с применением математики в больших количествах. Или же вы можете писать просто краткую схему того, что ожидаете от своего кода.
Как писать псевдокод
Вот пример псевдокода, который я писала в одной из моих научных работ:
Я безусловно признаю, что для веб-разработки это уже перегиб. Если вы используете LaTex для написания псевдокода, есть вероятность, что ваш код излишне сложен. Скорее всего, небольшой записи в Word или даже в Notepad будет вполне достаточно.
Вот пример простого псевдокода, который я написала для одного из моих проектов по веб-разработке:
Вам не обязательно слишком вдаваться в технические детали, но чем подробнее вы все изложите, тем легче вам будет писать настоящий код. Представьте, что вы создаете эскиз своей программы. Это дает вам возможность хорошенько продумать, чего вы хотите достичь, и увидеть, как весь ваш код будет работать в целом.
Главное, на чем следует сосредоточиться при написании псевдокода:
На самом деле писать псевдокод не так уж сложно. По мере написания вы начнете видеть, где стоит добавить побольше деталей, а где можно что-то убрать. Помните, что этот «эскиз» предназначен в первую очередь для вашего личного пользования, поэтому пишите его так, как вам будет удобно.
Лично я люблю псевдокод. Он помогает мне более ясно мыслить, когда дело доходит до написания настоящего кода. Когда вся логика вашей программы уже спланирована, у вас появляется куда больше времени на эксперименты с производительностью и оптимизацией. Кроме того, когда вы наконец углубитесь в написание кода, вам не придется слишком уж перенапрягать мозг.
А что вы думаете о псевдокоде? Стоит он потраченного времени или лучше сразу приступать к написанию настоящего кода? Поделитесь своим мнением в комментариях!
. when altering one’s mind becomes as easy as programming a computer, what does it mean to be human.
16 января 2011 г.
aka «Как писать код, понятный хотя бы себе самому»
Когда в школе или университете вам преподают язык программирования, вам рассказывают об инструментах («сегодня мы проходим циклы и условные выражения», «завтра мы будем изучать функции», «текст между < и >называется комментарием и игнорируется компилятором»), но обычно ничего не говорят про то, как (и когда, и зачем) их использовать.
Что касается первого фрагмента, то, взглянув пару раз, вы даже не поймёте, где заканчиваются циклы!
Форматирование кода
Посмотрите на этот код: Этот код синтаксически корректен. Он прокомментирован и содержит хорошие имена переменных и понятную логику. Если не верите, то попробуйте прочитать его. Это в точности второй блок кода этого поста, но с добавленными комментариями.
Вот улучшенный вариант: Это форматирование определённо находится в строго положительной части шкалы вариантов форматирования. Теперь код гораздо удобнее читать, а усилия, приложенные к комментированию и выбору хороших имён переменных, теперь очевидны. Всё это было и в предыдущем куске кода, но с таким плохим форматированием от них не было никакой пользы!
Среда спросит вас, точно ли вы хотите отформатировать код в стандартный стиль оформления. Отвечайте «Yes» (Да) и весь код, подключенный в проект будет отформатирован в стандартном стиле.
Если вы используете Lazarus, то аналогичная команда находится в меню Service ( Сервис ):
А если вы используете PascalABC.NET, то аналогичная команда находится в меню Сервис (но только в автономной версии среды, а не online WDE):
Конечно, если вы делаете форматирование кода в надежде подсветить синтаксическую ошибку в вашем коде, то ни про какую успешную компиляцию речи идти не может. В этом случае просто запускайте форматирование. Найдите первую проблему. Исправьте его. Теперь повторите цикл заново (компилирование, форматирование, поиск ошибок).
Для JEDI Code Format вам также понадобятся настройки стиля форматирования. Можете взять вот эти. Распакуйте этот архив в ту же папку, куда вы распаковали JEDI Code Formatter. Затем, укажите этот файл в настройках программы:
Теперь вы можете использовать команду File / Open (или соответствующую кнопку на панели инструментов), чтобы указать файл для форматирования:
Теперь достаточно нажать кнопку с зелёной стрелочкой и файл будет переформатирован.
Не всегда результат автоматического форматирования идеален, но это почти наверняка лучше, чем у вас было до этого.
Комментирование кода
К примеру, что делает этот код? Этот метод вычисляет первые num чисел Фибоначчи. Стиль кодирования этого метода чуть лучше, чем у самого первого нашего примера, но комментарий, описывающий код, неверен. Это сводит на нет всю пользу от комментирования кода. Если вы поверите этому комментарию, то будете введены в заблуждение.
Наконец, ещё один код: Код вычисляет квадратный корень из num. Код не идеален, но комментарий верен и комментирует цель кода, а не дублирует код.
Кодирование
Программирование с псевдокодом
Программирование с псевдокодом заключается в следующем: опишите программу на естественном языке. Увеличивайте детализированность каждой операции, пока она не станет настолько очевидна, что её проще будет написать кодом. В итоге вы меняете каждый шаг псевдокода на настоящий код на языке программирования, а шаги бывшего псевдокода становятся комментариями в программе.
Если вы будете следовать этому способу, то ваши комментарии будут полными, ясными и полезными.
Уже в этот момент можно запустить Delphi, создать новое VCL приложение и бросить на форму Edit (для ввода данных), Memo (для вывода данных) и Button (для запуска поиска).
Достаточно просто. Вы можете легко увидеть, что должна делать программа и проверить правильность её действий.
Мы создали достаточно подробный псевдокод всего в два шага. Если бы алгоритм был бы сложнее, нам бы могло потребоваться несколько проходов с всё более подробным описанием деталей. Хотя, возможно, последний шаг можно было бы расписать подробнее. Но пока остановимся на этом.
Продолжаем кодировать: И далее: И так далее. В итоге вы получите готовый код.
Этот процесс может быть рекурсивным. Т.е. код в выделенных подпрограммах тоже может потребовть дальнейшего разбиения на подпрограммы. К примеру, код SetResult может быть таким: Вы можете захотеть выделить в ней такую подпрограмму:
Дальше надо. скомпилировать программу 🙂 Да, до этого момента мы ещё ни разу не запускали её. Здесь нужно убедиться, что программа компилируется. Также нужно устранить все замечания компилятора по коду.