Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Пример выполнения. Задание 1. Создать программу преобразования численных данных из типа Start в типы Fin1, Fin2 и Fin3:Задание 1. Создать программу преобразования численных данных из типа Start в типы Fin1, Fin2 и Fin3: 1. Для вещественных чисел: Start = Real, Fin1 = Extended, Fin2 = Single, Fin3 = Currency. 2. Для целых чисел: Start = Smallint, Fin1 = Cardinal, Fin2 = Longint, Fin3 = Byte. Для контроля размеров данных в программе используется встроенная функция SizeOf, возвращающая размер аргумента в байтах. Каждый раз данные выводятся в виде значения, размера в байтах и типа данных. Числа для наглядности отображаются в формате с фиксированной точкой. При этом задается число позиций под выводимое значение, что позволяет позиционировать выводимые данные в строке. Листинг программы program Prg_2_1; {$APPTYPE CONSOLE} Uses SysUtils, EsConsole in 'EsConsole.pas'; Const real_0:real=123.456789; int_0:smallint=-1111; Var real_1:extended; real_2:single; real_3:currency; int_1:cardinal; int_2:longint; int_3:byte; Begin writeln('Вещественное число в разных типах'); writeln; real_1:=real_0; real_2:=real_0; real_3:=real_0; writeln('Значения и размер в байтах в разных типах'); writeln('real_0=',real_0:10:6,sizeof(real_0):4,' real'); writeln('real_1=',real_1:10:6,sizeof(real_1):4,' extended'); writeln('real_2=',real_2:10:6,sizeof(real_2):4,' single'); writeln('real_3=',real_3:10:6,sizeof(real_3):4,' currency'); readln; writeln('Целое число в разных типах'); int_1:=int_0; int_2:=int_0; writeln; writeln('Значения и размер в байтах в разных типах'); writeln('int_0=',int_0:10,sizeof(int_0):4,' smallint'); writeln('int_1=',int_1:10,sizeof(int_1):4,' cardinal'); writeln('int_2=',int_2:10,sizeof(int_2):4,' longint'); writeln('int_3=',int_3:10,sizeof(int_3):4,' byte'); readln; end. В листинге программы в разделе констант const объявлены, как типизированные константы, стартовые числа Start. В разделе var объявлены группы переменных Fin1, Fin2, Fin3 для каждого вида чисел. На рис. 2.1 показан вид окна консольного приложения перед закрытием программы. рис. 2.1. Окно задания 1 при выполнении Задание 2 Создать программу взаимных преобразований строковых и символьных типов. Она должна отображать слово World строками разного типа и добавлять к строке символ восклицательного знака!. Листинг программы program Prg_2_2; {$APPTYPE CONSOLE} Uses SysUtils, EsConsole in 'EsConsole.pas'; Var Str_1: string; Str_2: string [10]; ShortStr:ShortString; AnsiStr:AnsiString; WideStr:WideString; MyChar:char; Begin Str_1:='World'; writeln('Строки в разных типах'); writeln; Str_2:=Str_1; ShortStr:=Str_1; AnsiStr:=Str_1; WideStr:=Str_1; writeln('Значения и размер в байтах в разных типах'); writeln; writeln('AnsiStr =',AnsiStr:7,SizeOf(AnsiStr):5,' AnsiString'); writeln('Str_1 =',Str_1:9,SizeOf(Str_1):5,' String'); writeln('WideStr =',WideStr:7,SizeOf(WideStr):5,' WideString'); writeln('ShortStr =',ShortStr:6,SizeOf(ShortStr):5,' ShortString'); writeln('Str_2 =',Str_2:9,SizeOf(Str_2):5,' String[..]'); readln; writeln('Добавим к строке символ!'); writeln; MyChar:='!'; Str_2:=Str_2+MyChar; writeln('Str_2 =',Str_2:9,SizeOf(Str_2):5,' String[..]'); readln; end. Рис. 2.2. Окно задания 2 при выполнении Задание 3 Создать программу работы с типом TDateTime. Она должна запрашивать дату и время рождения, выводить текущие дату/время, запрашивать желаемое время обучения, выводить дату/время и день недели конца обучения. На Рис. 2.3 показано окно работающего приложения задания 3. Листинг программы program Prg_2_3; {$APPTYPE CONSOLE} Uses SysUtils, EsConsole in 'EsConsole.pas'; Var Date_1, Date_2, Time, DateTime: string; DateTime_1, DateTime_2:TDateTime; Day:integer; Begin writeln('Введите дату рождения в формате день.месяц.год'); readln(Date_1); writeln; writeln('Введите время рождения в формате часы.минуты.секунды'); readln(Time); writeln; DateTime:=Date_1+Time; DateTime_1:=StrToDateTime(DateTime); DateTime_2:=Now; writeln('Сегодня ',DateTimeToStr(Now)); writeln; writeln('Сколько дней еще хотите учиться?'); readln(Day); writeln; DateTime_2:=DateTime_2+Day; Day:=DayOfWeek(DateTime_2); writeln('Вы станете совсем умным ',DateToStr(DateTime_2)); writeln('Это будет день недели номер ',Day); readln; end. Рис. 2.3. Окно задания 3 при выполнении Выводы 1. Программа на языке Delphi имеет следующую структуру: Заголовок. Разделы объявлений констант, переменных, типов, меток, подпрограмм (процедур и функций). Раздел операторов, помещенный в операторные скобки begin … end. Точка, как признак конца программы. 2. Для чисел возможны типы: вещественные, целые без знака и со знаком, 16-ричные. 3. Вещественные числа запоминаются в формате с плавающей точкой. Для них лучше всего использовать тип real. При переходе к типу с меньшим размером теряется точность. При использовании типов с максимальными размерами потребная память увеличивается, но точность может не измениться. Для округления результатов используются типы вещественных чисел с ограниченной дробной частью: comp (0 разрядов) и currency (4 разрядов). 4. Целые числа запоминаются в формате с фиксированной точкой. Для них лучше всего использовать тип integer. При переходе к типу с меньшим размером возможна грубая ошибка, если число не умещается в отведенную под него память. Целые числа без знака целесообразно использовать для уменьшения занимаемой памяти. 5. Для работы с короткими строками используются типы ShortString, String [N до 255]. Это область в статической памяти, назначаемая при компиляции программы. 6. Для работы с длинными строками используются типы String, AnsiString, WideString. Это указатели размером 4 байта, в которые помещается адрес начала строки в динамической памяти, назначаемый при исполнении программы. 7. Операция + со строками выполняет конкатенацию (присоединение в конец) строк или символов. 8. Для работы с датой и временем определен тип TDateTime. Он в формате вещественного числа содержит и дату (целая часть - число суток, прошедших с 30.12.1899) и время (дробная часть - часть суток, прошедших с 0 часов). Тип позволяет выполнять с датой/временем операции, как с вещественными числами.
|