Встроенные стандартные математические функции, используемые в Turbo Pascal. Используются в арифметических выражениях.
Функция
| Назначение
| Тип
аргумента
| Тип функции
| Abs(x)
| Вычисление абсолютного значения x
| вещественный
целый
| вещественный
целый
| sqr(x)
| Вычисление квадрата x
| вещественный
целый
| вещественный
целый
| sqrt(x)
| Вычисление квадратного корня из x
| вещественный
целый
| вещественный
вещественный
| sin(x)
| Вычисление синуса x
| вещественный
целый
| вещественный
вещественный
| cos(x)
| Вычисление косинуса x
| вещественный
целый
| вещественный
вещественный
| arctan(x)
| Вычисление арктангенса x
| вещественный
целый
| вещественный
вещественный
| exp(x)
| Вычисление экспоненты (числа e=2,71828…) в степени x
| вещественный
целый
| вещественный
вещественный
| ln(x)
| Вычисление натурального логарифма x
| вещественный
целый
| вещественный
вещественный
| log(x)
| Вычисление десятичного логарифма x
| вещественный
целый
| вещественный
вещественный
| Pi
| Число p
| нет
| вещественный
| Структура программы:
Заголовок программы (необязателен)
| Program <имя>;
| Список используемых модулей
| Uses ...;
|
| Метки
| Label ...;
|
| Константы
| Const ...;
|
| Типы
| Type ...;
|
| Переменные
| Var ...;
|
| Процедуры
| Procedure ...;
|
| Функции
| Function ...;
|
| Раздел операторов
| Begin
<Операторы программы>
End.
| | | | |
Переменные. Описание переменных.
Все переменные должны быть описаны с указанием типа:
Var a, b : integer ; f, d, c : read ;
Тип переменных указывается после списка переменных через двоеточие (: ).
Числовые переменныеможно описать по-разному, в зависимости от вида (целые, вещественные) и значности чисел:
Целый тип
| Byte
| 0…255
| 1 байт без знака
| Word
| 0 ... 65535
| 2 байт без знака
| ShortInt
| -128…127
| 1 байт со знаком
| Integer
| -32768 ...32767
| 2 байт со знаком
| Longint
| -2147483648 ... 2147483647
| 4байт со знаком
| Вещественный тип
| Single
| 7-8 значащих цифр -1.5· 10-45 ... 3.4· 10-48
| 4 байт
| Real
| 11-12 значащих цифр -2.9· 10-39 ... 2.9· 10-38
| 6 байт
| Double
| 15-16 значащих цифр -5.0· 10-324 ... 1.7· 10-308
| 8 байт
| Extended
| 19-20 значащих цифр -1.9· 10-4951 ... 1.9· 10-4932
| 10 байт
|
Простейшие операторы работы в текстовом режиме.
Имеется два режима работы - графический и символьный. При работе в символьном режиме экран содержит 24 строки по 80 символов. Начало отсчета - левый верхний угол экрана. Возможно использовать различные цвета, задаваемые названием цвета (например, blue, red) или цифрами от 0 до 15. Цвета от 0 до 7 - основные, следующие весемь цветов - аналогичны предыдущим, но с большей интенсивностью (яркостью):
Номер-Цвет
| Константа модуля Crt
| Номер-Цвет
| Константа модуля Crt
| 0 – чёрный
| Black
| 8 – темно-серый
| DarkGray
| 1 – синий
| Blue
| 9 – светло-синий
| LightBlue
| 2 – зелёный
| Green
| 10 – светло-зелёный
| LightGreen
| 3 – морской волны
| Cyan
| 11 – светлый морской волны
| LightCyan
| 4 – красный
| Red
| 12 – светло-красный
| LightRed
| 5 – фиолетовый
| Magenta
| 13 – светло-фиолетовый
| LightMagenta
| 6 – коричневый
| Brown
| 14 – жёлтый
| Yellow
| 7 – светло-серый
| LightGray
| 15 – белый
| White
| Нестандартный оператор очистки экрана:
Clrscr;
Оператор требует подключения (Uses crt;) модуля crt, например:
Uses crt;
Begin
Clrscr; … End.
Нестандартный оператор перемещения текстового курсора в заданный символxстрокиy: gotoxy(x,y);
Нестандартные оператор изменения фона экрана (цвет фона):
Textbackground(...);
Чтобы очистился весь экран, после оператора textbackground должен следовать оператор clrscr. В противном случае фон меняется только под текущей строкой.
Нестандартные оператор изменения цвета переднего плана (цвет букв):
Textcolor(...);
Например,
Uses crt;
Begin
Textbackground (yellow); clrscr; … Textcolor(blue); … End.
Операторы ВВОДА данных в переменные с клавиатуры:
Read (<список переменных>);
Readln (<список переменных>);
Операторы являются нестандартными, находятся в модуле Sistem, не требующем специального подключения.
При переходе к выполнению этих операторов программа ожидает ввода данных и нажатия клавиши Enter.
Данные, вводимые в разные переменные, разделяются пробелом. Отличия операторов заключаются в том, что второй оператор после ввода информации (выполнения оператора) переводит курсор на следующую строку, а первый оператор - нет.
Пример записи оператора - Readln(k,t,e);
Оператор Readln; без списка переменных используется для задержки информации на экране до нажатия на клавишу Enter и ставится в конце программы.
Операторы ВЫВОДА текстовой информации на экран :
Write(<список переменных, констант и арифметических выражений>);
Writeln(<список переменных, констант и арифметических выражений>);
Операторы являются нестандартными, находятся в модуле Sistem, не требующем специального подключения.
Например, Write(2+У, Х);Writeln (‘A=’, а);Write(а, с);
Отличия операторов заключаются в том, что второй оператор после вывода информации переводит курсор на следующую строку, а первый оператор - нет.
Переменные типа Real рекомендуется выводить в форматированном виде.
Форматированный вывод - вывод информации с указанием размерности, т.е. после переменной через двоеточие указывается количество символов под все число, а затем, для вещественных переменных, снова через двоеточие число десятичных знаков.
Например: Write(а:5:2,с:6:3); - под а отводится 5 символов, включая точку, знак числа и два десятичных знака величины числа. Знак «+» перед числом при выводе будет опущен. Если в а находится число 2,5678, то выведется на экран: _2.56
Оператор ожидания нажатия на клавишу.
Readkey;
Используется для задержки изображения на экране до нажатия на клавишу (Enter). Можно ставить в конце программы, перед end.
Целочисленные арифметические операции:
Операция
| Назначение
| Пример записи
| Тип используемых переменных
| Тип результата
| div
| Вычисление частного при делении a на b
| C:=a div b;
| целый
| целый
| mod
| Вычисление остатка от деления a на b
| D:=a mod b;
| целый
| целый
| Например, Y := 25 div 3; (переменной Y присваивается 8), Y := - 25 div 4; (переменной Y присваивается -6),
Y := 13 mod 3; (переменной Y присваивается 1), Y := 13 mod 4; (переменной У присваивается 1).
Функции, преобразования числовых переменных:
Функция
| Назначение
| Тип аргумента
| Тип функции
| trunc(x)
| Нахождение целой части x (дробная часть числа отбрасывается)
| вещественный
целый
| целый
| int(x)
| Округление вещественного числа x по направлению к нулю
| вещественный
| вещественный
| round(x)
| Округление x в сторону ближайшего целого по математическим правилам
| вещественный целый
| целый
целый
| Frac(x)
| Вычисление дробной части числа Х
| вещественный
| вещественный
| Примеры:
Y := trunc(13.999); (переменной Y присваивается 13), Y := trunc(13.111); (переменной Y присваивается 13),
Y := round(3.145); (переменной Y присваивается 3), Y := round(23.5); (переменной Y присваивается 24), Y := round(-12.5); (переменной Y присваивается -13).
Y := int(2.7) (переменной Y присваивается 2), Y := int(-32.3) (переменной Y присваивается -32).
Получение случайных чисел.
Random – получение (генерация) случайных чисел в диапазоне от 0 до 1. Например, Y := random; (переменной Y присваивается значение равное числу из промежутка от 0 до 1, возможно 0.45678).
Random(X) - Получение случайных целых чисел в диапазоне от 0 до (Х-1). Аргумент Х - целое. Например, Y :=Random(39); (переменной Y присваивается значение равное числу из промежутка от 0 до 38).
Randomize - Формирование базы случайных чисел, на основе временного таймера ПК. Обеспечивает генерацию неповторяющихся последовательностей случайных чисел. Используется, чтобы получать разные случайные числа при каждом запуске программы. Должен стоять в программе до первого использования функции Random.
Генерация случайных чисел (А)
| Что требуется получить
| Дано
| Оператор
| Результат (А)
| Любое число от 0 до 90
| Аргумент - 91
| А : = Random(91);
| Любое число от 0 до 90, например 62.
| Двухзначные целые положительные числа
| Числа от 10 до 99, всего: 99-10+1=90 (числа).
| А : = Random(90)+10;
| Любое число от 10 до 99, например 12.
| Двухзначные целые положительные четные числа
| Числа 10, 12, 14, … до 98, всего чисел
(98-10)/2+1=88/2+1=45.
| А : = Random(45)*2+10;
| Получаются число от 0 до 44, умножаются на 2 и увеличиваются на 10.
Например, 56
| Числа в заданном промежутке с заданным шагом.
| N - начало промежутка, M - конец промежутка, шаг - К.
| А : = Random
(((N–M) div K)+1)*К+N;
| Сгенерируем случайное число в промежутке от 0 до (N – M) div k. Умножаем на К и прибавляем N.
| Примеры программ:
|