Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
3lab.docx
Скачиваний:
52
Добавлен:
12.06.2018
Размер:
581.05 Кб
Скачать

Федеральное агентство связи

Федеральное государственное бюджетное образовательное

учреждение высшего образования

Поволжский государственный университет

телекоммуникаций и информатики

Кафедра Информационных систем и технологий

Лабораторная работа №3

По дисциплине «Инструментальные средства информационных систем»

Тема: «Структура программы и типы в языке FreePascal»

Руководитель доцент к. т. н.

__________________ Никитин К.А.

Самара 2018

Цель работы

Изучение интегрированной среды разработки FreePascal.

Получение практических навыков создания простых программ в среде FreePascal.

1. Активизировать ИСР. Ознакомится с окнами ИСР.

Пункты главного меню главного окна ИСР:

Пункт

Назначение

File

Работа с файлами

Edit

Правка

Search

Поиск фрагментов

Run

Прогон и отладка

Compile

Компиляция

Debug

Отладка

Tools

Инструментарий

Options

Опции

Window

Перечень окон для выбора фокуса

Help

Справка

2. Создать проект Prg_1_1. Он должен в символьном режиме выводить на экран фразу «Hello World!».

Листинг программы

program prg_1_1; // имя программы

uses // Используемый модуль – SysUtils

SysUtils;

begin

writeln('Hello World!’); // для вывода на экран сообщения и перевода курсора на другую строчку;

readln; // для ввода данных

end.

3. Создать программу взаимных преобразований численных данных в соответствии с вариантом. Нужно преобразовывать численные данные из типа Start в типы Fin1 и Fin2 для вещественных и целых чисел.

Типы вещественных чисел

Типы целых чисел

Start

Fin_1

Fin_2

Start

Fin_1

Fin_2

5.

Extended

Real

Double

Shortint

Cardinal

LongInt

Листинг программы

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. Меню работы с файлами (File)

New (создать новый файл)Расширение.PAS

Open (открыть существующий файл)

Save (сохранить файл)

Save as (сохранить файл под именем...)

Save all (сохранить все измененные файлы)

Change dir (изменить текущий каталог) Изменяет текущий каталог, в котором производится поиск файлов и в который записываются файлы.

Print (распечатать файл) Если необходимо распечатать только фрагмент программы, следует Ctrl+K .Для прекращения печати следует нажать клавишу Esc.

Printer setup (установить параметры принтера)

DOS shell (выход в операционную систему) Осуществляет временный выход в операционную систему без удаления из оперативной памяти интегрированной среды. Для возврата в среду следует набрать команду Exit.

Exit (выход)

Меню редактирования (Edit)

Undo (удалить изменения) Восстанавливает первоначальное содержание текущей редактируемой строки.

Redo (восстановить изменения) Восстанавливает изменения, удаленные командой Undo.

Cut (удалить фрагмент) Удаляет выделенный блок текста

Сору (скопировать фрагмент) Копирует выделенный блок текста

Paste (вставить информацию).

Clear (удалить фрагмент) Удаляет выделенный блок текста

Show clipboard (открыть окно промежуточного буфера)

Меню поиска информации (Searh)

Find (найти фрагмент) Открывает окно диалога, с помощью которого задаются: фрагмент для поиска и условия поиска - критерии (различать или нет заглавные и строчные буквы, искать ли только целые слова, учитывать ли при поиске какие-либо дополнительные признаки), диапазон поиска (поиск во всем тексте или только в выделенном фрагменте), направление поиска (вперед или назад по тексту), начало поиска (с начала или конца текста, от курсора).

Replace (заменить фрагмент) Открывает окно диалога, похожее на окно при использовании команды Find и отличающееся от него тем, что необходимо задать фрагмент, на который следует заменить исходный фрагмент.

Search again (повторный поиск) После выполнения команды Find или Replace осуществляет поиск следующего вхождения искомого фрагмента текста, при этом сохраняются все заданные условия поиска.

Go to line number (перейти к строке с заданным номером) Осуществляет переход к строке с заданным номером, задаваемым в окне диалога.

Show last compile error (показать последнюю ошибку компиляции) Позволяет повторно определить место последней ошибки компиляции и выдает сообщение о виде ошибки.

Find error (найти ошибку) Находит в тексте программы место ошибки, выданной операционной системой и возникшей на этапе выполнения.

Find procedure (найти подпрограмму) Осуществляет поиск подпрограммы, имя которой задано в окне диалога. Команда работает только во время отладки программы.

Соседние файлы в предмете Инфокоммуникационные системы и сети