Содержание:
Типы данных в Паскале
Паскаль — это типизированный язык программирования. Это означает, что переменные, в которых хранятся данные, имеют определенный тип данных. Т.е. программе напрямую надо указать, какие данные могут храниться в той или иной переменной: текстовые данные, числовые данные, если числовые — то целочисленные или дробные, и т.п. Это необходимо в первую очередь для того чтобы компьютер «знал», какие операции можно выполнять с этими переменными и как правильно их выполнять.
Например, сложение текстовых данных, или как это правильно называется в программировании — конкатенация — это обычное слияние строк, тогда как сложение числовых данных происходит поразрядно, кроме того, дробные и целые числа складываются тоже по-разному. То же самое касается и других операций.
Рассмотрим наиболее распространенные в Pascal типы данных.
Целочисленные типы данных в Паскаль
Тип | Диапазон | Требуемая память (байт) |
byte | 0..255 | 1 |
shortint | -128..127 | 1 |
integer | -32768.. 32767 | 2 |
word | 0..65535 | 2 |
longint | -2147483648..2147483647 | 4 |
Нужно иметь в виду, что при написании программ в паскале integer (в переводе с англ. целое) является наиболее часто используемым, так как диапазон значений наиболее востребуем. Если необходим более широкий диапазон, используется longint (long integer, в переводе с англ. длинное целое). Тип byte в Паскале используется, когда нет необходимости работать с отрицательными значениями, то же самое касается и типа word (только диапазон значений здесь значительно больше).
Примеры того, как описываются (объявляются) переменные в Паскале:
1 2 3 4 5 6 7 8 | program a1; var x,y:integer; {целочисленный тип} myname:string; {строковый тип} begin x:=1; y:=x+16; myname:='Петр'; writeln ('имя: ',myname, ', возраст: ', y) end. |
Результат:
имя: Петр, возраст: 17
Комментарии в Паскале
Обратите внимание на то, как используются комментарии в Паскале. В примере комментарии, т.е. служебный текст, который «не видим» для компилятора, заключаются в фигурные скобки. Обычно комментарии делаются программистами с целью пояснения фрагментов кода.
а=9000000
жителей. Население Нью-Васюков равняется b=1000
жителей. Напишите программу, которая определяет разницу в числе жителей между двумя городами. Используйте переменные величины
Вещественные типы данных в Паскаль
Вещественные числа в Паскале и вообще в программировании — это название дробных чисел.
Тип | Диапазон | Требуемая память (байт) |
real | 2.9 * 10E-39 .. 1.7 * 10E38 | 6 |
single | 1.5 * 10 E-45 .. 3.4 * 10E38 | 4 |
double | 5 * 10E-324 .. 1.7 * 10E308 | 8 |
extended | 1.9 * 10E-4951 .. 1.1 * 10E4932 | 10 |
Тип real
в Паскале — наиболее часто используемый из вещественных типов.
Выше были представлены простые типы данных в Паскаль, к которым относятся:
- Порядковые
- Целые
- Логические
- Символьные
- Перечисляемые
- Интервальные
- Вещественные
Для вывода значений переменных вещественного типа обычно используется форматированный вывод:
в формате используется либо одно число, означающее число позиций, отводимых на это число в экспоненциальной форме;
p:=1234.6789; Writeln(p:12); {_1.2346E+004}либо два числа, первое из которых обозначает общий размер поля, отведенного под это число, второе — число знаков после запятой, т.е. точность.
p:=1234.6789; Writeln(p:6:2); {1234.68}
Наряду с простыми типами в языке еще используются структурированные типы данных и указатели, которым будут посвящены последующие уроки по Паскалю.
Константы в Паскале
Зачастую в программе заранее известно, что переменная будет принимать какое-то конкретное значение и не менять его на протяжении выполнения всей программы. В таком случае необходимо использовать константу.
Объявление константы в Паскале происходит до объявления переменных (до служебного слова var
) и выглядит следующим образом:
Пример описания константы в Паскале:
1 2 3 4 5 6 | const x=17; var myname:string; begin myname:='Петр'; writeln ('имя: ',myname, ', возраст: ', х) end. |
«Красивый» вывод целых и вещественных чисел
Для того чтобы после вывода значений переменных оставались отступы, чтобы значения не «сливались» друг с другом, принято через двоеточие указывать какое количество символов нужно предусмотреть для вывода значения:
Арифметические операции в Паскале
ДЕЙСТВИЕ | РЕЗУЛЬТАТ | СМЫСЛ |
---|---|---|
2 + 3 | 5 | плюс |
4 — 1 | 3 | минус |
2 * 3 | 6 | умножить |
10 / 5 |
2 |
разделить |
17 div 5 | 3 | целочисленное деление |
17 mod 5 | 2 | остаток от целочисленного деления |
Порядок выполнения операций
- вычисление выражений в скобках;
- умножение, деление, div, mod слева направо;
- сложение и вычитание слева направо.
Стандартные арифметические процедуры и функции Pascal
Здесь стоит более подробно остановиться на некоторых арифметических операциях.
- Операция
inc
в Паскале, произносимая как инкремент, это стандартная процедура pascal, которая обозначает увеличение на единицу. - Аналогично работает процедура
Dec
в Паскале:Dec(x)
— уменьшает x на 1 (декремент) илиDec(x,n)
— уменьшает x на n. - Оператор
abs
представляет собой модуль числа. Работает следующим образом: - Оператор
div
в паскале является часто используемым, так как целый ряд задач связан с действием деление нацело. -
Остаток от деления или оператор
mod
в pascal тоже незаменим при решении ряда задач. - Заслуживающей внимания является стандартная функция
odd
Паскаля, которая определяет, является ли целое число нечетным. Т. е. возвращаетtrue
(истина) для нечетных чисел,false
(ложь) для четных чисел. - Функция
exp
в паскале возвращает экспоненту параметра. Записывается какexp(x)
, где x типа real. - Квадрат числа в Паскале вычисляется при помощи процедуры
sqr
. - Операция возведение в степень в Паскале отсутствует как таковая. Но для того чтобы возвести в степень число можно использовать функцию
exp
. - Извлечь квадратный корень в Паскале можно при помощи процедуры
sqrt
.
Пример операции inc:
1 2 3 | x:=1; inc(x); {Увеличивает x на 1, т.е. x=2} writeln (х) |
Более сложное использование процедуры inc:
Inc(x,n)
где x — порядкового типа, n — целого типа; процедура inc увеличивает x на n.
a:=-9; b:=abs(a); { b = 9} |
Пример использования функции odd:
1 2 3 4 | begin WriteLn(Odd(5)); {True} WriteLn(Odd(4)); {False} end. |
Пример использования процедуры sqr в Pascal:
1 2 3 4 5 | var x:integer; begin x:=3; writeln(sqr(x)); {ответ 9} end. |
Формула такая: exp(ln(a)*n)
, где а
— число, n
— степень (а>0).
Однако в компиляторе pascal abc возведение в степень осуществляется значительно проще:
WriteLn(Power(2,3)); {ответ 8} |
Пример использования процедуры sqrt в Pascal:
1 2 3 4 5 | var x:integer; begin x:=9; writeln(sqrt(x)); {ответ 3} end. |
(S=ширина * толщина, V=площадь*высота)
Саид
Спасибо огромное !