Задания для самостоятельной работы. Используя среду программирования Delphi вывести на экран строку текста “Фамилия Имя
Используя среду программирования Delphi вывести на экран строку текста
- “Фамилия Имя Отчество”
- “Специальность и номер группы”
- “Привет другу”
Используя среду программирования Delphi осуществить вычисления следующих выражений
- 78*31+78*24+78*17+22*72
- 7,3*10,5+7,3*15+2,7*10,5+15*2,7
Тема 2.1.2 Данные: понятия и типы
Данные в языке Паскаль. Примеры использования, различный типов данных. Преобразование типов. Совместимость типов.
После изучения темы студент должен
знать:
- классификацию типов данных;
- Примеры использования;
- Способы преобразования типов данных;
Уметь
- Использовать типы данных для написания программ;
- Осуществлять преобразование типов данных.
Данные в языке Паскаль
В языке Паскаль любая переменная характеризуется своим типом.
Под типом, в данном случае, понимается множество значений, которые
может принимать переменная, а также множество операций, допустимых над данной переменной. Тип определяет формат внутреннего представления данных в памяти компьютера.
Тип переменной определяется при ее описании, и он не может быть
изменен в процессе выполнения программы. Переменная может участвовать только в операциях, допустимых ее типом.
Паскаль имеет развитую систему типов. Классификация типов данных,
приведенная на рисунке, взята из книги и не является единственной. В языке предусмотрен механизм создания новых типов данных на основе базовых. Поэтому общее число типов, используемых в программе, может быть сколь угодно большим.
Рассмотрим сначала так называемые простые или базовые типы, являющиеся основой для построения других типов. Их иногда называют также стандартными типами данных.
![]() |
Порядковые типы данных
Порядковые типы характеризуются тем, что каждый из них имеет конечное число возможных значений и с каждым из них можно сопоставить некоторое целое число - порядковый номер значения. К порядковым типам относятся:
- целый тип;
- логический (или булевой) тип;
- символьный тип;
- перечислимый (или перечисляемый) тип;
- ограниченный (или интервальный) тип, который также называют тип-диапазон.
К любому из них применима стандартная функция ORD(Х), результатом которой является порядковый номер значения Х. К порядковым типам можно также применять функции:
PRED(X) - возвращает предыдущее значение порядкового типа;
SUCC(X) - возвращает следующее значение порядкового типа.
Целые типы данных
Эта группа типов обозначает множество целых чисел в различных диапазонах. Диапазон возможных значений целых типов зависит от их внутреннего представления, которое может занимать один, два или четыре байта.
В таблице 1 приведены имена (или названия) всех возможных целых типов (их всего 5), а также длина их внутреннего представления в байтах и диапазоны возможных значений каждого из типов.
Таблица 1
Целые типы | ||
Название | Длина, байт | Диапазон значений |
Byte | 0…255 | |
ShortInt | -128…+127 | |
Word | 0…65535 | |
Integer | -32768…+32767 | |
LongInt | -2147483648…+2147483647 |
Значения целых типов могут изображаться в программе двумя способами: в десятичном виде (в виде последовательности цифр от 0 до 9) и в шестнадцатеричном виде (в виде последовательности цифр от 0 до 9 и букв от A до F, перед которыми ставится знак $).
Над целыми значениями допустимы следующие арифметические операции: + - сложение, - - вычитание, * - умножение, / - деление и две дополнительные операции "типа деление", а именно, Div - деление нацело, с отбрасыванием дробной части и Mod - взятие остатка от целочисленного деления.
При применении к целым значениям всех этих операций, кроме / - деления получается результат целого типа, а деление (/) всегда дает вещественный результат.
К значениям целых типов могут быть применены стандартные процедуры и функции, некоторые из них приведены в таблицах 2 и 3.
При действиях с целочисленными значениями тип результата будет соответствовать типу операндов, а если операнды относятся к различным целым типам, - типу того операнда, который имеет максимальный диапазон значений. Возможное переполнение результата никак не контролируется, что может привести к непредсказуемым результатам.
Таблица 2
Стандартные функции, применимые к целым типам | |||
Обращение | Тип аргумента | Тип результата | Действие |
Hi(X) | Integer Word | Byte Byte | Возвращает старший байт аргумента |
Lo(X) | Integer Word | Byte Word | Возвращает младший байт аргумента |
Odd(X) | LongInt | Boolean | Возвращает значение True, если Х - если Х - нечетное |
Swap(X) | Integer Word | Integer Word | Меняет местами байты в слове |
Таблица 3
Стандартные процедуры, применимые к целым типам | ||
Описание процедуры | Тип параметров | Назначение |
Randomize | Без параметров | Гарантирует несовпадение последо- вательностей случайных чисел, выдаваемых функцией Random |
Inc(X) | X - целое | Увеличивает значение Х на 1 |
Dec(X) | X - целое | Уменьшает значение Х на 1 |
Inc(X,N) | Dec(X,N) | Увеличивает значение Х на N |
Dec(X,N) | Dec(X,N) | Уменьшает значение Х на N |
Символьный тип данных
Значениями символьного типа (Char) являются символы из множества ASCII (American Code for Information Interchange - Американский стандартный код для обмена информацией). Это множество состоит из 256 различных символов, упорядоченных определенным образом. Оно содержит символы строчных и прописных букв, цифр и других символов, включая специальные управляющие символы. Каждому символу приписывается целое число в диапазоне от 0 до 255. Это число служит кодом внутреннего представления символа, его возвращает функция ORD.
Если символьное значение имеет графическое изображение, то оно изображается в программе соответствующим знаком, заключенным в апострофы (одинарные кавычки): 'A', 'B', …, 'a', 'b', …, '1', '2', …, '*', '+' и т. д.
Если символ не имеет графического изображения, то используют другую форму записи: #K, где К - целочисленный код символа.
Например: #13 - Enter; #27 - Esc; #8 - Backspace.
Так как символы упорядочены, то к типу Char применимы операции сравнения, например: 'A' < 'M'; 'A' < 'a' и т. п., а также стандартные функции:
CHR(b) - преобразует выражение b типа byte в символ и возвращает его своим значением.
Например: Chr(90) возвращает в качестве результата символ 'Z'.
ORD(S) - возвращает в качестве результата код символа S в таблице символов ASCII.
Например: Ord('Z') возвращает код, равный 90.
UPCASE(CH) - возвращает прописную латинскую букву, если CH - строчная латинская буква, в противном случае возвращает сам символ CH.
Например: Upcase('z') возвращает символ 'Z'.
PRED(S) - возвращает символ, предшествующий символу S.
SUCC(S) - возвращает символ, следующий за символом S.