Псевдокод — это простой инструмент, который можно использовать для планирования работы алгоритмов. Когда вам нужно будет написать сложный код, вы вряд ли сможете удержать всю программу в голове до начала работы. Представьте, что псевдокод — это последовательное вербальное описание, которое Вы позднее превратите в язык программирования.
Это сочетание человеческого языка и языка программирования: псевдокод использует синтаксис компьютерного кода, но его основная задача — быть читаемым и понятным.
Псевдокод используется для демонстрации того, как компьютерный алгоритм может и должен работать. Программисты часто используют псевдокод в качестве промежуточного этапа в программировании — между стадией планирования и стадией написания работающего кода. Хороший псевдокод может превратиться в комментарии к финальной версии программы и будет помогать программисту исправлять ошибки в будущем или корректировать код.
Опытные программисты часто используют псевдокод для пояснения своих шагов в разработке младшим программистам, которые могут плохо ориентироваться в некоторых вопросах. Чтобы программа работала, компьютерам нужен очень строгий код, однако людям, особенно тем, кто начинает свой путь в программировании, проще понимать более простой и субъективный язык, который четко описывает цель каждой строки кода.
Псевдокод субъективен и не стандартизирован. В нем нет четко установленного синтаксиса — есть только негласное правило использовать стандартные конструкции, которые другие программисты могли бы понять без особых проблем. Если вы пишете код самостоятельно, псевдокод поможет вам упорядочить мысли и разработать план. Если вы работаете вместе с другими программистами (и не имеет значения, каков их уровень владения предметом), важно использовать как минимум основные конструкции, чтобы все остальные понимали, что вы хотели сделать.
Понятность — основной критерий псевдокода, поэтому псевдокод будет полезен, если вы применяете в работе стандартные конструкции. Вам нужно будет превратить псевдокод в язык программирования, и псевдокод позволит вам упорядочить в голове всю структуру.
Алгоритм — это процедура для решения проблемы средствами, знакомыми программе, и порядок, в котором будут выполняться действия. Алгоритм — это просто набор шагов, которые позволяют решать какую-либо задачу: последовательность действий, выбор, итерация и тип обращения.
В языке программирования базовые структуры есть всегда.
Ввод / вывод данных «Write / Read».
Выбор — это структура «If Then Else».
Итерация(Циклы) выполняется с помощью набора обращений: «For» «While», «Repeat»
Представьте, что программа должна заменять сочетание букв «foo» в текстовом файле. Программа прочитает каждую строку в этом файле, поищет нужное сочетание в каждой строке и заменит его на другое. Повторяющиеся шаги начинаются с пробелов — в идеале так должно быть и в настоящем коде. Первоначальный набросок псевдокода может выглядеть так:
открыть файл в каждой строке файла: найти сочетание удалить сочетание вставить другое сочетание закрыть файл
Один из плюсов псевдокода заключается в том, что вы можете набросать только основу, а все сложное оставить на потом. Обратите внимание на то, что в примере, приведенном выше, нет указаний на то, каким должно будет сочетание букв. Вы как программист можете переписать псевдокод, чтобы в нем присутствовали алгоритмы для удаления отдельных букв и замены их другими. Второй набросок может иметь следующий вид:
открыть файл в каждой строке файла: найти слово следующим образом: прочитать символ в строке если символ совпадает, то: если все из следующих символов совпадают то это правильный выбор удалить символы слова вставить символы нового слова закрыть файл
Псевдокод помогает программистам продумать решение проблемы. Это можно сравнить с промежуточными расчетами в уравнении. При правильном использовании псевдокод может сделать сложную задачу простой. Можно дорабатывать псевдокод понемногу, по шагу за раз:
открыть файл запросить заменяемое слово запросить заменяющее слово в каждой строке файла: найти слово следующим образом: прочитать символ в строке если символ совпадает, то: если все из следующих символов совпадают то это правильный выбор сосчитать количество повторений слова удалить символы слова вставить символы нового слова показать количество повторений слова закрыть файл
Каждое обращение в псевдокоде должно задавать компьютеру лишь одно действие. Чаще всего при правильном описании задачи каждой задаче будет соответствовать одна строка псевдокода. Напишите список задач, затем превратите его в псевдокод, а потом трансформируйте псевдокод в настоящий выполнимый код.
Список задач: Прочитать имя, стоимость часа, количество часов Выполнить расчеты сумма до вычета = стоимость часа * количество часов вычет = сумма до вычета * коэффициент вычета сумма после вычета = сумма до вычета - вычет Записать имя, сумму до вычета, вычет, сумма после вычета
Псевдокод: READ имя, стоимостьЧаса, количествоЧасов, коэффициентВычета суммаДоВычета = стоимостьЧаса * количествоЧасов вычет = суммаДоВычета * коэффициентВычета суммаПослеВычета = суммаДоВычета – вычет WRITE имя, суммаДоВычета, вычет, суммаПослеВычета
Некоторые программисты пишут псевдокод как программу — например, «if a mod 2 = 1 then». Однако тем, кто будет читать псевдокод, будет сложно разобраться в абстрактных символах. Гораздо проще будет понять фразу вроде «если число нечетное то». Чем понятнее вы будете писать, тем проще людям будет понять, что вы имеете в виду.
Даже несмотря на то что стандартов для псевдокода не существует, другим программистам будет проще понимать ваши действия, если вы будете использовать конструкции из существующих языков программирования. Используйте «if», «then», «while», «else» либо их аналоги на русском языке так же, как вы делали бы это на языке программирования.
Найти площадь треугольника, заданого длинами сторон А,В,С
1 шаг: 1.Ввод данных. 2.Рассчет площади. 3.Вывод результата.
2 шаг: детализируем 1. Ввод данных А,В,С. 2.1. Расчет полупериметра Р=0.5*(a+в+c) 2.2. Расчет площади S=Корень(P*(P-a)*(P-в)*(P-c)) 3.1 Вывод результата.
Псевдокод:
Var переменные BEGIN Запрос данных('ВВЕДИТЕ ДЛИНЫ ТРЕХ СТОРОН ТРЕУГОЛЬНИКА':А,В,С) P:= 0.5*(a+в+c) S:= корень(P*(P-a)*(P-в)*(P-c)) ВЫВОД('ПЛОЩАДЬ ТРЕУГОЛЬНИКА =>', S) END.
Значение функции.
Var переменные BEGIN ВВОД('ЗНАЧЕНИЕ ПЕРЕМЕННОЙ Х=':Х) If x<=0 Then Y:=X*X Else Y:=X+1 EndIf Writeln(Y) END.