Лабораторная работа: Разработка формата хранения данных программ и решение задач

Лабораторная работа: Разработка формата хранения данных программ и решение задач




💣 👉🏻👉🏻👉🏻 ВСЯ ИНФОРМАЦИЯ ДОСТУПНА ЗДЕСЬ ЖМИТЕ 👈🏻👈🏻👈🏻




























































Цель: изучить возможности работы с файлами в языке Pascal. Получить навыки разработки формата хранения данных на примере решения задач аналитической геометрии. Освоить приемы структурирования программ.
Задано множество точек. Найти параметры окружности минимального радиуса проходящей через три точки множества.
Изучить процедуры и функции языка Pascal для работы с файлами прямого и последовательного доступа.
Согласно заданному варианту, разработать формат и структуру файла прямого доступа для хранения входных данных.
Выходные данные вывести на экран и сохранить в текстовом файле.
При написании программы организовать контроль вводимых данных используя функцию IOResult();
Условие задачи с реквизитами исполнителя должны быть представлены на экране при запуске программы.
Структурировать программу с использованием процедур и функций.
Реализовать возможность ввода данных из файла и с клавиатуры.
Файл - именованная область внешней памяти ПК (жесткого диска, гибкой дискеты, электронного «виртуального» диска), либо логическое устройство – потенциальный источник или приемник информации.
Классификация файлов по типу доступа к элементам:
Файлы прямого доступа – это файлы, у которого в любой момент времени, возможно, получить элемент с указанным доступом:
2) Файлы последовательного доступа – это файлы у которых доступ к элементам осуществляется строго последовательно и отсутствует доступ по номеру элемента. (текстовые).
В своей лабораторной работе я использовал файлы последовательного доступа. Следовательно, я использовал текстовые файлы, что обуславливает точность хранения данных программы. Для перевода числа в строку используем Function IntToStr, для создания файла используем Procedure CrTFile, для считывания из файла используем Procedure ReDFile.
Procedure titlist; Tитульная страница.
Выводит на экран условия задачи с реквизитами исполнителя.
//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//
Function IntToStr; Перевод числа в строку.
Эта функция переводит число в строку.
//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//
Procedure PROV; Проверка вводимых данных.
В этой процедуре происходит контроль вводимых данных при помощи Val ().
//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//
Procedure Osnova; Расчёты программы
В этой процедуре происходят расчёты основной программы:
Проверка на равность отдельных отрезков исходящих из одной точки.
На существование возможных радиусов. И на существование наименьшего радиуса. Запись в текстовый файл Минимального радиуса.
//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//
Procedure Klava; Bвод входных данных с клавиатуры
Ввод входных данных с клавиатуры. Контроль вводимых данных при помощи процедуры Val (). И в дальнейшем выполнение расчётов.
//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//
Procedure ReDFile; Cоздание выходного файла
Считывание уже записанного файла, в который записываются координаты точек. Проверка на существование файла с помощью функции IOResult ().
//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//
Procedure CrTFile; Cоздание входного файла
Создание файла. Запись в этот файл координат точек.
//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//
Procedure Menu; Предоставление пользователю варианта выбора дальнейшего действия программы.
//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//
3. Обоснование выбора средств программной реализации блоков

Procedure titlist; Tитульная страница.
Выводит на экран условия задачи с реквизитами исполнителя.
//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//
Function IntToStr(V:integer):string; Перевод числа в строку.
V - число, которое переводим в строку – S..
//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//
Procedure PROV(Prigl:string; var V:integer; nz,vz:integer); Проверка.
Prigl - приглашение, V - возращаемое число,
Nz - нижнее значение, vz - верхнее значение.
V – переменная, которая имеет непосредственную связь с самой программой.
Nz, vz – параметрические заначения.
В этой процедуре происходит контроль вводимых данных при помощи Val ().
Если мы вводим буквы то, это строковые значения и выводится сообщение:
Если мы вводим кол-во точек больше или меньше нужного выводится сообщение: 'ОШИБКА!!! Введенное число вне рамок диапазона'.
Если мы вводим координаты точек больше большего значения или меньше меньшего то выводиться сообщение: 'ОШИБКА!!! Число должно быть от Nz до Vz.
//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//
Procedure Osnov(var m:integer;d:pnt); Расчёты программы.
В этой процедуре происходят расчёты основной программы:
Проверка на равность отдельных отрезков исходящих из одной точки.
На существование возможных радиусов. И на существование наименьшего радиуса. Запись в текстовый файл Минимального радиуса.
//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//
Procedure Klava; Bвод входных данных с клавиатуры.
Ввод входных данных с клавиатуры. Контроль вводимых данных при помощи процедуры Val (). И в дальнейшем выполнение расчётов.
//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//
Procedure ReDFile; Cоздание выходного файла.
Считывание уже записанного файла, в который записываются координаты точек. Проверка на существование файла с помощью функции IOResult ().
Если файл существует производится выполнение расчётов. Если не существует, то появляется сообщение: 'О Ш И Б К А ! Файл не существует!'
//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//
Procedure CrTFile; Cоздание входного файла.
Создание файла. Запись в этот файл координат точек.
//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//
Procedure Menu; Выводит на экран меню программы.
Данная процедура выводит на экран меню программы, руководствуясь которым мы можем выполнять различные дальнейшие действия.
//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//
Сама программа состоит из двух процедур: Titlist, Menu.
//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//
Type Point = Record {zapis s koordinatami to4ek}
pnt = Array [1..20] Of Point; {koordinati to4ek}
{*************************** ************************************************}
{****************************************************************************}
writeln(' Doneckiy gosudarstvennuy institut intelekta');
write('Kafedra programnogo obespecheniy');
writeln(' intellektualnuh sistem');
writeln(' Laborotornay rabota #3');
writeln(' po teme:"Razrabotka formatov hranenij dannih programmi. "');
writeln(' Zadanie: Zadono mnogestvo tochek . Nayti parametru');
writeln('minimalnogo radiusa,prohodyshie cherez 3 tochki mnogestva.');
write('Nagmite lubuy klavishu...');
{****************************************************************************}
{****************************************************************************}
function IntToStr(V:integer):string;
{**************************** *********************************************}
procedure PROV(Prigl:string; var V:integer; nz,vz:integer);
{Prigl-priglawenie, V-vozrawaemoe 4islo,
nz-nignee zna4enie,vz-verhnee zna4enie}
writeln(' OSHIBKA','NEKORECTNIE DANNUE')
writeln(' OSHIBKA','VVEDENNOE CHISLO VNE RAMKAH DEAPOZONA')
writeln(' OSHIBKA','CHISLO DOLGNO BUT OT '+InttoStr(nz)+' DO '+IntToStr(vz));
{****************************************************************************}
{****************************************************************************}
procedure Osnov(var m:integer;d:pnt);
Var out_f:text; {M-kolli4estvo to4ek, D-koordinati tochek}
ki,kl,lk,li,ik,il:real; {dlinu vektorov}
rad1,rad2,rad3:real; {dlinu radiysov}
ik:=Sqrt(Sqr(D[i].x-D[k].x)+Sqr(D[i].y-D[k].y));
il:=Sqrt(Sqr(D[i].x-D[l].x)+Sqr(D[i].y-D[l].y));
writeln ( 'TOCHKA ',i,'- CENTR OKRYGNOSTI')
writeln('TOCHKA ',i,' NE JAVLJETSJ CENTROM OKRYGNOSTI');
ki:=Sqrt(Sqr(D[i].x-D[k].x)+Sqr(D[i].y-D[k].y));
kl:=Sqrt(Sqr(D[l].x-D[k].x)+Sqr(D[l].y-D[k].y));
writeln ( 'TOCHKA ',k,'- CENTR OKRYGNOSTI')
writeln('TOCHKA ',k,' NE JAVLJETSJ CENTROM OKRYGNOSTI');
lk:=Sqrt(Sqr(D[k].x-D[l].x)+Sqr(D[k].y-D[l].y));
li:=Sqrt(Sqr(D[i].x-D[l].x)+Sqr(D[i].y-D[l].y));
writeln ( 'TOCHKA ',l,'- CENTR OKRYGNOSTI')
writeln('TOCHKA ',l,' NE JAVLJETSJ CENTROM OKRYGNOSTI');
writeln ('Nagmite lubyu klaviwy...');
writeln ('Min. radiys= ' ,min:4:2,' ¤«п в®зЄЁ' ,i,'');
writeln ('Min. radiys= ' ,min:4:2,' dlj tochki' ,k,'');
writeln ('Min.radiys= ' ,min:4:2,' dlj tochki' ,l,'');
writeln ('Min.radiys= ' ,min:4:2,' dlj tochki' ,k,'');
writeln ('Min. radiys= ' ,min:4:2,' dlj tochki' ,l,'');
writeln ('Min. radiys= ' ,min:4:2,' dlju tochki' ,l,'');
writeln ('TOCHKA NE OBRAZUET RADIYS OKRYGNOSTI');
WriteLn('Min. radiys=: ', min:4:2);
write('Dlj sohranenij nagmite ''ctrl+S'' ');
write('Dlj prodolgenij nagmite ''Esc'' ');
write('Vvedite imj vihodnogo fajla: ');
WriteLn(out_f,'Min. radiys= ',min);
{******************** *******************************************************}
{****************************************************************************}
PROV('Kolli4estvo to4ek M=',m,3,20);
writeLn('Vvedite koordinati ', i, '-j to4ki:');
{*********************** ****************************************************}
{****************************************************************************}
writeln('OSHIBKA','FAJL NE SYWESTVYET');
{*********************** ****************************************************}
{****************************************************************************}
PROV('Vvedite kolli4estvo to4ek:',m,3,20);
writeLn('Vvedite koordinati ', i, '-j to4ki:');
{****************************************************************************}
{****************************************************************************}
writeLn('1: dlj voda vhodnih dannih s klaviatyru..');
writeLn('2: dlj s4ituvanij vhodnih dannih iz fajla..');
writeLn('3: dlj sozdanij vhodnogo fajla..');
Until (ch='1') or (ch='2') or (ch='3') or (ch='0');
{****************************************************************************}
{****************************************************************************}

Название: Разработка формата хранения данных программ и решение задач
Раздел: Рефераты по информатике, программированию
Тип: лабораторная работа
Добавлен 02:52:27 11 февраля 2009 Похожие работы
Просмотров: 16
Комментариев: 15
Оценило: 3 человек
Средний балл: 5
Оценка: неизвестно   Скачать

Срочная помощь учащимся в написании различных работ. Бесплатные корректировки! Круглосуточная поддержка! Узнай стоимость твоей работы на сайте 64362.ru
Привет студентам) если возникают трудности с любой работой (от реферата и контрольных до диплома), можете обратиться на FAST-REFERAT.RU , я там обычно заказываю, все качественно и в срок) в любом случае попробуйте, за спрос денег не берут)
Да, но только в случае крайней необходимости.

Лабораторная работа: Разработка формата хранения данных программ и решение задач
Практическая Работа Создание Электронной Почты
Почему Я Наставник Эссе
Скачать Собрание Сочинений Джека Лондона Fb2
Реферат по теме Сизод
Дипломная работа по теме Моделирование колебаний климата
Доклад по теме Вопросы межкультурной коммуникации и социокультурной компетенции в рамках социального проекта
Реферат: Біржі і біржова діяльність
Курсовая работа: Грошово-кредитна політика України: проблеми становлення і тенденції розвитку
Исполнительная власть в РФ
Сочинение по теме Пределы вариативности исконной и заимствованной лексемы в цыганских диалектах
Реферат: Делопроизводство в кадровой службе 2
Картина Остроухова Сочинение Для 2
Доклад: Жизнь Толстого в Ясной Поляне
Реферат: Законодательство о налогах и сборах
Реферат по теме План-разработка открытого урока по истории России в 11-м классе
Реферат по теме О психологии изобретательского творчества
Курсовая работа по теме Понятие стадий совершения преступления и их виды
Как Оформлять Автореферат Диссертации
Эссе Путь От Сердца К Сердцу
Реферат: Проблемы экологизации в РФ
Реферат: Формы правления и государственного устройства в России
Реферат: Иерархия в многопроцессорных системах
Реферат: Псориатический артрит II степень, Rg ст. II, НФС II. Вульгарный псориаз, стационарная стадия

Report Page