Как часто вы пишете код? В моем случае, я часто пишу код, обдумывая логику в голове. Однако это неэффективная практика, особенно когда код имеет сложную логику. Как вы объясните логику человеку, у которого другой язык программирования? Вас может отвлекать разница в синтаксисе каждого языка. По этой причине я начал искать технику создания черновика кода перед написанием и нашел псевдокод. Поэтому в этой статье я хочу изложить то, чему научился.
Просто чтобы не было путаницы,
Не существует универсального «стандарта» для этого кода. В каждом учебнике может быть свой личный стиль обозначений. Псевдокод не является строгой нотацией, поскольку его читают другие люди, а не компьютер. Пожалуйста, читайте эту статью только как руководство к действию.
- ❓ Что такое псевдокод?
- 👍 Преимущество
- ⚠️ Недостаток
- 🔑 Основные структуры в псевдокоде
- 📝 Советы по созданию понятного псевдокода
- 🐾 1. Пишите только одну задачу на строку
- 🐾 2. Запишите заглавными буквами начальное ключевое слово
- 🐾 3. Отступы, чтобы показать иерархию
- 🐾 4. Завершение многострочных структур
- 🐾 5. Делайте свои утверждения независимыми от языка
- 💡 Примеры псевдокода
- 🐾 Оператор If
- 🐾 Вложенные if
- 🐾 WHILE
- 🐾 ПОВТОРИТЬ/ВЫПОЛНИТЬ
- 🐾 ЗА
- 🐾 CASE
- 🐔 В заключение
- 🎓 Ссылка
❓ Что такое псевдокод?
Это упрощенная версия программного кода на простом английском языке до того, как он будет реализован на конкретном языке программирования.
Вы можете использовать его для создания набросков кода, который вы хотите написать.
👍 Преимущество
- Псевдокод понятен программистам всех типов языков программирования.
- Он позволяет программисту при написании кода сосредоточиться только на алгоритмической части разработки кода.
- Вы можете сэкономить время на кодирование, так как концептуальная логика уже зафиксирована.
⚠️ Недостаток
- Не визуализирует логику, как это делает блок-схема.
- Нотация сильно варьируется в зависимости от автора.
🔑 Основные структуры в псевдокоде
- SEQUENCE представляет линейные задачи, последовательно выполняемые одна за другой.
- ВЫБОР выполняет действия на основе заданного условия
- ИТЕРАЦИЯ позволяет многократно выполнять утверждение
📝 Советы по созданию понятного псевдокода
- Пишите только одну задачу в строке
- Записывайте начальное ключевое слово с заглавной буквы
- Делайте отступы, чтобы показать иерархию
- Заканчивайте многострочные структуры
- Сохраняйте независимость утверждений от языка
🐾 1. Пишите только одну задачу на строку
Чтобы сделать псевдокод более читабельным, следует писать только одну задачу для одной строки. Ниже приведен пример кода.
EX_BEFORE
Read name, product_price, amount, tax_rate
sales = product_price * amount, tax = sales * tax_rate
Write name, sales, sales + tax
EX_AFTER
READ name, product price, amount, tax_rate
sales = product_price * amount
tax = sales * tax_rate
sales_with_tax = sales + tax
WRITE name, sales, sales_with_tax
🐾 2. Запишите заглавными буквами начальное ключевое слово
В приведенном выше примере слова READ и WRITE написаны прописными буквами. Ниже приведены примеры ключевых слов, которые следует писать с прописной буквы.
READ, WRITE, IF, ELSE, ENDIF, WHILE, ENDWHILE, REPEAT, UNTIL
🐾 3. Отступы, чтобы показать иерархию
Мы будем использовать определенный шаблон отступов в каждой из структур проектирования:
- ПОСЛЕДОВАТЕЛЬНОСТЬ : располагайте утверждения в последовательности, все они начинаются в одном столбце.
- ВЫБОР : отступ для утверждений внутри структуры выбора, но не для ключевых слов, которые формируют выбор.
- ИТЕРАЦИЯ : отступ от утверждений внутри цикла, но не от ключевых слов, формирующих цикл.
EX
READ name, result
IF result >= 80
message = "You passed"
ELSE
message = "You failed"
ENDIF
WRITE message
🐾 4. Завершение многострочных структур
Посмотрите, как в приведенном выше примере оператор IF заканчивается ENDIF. Независимо от типа ключевого слова, все, с чего начинается структура, должно заканчиваться END-KEYWORD. Например, ключевое слово WHILE заканчивается ENDWHILE и так далее.
🐾 5. Делайте свои утверждения независимыми от языка
Избегайте использования специальных возможностей, доступных в языке, на котором вы планируете писать программу, насколько это возможно. Если вы уверены, что программа будет написана на этом языке, тогда вы можете использовать эти возможности. Однако, если нет, это может стоить вам дополнительного времени или работы.
💡 Примеры псевдокода
🐾 Оператор If
READ name, result
IF result = 100
message = "Perfect!"
ELSEIF result >= 80
message = "You passed"
ELSE
message = "You failed"
ENDIF
WRITE message
🐾 Вложенные if
READ name,sex,is_married
IF sex = male
WRITE "Hello Mr. " + name
ELSE
IF is_married = true
WRITE "Hello Mrs. " + name
ELSE
WRITE "Hello Ms. " + name
ENDIF
ENDIF
🐾 WHILE
count = 0
WHILE count < 10
ADD 1 to count
WRITE count
ENDWHILE
WRITE “The end”
Вы можете разделить последовательность на модули
count = 0
WHILE count < 10
DO PROCESS
ENDWHILE
WRITE “The end”
PROCESS
ADD 1 to count
WRITE count
🐾 ПОВТОРИТЬ/ВЫПОЛНИТЬ
count = 0
REPEAT
ADD 1 to count
WRITE count
UNTIL count >= 10
WRITE “The end”
🐾 ЗА
FOR x = 1 to 10
IF x % 2 = 0
WRITE x + " is even"
ELSE
WRITE x + " is odd"
ENDFOR
🐾 CASE
CASE Day OF
1 : WRITE "Monday"
2 : WRITE "Tuesday"
3 : WRITE "Wednesday"
4 : WRITE "Thursday"
5 : WRITE "Friday"
6 : WRITE "Saturday"
7 : WRITE "Sunday"
OTHERWISE OUTPUT "Day invalid"
ENDCASE
🐔 В заключение
Приведенные мной приемы могут быть не самой лучшей практикой. Вы должны придумать свою собственную систему обозначений. Но я надеюсь, что эта статья поможет вам понять псевдокод и начать его использовать.
🎓 Ссылка
PseudocodeBasics
Псевдокод: Что это такое и как его писать
Типы логических структур