A b c d e f g h i j k l m n o p q r s t u v w x y z
Паскаль не различает строчные и прописные буквы. К категории букв относится и символ подчеркивания _ .
Для написания комментариев и вывода текста может быть использована кириллица.
Ко второй категории – цифрам – относятся десять арабских цифр:
1 2 3 4 5 6 7 8 9 0
Третьей категорией – специальными знаками – являются следующие символы, расположенные на клавиатуре:
+ плюс ^ карат
- минус пробел (не имеет обозначения)
* звездочка # знак номера
/ дробная черта @ эт
< меньше & амперсанд
> больше $ знак доллара
= равно ‘ апостроф
. точка
, запятая
; точка с запятой
: двоеточие
() круглые скобки
[] квадратные скобки
{} фигурные скобки
Служебные (ключевые) слова
Программа на Паскале состоит из последовательности операторов – команд, определяющих действия компьютера.
Все операторы Паскаля, кроме оператора присваивания, начинаются со служебного слова, которое дает команду компьютеру на выполнение определенного действия: ввести, вывести, закрыть и т.д.
В качестве служебных слов используются слова английского языка, отражающие смысл выполняемого действия:
And и Record запись
Array массив Repeat повторять
Begin начало Set набор
Case вариант String строка
Const константа Then то (тогда)
Div деление нацело Text текст
Do выполнять To к
DownTo уменьшая до Type тип
Else иначе Uses использует
End конец Until до
File файл Var переменная
For для While пока
Function функция With с
If если
In в
Label метка
Mod модуль
Nil пустой адрес
Not не
Of из
Or или
Procedure процедура
Program программа
Кроме служебных слов, в Паскале имеются стандартные имена, используемые при записи:
стандартных типов данных:
Integer целый
Real вещественный
Boolean логический
Char символьный
стандартных констант:
True истина
False ложь
MaxInt наибольшее целое
Pi число π = 3,14159265358979
стандартных процедур:
Read читать
ReadLn читать строку
ReSet восстановить
ReWrite переписать
Write писать
WriteLn писать строку
Константы
Знакомые по школьному курсу константы – это числа: ускорение свободного падения, число π и т.д.
В Паскале это не только числа, но и символы.
Константы представляют собой величины, которые не изменяются в процессе выполнения программы, то есть их значения фиксированы.
Внимание! Речь идет не о поименованных или типизированных константах.
О них разговор пойдет дальше.
В Паскале используются константы пяти стандартных типов:
1. целые – целые числа
Тип | Диапазон | Формат |
ShortInt – короткое целое | -128 … 127 | 1 байт со знаком |
Integer - целое | -32768 …+32767 | 2 байта со знаком |
LongInt – длинное целое | -2 147 483 648 … 2 147 483 647 | 4 байта со знаком |
Byte – длиной в байт | 0 … 255 | 1 байт без знака |
Word – длиной в слово | 0 … 65535 | 2 байта без знака |
2. вещественные – числа с дробной частью
Тип | Диапазон | Точность | Формат |
Real - вещественный | ± 2,9 × 10-39 … ±1,7 × 1038 | 11 – 12 знаков | 6 байт |
Single – с одинарной точностью | ± 1,5 × 10-45 … ±3,4 × 1038 | 7 – 8 знаков | 4 байта |
Double – с двойной точностью | ± 5,0 × 10-324 … ±1,7 × 10308 | 15 – 16 знаков | 8 байт |
Extended – повышенной точности | ± 1,9 × 10-4951 … ±1,1 × 104932 | 19 – 20 знаков | 10 байт |
Comp - сложный | -2 × 1063 +1… 2 × 1063 -1 | 19 – 20 знаков | 8 байт |
3. логические – Boolean – константы, имеющие только два значения
True – истина
False – ложь
4. символьные – Char – все символы алфавита Паскаля, заключенные в апострофы:
‘a’ ‘b’ ‘c’ ‘0’ ‘9’ ‘#’ ‘_’
5. текстовые – String – набор символов, заключенный в апострофы:
‘hello’ – не длиннее 255 символов.
Запись чисел
1. Целые константы (целые числа) записываются как обычно:
5 -2 0
2. Вещественные константы могут быть записаны в двух формах:
· форме с фиксированной запятой – в виде десятичной дроби, только вместо десятичной запятой ставится точка. Число не должно начинаться или заканчиваться десятичной точкой. В памяти компьютера сохраняются 11-12 цифр дробной части:
3.1415926535898 -2.13 5.0 0.5
Ошибки: 5. .1 - отсутствуют дробная или целая части
· форме с плавающей запятой – в виде мантиссы с последующим десятичным порядком (экспоненциальная форма записи):
-2.3e-12 0.41E+5 -6.23e15
Показатель степени записывается после буквы е (Е), причем знак плюс не обязателен.
Внимание! В записи числа пробелы и знаки умножения недопустимы!
Переменные
В математике с понятием переменной связывают некоторый поименованный объект, который может принимать одно значение из допустимого множества значений.
В программировании термин переменная означает ячейку оперативной памяти, в которой находится текущее значение какого-то объекта программы. Имя переменной рассматривается как наименование или адрес такой ячейки памяти. Знание этого адреса дает возможность программисту изменять значение переменной в процессе выполнения программы.
Константам тоже выделяются необходимые ячейки памяти, однако их адреса программисту недоступны, поэтому значения констант нельзя изменить в процессе выполнения программы.
Таким образом, понятие переменной употребляется для обозначения поименованной величины, которая может принимать одно из допустимого диапазона значений. Обращение к переменной осуществляется по ее имени, которое программист выбирает сам, руководствуясь следующими правилами:
· имя переменной должно отражать ее назначение, то есть оно должно нести определенный смысл,
· имя может состоять из букв латинского алфавита, цифр и знаков подчеркивания,
· имя должно начинаться с буквы или знака подчеркивания,
· не допускается совпадение имени со служебными словами, именем программы, именами подпрограмм или функций.
Как и константы, переменные могут быть пяти стандартных типов: целые, вещественные, символьные, логические и строковые. Тип переменной определяет диапазон ее изменения.
Кроме стандартных типов, программист может использовать интервальные и перечисляемые типы.
Таким образом, любая переменная характеризуется уникальным именем, типом и конкретным значением из диапазона, определяемого ее типом.
Типы данных
Именование констант и переменных в программировании очень похоже на использование символических выражений в алгебре, однако для того, чтобы компилятор смог их обрабатывать, нужно снабдить его некоторой дополнительной информацией – выполнить описание. В этой информации сообщается о типе каждой именованной величины.
Идея типов берет свое начало в математике и логике и призвана предотвращать двусмысленные и ошибочные конструкции языка программирования.
Человек, решающий какую-либо задачу вручную, обладает интуитивной способностью быстро разобраться в типах данных и тех операциях, которые для каждого типа справедливы. Например, нельзя извлечь квадратный корень из слова или написать число с заглавной буквы. Одна из причин, позволяющих легко провести такое распознавание, состоит в том, что слова, числа, даты, время и другие данные для человека выглядят по-разному. Однако для компьютера все типы данных сводятся, в конечном счете, к последовательности битов, образующих байты – содержимому ячеек памяти. Поэтому в программах различие в типах следует делать явным.
Паскаль, как и другие языки программирования высокого уровня, позволяет отвлечься от представления данных в виде последовательности бит – двоичных разрядов, наилучшего с точки зрения компьютера. При написании программы программист может использовать понятия, соответствующие терминам решаемой задачи: целое и вещественное число, массив, запись, файл, множество. Это существенно упрощает решение. Естественно, что, в конце концов они отображаются на конкретное битовое представление.
Таким образом, тип определяет множество значений, которые могут принимать объекты программы (константы, переменные), а также совокупностьопераций, допустимых над этими значениями.
Как уже было сказано, в Паскале имеется пять стандартных:
1. целый,
2. вещественный,
3. символьный,
4. логический
5. строковый
и два нестандартных:
1. интервальный
2. перечисляемый
типов данных.
Введение концепции типов данных в Паскале привело к следующему:
· каждая единица языка программирования (константа, переменная, выражение, функция) имеет только один тип. Тип определяет множество значений, которое может принимать это данное,
· явное введение типов позволяет четко установить тип каждой программной единицы перед выполнением самой программы,
· между каждым типом и некоторым ограниченным подмножеством операций существует однозначная связь, то есть для каждого типа определен свой ограниченный набор операций,
· использование типов вносит избыточность в сам язык, но это существенно помогает при обнаружении ошибок в структуре алгоритма, реализованного в программе.
Стандартные функции
Стандартные функции служат для вычисления значений некоторых математических функций.
При обращении к ним необходимо записать имя функции и в скобках указать аргумент – константу, переменную или выражение. Имена стандартных функций соответствуют общепринятым:
Abs(x)|x|Abs(-2.5) = 2.5
Sqr(x)x2Sqr(25) = 625
Sqrt(x) Sqrt(225) = 15
Exp(x)exExp(0.0) = 1.0
Ln(x) ln xLn(1.0) = 0.0
Sin(x) sin x Sin(0.0) = 0.0
Cos(x)cos x Cos(0.0) = 1.0
Arctan(x)arctg xArctan(0.0) = 0.0
Trunc(x) целая часть аргумента Trunc(2.7) = 2
Round(x) округление аргумента Round(2.7) = 3
Frac(x) дробная часть аргумента Frac(2.7) = 0.7
Int(x) целая часть аргумента Int(2.7) = 2.0
Pred(x) предыдущее значение Pred(5) = 4
аргумента Pred(-5) = -6
Pred(‘c’) = ‘b’
Succ(x) следующее значение Succ(5) = 6
аргумента Succ(-5) = -4
Succ(‘c’) = ‘d’
Ord(c) порядковый номер символа Ord(‘A’) = 65
(код символа) Ord(‘B’) = 66
Ord(‘0’) = 48
Ord(‘1’) = 49
но Ord(1) = 1
Chr(x) символ по его номеру Chr(65) = ‘A’
(коду) Chr(48) = ‘0’
Odd(x) определение нечетности Odd(7) = True
целочисленного аргумента Odd(8) = False
Правила использования стандартных функций:
ü аргументы тригонометрических функций должны задаваться в радианах
ü аргументы функций Pred(), Succ() – только целые числа или символы алфавита Паскаля
ü аргументы функции Ord() – только символы алфавита Паскаля
ü аргументы функции Chr() – только целые числа в диапазоне от 32 до 255
ü аргументы функции Odd() – только целые числа.
Выражения
Программа на алгоритмических языках представляет собой последовательность операторов, записанных в соответствии с принятыми правилами.
Оператор – это конструкция, определяющая представление информации в компьютере и служащая указанием ему для выполнения определенных действий.
Важнейшей составляющей частью любой программы являются операторыприсваивания, приписывающие переменным определенные значения. Действия и последовательность вычислений в операторах присваивания определяются выражениями.
Под выражением понимается последовательность констант, переменных и функций, называемых операндами, связанных круглыми скобками и знаками математических операций. В зависимости от типа операндов, используемых в выражениях, различают выражения целого, вещественного и логического типов.
Выражения целого типа
В этих выражениях используются операнды только целого типа, связанные круглыми скобками и знаками операций:
+ сложение x + y 5 + 3 = 8
- вычитание x – y 5 – 3 = 2
* умножение x * y 5 * 3 = 15
/ деление x / y 5 / 3 = 1
Div деление нацело x Div y 5 Div 3 = 1
10 Div 3 = 3
10 Div (-3) = -3
3 Div 5 = 0
125 Div 10 = 12
Mod остаток от деления x Mod y 5 Mod 3 = 2
10 Mod 3 = 1
10 Mod (-3) = 1
3 Mod 5 = 3
125 Mod 10 = 5
Как видно, для целочисленных операндов операции Div и / эквивалентны: их результат – целая часть частного без округления.
В Паскале нет отдельной операции возведения в степень, поэтому для ее реализации используется соотношение:
xa = ea ln x
Для изменения значения аргумента можно использовать процедуры инкремента и декремента:
Inc(x) увеличение аргумента на 1
Inc(x, n) увеличение аргумента на n
Dec(x) уменьшение аргумента на 1
Dec(x, n) уменьшение аргумента на n
Порядок вычисления выражений целого типа:
1. вычисление значений функций
2. выполнение операций типа умножения: * / Div Mod
3. выполнение операций типа сложения: + -
Порядок вычислений может быть изменен с помощью круглых скобок.
Правила записи выражений целого типа:
· нельзя пропускать (подразумевать) знаки операций; особенно это относится к знаку умножения *
· нельзя ставить рядом два знака операций
· операции Mod и Div необходимо выделять пробелами:
Неправильно правильно
3y 3*y
(a + b)(c – d) (a + b) * (c – d)
r – s * -5 r – s * (-5)
Примеры записи выражений целого типа: