Задания для самостоятельной работы. Используя среду программирования 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.