Стандартные не числовые типы данных
Величины символьного и строкового типов используются для ввода, вывода и обработки текстовой информации.Величины символьного (литерного) типа в качестве своих значений могут иметь один из 256 символов табл АСКИ .Операции:присваивание имени символу; сравнение: из двух символов меньшим считается тот, который встречается в таблице ASCII раньше; ввод символьной величины; вывод символьной величины. Арифметические операции над величинами символьного типа не допускаются. Величина строкового типа — это величина, значениями которой могут быть строки, фиксированной или переменной длины « string» Stroka[3] - это обращение к третьему элементу строки Stroka.Две строки считаются равными, если они равны по длине и совпадают посимвольно. Операции над строками:присваивание значения строке:объединение строк «+»;сравнение двух строк: посимвольно слева направо сравниваются коды соответствующих символов строк до первого несовпадающего символа; та строка считается больше, в которой несовпадающий символ имеет больший порядковый номер в кодировочной таблице; ввод строковой величины; вывод строковой величины.Функции и процедуры обработки строковой инфо:удаление символов из данной строки, начиная с заданной символа; вставка строки в другую строку, начиная с заданного символа; копирование символов строки, начиная с заданного символа; определение количества символов в строке; поиск позиции данной строки в другой строке; перевод строковой величины в числовую .Величины логического типа для хранения результ проверки условий, определяющих порядок выполнения компьютером тех или иных операций в алгоритмах с ветвлениями.Условие это вопрос, на который исполнитель может дать только одни из двух ответов условие выполняется (условие истинно, true) или условие не выполняется (условие ложно, false). «Boolean».Над величинами логического типа можно производить операции сравнения и логические операции:not;and; or ; хог - исключающее или.
Выражения и виды операций
Любое выражение имеет определенный тип и после вычисления возвращает некоторое значение. Простейшими выражениями являются переменные и константы. Более сложные выражения строятся из более простых с использованием операций, скобок, вызовов функций, индексов и приведений типов. Данные, к которым применяются операции, называются операндами арифметическим относятся бинарные операции + - * / для вещественных и целых чисел, бинарные операции div и mod для целых чисел и унарные операции + и - для вещественных и целых чисел. Выражение, имеющее числовой тип, называется арифметическим. Тип арифметического выражения определяется по следующему правилу: если все операнды целые и в выражении отсутствует операция деления /, то выражение имеет тип integer, в противном случае выражение имеет тип real. Например, если b имеет тип byte, c имеет тип 1..9, то b+c и -b имеют тип integer, а 2.0+b и 1/2 - тип real.Логические операцииК логическим относятся бинарные операции and, or и xor, а также унарная операция not, имеющие операнды типа boolean и возвращающие значение типа boolean. Выражение, имеющее тип boolean, называется логическим. Операции отношенияОперации отношения <, >, <=, >=, =, <> возвращают значение типа boolean и применяются к операндам целого, вещественного, символьного, логического и строкового типов, а также к типизированным указателям. Операции = и <> также применяются к операндам типа pointer, к операндам, являющихся объектами классов и к константе nil. При сравнении символа и строки символ преобразуется в строку длины 1.Строковые операцииПомимо операций отношения <, >, <=, >=, =, <>, к строковым и символьным операндам применима операция конкатенации (слияния) +. Ее результат имеет строковый тип. Например, 'a'+'b'='ab'. Поскольку строки могут содержать максимум 255 символов, то если сливаются строки суммарной длины больше 255, то программа завершается сообщением об ошибке
Стандартные функции
Abs(x) Real, integer Тип аргумента Модуль аргумента
ArcTan(x) Real, integer Real Арктангенс (значение в радианах)
Cos(x) Real, integer Real Косинус, угол в радианах
Exp(x) Real, integer Real Экспонента
Frac(x) Real Real Дробная часть числа
Int(x) Real, integer Real Целая часть числа
Ln(x) Real, integer Real Логарифм натуральный
Pi Нет Real 3,141592653
Sin(x) Real, integer Real Синус, угол в радианах
Sqr(x) Real, integer Тип аргумента Квадрат аргумента
Sqrt(x) Real, integer Real Корень квадратный
Random Нет Real Псевдослучайное число в интервале [0, 1]
Random(I) Integer Integer Псевдослучайное число в интервале [0, I]
Round(x) Real Integer Округление до ближайшего целого
Trunc(x) Real Integer Отбрасывание дробной части числа
в Паскале нет стандарт функции возведения в степень, поэтому xy= eylnx в Паскале существует только стандартная функция вычисления натурального логарифма, поэтому используется следующее математическое тождество: logab= ln b/ln а
Стандартные функции
Стандартные процедуры и функции (Турбо-Паскаль)
abs(x) модуль;nosound выключает звуковой генератор; sound(hz) включает звуковой генератор с частотой hz ;gotoxy(x,y) перемещает курсор в точку с заданными координатами x,y ;delay(t) приостанавливает работу программы на указанное число миллисекунд; readkey возвращает символ нажатой клавиши. Приостанавливает выполнение программы до нажатия на любую клавишу; keypressed возвращает true, если была нажата любая символьная клавиша;delete(str,poz,n) удаляет из str с позиции poz n символов;clrscr очистка текстового экрана; length(str) выдает длину строки str ;concat(str1,str2,...srtn) сцепление строк ;copy(str,n1,n2) вырезает из str с позиции n1 количество n2; write(идентификатор файла,список ввода\вывода) служит для записи данных в типизированный файл ;read(идентификатор файла,список ввода\вывода) обеспечивает чтение очередных компонентов типизированного файла; xor исключает или; not не; or или; and и; mod взятие остатка от деления; div целочисленное деление; odd(x) если x нечетное, дает true; pred(x) предыдущее значение x; succ(x) значение следующее за x; ord(x) вычисляет порядковый номер (код символа); chr(x) по числовому коду определяетсимвол в Ascii ;dec(x,y) уменьшает x на y; round(x) округление; int(x,y) увеличивает x на y ;frac(x) дробная часть; randomize не повторяются случайные числа; random(x) генератор случайных чисел; arctan(x) арктангенс; cos(x) косинус; exp(x) экспонента; ln(x) логарифм; sin(x) синус; sqr(x) x в квадрате; sqrt(x) квадратный корень; pi возвращает значение Пи=3.14159;pos(str1,str) результат - целое число, равное той позиции в строке str, в которой находится первый символ подстроки str1;val(st,x,code) преобразует строку St во внутреннее представление целой или вещественной переменной Х; str(x[:w[:d]],st) преобразует число Х любого вещественного или целого типов в строку символов St;
Операторы действия
Операторы действия - это средства языка, позволяющие изменять в процессе выполнения программы состояние вычислений. Самый простой оператор действия - оператор присваивания.<имя_переменной>:=<выражение>Пример оператора присваивания a:=15+5;{переменной a присваиваем математическое выражение. Стоит заметить, что переменная a должна быть числового типа}Оператор присваивания, несмотря на кажущуюся простоту, имеет очень важное алгоритмическое значение.Удобно считать, что выполнение присваивания переменной некоторого значения означает помещение этого значения в выделенный для переменной ящик. При этом каждый запоминающий ящик обладает следующими свойствами.
В каждый момент времени в ящике может храниться не более одного значения.Каждый ящик способен хранить только значения одного и того же типа. Попытка поместить в ящик значение любого другого типа приводит к тому, что ящик отказывается принимать на хранение передаваемое ему значение - это расценивается как ошибка в программе.Значение, помещенное в ящик, будет храниться в нем до тех пор, пока в этот ящик не будет помещено новое значение (в момент присваивания соответствующей переменной этого нового значения) - при этом предыдущее содержимое ящика безвозвратно теряется (уничтожается).Находящееся в ящике значение считается текущим значением соответствующей переменной. Это текущее значение может быть выдано из ящика для использования сколько угодно раз, но при этом содержимое ящика не меняется: из него каждый раз выдается копия хранящегося значения с сохранением оригинала в ящике без какого-либо изменения.К началу выполнения программы содержимое всех запоминающих ящиков считается неопределенным; в частности, их нельзя считать и пустыми, поскольку эти ящики могли использоваться при выполнении предыдущих программ, после чего в ящиках могло что-то остаться.Еще один оператор действия, хотя его можно лишь условно назвать таковым: он не выполняет никакого действия, это - пустой оператор (в Паскале он обознается знаком ";"). В Паскале оператором действия является также оператор процедуры. Последний из простейших операторов действия - оператор останова, который прерывает работу программы (в Паскале это оператор halt).
Процедуры ввода
Для ввода данных в языке Паскаль предусмотрены стандартные встроенные процедуры - read и readln. Оператор ввода служит для ввода данных в процессе выполнения программы. Процедуры read и readln используются в виде:а) read <список ввода>; - каждое вводимое значение присваивается последовательно переменным из списка. Следующий оператор ввода будет вводить данные с той же строки.б) readln <список в вода >;-отличается от read тем, что следующий оператор ввода будет вводить данные с новой строки.в) readln; - переход на новую строку при вводе данных. При вводе числовые данные должны разделяться пробелом
или символом окончания ввода (клавиша Enter).
Логические данные в Паскале вводить не разрешается.
Процедуры вывода
Для вывода результатов в Турбо Паскале предусмотрены две процедуры: write (<список вывода>) и writeln(<список вывода>).Элементы списка вывода (константы, переменные» выражения) разделяются запятыми. Оператор write выводит указанные в списке величины на экран и оставляет курсор в конце только что выведенной строки. Оператор writeln после вывода устанавливает курсор в начало следующей строки. Элементы списка вывода выводятся подряд без пробелов между ними.Действительные числа выводятся в экспоненциальной форме, т.е. в виде: #.####... #Е±# # # #. Количество знаков после десятичной точки зависит от конкретного типа вещественного числа.Операторы вывода допускают использование в явном виде указаний о ширине поля, отводимого под значение выводимой величины. Форма представления выводимых переменных определяется типом переменных. Величины целого типа выводятся в обычной форме или в формате I: р, где р - целое число, указывающее количество позиций экрана, отводимых под запись числа При выводе значений действительных типов с фиксированной точкой указывается ширина поля, отводимая под все значение и под дробную часть, т.е. в формате R:p:q. Каждое значение выводимых величин занимает крайние правые позиции отведенного поля, при этом незаполненные остаются свободными, образуя пробелы. Если при выводе действительных значений не указывается количество позиций, отведенных под дробную часть числа, то результат получается в экспоненциальном виде с десятичным порядком.