- •1 Специальная часть
- •Постановка задачи
- •1.1.2 Описание математической модели
- •Технология разработки программы
- •Описание среды программирования
- •Входные и выходные данные
- •Структурное проектирование задачи
- •1.2.4 Методы решения задачи
- •1.2.5 Аномалии
- •1.2.6 Реализация защитного программирования
- •1.2.7 Оптимизация программы.
- •1.3 Отладка и тестирование программы
- •1.4 Анализ результатов решения
- •1.5 Инструкция пользователя (системные требования, инсталляция, инструкция пользователя)
- •2 Экономическая часть Исходные данные
- •Материальные затраты:
- •2.1 Расчет затрат на разработку программы
- •2.1.1 Материальные затраты
- •2.1.2 Заработная плата разработчиков
- •2.1.3 Расчет итоговой калькуляции проекта
- •2.2. Расчет коммерческой эффективности проекта от реализаци
- •2.2.1 Расчет экономической эффективности проекта
- •2.2.2 Расчет денежных потоков
- •2.2.3 Расчет основных показателей эффективности
- •2.2.4 Расчет уровня безубыточности
- •2.2.5 Вывод о коммерческой эффективности проекта
- •2.3. Расчет экономической эффективности применения программы в организации
- •2.3.1 Расчет денежных потоков
- •2.3.2 Расчет основных показателей эффективности
- •2.3.3 Вывод об экономической эффективности применения базы данных
- •3 Заключение
- •4 Литература
- •Приложение а
- •Приложение б
- •Приложение в
- •Приложение г
Входные и выходные данные
Входные данные вводятся с помощью форм ввода данных, приведенных в Приложении Б. Поля на формах могут быть как числовые, так и символьные. Выходные данные приведены в Приложении В, и выводятся на экран в виде выходных форм, после добавления новых данных, редактирования информации и сообщений об ошибках.
Также выходные данные могут предоставляться в виде офисного приложения Microsoft Word, на котором будут расположены 4 варианта базовых логических операций, созданных преподавателем.
Структурное проектирование задачи
С целью повышения надежности и эффективности разрабатываемой программы было использовано сочетание восходящего и нисходящего проектирования, модульное программирование.
Модульное программирование - это процесс разбиения программы на логические части, называемые модулями и последовательное программирование каждой части. Размер модуля определяется возможностью вносить в него изменения, не вызывая изменений в других модулях.
Программа имеет иерархическую структуру, приведенную на Рис. 2 (Приложение А)
1.2.4 Методы решения задачи
Создание функции
Создание позволяет создать новую функцию, которую в последствии преподаватель задаст для решения дома.
var
s1,s2,s3,y1,y2,y3: string;
x1l1,x2l1,x3l1,x4l1:string;
x1l2,x2l2,x3l2,x4l2:string;
x1l3,x2l3,x3l3,x4l3:string;
x1l4,x2l4,x3l4,x4l4:string;
begin
Label23.Caption:='';
Label24.Caption:='';
Label25.Caption:='';
Label26.Caption:='';
if (CoB11.Text='') or (CoB12.Text='') or (CoB13.Text='') then
ShowMessage('Заполните все операции 1 функции!!!')
else
begin
begin
if Chb11.Checked = true then
begin
x1l1:='not x1 ';
x1l2:='x1 ';
x1l3:='not x1 ';
x1l4:='not x1 ';
end
else
x1l4:='x1 ';
x1l1:='x1 ';
x1l3:='x1 ';
x1l2:='not x1 ';
end;
Begin
s1:=Cob11.Items[Cob11.ItemIndex];
if s1 = 'Конъюнкция (*)' then
y1:='and ';
if s1 = 'Дизъюнкция (+)' then
y1:='or ';
if s1 = 'Исключающее (ИЛИ)' then
y1:='xor ';
end;
begin
if Chb12.Checked = true then
begin
x2l4:='not x2 ';
x2l1:='not x2 ';
x2l2:='x2 ';
x2l3:='x2 ';
end
else
x2l4:='x2 ';
x2l2:='not x2 ';
x2l1:='x2 ';
x2l3:='not x2 ';
end;
Begin
s2:=Cob12.Items[Cob12.ItemIndex];
if s2 = 'Конъюнкция (*)' then
y2:='and ';
if s2 = 'Дизъюнкция (+)' then
y2:='or ';
if s2 = 'Исключающее (ИЛИ)' then
y2:='xor ';
end;
begin
if Chb13.Checked = true then
begin
x3l4:='not x3 ';
x3l2:='not x3 ';
x3l1:='x3 ';
x3l3:='not x3 ';
end
else
x3l4:='x3 ';
x3l2:='x3 ';
x3l1:='not x3 ';
x3l3:='not x3 ';
end;
Begin
s3:=Cob13.Items[Cob13.ItemIndex];
if s3 = 'Конъюнкция (*)' then
y3:='and ';
if s3 = 'Дизъюнкция (+)' then
y3:='or ';
if s3 = 'Исключающее (ИЛИ)' then
y3:='xor ';
end;
begin
if Chb14.Checked = true then
begin
x4l4:='not x4 ';
x4l1:='not x4 ';
x4l2:='x4 ';
x4l3:='not x4 ';
end
else
x4l4:='x4 ';
x4l1:='x4 ';
x4l2:='not x4 ';
x4l3:='x4 ';
end;
begin
Label23.Caption:=x1l4+y1+x2l4+y2+x3l4+y3+x4l4;
Label24.Caption:=x1l1+y2+x2l1+y3+x3l1+y1+x3l1;
Label25.Caption:=x1l2+y3+x3l2+y2+x3l2;
Label26.Caption:=x1l3+y1+x2l3+y2+x3l3+y3+x4l3+y1+x1l3;
end; end;
Редактирование записей
Редактирование записей позволяет изменить информацию о группе, если были внесены какие-либо изменения.
var
f:Textfile;
begin
DeleteFile('spiski\'+f1+'.txt');
AssignFile(f,'spiski\'+Edit2.Text+'.txt');
ReWrite(f);
Writeln(f,Memo2.Text);
Closefile(f);
Просмотр данных
Просмотр данных позволяет просмотреть данные о группе, для выставления оценок полученных за лабораторную работу в журнал.
AssignFile(f,'spiski\'+Edit3.Text+'.txt');
Reset(f);
while not EOF(f) do
begin
readln(f, buf);
Memo3.Lines.Add(buf);
end;
CloseFile(f);