Псевдокод это способ описания алгоритма с помощью

Описание алгоритмов с помощью псевдокода

Псевдокод (алгоритмический язык) — система обозначений и правил, предназначенная для единообразной и точной записи алгоритмов и исполнения их. Особенность псевдокода заключается в том, что описания на нем выполняются на родном языке — русском, английском, украинском, немецком и т.п.

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

Отметим, что между понятиями «алгоритмический язык» (псевдокод) и «языки программирования» есть различие; прежде всего, под исполнителем в алгоритмическом языке может подразумеваться не только компьютер, но и устройство для работы «в обстановке». Программа, записанная на алгоритмическом языке, не обязательно предназначена компьютеру. Практическая же реализация алгоритмического языка — отдельный вопрос в каждом конкретном случае.

Достоинство записи алгоритмов и программ на алгоритмическом языке заключается в простоте их чтения и ввода с экрана ЭВМ, а также в простоте внесения изменений и исправлений с использованием даже самых простейших редакторов тестов. По этим причинам зарубежом схемы алгоритмов уже давно не используются ни для документирования, ни для обучения, а все современные языки построены на принципах структурного программирования.

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

Как и каждый язык, алгоритмический язык имеет свой словарь. Основу этого словаря составляют слова, употребляемые для записи команд, входящих в систему команд исполнителя того или иного алгоритма. Такие команды называют простыми командами. В алгоритмическом языке используют слова, смысл и способ употребления которых задан раз и навсегда. Эти слова называют служебными. Использование служебных слов делает запись алгоритма более наглядной, а форму представления различных алгоритмов — единообразной.

Следует отметить, что единого или формального определения псевдокода не существует, поэтому возможны различные псевдокоды, отличающиеся набором служебных слов и основных (базовых) конструкций. Однако, существуют определенные правила, которых следует придерживаться при записи алгоритма на псевдокоде.

Алгоритм, записанный на алгоритмическом языке (псевдокоде), должен иметь название. Название желательно выбирать так, чтобы было ясно, решение какой задачи описывает данный алгоритм. Для выделения названия алгоритма перед ним записывают служебное слово алг (АЛГоритм). За названием алгоритма (обычно с новой строки) записывают его команды. Для указания начала и конца алгоритма его команды заключают в пару служебных слов нач (НАЧало) и кон (КОНец). Команды (операторы) записывают последовательно.

Последовательность записи алгоритма:

Алг название алгоритма

Нач

Серия команд алгоритма

Кон

Читайте также:  Организация разработки полезных ископаемых открытым способом

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

Очень часто при составлении алгоритмов возникает необходимость использования в качестве вспомогательного одного и того же алгоритма, который к тому же может быть весьма сложным и громоздким. Было бы нерационально, начиная работу, каждый раз заново составлять и запоминать такой алгоритм для его последующего использования. Поэтому в практике широко используют, так называемые, встроенные (или стандартные) вспомогательные алгоритмы, т.е. такие алгоритмы, которые постоянно имеются в распоряжении исполнителя. Обращение к таким алгоритмам осуществляется так же, как и к «обычным» вспомогательным алгоритмам. У исполнителя-робота встроенным вспомогательным алгоритмом может быть перемещение в хранилище из любой точки помещения склада; у исполнителя-язык программирования Паскаль это, например, встроенный алгоритм «SIN» и т.д.

Простейшим видом машинного оператора является оператор присваивания, служит для вычисления выражений и присваивания их значений переменным. Общий вид: a := b, где знак «:=» означает команду заменить прежнее значение переменной, стоящей в левой части, на вычисленное значение выражения, стоящего в правой части. Здесь а и bпрограммные переменные — область машинной памяти, в которой хранятся их значения а и b. В отличии от обычных математических переменных программные переменные могут получать новые значения. В частности, присваивание b := b + 5 записывает в программную переменную b новое значение b’, равное величине b + 5, где b — прежнее значение переменной b.

Рассмотрим примеры присваивания и описания результатов его выполнения.

Запись присваиваний читается:

а := 0 — «переменной а присвоить значение 0»;

b := b + 10 — «переменной b присвоить значение b + 10».

Записи в колонке результатов читаются так:

а = 0 — «значение а равно 0»;

b‘ = b + 1 — «значение b’ равно b + 1».

Для ввода и вывода данных используют команды:

ввод или считать (имена переменных);

вывод или написать (имена переменных, выражения, “тексты”).

Алгоритм 2

Алг Сравнение x и y

Нач

Вывод(“Введите x”)

Ввод (x)

Вывод(“Введите y”)

Ввод (y)

вывод (“X= ”, x=y, “ Y= ”,x, y+x)

Кон

Рассмотрим работу данного алгоритма, в качестве исполнителя выберем компьютер. После выполнения первой команды вывод(“Введите x”) на экране появится сообщение:

Пусть пользователь введет значение равное 10. Тогда следующая команда ввод (x) присвоит введенное значение переменной x, т.е. x=10. Далее на экране появится сообщение:

Пусть пользователь введет значение равное 7. Аналогично команда ввод (y) присвоит введенное значение переменной y, т.е. y=7. В результате работы алгоритма на экране появится следующее сообщение:

Т.е. в команде вывод() все, что размещено в кавычках рассматривается как текст и выводится на экран без изменений, вместо переменных на экран выводятся их значения и, если в команде присутствуют арифметические или логические операции, то сначала они выполняются, и полученный результат тоже выводится на экран.

Рассмотрим, как будет выглядеть алгоритм 1 нахождения значения функции z(x), в точке x=10 записанный на псевдокоде.

Алгоритм 3

алг Расчет значения функции z(x) в точке x=10

нач

вывод (“Введите значение переменной x=10”)

ввод (x)

z:=x*x-2*x+4

z:=z/(x-5)

Читайте также:  Способы построения профессиональной карьеры

a:=x*x*x

z:=z+a

вывод (“Значение функцииz(”,x,”)= ”,z)

кон

Результатом работы алгоритма, если пользователь действительно введет значение x=10, будет следующее сообщение на экране:

Значение функции z(10)= 1016,8

Вопросы и задания для самоподготовки

1. Дайте определение алгоритма.

2. Охарактеризуйте основные свойства алгоритма.

3. Какие виды алгоритмов вам известны? Приведите примеры.

4. Какие существуют способы описания алгоритмов? Приведите примеры.

5. Перечислите и охарактеризуйте основные функциональные символы, используемые при составлении схем алгоритмов.

6. Правила составления схем алгоритмов.

7. Дайте определение псевдокода.

8. Для чего служит оператор присваивания?

9. Какие команды используют в псевдокоде для ввода/вывода данных? Приведите примеры.

10. В результате работы фрагмента алгоритма

переменная Y приняла значение равное 5. Укажите число — начальное значение переменной X данного алгоритма.

11. Какое значение примет переменная A по окончании работы алгоритма, если начальным значением A ввести: 10; -7; 0. Напишите сообщение, которое будет выведено на экране в конце работы алгоритма.

агоритм Вычисление значения А

вывод (“Введите значение А”)

12. Чему будет равно значение переменной b после выполнения заданного фрагмента алгоритма? Чему будет равно значение переменной b, если условие выполнения цикла изменить на b>a?

Опора деревянной одностоечной и способы укрепление угловых опор: Опоры ВЛ — конструкции, предназначен­ные для поддерживания проводов на необходимой высоте над землей, водой.

Механическое удерживание земляных масс: Механическое удерживание земляных масс на склоне обеспечивают контрфорсными сооружениями различных конструкций.

Источник

Руководство по написанию псевдокода для начинающих

Перевод статьи «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.

Источник

Оцените статью
Разные способы