Операторы логических выражений:



Для обозначения логических выражений в Pascal используются следующие операторы:
not (a); - логическое НЕ.
a and b; - логическое И.
a or b; - логическое ИЛИ.
(a, b - логическая переменная или выражение, результатом которого является логическое значение)

Выражения, результатом которых является логическое значение:

Это выражения, содержащие:
"=" - оператор "равно"
">" - оператор "больше"
"<" - оператор "меньше"
"<=" - оператор "меньше или равно"
">=" - оператор "больше или равно"
Разумеется, эти операторы отображают математические, и следовательно действуют также.

Например: если a:=1; b:=2; выражение a>b вернёт значение "fasle".

Циклы

Цикл for.
Часто цикл for называют циклом со счетчиком. Этот цикл используется, когда число требуемых повторений в программе точно известно до выполнения тела цикла.

for i := 1 to 5 do
write ('+');

Цикл while.
Цикл while называется циклом с предусловием. В заголовке цикла находится логическое выражение. Если оно возвращает true, то тело цикла выполняется, если false – то нет.

while i := 5 do
begin
write ('+');
i := i + 1
end;

Цикл repeat.

Цикл while может не выполниться ни разу, если логическое выражение в заголовке сразу вернуло false. Однако такая ситуация не всегда может быть приемлемой. Бывает, что тело цикла должно выполниться хотя бы один раз не зависимо от того, что вернет логическое выражение. В таком случае используется цикл repeat – цикл с постусловием. В цикле repeat логическое выражение стоит после тела цикла. Причем, в отличие от цикла while, здесь все наоборот: в случае true происходит выход из цикла, в случае false – его повторение.

repeat
write ('+');
i := i + 1
until i > n;

5. Функции
abs (x) - абсолютное значение аргумента (модуль аргумента)
sqr (x) - квадрат аргумента
sqrt (x) - квадратный корень аргумента
cos (x) - косинус аргумента
sin (x) - синус аргумента
ln (x) - натуральный логарифм
int (x) - целая часть числа
frac (x) - дробная часть числа

Структурное программирование

Структурное программирование заключается в разделении одной большой задачи на более мелкие подзадачи, каждая из которых решается отдельно. В результате программа становится похожа на иерархическую структуру. Обязательным элементом структурного программирования является наличие подпрограмм. В Паскале два типа подпрограмм: процедуры и функции. Их заголовки выглядят соответственно так:

procedure имя (параметры);

function имя (параметры): тип результата;

Между функциями и процедурами есть существенное отличие. Значение, полученное в результате выполнения кода функции, жестко соотносится с ее именем путем присвоения этому имени конкретного значения. Тип, который может принять вычисляемое значение, указывается в заголовке функции (тип результата). И в теле основной программы функция вызывается только в том случае, если ее имя фигурирует в каком-либо выражении. В то время как процедура вызывается отдельно.Тело подпрограммы, как и любого составного оператора на языке Паскаль, ограничивается скобками begin и end.

Примеры использования процедуры и функции.

procedure box (s: char; w,h: integer);
var i,j:integer;
begin
for i := 1 to h do begin
for j := 1 to w do
write (s);
writeln
end;

 

function digits (n:integer): integer;
var i: integer;
begin
i := 0;
while n > 0 do begin
n := n div 10;
i := i + 1
end;

Линейный алгоритм.

Приведем пример записи алгоритма в виде блок-схемы, псевдокодов и на языке Паскаль. Ручное тестирование и подбор системы тестов выполняются аналогично предыдущему заданию.

Разветвляющийся алгоритм.

Приведем пример записи разветвляющегося алгоритма для нахождения наибольшего из двух чисел.

Циклический алгоритм.

Рассмотрим алгоритм нахождения суммы первых натуральных нечетных чисел до n. Представим запись алгоритма тремя способами: в виде блок-схемы, школьного алгоритмического языка и на языке программирования Pascal.

Блок-схема состоит из следующих базовых структур: две составные команды (команда следования и команда повторения с предусловием), далее простая команда. Все команды соединены последовательно. Конструкции оформлены стандартным образом, поэтому их легко распознать и перевести на язык программирования. Каждая конструкция имеет один вход и один выход.

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

Запишем алгоритм вычисления суммы первых n натуральных чисел. Для этого воспользуемся циклом с параметром, поскольку заранее известно сколько раз будет выполняться команда нахождения суммы. Во всех звеньях цепочки поменяем цикл "пока" на цикл "для" и приведем пример перевода алгоритма с языка блок-схем на школьный алгоритмический язык и на язык программирования Pascal.

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


Дата добавления: 2020-11-27; просмотров: 126; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!