Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
_МЕТ№1.DOC
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
180.74 Кб
Скачать

3. Вычисление по формулам. Оператор присваивания

Формулы в языках программирования называются выражениями. Выражение – правило для нахождения нового значения.

Вид формулы (выражения) зависит от типа входящих в него переменных. Причем, над каждым типом данных могут выполняться свои, разрешенные, типы операций. Таким образом, выражение должно:

1) содержать данные одного типа (числа или символы, но не числа и символы одновременно);

2) использовать операции, разрешенные для данных этого типа. Так, для данных целого типа разрешены 5 арифметических операций:

Сложение (+),

Вычитание (-),

Умножение (*),

Деление – DIV,

Вычисление остатка – MOD

Пример.

Операция DIV – деление нацело с отбрасыванием остатка.

5 Div 2 è 2 и 7 Div 3 è 2

Операция MOD – дает остаток от деления числа на модуль.

5 Mod 2 è 1, 7 Mod 3 è 1 и 18 Mod 9 è 0.

Для данных вещественного типа разрешены операции: +, -, *, /.

Выражение над числами содержит имена констант и переменных, соединенные знаками разрешенных для них операций и разделенных скобками.

Пример.

Х2 + y/z è X*X + Y DIV Z

При вычислении значения выражения учитывается старшинство (приоритет) операций:

1) *, DIV, MOD – высший;

2) +, - – низший.

Для изменения порядка расставляются скобки. Количество скобок может быть произвольным, но количество открывающихся скобок должно быть равно числу закрывающихся.

Знаки операций в выражениях не опускаются. Операции одного приоритета выполняются слева направо.

Оператор присваивания - позволяет вычислить и запомнить в памяти ЭВМ нового значение переменной или изменить значение уже существующей.

Оператор состоит из 2-х частей, разделенных знаком присваивания ":=" и имеет вид:

имя:= выражение;

Пример.

Y:= X*X + A Mod Z;

Типы переменных Y,X,A, и Z – целые.

К моменту выполнения оператора числовые значения X, A и Z должны быть заданы. Как отмечалось выше, оператор присваивания позволяет изменять значение уже существующей переменной.

Пример.

K:= K + 1; - увеличение K на 1.

Линейные программы

Программы этого типа реализуют линейные алгоритмы и содержат операторы ввода, присваивания и вывода, которые выполняются в естественном порядке (в порядке расположения).

Пример.

Ввести в ЭВМ трёхзначное число и отпечатать его цифры в столбик.

Для выделения и печати десятичных цифр воспользуемся операциями DIV и MOD.

Алгоритм (печать со старшей цифры):

1. Ввести число

2. Выделить и отпечатать цифры

3. Закончить.

Уточняем п.2 и получаем алгоритм:

1. Ввести число

2.1. Ц1 = число div 100; - старшая цифра. Печать Ц1

2.2. Ц2 = (число mod 100) div 10; - средняя. Печать Ц2

2.3. Ц3 = число mod 10; - младшая. Печать Ц3

3. Закончить.

Программа, реализующая алгоритм, будет иметь вид:

Program cifra;

Const

d=10;

s=100;

Var

num, c1, c2, c3: integer;

Begin

Writeln('Введите целое 3-зн. Число');

Read(num);

C1:= num div S;

Writeln ('Цифра1:', С1);

C2:= (num mod S)div d;

Writeln('Цифра2:', С2);

С3:= num mod d;

Writeln('Цифра 3:', С3);

end.

Управляющие операторы

1. Разветвляющиеся алгоритмы. Оператор if (если)

Разветвляющийся алгоритм предполагает выполнение вычислений по одному из возможных направлений в зависимости от исходных данных или промежуточных результатов. Ветвление в таких алгоритмах производится при проверке некоторых условий. Для этой цели в Паскале используется специальный оператор - IF.

Правило записи оператора IF следующее:

IF условие then

оператор1

Else

оператор2;

Схема алгоритма его работы приведена на рис. 5.

Рис.5. Схема алгоритма работы оператора IF.

Пример.

IF X<>0 THEN

Y:= A/X

ELSE

Y:= A;

Вычисление:

Y = A/X, если Х = 0 и

Y = А, если Х = 0

Оператор IF – это один оператор, поэтому ";" после оператора, т.е. перед ELSE, не ставится.

Часть со служебным словом ELSE может отсутствовать. В этом случае выполняется или не выполняется только оператор1 (см. рис.6).

Рис.6. Схема алгоритма работы неполного оператора IF

Пример.

IF x>0 THEN

K:= K+1; {увеличение К на 1 (подсчет

числа положительных Х)}

Если с помощью оператора IF необходимо управлять группой операторов, то эта группа заключается в блок вида:

Begin

операторы

End;

Пример.

IF BIG<LITTL THEN

Begin

A:= BIG; {перестановка чисел местами:}

BIG:= LITTL; {BIG – большее}

LITTL:= A; {LITLL – меньшее}

End;

Операторы 1 и 2 могут быть любыми, в том числе и условными, т.е. допустима вложенность операторов IF друг в друга на любую глубину.

Пример.

IF X>0 THEN

IF Y>0 THEN

Z:= SQRT(X*X+Y*Y)

ELSE

Z:= X*X

ELSE

Z:= Y*Y;

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]