Псевдокод — система обозначений и правил, предназначенная для единообразной записи алгоритмов. Занимает промежуточное место между естественным и формальным языками. С одной стороны, он близок к обычному естественному языку, поэтому алгоритмы могут на нём записываться и читаться как обычный текст. С другой стороны, в псевдокоде используются некоторые формальные конструкции и математическая символика, что приближает запись алгоритма к общепринятой математической записи.
В псевдокоде не приняты строгие синтаксические правила для записи команд, присущие формальным языкам, что облегчает запись алгоритма на стадии его разработки и даёт возможность использовать широкий набор команд, рассчитанный на абстрактного исполнителя. В нём имеются некоторые конструкции, присущие формальным языкам, что облегчает переход от записи на псевдокоде к записи алгоритма на формальном языке. В частности, в псевдокоде так же, как и в формальных языках, есть служебные слова, смысл которых определён раз и навсегда. Единого или формального определения псевдокода не существует, поэтому возможны различные псевдокоды, отличающиеся набором служебных слов и основных (базовых) конструкций.
Оператор присваивания — служит для вычисления выражений и присваивания их значений переменным. Общий вид: А := В, где знак := означает команду заменить прежнее значение переменной, стоящей в левой части, на вычисленное значение выражения, стоящего в правой части.
Например, a := (b+c)*sin(Pi/4); i:= i+1.
Для ввода и вывода данных используют команды
ввод или считать (имена переменных);
вывод или написать (имена переменных, выражения, тексты).
Для ветвления применяют команды если…то и выбор, для организации циклов — команды для…до и пока.
Задание 8. Что выполняет приведённая ниже программа 1?
Программа 1;
Начать программу
Написать (‘Введите значение M’);
Считать (M);
Написать (‘Введите значение X’);
Считать (X);
Написать (‘Введите значение K’);
Считать (K);
Начало цикла
Для i=1 до M
Написать (X);
X:= X+K;
Конец цикла;
Конец программы.
Задание 9. Чему будет равно значение переменной Z после выполнения фрагмента алгоритма (начальные значения X и Y взять из табл. 3.2)?
7) Если X
иначе Z=2*(X-Y);
Если ZY, то Z=
иначе Z=(Z-1)2;
9) Если Z?X, то Z=Z+2*X;
Задание 10. Чему будет равно значение переменной s после выполнения ниже приведённого фрагмента алгоритма, где N – номер студента по журналу?
s:=0;
Начало цикла i
Для i от 1 до N+2
Начало цикла j
Для j от 1 до i
s:=n+1;
Конец цикла j
Конец цикла i
Вывод s
Задание 11. Дан массив целых чисел A[i], (N — номер студента по журналу). Что выводит приведенная ниже программа 2?
Программа 2;
Начать программу
Написать (‘Введите элементы массива A’);
Начало цикла i1
Для i от 1 до N+3
Считать (A[i]);
Конец цикла i1;
X:=A[N];
Начало цикла i2
Для i от 1 до N+2
Если A[i]X то X:=A[i];
Конец цикла i2;
Написать (X);
Конец программы.
Вопросы для самопроверки
1. Дайте определение алгоритма.
2. Охарактеризуйте основные свойства алгоритма.
3. Какие виды алгоритмов Вам известны? Приведите примеры.
4. Какие существуют способы описания алгоритмов? Приведите примеры.
5. Перечислите и охарактеризуйте основные функциональные символы, используемые при составлении схем алгоритмов.
6. Правила составления схем алгоритмов.
7. Для чего служит оператор присваивания?
8. Какие команды используют в псевдокоде для ввода/вывода данных? Приведите примеры.
9. Какие команды используют в псевдокоде для ветвления процесса? Приведите примеры.
10. Какие команды используют в псевдокоде для организации цикла? Приведите примеры.