- •Паскаль программа
- •Алфавит языка
- •Идентификаторы
- •Структура программы
- •Синтаксис и семантика заголовка
- •Синтаксис и семантика раздела описаний
- •Раздел операторов
- •Правила оформления программы
- •Правила выполнения программы
- •Типы данных Понятие типа
- •Константы и переменные
- •Данные целого типа
- •Операции с данными целого типа
- •Данные действительного типа7
- •Операции с данными действительного типа
- •Возведение в степень
- •Приведение типов
- •Выражения
Операции с данными целого типа
Арифметические операции. В формулах (арифметических выражениях) можно использовать следующие арифметические операции:
унарные + и - ,
бинарные
+ (сложение),
- (вычитание),
* (умножение),
div (деление нацело, результат - частное),
mod (вычисление остатка при делении нацело).
Результат – целое число. Операции div и mod не стандартизированы, их не рекомендуется использовать с отрицательными числами.
Приоритет операций обычный. Для изменения порядка вычислений используют круглые скобки.
Упражнения.
Почему в Паскале нельзя записать факториал от 10 в виде 10! или 1*2*3*4*5*6*7*8*9*10?
Почему при записи формул на Паскале знак умножения всегда записывают явно. Например, пишут a*t, a не at?
Записать на Паскале следующие формулы: a+b x+c y z; [(a x - b) x + c] x - d;
Вычислите результат операций 12 div 5, 12 mod 5, 1 div 5, 1 mod 5, 5 div 5, 5 mod 5, 15 div 3, 15 mod 3, 5 div 1, 5 mod 1.
Пусть m и n целые положительные числа.
Запишите формулу для представления n через частное и остаток от деления n на m.
Запишите формулу для представления остатка в виде разности делимого и частного.
Операции сравнения и отношения
С данными целого типа можно использовать операции =, <>, >, >=, <, <=. Результат операции – значение истинности. Например, 2 > 1, 12 div 5 = 12 mod 5, a <> b, r*r <= x*x + y*y.
Функциональные операции
Таблица 6. Функциональные операции
В результате применения этих операций получается целое число: |
|
sqr(x) abs(x) pred(n) succ(n) inc(n,d) dec(n,d) |
вычисление квадрата x: x2 вычисление модуля x: |x|. взять число перед n взять следующее после n число увеличить n на d (операция инкремент) уменьшить n на d (операция декремент). |
Результатом этих операций является действительное число: |
|
sqrt(x) ln(x) exp(x) sin(x) cos(x) arctan(x) |
вычисление корня квадратного из x (x ≥ 0) вычисление натурального логарифма x (x > 0) вычисление экспоненты x, то есть ex вычисление синуса x (x задан в радианах) вычисление косинуса x (x задан в радианах) вычисление арктангенса x6. Результат выражен в радианах. |
Данные действительного типа7
Правила записи числовых констант. Для представления дробных чисел используются десятичные цифры. Дробная часть числа отделяется от целой части десятичной точкой: 0.0, 1.0, 3.14, 0.001 и тому подобное. Отрицательные числа начинаются со знака минус: -1.0, -2.5 и тому подобное. Очень большие и очень маленькие числа обычно записывают с использованием степеней десятки. Например, число 0.001 можно представить как 10 -3, что запишется в Паскале как 1.0E-3 или 1E-3. Буква E заменяет основание системы счисления 10. Допустимо использовать строчную букву e. Перед буквой E обязательно должно стоять число (мантисса). Например, 0.314E1 это 0.314*10 = 3.14. А число 0.1E-6 потребует записи шести нулей после десятичной точки 0.0000001.
Таблица 7. Действительные типы8
Тип |
Диапазон значений |
Количество цифр мантиссы |
Требуемая память (байт) |
Real Single Double Extended Comp |
2.9e-39 .. 1.7e+38 1.5e-45 .. 3.4e+38 5.0e-324 .. 1.7e+308 3.4e-4932 .. 1.1e+4932 -9.2e+18 .. 9.2e+18 |
11 7 15 19 19 |
6 4 8 10 8 |
Именованные константы определяются в разделе const.
Переменные описывают в разделе var.
Упражнения.
Записать на Паскале следующие действительные числа (в дробной части указать до четырех цифр): 6,38; -0,7(4); 11/4; -1/6; ; -24,8∙10 – 7; 1 / 100000.
Записать следующие числа без десятичного порядка: a) -0.00027E+4; 6) 666E-3; B) lE1.
Есть ли разница (с точки зрения языка Паскаль) между числами 100 и 100.0, между 20 и 2El? По какому признаку (величине или форме записи) целые числа отличаются от действительных чисел?