Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 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 имеет следующую структуру:

􀂃 Заголовок.

􀂃 Разделы объявлений констант, переменных, типов, меток, подпрограмм (процедур и функций).

􀂃 Раздел операторов, помещенный в операторные скобки beginend.

􀂃 Точка, как признак конца программы.

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 часов). Тип позволяет выполнять с датой/временем операции, как с вещественными числами.

 

 

Date: 2015-05-22; view: 752; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.005 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию