Як писати псевдокод
Псевдокод - це простий інструмент, який можна використовувати для планування роботи алгоритмів. Коли вам потрібно буде написати складний код, ви навряд чи зможете втримати всю програму в голові до початку роботи. Уявіть, що псевдокод - це послідовне вербальне опис, яке ви пізніше перетворите в мову програмування. Це поєднання людської мови і мови програмування: псевдокод використовує синтаксис комп`ютерного коду, але його основне завдання - бути читаним.
кроки
Метод 1 з 5:
розуміння псевдокоду1. Дізнайтеся, що таке псевдокод. Псевдокод - це послідовне вербальне опис коду, яке можна поступово перенести в мову програмування. Багато програмістів використовують його для планування функції алгоритму до початку більш технічної роботи над кодом. Псевдокод - це нестрогий план, інструмент для обмірковування проблем програми і засіб спілкування, яке дозволяє передати ваші думки іншим людям.
2. З`ясуйте, чому псевдокод корисний. Псевдокод використовується для демонстрації того, як комп`ютерний алгоритм може і повинен працювати. Інженери часто використовують псевдокод як проміжний етап у програмуванні - між стадією планування і стадією написання працюючого коду. Хороший псевдокод може перетворитися в коментарі до фінальної версії програми і буде допомагати програмісту виправляти помилки в майбутньому або коригувати код. Псевдокод також корисний:
3. Пам`ятайте, що псевдокод суб`єктивний і не стандартизований. У ньому немає чітко встановленого синтаксису - є тільки негласне правило використовувати стандартні конструкції, які інші програмісти могли б зрозуміти без особливих проблем. Якщо ви пишете код самостійно, псевдокод допоможе вам впорядкувати думки і розробити план. Якщо ви працюєте разом з іншими інженерами (і не має значення, на якому рівні володіння предметом), важливо використовувати як мінімум основні конструкції, щоб всі інші розуміли, що ви хотіли зробити.
4. Навчіться розбиратися в алгоритмах. Алгоритм - це процедура длярешенія проблеми засобами, знайомими програмі, і порядок, в якому будуть виконуватися дії. Алгоритм - це просто набір кроків, які дозволяють вирішувати будь-яку задачу: послідовність дій, вибір, ітерація і тип звернення.
5. Знайте, які три елементи керують алгоритмом. Якщо ви можете застосувати функцію "sequence" (послідовності), функцію "while" (зациклення) і "if-then-else" (якщо щось, функція вибору), у вас є всі основні елементи для написання працюючого алгоритму.
Метод 2 з 5:
приклад псевдокоду1. Розберіть приклад простої програми. Уявіть, що програма повинна замінювати поєднання букв "foo" в текстовому файлі. Програма прочитає кожен рядок в цьому файлі, пошукає потрібне поєднання в кожному рядку і замінить його на інше. Повторювані кроки починаються з прогалин - в ідеалі так повинно бути і в сьогоденні коді. Первинний нарис псевдокоду може виглядати так:закрити файл
- відкрити файл
- в кожному рядку файлу:
- знайти поєднання
- видалити поєднання
- вставити інше поєднання
2. Пишіть псевдокод ітераційно: напишіть його один раз, а потім міняйте в ньому дані. Один з плюсів псевдокоду полягає в тому, що ви можете накидати тільки основу, а все складне залишити на потім. Зверніть увагу на те, що в прикладі, наведеному вище, немає вказівок на те, яким має буде поєднання букв. Ви як програміст можете переписати псевдокод, щоб в ньому були присутні алгоритми для видалення окремих букв і заміни їх іншими. Другий малюнок може мати наступний вигляд:
3. Використовуйте код для додавання нових функцій. Псевдокод допомагає програмістам продумати вирішення проблеми. Це можна порівняти з проміжними розрахунками в рівнянні. При правильному використанні псевдокод може зробити складну задачу простою. Можна допрацьовувати псевдокод потроху, по кроку за раз:
Метод 3 з 5:
Стандартний процес написання псевдокоду1. Пишіть тільки за одним зверненням в рядку. Кожне звернення в псевдокоді має задавати комп`ютера лише одну дію. Найчастіше при правильному описі завдання кожного завдання буде відповідати один рядок псевдокоду. Напишіть список завдань, потім перетворите його в псевдокод, а потім трансформуйте псевдокод в справжній здійсненний код.псевдокод: READ ім`я, стоімостьЧаса, колічествоЧасов, коеффіціентВичета суммаДоВичета = стоімостьЧаса * колічествоЧасов відрахування = суммаДоВичета * коеффіціентВичета суммаПослеВичета = суммаДоВичета - відрахування WRITE ім`я, суммаДоВичета, відрахування, суммаПослеВичета
- Список задач:
- Прочитати ім`я, вартість години, кількість годин
- виконати розрахунки
- сума до вирахування = вартість години * кількість годин
- відрахування = сума до вирахування * коефіцієнт відрахування
- сума після вирахування = сума до вирахування - відрахування
- Записати ім`я, суму до вирахування, відрахування, сума після вирахування
2. Пишіть великими літерами перше слово основної функції. У прикладі, наведеному вище, READ і WRITE виділені великими літерами, оскільки вони є основними функціями програми. Важливими ключовими словами можуть бути READ, WRITE, IF, ELSE, ENDIF, WHILE, ENDWHILE, REPEAT і UNTIL.
3. Пишіть те, що маєте на увазі, а не програмуйте. Деякі програмісти пишуть псевдокод як програму - наприклад, "if a% 2 == 1 then". Однак тим, хто буде читати псевдокод, буде складно розібратися в абстрактних символах. Набагато простіше буде зрозуміти фразу на кшталт "якщо непарне число то". Чим зрозуміліше ви будете писати, тим простіше людям буде зрозуміти, що ви маєте на увазі.
4. Прописуйте абсолютно все. Все, що відбувається в рамках одного процесу, має бути описано максимально докладно. Псевдокод нагадує прості інструкції. У псевдокоді рідко використовуються змінні - набагато частіше в ньому описується, що повинна робити програма з більш зрозумілими об`єктами: номерами рахунків, іменами, сумами транзакцій.
5. Використовуйте стандартні інструменти мов програмування. Навіть незважаючи на те що стандартів для псевдокоду не існує, іншим програмістам буде простіше розуміти ваші дії, якщо ви будете використовувати конструкції з існуючих мов програмування (з тих, де є послідовності). Використовуйте "if", "then", "while", "else" і "loop" або їх аналоги російською мовою так само, як ви робили б це на мові програмування. Зверніть увагу на такі конструкції:
6. Відокремлюйте кроки блоками. Блоки - це елементи синтаксису, які пов`язують кілька інструкцій в одну. За допомогою блоків можна впорядковувати інформацію (наприклад, кроки з блоку 1 завжди виконуються перед кроками в блоці 2) або об`єднувати її (наприклад, інструкція1 і інструкція2 мають одну і ту ж тематику). В цілому, слід відокремлювати все запити, щоб показати їх залежність від інших. Є два способи зробити це.
Метод 4 з 5:
Тренування в написанні псевдокоду1. Спочатку опишіть мету процесу. Це допоможе вам зрозуміти, чи є ваш псевдокод завершеним. Якщо за допомогою псевдокоду можна вирішити задачу, він вважається завершеним. Опишіть процес. Якщо він простий, вам буде потрібно зовсім мало рядків. Перечитайте те, що написали, і подумайте:
- Чи зрозуміє цей псевдокод хтось, хто хоча б мінімально знайомий з процесом?
- Чи можна буде з легкістю перетворити псевдокод в справжній комп`ютерний код?
- Описує чи псевдокод процес цілком і чи не були упущені якісь деталі?
- Чи зможе цільова аудиторія зрозуміти кожну власну назву об`єкта в псевдокоді?
2. Напишіть перші кроки, які підготують вас до інструкцій. Зазвичай в першій частині коду визначаються змінні і інші елементи, які роблять алгоритм робочим.
3. Напишіть функціональний псевдокод. Спирайтеся на принципи псевдокоду, створюючи подієвий або об`єктно-орієнтована код після вказівки "налаштувань" програми. Кожен рядок коду повинна описувати функцію запиту, зациклення, вибору або будь-яку іншу функцію.
4. При необхідності додайте коментарі. У цьому комп`ютерному коді коментарі пояснюють читачеві роль задач і частин коду. У псевдокоді це повинно бути детально описано простим природним мовою, тому що ви не будете використовувати коментарі до тих пір, поки не перетворите псевдокод в справжній код.
5. Перечитайте готову роботу і пошукайте помилки в логіці і синтаксисі. Синтаксис не повинен бути ідеально правильним, однак псевдокод повинен виглядати логічно. Постарайтеся поставити себе на місце людини, який буде читати цей код, і подумайте, чи є ваші команди максимально зрозумілими.
6. перечитайте псевдокод. Коли ваш псевдокод опише процес без значних помилок, уважно перечитайте разом з будь-яким з учасників цього проекту. Попросіть колег вказати вам на те, які частини потребують доопрацювання. Часто програмісти недостатньо докладно описують процеси, тому на цьому етапі ви зможете додати все необхідне. Якщо ви працюєте над кодом самостійно, перечитайте написане і попросіть кого-небудь перевірити вашу роботу.
7. збережіть псевдокод. Коли перевірите код, а колеги схвалять вашу роботу, збережіть псевдокод в архів. Коли будете писати справжній код, включіть псевдокод коментарями до коду. Починайте коментарі з / /, щоб комп`ютер не спробував виконувати їх як програму.
Метод 5 з 5:
Трансформація псевдокоду в код на мові програмування1. Виконайте трасування псевдокоду і розберіться в тому, як він працює. Псевдокод дає вам алгоритм. Наприклад, код може сортувати список в алфавітному порядку. Псевдокод допоможе вам зрозуміти, як побудувати алгоритм тією мовою програмування, з яким ви працюєте.
2. Використовуйте елементи програмування, що відповідають вашому мови програмування. Ці елементи можуть включати в себе опис змінних, запити if і loop. Кожен рядок можна втілити в життя по-різному. Все буде залежати від рівня мови програмування, яким ви користуєтеся.
3. Впровадити псевдокод. Якщо псевдокод буде написаний просто, грамотно і чітко, при запуску програми весь алгоритм буде працювати більш ефективно і без помилок.
4. Виконайте трасування заново і порівняйте робочий код з псевдокодом. Перевірте, чи слід робочий код логіці псевдокоду. Наприклад, якщо в псевдокоді передбачено введення і виведення, перепробуйте всі можливі способи введення і порівняйте висновок від коду з висновком від псевдокоду. Можна попросити колегу виконати трасування або порекомендувати вам спосіб виправлення коду.
Поради
- Постарайтеся зрозуміти принцип основних операцій, який виконує комп`ютер. Код повинен давати комп`ютеру команду виконувати операції. Розуміння принципів цих операцій допоможе вам написати псевдокод, який буде відслідковувати, що робить основний код.
- Використовуйте пробіли якомога ефективніше. Прогалини можна застосовувати для поділу елементів коду, і особливо це важливо в псевдокоді - людям так буде легше читати. Уявіть, що пробіл - це окремий блок. Рядки, які починаються з одного й того ж кількості прогалин, знаходяться в одному і тому ж блоці, і вони мають приблизно однакову важливість для процесу в алгоритмі.