Тип переменных указывается после списка переменных через двоеточие ( : )
Числовые переменныеможно описать по-разному, в зависимости от вида (целые, вещественные) и значности чисел:
Целыйтип | ||
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 байт |
Операторы ВВОДА:
Read (<список переменных>);
Readln (<список переменных>);
Происходит считывание данных с клавиатуры и запись их в переменные из <списка переменных> по порядку. Вводить данные нужно через пробел или по нажатию Enter. Программа продолжится, когда будут считаны все данные. Отличия операторов заключаются в том, что второй оператор после ввода информации (выполнения оператора) переводит курсор на следующую строку, а первый оператор - нет.
Пример записи оператора - Readln(k,t,e);
Оператор Readln; без списка переменных используется для задержки информации на экране до нажатия на клавишу Enter и ставится в конце программы.
Операторы ВЫВОДА:
Write (<список переменных, констант и арифметических выражений>);
Writeln (<список переменных, констант и арифметических выражений>);
Например, Write(2+У, Х); Writeln (‘A=’, а); Write(а, с); Оператор выполняет вычисление значений выражений и вывод значений. Отличия операторов заключаются в том, что второй оператор после вывода переводит курсор на следующую строку, а первый оператор - нет.
Переменные типа Real рекомендуется выводить в форматированном виде.
Форматированный вывод - вывод информации с указанием размерности, т.е. после переменной через двоеточие указывается количество символов под все число, а затем, для вещественных переменных, снова через двоеточие число десятичных знаков.
Например: Write(а:5:2,с:6:3); - пода отводится 5 символов, включая точку, знак числа и два десятичных знака величины числа. Знак «+» перед числом при выводе будет опущен. Если в а находится число 2,5678, то выведется на экран: _2.56
Целочисленные арифметические операции:
Операция | Назначение | Пример записи | Тип используемых переменных | Тип результата |
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:=frac(13.111); (переменной Y присваивается 0.111), Y:=round(3.145); (переменной Y присваивается 3), Y:=round(-12.5); (переменной Y присваивается -13), Y:=int(2.7) (переменной Y присваивается 2), Y:=int(-32.3) (переменной Y присваивается -32).
Символьные переменные описываются как CHARи представляют собой тип данных, предназначенный для хранения одного символа (буква, знак, код). Переменная типа CHAR занимает один байт.
Логические переменные (тип Boolean) – это переменные, которые могут принимать только два значения истина - true(1) или ложь - false (0). Используются такие переменные для хранения результатов логических вычислений. Для булевых переменных разрешены только операции сравнения:
Логическая операция | Наименование | ||
= | Равно | ||
<> | Не равно | ||
And | Логическое И (логическое умножение, конъюнкция) | ||
Or | Логическое ИЛИ (логическое сложение, дизъюнкция) | ||
Xor | Логическое исключающее ИЛИ (результат тогда 1, когда на входе все нули) | ||
Not | Логическое НЕ | ||
Тип переменной | Символьные переменные | Логический тип | |
Определение | Переменная, которая может содержать 1 символ, и занимает 1 байт | Переменная, которая может принимать только два значения – true , false | |
Описание | CHAR Например:Var c: char; | BOOLEAN Например, Varc,а: boolean; | |
Дополнительная информация | Все имеющиеся символы имеют коды (таблица кодов ASCII). Есть функции работы с символьными переменными и их кодами. | Получается в результате выполнения логических выражений с операциями: =,<>,<,<=,>,>= (простые логические выражения) иNot, And, Or, Хor(логические функции) – используются для объединения простых логических выражений в составные, при чем простые логические выражения берутся в круглые скобки. | |
Использование | В различных операторах, например: | Пример простого выражения - X>2 Пример составного выражения - (X>2) and (X<=10) Используются в операторах присваивания, ветвления и цикла. | |
Примеры | С:=’a’; Writeln(‘C=’,c); | X:=4; A:=(X>2) and (x<=10); If A=True then y:=1 else y:=1/x; | |
Функции, используемые для работы с порядковыми переменными:
Название функция | Назначение | Тип аргумента | Тип функции |
Pred(x) | Определение предшественника взятого символа х | Порядковый | Порядковый |
Succ(x) | Определение последующего символа за взятым символом х | Порядковый | Порядковый |
Ord(x) | определяет код символа. Например, Ord(‘A’) - 65 | Порядковый | Целочисленный |
Chr(x) | определяет символ по коду. Например, Chr(65) - ’A’ | Целочисленный | CHAR |
Примеры программ:
Объявите переменные, необходимых для вычисления значения функции y=x2. | Var x:real, y:real; |
Объявите переменные, необходимые для вычисления площади кольца. | Var r1,r2,s:real; |
Запишите на языке Паскаль Y=-2,7x3+0,23x2-1,4 | Y:=-2.7*x*x*x+0.23*x*x-1.4 |
Найти остаток от деления и округленный результат деления двух целых чисел, заданных с клавиатуры | Vara,b,c,d:integer; Begin Writeln(‘Введите два целых числа’); Readln(a,b); с:= a div b; d:= a mod b; Writeln(‘округленный результат - ’, c ); Writeln(‘остаток от деления - ’,d); Readln; end. |
Вычислите значение функции: ![]() | Var Y,x:integer; Begin Write(‘x=’); Readln(x); Y:=5*x*x+9*x+12; Writeln(‘Y=’,Y); End. |
Найдите длину круга l, если радиус окружности R (l=2πR) | Const π=3.14; Var R:integer; L:Real; Begin Write(‘R =’); Readln(R); L:= 2*π*R; Writeln(‘L =’, L); End. |
Операторы управления
К операторам управления языка Паскаль относятся операторы безусловного перехода, условного перехода и операторы цикла.
Условный оператор (выбор одного из двух направлений)
В разветвляющихся вычислительных процессах отдельные этапы вычислений выполняются не всегда в одном и том же порядке, а в зависимости от некоторых условий выбираются для исполнения различные их последовательности.
Структурные операторы. Структурные операторы составляются объединением других операторов с помощью определенных правил. Они разделяются на три группы – составные, условные и повторения (циклические).
Составной оператор. Составной оператор состоит из нескольких операторов, разделенных между собой знаком (;), заключенных включенных в ключевые слова begin и end. Составной оператор может располагаться в любом месте программы согласно правилу языка и выполняется как один оператор.
Begin
оператор 1;
оператор 2;
..................
оператор n-1;
оператор n;
End.
Ключевые слова Begin (начало), end (конец) называются операторными скобками. После слова Begin и после оператора перед словом end разделительный знак «;» не ставится. Составной оператор может быть вложенным, т.е. внутри составного оператора может быть другой составной оператор.
Условные операторы.Для организации алгоритмов с процессом разветления используются условные операторы. Разветление зависит от выполнения или невыполнения определенного условия. Иногда в одной ветви ни одна операция не выполняется. В качестве условия исползуется значение логического выражения. В Турбо Паскале имеются два условных оператора: if и case.
Условный оператор If. Оператор If (если) является широко распространенным способом изменения возможностей естественного выполнения действий в программе.
|
|
Блок-схемаоператора IF.
Формат записи оператора:if <условие> then <оператор 1> [ else <оператор 2> ];
если тогда иначе
Условие – логическое выражение, которое может быть истинным или ложным.
оператор 1, оператор 2 – какой либо оператор, в том числе и составной оператор, т.е. несколько операторов, объединенных операторными скобками begin end.
Часть конструкции, заключенная в квадратные скобки может отсутствовать.
Принцип работы оператора:
¨ проверяется условие
¨ если условие истинно (верно), то выполняется оператор 1
¨ если условие ложно (неверно), то выполняется оператор 2
¨ если else <оператор 2> отсутствует, то, при ложности условия, выполняется следующий за if оператор.
Например, из двух чисел a и b вывести на экран значение большего числа. | if a > b then writeln (‘большее число a - ’, a) else writeln (‘большее число b - ’, b); |
Внимание! Перед словом else нельзя ставить точку с запятой. Обратите внимание на запись служебных слов и операторов. Каждое слово else под своим, словом if. Для большей наглядности и «читаемости» текста программы операторы, следующие за словами then и else можно писать на следующей строке.
Возможная форма оператора: if <условие> then <оператор 1>;
Пример использования оператора: Вычислите значение функции f(x) в зависимости от значения аргумента x. | if x<0 then y=x; if x=0 then y=0; if x>0 then y=sqr(x); |
Оператор выбора
Выше мы рассмотрели, что в команде (операторе) разветвления в зависимости от выполнения или невыполнение определенного условия выполняется первая или вторая серия (оператор 1 или оператор 2). Однако часто место двух возможностей существует несколько возможностей, т.е. процесс является многоразветвленным. Оператор выбора среди нескольких операторов организует множественное разветвление (путем выбора).
ОператорCase позволяет записать наглядно и просто алгоритмы с многими разветвлениями. Разветвление начинается с проверки условия некоторого выражения. Это выражение при выполнении оператора должно принимать определенное значение, которое выполняет роль метки для операторов в разветвлении. Если вычисленное значение выражения совпадает с некоторой указанной меткой, то выполняется оператор, помеченный этой меткой.
![]() |
Блок-схема оператора CASE
Формат записи:
Сase <переменная или выражение> of
<список значений выбора1>:<оператор1>;
<список значений выбора2>:<оператор2>;
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
<список значений выбора N>:<оператор N>;
Еlse <оператор n+1>]
End;