Лабораторная работа № 2
Тема: Простые типы данных.
При описании переменной необходимо указать ее тип. Тип переменной описывает набор значений, которые она может принимать, и действия, которые могут быть над ней выполнены. Описание типа определяет идентификатор, который обозначает тип.
Простые типы делятся на стандартные (порядковые) и перечисляемые (ограниченные).
Стандартные типы.
Турбо-Паскаль имеет четыре встроенных стандартных типа: integer (целое), real (вещественное), boolean (логический) и char (символьный).
1.Целочисленный тип (integer).
В Турбо-Паскале имеется пять встроенных целочисленных типов: shortint (короткое целое), integer (целое), longint (длинное целое), byte (длиной в байт) и word (длиной в слово). Каждый тип обозначает определенное подмножество целых чисел, как это показано в следующей Таблице.
Встроенные целочисленные типы.
Тип | Диапазон | Формат |
shortint | -128 ..+127 | 8 битов со знаком |
integer | -32768 .. 32767 | 16 битов со знаком |
longint | -2147483648 +2147483647 | 32 бита со знаком |
byte | 0 .. 255 | 8 битов без знака |
word | 0 .. 65535 | 16 битов без знака |
Арифметические действия над операндами целочисленного типа осуществляются в соответствии со следующими правилами:
Тип целой константы представляет собой встроенный целочисленный тип с наименьшим диапазоном, включающим значение этой целой константы.
В случае бинарной операции (операции, использующей два операнда), оба операнда преобразуются к их общему типу перед тем, как над ними совершается действие. Общим типом является встроенный целочисленный тип с наименьшим диапазоном, включающим все возможные значения обоих типов. Например, общим типом для целого и целого длиной в байт является целое, а общим типом для целого и целого длиной в слово является длинное целое. Действие выполняется в соответствии с точностью общего типа и типом результата является общий тип.
Выражение справа в операторе присваивания вычисляется независимо от размера переменной слева.
Операции совершаемые над целыми числами:
“+” - сложение
“-“ - вычитание
“*” - умножение
SQR - возведение в квадрат
DIV - после деления отбрасывает дробную часть
MOD - получение целого остатка после деления
ABS - модуль числа
RANDOM(X)-получение случайного числа от 0 до Х
Пример: а:=100; b:=60;
a DIV b результат - 1 а MOD b результат - 40
Описываются переменные целого типа следующим образом:
var список переменных: тип;
Например: var а,р,n:integer;
2. Вещественный тип(real).
К вещественному типу относится подмножество вещественных чисел, которые могут быть представлены в формате с плавающей запятой с фиксированным числом цифр. Запись значения в формате с плавающей запятой обычно включает три значения - m, b и e - таким образом, что m*bе, где b всегда равен 10, а m и e являются целочисленными значениями в диапазоне вещественного типа. Эти значения m и e далее определяют диапазон и точность вещественного типа.
Имеется пять видов вещественных типов: real, singlе, duble, exnende, comp. Вещественные типы различаются диапазоном и точностью связанных с ними значений
Диапазон и десятичные цифры для вещественных типов
Тип | Диапазон | Цифры |
Real Single Duble Extende comp | 2.9x10Е-39 до 1.7x10Е 38 1.5x10Е-45 до 3.4x10Е 38 5.0x10Е-324 до 1.7x10Е 308 3.4x10Е-493 до 1.1x10Е 403 -2Е 63 до 2Е 63 | от 11 до 12 от 7 до 8 от 15 до 16 от 19 до 20 от 19 до 20 |
Операции совершаемые над вещественными числами:
Все операции допустимые для целых чисел.
SQRT(x)-корень квадратный из числа х.
SIN(X), COS(X), ARCTAN(X).
LN(X)-натуральный логарифм.
EXP(X)-экспонента Х (ех).
EXP(X*LN(A))-возведение в степень (Ах).
Функции преобразования типов:
TRUNC(X)-отбрасывает дробную часть;
ROUND(X)-округление.
Некоторые правила арифметических операций:
Если в арифметическом действии встречаются числа типа real и integer, то результат будет иметь тип real.
Все составные части выражения записываются в одну строку.
Используются только круглые скобки.
Нельзя подряд ставить два арифметических знака.
Описываются переменные вещественного типа следующим образом:
var список переменных: тип;
Например: var d,g,k:real;
3. Символьный тип(char)
K типу char относится любой символ заключенный в апострофы. Для представления апострофа как символьную переменную, надо заключить его в апостроф:’’’’.
Каждый символ имеет свой код и номер. Порядковые номера цифр 0,1..9 упорядочены по возрастанию. Порядковые номера букв также упорядочены по возрастанию, но не обязательно следуют друг за другом.
К символьным данным применимы знаки сравнения:
, =, . Например: ‘A’
Функции, которые применимы к символьным переменным:
ORD(X) - определяет порядковый номер символа Х.
Пример: ord(‘a’)=97.
CHR(X) - определяет символ по номеру.
Пример: chr(97)=’a’.
PRED(X) - выдает символ, стоящий перед символом Х.
Пример: pred(‘B’)=’A’.
SUCC(X) - выдает символ, следующий после символа Х.
Пример: succ(‘A’)=’B’.
4. Перечислимый тип.
Перечислимый тип данных назван так потому, что задается в виде перечисления констант в строго определенном порядке и в строго определенном колоичестве. Перечислимый тип состоит из списка констант. Переменные этого типа могут принимать значение любой из этих констант. Описание перечислимого типа имеет вид:
Type =(список констант);
Var :;
где - это особый вид констант, задаваемых через запятую и имеющих свой порядковый номер, начиная с 0.
Например:
type
направление=(север, юг, запад, восток);
месяц=(июнь,июль,август,январь);
емкость=(ведро,бочка,канистра,бак);
var
поворот:направление;
отъезд:месяц;
объем:емкость;
или так:
var
поворот:(свер, юг, запад, восток);
отъезд:(июнь, июль, август, январь);
объем:(ведро, бочка, канистра, бак);
Можно выполнить такие операторы присваивания:
поворот:=юг;
отъезд:=август;
объем:=бак;
но нельзя выполнять смешанные присваивания:
отъезд:=юг;
объем:=август;
К переменным перечислимого типа применимы следующие функции:
1. ORD - порядковый номер
2. PRED - предшествующий элемент
3. SUCC - последующий элемент.
Пример:
PRED(бочка)=ведро; SUCC(юг)=запад; ORD(июль)=1;
Переменные перечислимого типа можно сравнить, так как они упорядочены и пронумерованы. Так выражения: север запад и бак
5. Ограниченный тип.
Если переменная принимает не все значения своего типа, а только в некотором диапазоне, то ее можно рассматривать как переменную ограниченного типа. Каждый ограниченный тип задается путем накладывания ограничения на базовые типы.
Описывается так:
TYPE =константа1..константа2
При этом должны выполняться следующие правила:
Обе ограниченные константы должны быть одного типа.
В качестве базового типа можно использовать любой простой тип, кроме действительного(real).
Начальные значение при определении ограниченного типа не должно быть больше конечного значения.
Пример:
type index=0..63;
letter=’a’..’z’; var char1,char2:letter;
a,g:index;
Можно описывать сразу в разделе описания переменных:
var a,g:0..63;
char1,char2:’a’..’z’.
Лабораторная работа № 2 «Простые типы данных»
Записать на Паскале соответствующие операторы присваивания:
а)
б)
в)
Записать операторы присваивания, которые переменной d присваивают:
а) среднее арифметическое чисел x, y, z;
б) расстояние между точками с координатами (x1,e1) и (x2,y2);
в) площадь треугольника со сторонами a, b и c.
Поменять местами значения переменных x и y.
Поменять местами значения переменных x, y и z так, чтобы в x оказалось значение переменной y, в y - значение переменной z, а в z - прежнее значение переменной x .
Переменной d присвоить дробную часть положительного числа x.
Вычислить длину окружности, площадь круга и бъем шара одного и того же заданного радиуса.
Вычислить периметр и площадь прямоугольного треугольника по длинам двух катетов.
По координатам трех вершин некоторого треугольника найти его площадь и периметр.
По длинам двух сторон некоторого треугольника и углу (в градусах) между ними найти длину третьей стороны и площадь этого треугольника.
Найти произведение цифр заданного четырехзначного числа.
Определить число, полученное выписыванием в обратном порядке цифр заданного трехзначного числа.
По координатам четырех вершин некоторго прямоугольника найти его площадь и периметр.
Вычислить объём призмы, боковые грани которой квадраты, а основанием служит равносторонний треугольник, вписанный в круг радиуса R.
4