Тема урока:
Оператор присваивания.
Вопросы для разминки:
1. Как различаются величины по признаку возможности их изменения в программе?[1]
2. Что такое переменная?[2]
3. Как обозначаются переменные?[3]
4. Перечислите основные типы переменных.[4]
5. Как можно вывести значение переменной на экран?[5]
6. Как можно записать значение в ячейку памяти.[6]
7. Как можно изменить значение переменной во время выполнения программы?[7]
В общем виде оператор присваивания записывается так:
<имя_переменной> := <арифметическое_выражение>
Знак “:=” – обозначение операции присваивания. Читается – «присвоить значение»
Например:
А:= 15 – переменной А присвоить значение 15
Z:=A*X*X+B*X+C – переменной Z присвоить значение...
a:=8; c:=a; a:=b + c; a:=2 * b; q:=a OR b; t:=true; w:=sqr(b); и т. д.
Выполняется оператор присваивания следующим образом:
1. Сначала вычисляется значение арифметического выражения, стоящего в правой части.
2. Затем полученное значение записывается в ячейку памяти, имя которой записано в левой части.
Отсюда понятно, что выражение k:=k+2 корректно и позволяет увеличить текущее значение переменной k на 2 (к старому значению k прибавить 2 и результат записать на то же место).
Правила записи арифметических выражений.
1. В числах дробная часть от целой отделяется точкой, а не запятой.
2. Имена переменных записываются латинскими буквами.
3. Выражение должно быть записано в виде линейной цепочки символов (x1 à X1, v0 à V0).
4. Для обозначения операции умножения используется звездочка (*), деления – косая черта (/).
5. Нельзя опускать знаки операций (4*А).
6. Все арифметические операции можно сочетать друг с другом, с учетом допустимых для их операндов типов данных.
7. Аргументы функций записываются в круглых скобках
Стандартные арифметические функции
Описание | Тип аргумента | Тип результата1) | |
sin(x) | Синус (в радианах) | Арифметический | Вещественный |
cos(x) | Косинус (в радианах) | Арифметический | Вещественный |
ln(x) | Натуральный логарифм (по основанию e) | Арифметический | Вещественный |
exp(x) | Экспонента (ex) | Арифметический | Вещественный |
int(x) | Взятие целой части числа | Арифметический | Вещественный |
frac(x) | Взятие дробной части числа | Арифметический | Вещественный |
round(x) | Округление к ближайшему целому | Арифметический | Целый |
odd(x) | Проверка нечетности числа | Целый | boolean |
abs(x) | Абсолютное значение (модуль) числа | Арифметический | Совпадает с типом аргумента |
sqr(x) | Возведение в квадрат | Арифметический | Вещественный |
sqrt(x) | Извлечение квадратного корня | Арифметический | Вещественный |
a div b | Целочисленное деление a на b | Арифметический | Целый |
a mod b | Остаток от деления a на b | Арифметический | Целый |
pi | Значение числа | - | Вещественный |
Порядок вычислений
Действия выполняются слева направо согласно приоритету выполнения арифметических операций:
– действия в скобках
– вычисление значения функций
– операции, эквивалентные умножению (умножение, деление, целочисленное деление, остаток от деления…)
– операции, эквивалентные сложению (сложение, вычитание…)
– операции сравнения
Идущие подряд операций одного приоритета вычисляются в последовательности "слева направо".
Таблица 2.1. Приоритеты (для всех) операций языка Pascal | ||
Операции | Приоритет | |
Унарные операции | +, -, not, ^ | Первый (высший) |
Операции, эквивалентные умножению | *, /, div, mod, and | Второй |
Операции, эквивалентные сложению | +,-, or, xor | Третий |
Операции сравнения | =, <>, <, >, <=, >= | Четвертый |
**Все арифметические операции можно сочетать друг с другом, с учетом допустимых для их операндов типов данных.
Примеры выражений (с указанием последовательности вычислений) для целых чисел:
a + b * c / d (результат принадлежит к вещественному типу
3 1 2 данных);
a * not b or c * d = 0 (результат принадлежит к логическому типу
данных);
-min(a + b, 0) * (a + 1) (результат принадлежит к целочисленному
типу данных).
Примеры верных и неверных записей оператора присваивания:
A:=5 – верно.
A:= A+1 – верно. Чему будет равно значение переменной А после выполнения этого оператора?
A+1:=А – неверно. В левой части не имя переменной.
B:=4AC – неверно. Пропущены знаки умножения, либо имя переменной начинается не с буквы.
Y:=Sin x – неверно. Аргумент функции не стоит в круглых скобках. Должно быть Y:=Sin(x). Заглавные – строчные буквы Паскаль не различает. Кроме того, Паскаль игнорирует лишние пробелы.
А=В – неверно (используется не присваивание := , а сравнение = )
Задания: записать на языке Паскаль следующие программу, содержащую следующие операторы присваивания:
1. В ячейку Х записать число 2. | X := 2; |
2. В ячейку А записать значение выражения: | A := –1/sqr(x); |
3. В ячейку С записать значение выражения: Sinαcosβ+cosαsinβ (Не забудьте, что имена переменных – латинские буквы!) | C := sin(alfa)*cos(betta)+ cos(alfa)*sin(betta) |
4. В ячейку B записать значение выражения: | B := sqrt(1–sqr(sin(x)); |
5. В ячейку D записать значение выражения: | D := a/(b*c) |
Домашнее Задание:
1. Даны длины сторон треугольника. Вычислить периметр треугольника, его площадь (по формуле Герона)
[1] постоянные (константы) и переменные
[2] Это ячейка памяти. Переменная имеет имя, тип, значение
[3] Имя переменной – последовательность английских букв и цифр, начинающаяся с буквы
[4] Числовые: целые и вещественные, символьные, логические
[5] С помощью оператора вывода (write(…); или writeln(…);
[6] С помощью оператора ввода (read(…); или readln(…);
[7] С помощью оператора присваивания


