Загрузить PDF Загрузить PDF

Псевдокод - это простой инструмент, который можно использовать для планирования работы алгоритмов. Когда вам нужно будет написать сложный код, вы вряд ли сможете удержать всю программу в голове до начала работы. Представьте, что псевдокод - это последовательное вербальное описание, которое вы позднее превратите в язык программирования. Это сочетание человеческого языка и языка программирования: псевдокод использует синтаксис компьютерного кода, но его основная задача - быть читаемым.

Метод 1
Метод 1 из 5:

Понимание псевдокода

Загрузить PDF
  1. 1
    Узнайте, что такое псевдокод. Псевдокод - это последовательное вербальное описание кода, которое можно постепенно перенести в язык программирования. Многие программисты используют его для планирования функции алгоритма до начала более технической работы над кодом. Псевдокод - это нестрогий план, инструмент для обдумывания проблем программы и средство общения, которое позволяет передать ваши мысли другим людям.
  2. 2
    Выясните, почему псевдокод полезен. Псевдокод используется для демонстрации того, как компьютерный алгоритм может и должен работать. Инженеры часто используют псевдокод в качестве промежуточного этапа в программировании - между стадией планирования и стадией написания работающего кода. Хороший псевдокод может превратиться в комментарии к финальной версии программы и будет помогать программисту исправлять ошибки в будущем или корректировать код. Псевдокод также полезен:
    • Для описания того, как алгоритм должен работать. Псевдокод показывает, как определенная часть программы, механизм или прием должен отображаться в программе. Опытные программисты часто используют псевдокод для пояснения своих шагов в разработке младшим программистам.
    • Для пояснения процесса работы программы людям, которые плохо разбираются в программировании. Чтобы программа работала, компьютерам нужен очень строгий код, однако людям, особенно тем, кто не связан с программированием, проще понимать более простой и субъективный язык, который четко описывает цель каждой строки кода.
    • Для разработки кода в группе. Высококвалифицированные инженеры часто включают псевдокод в свою работу, чтобы помочь программистам решить сложную проблему, с которой те вот-вот столкнутся. Если вы работаете в группе с другими программистами, псевдокод поможет вам пояснить ваши действия остальным.
  3. 3
    Помните, что псевдокод субъективен и не стандартизирован. В нем нет четко установленного синтаксиса - есть только негласное правило использовать стандартные конструкции, которые другие программисты могли бы понять без особых проблем. Если вы пишете код самостоятельно, псевдокод поможет вам упорядочить мысли и разработать план. Если вы работаете вместе с другими инженерами (и не имеет значения, каков их уровень владения предметом), важно использовать как минимум основные конструкции, чтобы все остальные понимали, что вы хотели сделать.
    • Если вы учитесь программированию в каком-либо учреждении, скорее всего, вам предложат тест на знание так называемых стандартов псевдокода. У различных преподавателей и в различных учебных заведениях стандарт может быть разным.
    • Понятность - основной критерий псевдокода, поэтому псевдокод будет полезен, если вы применяете в работе стандартные конструкции. Вам нужно будет превратить псевдокод в язык программирования, и псевдокод позволит вам упорядочить в голове всю структуру.
  4. 4
    Научитесь разбираться в алгоритмах. Алгоритм - это процедура для решения проблемы средствами, знакомыми программе, и порядок, в котором будут выполняться действия. Алгоритм - это просто набор шагов, которые позволяют решать какую-либо задачу: последовательность действий, выбор, итерация и тип обращения.
    • В языке программирования С операторы последовательности есть всегда.
    • Выбор - это структура "if then else".
    • Итерация выполняется с помощью набора обращений:"while", "do", "for."
    • Тип обращения выбирается с помощью оператора "switch".
  5. 5
    Знайте, какие три элемента управляют алгоритмом. Если вы можете применить функцию "sequence" (последовательности), функцию "while" (зацикливание) и "if-then-else" (если-то, функция выбора), у вас есть все основные элементы для написания работающего алгоритма. [1]
    • SEQUENCE (последовательность) - это линейная прогрессия, при которой одна задача выполняется после другой в определенной последовательности. Например:
      • READ (прочитать) высота прямоугольника
      • READ (прочитать) ширина прямоугольника
      • COMPUTE (запрограммировать) участок как высота x ширина
    • WHILE - это зацикливание (повторение) проверки на выполнение условий в начале. Начало и конец цикла обозначаются словами WHILE (пока) и ENDWHILE (конец действия пока). Цикл завершается только в том случае, если условие выполняется. К примеру:
      • WHILE население < предел
        • Compute (запрограммировать) население как население + рождения - смерти
      • ENDWHILE
    • IF-THEN-ELSE (если ... , то ... , иначе...) - это функция выбора, при которой делается выбор между двумя вариантами действий. Бинарный выбор определяется четырьмя ключевыми словами: IF, THEN, ELSE, and ENDIF. Например:
      • IF (если) рабочие часы > норм макс THEN (то)
        • Показать время переработки
      • ELSE (иначе)
        • Показать время работы
      • ENDIF (конец)
    Реклама
Метод 2
Метод 2 из 5:

Пример псевдокода

Загрузить PDF
  1. 1
    Разберите пример простой программы. Представьте, что программа должна заменять сочетание букв "foo" в текстовом файле. Программа прочитает каждую строку в этом файле, поищет нужное сочетание в каждой строке и заменит его на другое. Повторяющиеся шаги начинаются с пробелов - в идеале так должно быть и в настоящем коде. Первоначальный набросок псевдокода может выглядеть так:
    • открыть файл
    • в каждой строке файла:
      • найти сочетание
      • удалить сочетание
      • вставить другое сочетание
    • закрыть файл
  2. 2
    Пишите псевдокод итерационно: напишите его один раз, а потом меняйте в нем данные . Один из плюсов псевдокода заключается в том, что вы можете набросать только основу, а все сложное оставить на потом. Обратите внимание на то, что в примере, приведенном выше, нет указаний на то, каким должно будет сочетание букв. Вы как программист можете переписать псевдокод, чтобы в нем присутствовали алгоритмы для удаления отдельных букв и замены их другими. Второй набросок может иметь следующий вид:
    • открыть файл
    • в каждой строке файла:
      • найти слово следующим образом:
        • прочитать символ в строке
        • если символ совпадает, то:
          • если все из следующих символов совпадают
          • то это правильный выбор
          • удалить символы слова
          • вставить символы нового слова
    • закрыть файл
  3. 3
    Используйте код для добавления новых функций. Псевдокод помогает программистам продумать решение проблемы. Это можно сравнить с промежуточными расчетами в уравнении. При правильном использовании псевдокод может сделать сложную задачу простой. Можно дорабатывать псевдокод понемногу, по шагу за раз:
    • открыть файл
    • запросить заменяемое слово
    • запросить заменяющее слово
    • в каждой строке файла:
      • найти слово следующим образом:
        • прочитать символ в строке
        • если символ совпадает, то:
          • если все из следующих символов совпадают
          • то это правильный выбор
      • сосчитать количество повторений слова
      • удалить символы слова
      • вставить символы нового слова
      • показать количество повторений слова
    • закрыть файл
    Реклама
Метод 3
Метод 3 из 5:

Стандартный процесс написания псевдокода

Загрузить PDF
  1. 1
    Пишите только по одному обращению в строке. Каждое обращение в псевдокоде должно задавать компьютеру лишь одно действие. Чаще всего при правильном описании задачи каждой задаче будет соответствовать одна строка псевдокода. Напишите список задач, затем превратите его в псевдокод, а потом трансформируйте псевдокод в настоящий выполнимый код. [2]
    • Список задач:
      • Прочитать имя, стоимость часа, количество часов
      • Выполнить расчеты
      • сумма до вычета = стоимость часа * количество часов
      • вычет = сумма до вычета * коэффициент вычета
      • сумма после вычета = сумма до вычета - вычет
      • Записать имя, сумму до вычета, вычет, сумма после вычета
    • Псевдокод:
      • READ имя, стоимостьЧаса, количествоЧасов, коэффициентВычета
      • суммаДоВычета = стоимостьЧаса * количествоЧасов
      • вычет = суммаДоВычета * коэффициентВычета
      • суммаПослеВычета = суммаДоВычета – вычет
      • WRITE имя, суммаДоВычета, вычет, суммаПослеВычета
  2. 2
    Пишите большими буквами первое слово основной функции. В примере, приведенном выше, READ и WRITE выделены большими буквами, поскольку они являются основными функциями программы. Важными ключевыми словами могут быть READ, WRITE, IF, ELSE, ENDIF, WHILE, ENDWHILE, REPEAT и UNTIL.
  3. 3
    Пишите то, что имеете в виду, а не программируйте. Некоторые программисты пишут псевдокод как программу - например, "if a % 2 == 1 then". Однако тем, кто будет читать псевдокод, будет сложно разобраться в абстрактных символах. Гораздо проще будет понять фразу вроде "если нечетное число то". Чем понятнее вы будете писать, тем проще людям будет понять, что вы имеете в виду. [3]
  4. 4
    Прописывайте совершенно все. Все, что происходит в рамках одного процесса, должно быть описано максимально подробно. Псевдокод напоминает простые инструкции. В псевдокоде редко используются переменные - гораздо чаще в нем описывается, что должна делать программа с более понятными объектами: номерами счетов, именами, суммами транзакций. [4]
    • Приведем пример хорошего псевдокода:
      • Если номер счета и пароль подходят, то показать основную информацию счета.
      • Рассчитать общую стоимость пропорционально к сумме в счет-фактуре по каждому отправлению.
    • Приведем пример неудачного псевдокода:
      • пусть g=54/r (Не используйте переменные. Лучше опишите то, что под ними скрывается.)
      • выполнять основную обработку до тех пор, пока процесс не завершится (Нужно уточнить, что такое основная обработка и что будет свидетельствовать об окончании процесса.)
  5. 5
    Используйте стандартные инструменты языков программирования. Даже несмотря на то что стандартов для псевдокода не существует, другим программистам будет проще понимать ваши действия, если вы будете использовать конструкции из существующих языков программирования (из тех, где есть последовательности). Используйте "if", "then", "while", "else" и "loop" либо их аналоги на русском языке так же, как вы делали бы это на языке программирования. Обратите внимание на следующие конструкции:
    • if CONDITION then INSTRUCTION. Это означает, что отдельная инструкция будет срабатывать лишь в том случае, если будет выполняться отдельное условие. Инструкцией в данном случае считается шаг, который программа должна будет выполнить. Условие означает, что данные должны соответствовать определенному набору требований, после проверки которых программа сможет работать.
    • while CONDITION do INSTRUCTION. Это означает, что инструкцию нужно повторять снова и снова, пока условие не перестанет выполняться.
    • do INSTRUCTION while CONDITION. Эта конструкция похожа на while CONDITION do INSTRUCTION. В первом случае условие проверяется до того, как начинает действовать инструкция, однако в этом случае сначала запускается инструкция, и задача INSTRUCTION будет инициирована как минимум один раз.
    • for a = NUMBER1 to NUMBER2 do INSTRUCTION. Это означает, что переменная "a" будет автоматически принимать значение NUMBER1. "a" будет увеличиваться на единицу в каждом шаге, пока значение переменной не достигнет NUMBER2. Для обозначения переменной можно использовать любую другую букву.
    • function NAME (ARGUMENTS): INSTRUCTION. Каждый раз, когда в коде используется определенное сочетание букв, оно служит названием для какой-либо инструкции. Аргументы - это список переменных, которые используются для уточнения инструкции.
  6. 6
    Отделяйте шаги блоками. Блоки - это элементы синтаксиса, которые связывают несколько инструкций в одну. С помощью блоков можно упорядочивать информацию (например, шаги из блока 1 всегда выполняются перед шагами в блоке 2) или объединять ее (к примеру, инструкция1 и инструкция2 имеют одну и ту же тематику). В целом, следует отделять все запросы, чтобы показать их зависимость от других. [5] Есть два способа сделать это.
    • С помощью фигурных скобок:
      • {
      • INSTRUCTION1
      • INSTRUCTION2
      • ...}
    • С помощью пробелов. При использовании пробелов каждая инструкция одного и того же блока должна будет начинаться на одном и том же расстоянии от левого края экрана. Блоки внутри блоков будут располагаться дальше. Инструкция блока верхнего уровня закрывает подблок, даже если ниже есть инструкция с таким же количеством пробелов в начале.
      • BLOCK1
      • BLOCK1
        • BLOCK2
        • BLOCK2
          • BLOCK3
        • BLOCK2
          • BLOCK3
      • BLOCK1
    Реклама
Метод 4
Метод 4 из 5:

Тренировка в написании псевдокода

Загрузить PDF
  1. 1
    Сначала опишите цель процесса. Это поможет вам понять, является ли ваш псевдокод завершенным. Если с помощью псевдокода можно решить задачу, он считается завершенным. Опишите процесс. Если он простой, вам потребуется совсем мало строк. Перечитайте то, что написали, и подумайте:
    • Поймет ли этот псевдокод кто-нибудь, кто хотя бы минимально знаком с процессом?
    • Можно ли будет с легкостью превратить псевдокод в настоящий компьютерный код?
    • Описывает ли псевдокод процесс целиком и не были ли упущены какие-либо детали?
    • Сможет ли целевая аудитория понять каждое название объекта в псевдокоде?
  2. Обычно в первой части кода определяются переменные и другие элементы, которые делают алгоритм рабочим.
    • Включите величины переменных. Укажите в коде, как будет использоваться каждая переменная и каждая единица данных. [6]
    • Определите средства управления. Вам нужно будет описать их языком псевдокода (текст и изображения в языках объектно-ориентированного программирования и более простые средства в других языках) точно так же, как вы сделали бы это при работе с настоящим кодом. [7]
  3. Опирайтесь на принципы псевдокода, создавая событийный или объектно-ориентированный код после указания "настроек" программы. Каждая строчка кода должна описывать функцию запроса, зацикливания, выбора или любую другую функцию.
  4. В настоящем компьютерном коде комментарии поясняют читателю роль задач и частей кода. В псевдокоде это должно быть подробно описано простым естественным языком, потому что вы не будете использовать комментарии до тех пор, пока не превратите псевдокод в настоящий код.
    • Многие программисты предпочитают превращать псевдокод в обычный код комментариями. Это позволяет другим программистам, которые также работают над этим проектом, анализируют его или чему-то учатся, понять, что хотел сделать разработчик каждой конкретной строчкой.
    • Начинайте комментарии с символов / /, чтобы компьютер не смог прочитать их. Наклонные черты должны отделяться пробелом. Например:
      • / / IF у робота нет впереди препятствия THEN
        • / / Сдвинуть робота
        • / / Добавить в историю команд команду сдвинуть
        • / / RETURN правдиво
      • / / ELSE
        • / / RETURN неправдиво не сдвигать робота
      • / / END IF
  5. Синтаксис не должен быть идеально правильным, однако псевдокод должен выглядеть логично. Постарайтесь поставить себя на место человека, который будет читать этот код, и подумайте, являются ли ваши команды максимально понятными.
    • Оцените модули кода в соответствии с охватываемыми ими элементами. Например, к ключевым операциям компьютера относится чтение и получение информации из файла, запись в файл или вывод на экран, математические вычисления, оценка данных переменных, сравнение одного или нескольких элементов. Для всех этих процессов есть свое место в компьютерном коде, а также в псевдокоде, который вы создаете для этой программы.
    • Встройте в псевдокод конкретные задачи. Когда отделите пробелами каждую новую задачу, представьте эту информацию в псевдокоде, подражая реальному языку программирования, но не придерживаясь четких правил языка программирования.
    • Проверьте, все ли нужные элементы присутствуют в псевдокоде. Даже если какие-то из технических подробностей вроде объяснений переменных будут не нужны, каждая задача и каждый элемент должны быть четко прописаны.
  6. 6
    Перечитайте псевдокод. Когда ваш псевдокод опишет процесс без значительных ошибок, перечитайте его вместе с любым из участников этого проекта. Попросите коллег указать вам на то, какие части требуют доработки. Часто программисты недостаточно подробно описывают процессы, поэтому на этом этапе вы сможете добавить все необходимое. Если вы работаете над кодом самостоятельно, перечитайте написанное и попросите кого-нибудь проверить вашу работу.
    • Если ваши коллеги будут недовольны псевдокодом, перепишите его более понятно. Спросите у коллег, с чем вы не справились: кажутся ли шаги в целом непонятными или вы забыли включить в псевдокод какой-нибудь важный фрагмент процесса?
  7. 7
    Сохраните псевдокод. Когда проверите код, а коллеги одобрят вашу работу, сохраните псевдокод в архив. Когда будете писать настоящий код, включите псевдокод комментариями к коду. Начинайте комментарии с / /, чтобы компьютер не попытался выполнять их как программу.
    Реклама
Метод 5
Метод 5 из 5:

Трансформация псевдокода в код на языке программирования

Загрузить PDF
  1. 1
    Выполните трассировку псевдокода и разберитесь в том, как он работает. Псевдокод дает вам алгоритм. Например, код может сортировать список в алфавитном порядке. Псевдокод поможет вам понять, как построить алгоритм на том языке программирования, с которым вы работаете.
  2. 2
    Используйте элементы программирования, соответствующие вашему языку программирования. Эти элементы могут включать в себя описание переменных, запросы if и loop. Каждую строчку можно воплотить в жизнь по-разному. Все будет зависеть от уровня языка программирования, которым вы пользуетесь.
    • К примеру, попробуйте вывести определенные данные на экран. Для этого можно использовать специальное окно либо существующий графический интерфейс, с которым вы работаете.
  3. 3
    Внедрите псевдокод. Если псевдокод будет написан просто, грамотно и четко, при запуске программы весь алгоритм будет работать более эффективно и без ошибок.
  4. 4
    Выполните трассировку заново и сравните рабочий код с псевдокодом. Проверьте, следует ли рабочий код логике псевдокода. Например, если в псевдокоде предусмотрен ввод и вывод, перепробуйте все возможные способы ввода и сравните вывод от кода с выводом от псевдокода. Можно попросить коллегу выполнить трассировку или порекомендовать вам способ исправления кода.
    Реклама

Советы

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

Об этой статье

Эту страницу просматривали 67 901 раз.

Была ли эта статья полезной?

Реклама