Структура программы и типы в языке FreePascal
Скачать 0.55 Mb.
|
Федеральное агентство связи Федеральное государственное бюджетное образовательное учреждение высшего образования Поволжский государственный университет телекоммуникаций и информатики Кафедра Информационных систем и технологий Лабораторная работа №3 По дисциплине «Инструментальные средства информационных систем» Тема: «Структура программы и типы в языке FreePascal» Руководитель доцент к. т. н. __________________ Никитин К.А. Самара 2018 Цель работы Изучение интегрированной среды разработки FreePascal. Получение практических навыков создания простых программ в среде FreePascal. 1. Активизировать ИСР. Ознакомится с окнами ИСР. Пункты главного меню главного окна ИСР:
2. Создать проект Prg_1_1. Он должен в символьном режиме выводить на экран фразу «Hello World!». Листинг программы program prg_1_1; // имя программы uses // Используемый модуль – SysUtils SysUtils; begin writeln('Hello World!’); // для вывода на экран сообщения и перевода курсора на другую строчку; readln; // для ввода данных end. 3. Создать программу взаимных преобразований численных данных в соответствии с вариантом. Нужно преобразовывать численные данные из типа Start в типы Fin1 и Fin2 для вещественных и целых чисел.
Листинг программы program prg_1_2; uses // Используемый модуль – SysUtils SysUtils; const //не изменяющиеся значения real_0: extended =3.7145; int_0:shortint =113; var real_1:real; real_2:double; int_1:cardinal; int_2:longint; 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,' extended''); //10 – отведённое место для целых writeln('real_1=',real_1:10:6,sizeof(real_1):4,' real); //10 – отведённое место для дроби writeln('real_2=',real_2:10:6,sizeof(real_2):4,' double'); //SizeOf возвращает размер аргумента в байтах readln; writeln('Целое число в разных типах'); int_1:=int_0; int_2:=int_0; writeln; writeln('Значения и размер в байтах в разных типах'); writeln('int_0=',int_0:10,sizeof(int_0):4,' shortint'); writeln('int_1=',int_1:10,sizeof(int_1):4,' cardinal'); writeln('int_2=',int_2:10,sizeof(int_2):4,' longint'); readln; end. 4. Создать программу взаимных преобразований строковых и символьных типов. Она должна отображать фамилию студента строками разного типа и добавлять к строке символ. program prg_1_3; uses SysUtils; var Str_1:string; Str_2:string[15]; ShortStr:ShortString; AnsiStr:AnsiString; WideStr:WideString; MyChar:char; begin Str_1:=’SmolStepanova'; writeln('Строки в разных типах'); writeln; Str_2:=Str_1; ShortStr:=Str_1; AnsiStr:=Str_1; WideStr:=Str_1; writeln('Значения и размер в байтах в разных типах'); writeln; writeln('AnsiStr =',AnsiStr:15,SizeOf(AnsiStr):5,' AnsiString'); writeln('Str_1 =',Str_1:17,SizeOf(Str_1):7,' String'); writeln('WideStr =',WideStr:15,SizeOf(WideStr):5,' WideString'); writeln('ShortStr =',ShortStr:14,SizeOf(ShortStr):7,' ShortString'); writeln('Str_2 =',Str_2:17,SizeOf(Str_2):6,' String[..]'); readln; writeln('Добавим к строке символ !'); writeln; MyChar:='!'; Str_2:=Str_2+MyChar; // Операция + выполняет конкатенацию (присоединение в конец) writeln('Str_2 =',Str_2:9,SizeOf(Str_2):5,' String[..]'); readln; end. 5. Создать программу работы с типом TDateTime. Она должна запрашивать дату и время рождения студента, выводить текущие дату/время, запрашивать желаемое время дальнейшего обучения, выводить дату/время и день недели конца обучения. Для работы с датой и временем определен тип TDateTime. Он в формате вещественного числа содержит и дату (целая часть - число суток, прошедших с 30.12.1899) и время (дробная часть - часть суток, прошедших с 0 часов). Тип позволяет выполнять с датой/временем операции, как с вещественными числами. program prg_1_4; uses SysUtils; var Date_1,Time_1,DateTime1:string; DateTime_1,DateTime_2:TDateTime; // тип TDateTime в формате вещественного числа содержит и дату (целая часть - число суток, прошедших с 30.12.1899) и время (дробная часть - часть суток, прошедших с 0 часов) Day,Time:integer; begin writeln('Введите дату рождения день.месяц.год'); readln(Date_1); writeln; writeln('Введите время рождения часы.минуты.секунды'); readln(Time_1); writeln; DateTime_2:=Now; writeln('Сегодня ',DateTimeToStr(Now)); // встроенная функция Now - получения текущей даты и времени и встроенная функция DateTimeToStr для преобразования данных в строку writeln; writeln('Сколько времени в часах вы ещё хотите учиться?'); readln(Time); DateTime_2:=DateTime_2+(Time/24); Day:=DayOfWeek(DateTime_2);// встроенная функция DayOfWeek- получения дня недели writeln('Вы станете умным ', DateTimeToStr(DateTime_2)); // встроенная функция DateToStr для преобразования данных в строку writeln('Это будет день недели номер ',Day); readln; end. Результат программы: Type TDateTime = Record Year, Month, Day : Word; Hour, Min, Sec : Word; End; Допустимые диапазоны: Year 1980 .. 2099 { Год } Month 1 .. 12 { Месяц } Day 1 .. 31 { День } Hour 0 .. 23 { Часы } Min 0 .. 59 { Минуты } Sec 0 .. 59 { Секунды } Сколько времени в часах Сколько времени в минутах Сколько времени в секундах Сколько времени в часах и минутах Функция StrToTime (Const S: ShortString; сепаратор: Char): TDateTime; Преобразует строку времени К.В. 4.1. Активизация ИСР и выход из среды. 4.2. Назначение и содержание окна ИСР. Интегрированная среда разработки (ИСР) FreePascal предназначена для создания консольных приложений с использованием компилятора FPC (Free Pascal Compiller). Она включает редактор с синтаксическими выделениями, отладчик, браузер символов и др. Среда не поддерживает графику. При старте ИСР из Windows выводится окно ИСР. Оно содержит: • Строку заголовка с именем ИСР – Free Pascal. • Главное меню. • Рабочее поле. • Окно сообщений Messages. • Строка быстрого выбора часто используемых команд. 4.3. Назначение пунктов меню File, Edit, Search. |