Чтение онлайн

на главную - закладки

Жанры

Конец холивара. Pascal vs C

Кривцов М. А.

Шрифт:

OR – или.

NOT – не.

Пример сложного (составного) условия:

IF (Z> X) OR (X> Y) THEN…

2.1.3. Оператор варианта (переключатель)

Переключатель

Пример 1.3.1

Выбрать N из

1: писать (‘N равно единице’);

2: писать (‘N равно двум’);

3, 4: писать (‘N равно трём или четырём’)

Конец;

CASE N OF

1: WRITE (‘N равно единице’);

2: WRITE (‘N равно двум’);

3, 4: WRITE (‘N равно трём или четырём’)

END;

CASE – случай, вариант

OF – из

END – конец

Пример 1.3.2

CASE A> B OF

TRUE: M:=A;

FALSE: M:=B

END;

Такой вариант использования этого оператора соответствует условному оператору.

TRUE – истина

FALSE – ложь

FALSE <TRUE

2.2. Повторение (операторы цикла)

Циклом называется группа операторов, которая выполняется повторно. После каждого повторения проверяется условие, называемое условием окончания цикла, по которому принимается решение продолжать повторение или закончить цикл.

2.2.1. Цикл типа “пока” (цикл с предусловием)

Пример 1.4: Нахождение наибольшего общего делителя двух целых положительных чисел с помощью известного алгоритма Евклида.

Пока X /= Y делать

если X> Y

то X:=X-Y

иначе Y:=Y-X;

Писать (‘НОД=’, X);

WHILE X <> Y DO

IF X> Y

THEN X:=X-Y

ELSE Y:=Y-X;

WRITE (‘НОД=’, X);

WHILE – пока

DO – делать

Цикл с предусловием

2.2.2. Цикл типа “до” (цикл с постусловием)

Этот цикл выполняется не менее одного раза

Пример 1.5: Решение предыдущей задачи.

Цикл с постусловием

Повторять

если X> Y

то X:=X-Y

иначе Y:=Y-X

до X=Y;

Писать (‘НОД=’, X);

REPEAT

IF X> Y

THEN X:=X-Y

ELSE Y:=Y-X

UNTIL X=Y;

WRITE (‘НОД=’, X);

REPEAT – повторять

UNTIL – до

2.2.3. Цикл с параметром (со счётчиком)

Пример 1.6: Вычислить факториал числа (n!=1x2x3x…xn).

F:=1;

Для K:=1 до N делать

F:=F*K;

Писать (‘n!=’, F);

F :=1;

FOR K:=1 TO N DO

F:=F*K;

WRITELN (‘n!=’, F);

FOR – для

TO – до

DO – делать

Цикл с параметром

Если в этом операторе вместо TO использовать DOWNTO, то при каждой итерации значение параметра K будет уменьшаться на единицу.

3. Процедуры и функции (подпрограммы)

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

Функции и процедуры описываются после описания переменных.

Главное отличие процедуры от функции заключается в том, что процедура может возвращать в программу более одного значения или не возвращать совсем, а функция – всегда должна возвращать одно значение.

Вызов функции отличается от вызова процедуры, тем, что, при вызове имя функции указывается в качестве одного из операндов выражения, например, в правой части оператора присваивания.

Среди входящих в тело функции операторов должен быть хотя бы один оператор присваивания, в левой части которого стоит имя функции.

Процедуры или функции могут не иметь параметров или иметь параметры-переменные или параметры-значения. При помощи параметров производится передача данных в процедуру или функцию. Параметры, в которые записываются результаты работы процедуры и которые будут использоваться в программе должны описываться как параметры-переменные (перед ними должно стоять слово VAR), а параметры, которые будут передавать в процедуру или функцию исходные данные должны описываться как параметры-значения. Параметры при объявлении процедуры (формальные параметры) и при вызове процедуры (фактические параметры) должны соответствовать друг другу по типу данных.

Поделиться:
Популярные книги

Третий. Том 2

INDIGO
2. Отпуск
Фантастика:
космическая фантастика
попаданцы
5.00
рейтинг книги
Третий. Том 2

Гранд империи

Земляной Андрей Борисович
3. Страж
Фантастика:
фэнтези
попаданцы
альтернативная история
5.60
рейтинг книги
Гранд империи

Сокрушитель

Поселягин Владимир Геннадьевич
3. Уникум
Фантастика:
боевая фантастика
5.60
рейтинг книги
Сокрушитель

Император Пограничья 5

Астахов Евгений Евгеньевич
5. Император Пограничья
Фантастика:
аниме
фэнтези
фантастика: прочее
попаданцы
5.00
рейтинг книги
Император Пограничья 5

Афганский рубеж 2

Дорин Михаил
2. Рубеж
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Афганский рубеж 2

Последний рейд

Сай Ярослав
5. Медорфенов
Фантастика:
фэнтези
аниме
5.00
рейтинг книги
Последний рейд

Как я строил магическую империю 2

Зубов Константин
2. Как я строил магическую империю
Фантастика:
попаданцы
аниме
5.00
рейтинг книги
Как я строил магическую империю 2

Газлайтер. Том 31

Володин Григорий Григорьевич
31. История Телепата
Фантастика:
боевая фантастика
попаданцы
альтернативная история
фэнтези
5.00
рейтинг книги
Газлайтер. Том 31

Матабар III

Клеванский Кирилл Сергеевич
3. Матабар
Фантастика:
фэнтези
5.00
рейтинг книги
Матабар III

Черный Маг Императора 16

Герда Александр
16. Черный маг императора
Фантастика:
юмористическое фэнтези
аниме
фэнтези
фантастика: прочее
попаданцы
5.00
рейтинг книги
Черный Маг Императора 16

Я до сих пор князь. Книга XXII

Дрейк Сириус
22. Дорогой барон!
Фантастика:
юмористическое фэнтези
аниме
попаданцы
5.00
рейтинг книги
Я до сих пор князь. Книга XXII

Газлайтер. Том 6

Володин Григорий
6. История Телепата
Фантастика:
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Газлайтер. Том 6

Чужак из ниоткуда 5

Евтушенко Алексей Анатольевич
5. Чужак из ниоткуда
Фантастика:
попаданцы
альтернативная история
фантастика: прочее
фэнтези
5.00
рейтинг книги
Чужак из ниоткуда 5

Бояръ-Аниме. Газлайтер. Том 33

Володин Григорий Григорьевич
33. История Телепата
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Бояръ-Аниме. Газлайтер. Том 33