ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ РФ
Государственное образовательное учреждение
среднего профессионального образования
КУБАНСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
КУРСОВАЯ РАБОТА
ЭКОНОМИЧЕСКАЯ ИНТЕРПРЕТАЦИЯ РЕШЕНИЯ ЗАДАЧ ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ
Работу выполнил
П.Н. Байрачный
Специальность
«Программное обеспечение ВТ и АС»
Научный руководитель преподаватель
С.В. Гончаров
ст. Павловская 2009 г.
КУБАНСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
ЗАДАНИЕ
на курсовое проектирование
Студенту 4 п Байрачному Павлу Николаевичу
Тема работы: “Разработка программного продукта на языке высокого уровня”.
Содержание задания:
Составить программу, которая для выбираемой единицы измерения (километры в час, мили в час или узлы) и для задаваемого значения скорости в этой единице измерения, выводит значение скорости в других единицах измерения.
Запрос окончания работы после ввода значения ноль.
1 морская миля = 1.852 километра.
1 узел – это 1 морская миля в час.
1 миля (сухопутная) = 1.609 километра.
Руководитель работы_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ С.В. Гончаров
Задание принял студент_ _ _ _ _ _ _ _ _ _ _ _ _ __ П.Н Барачный
Павловская 2009 г.
Задание
на курсовую работу студента группы 4П СПО
Вариант №30.
Составить программу, которая для выбираемой единицы измерения (километры в час, мили в час или узлы) и для задаваемого значения скорости в этой единице измерения, выводит значение скорости в других единицах измерения.
Запрос окончания работы после ввода значения ноль.
1 морская миля = 1.852 километра.
1 узел – это 1 морская миля в час.
1 миля (сухопутная) = 1.609 километра.
Принял: _________________________
“____” “___________________” 2008г.
Подпись _________________
Оглавление
Введение
Основная часть
Постановка задачи
Системные требования
Разработка программного продукта
Блок схема программы
Блок схема
Проектирование
Написание программы
Тестирование программы
Сопровождение
Список использованной литературы
Введение
Среда Delphi — это сложный механизм, обеспечивающий высокоэффективную работу программиста. Визуально она реализуется несколькими одновременно раскрытыми на экране окнами. Окна могут перемещаться по экрану, частично или полностью перекрывая друг друга, что обычно вызывает у пользователя, привыкшего к относительной “строгости” среды текстового процессора Word или табличного процессора Excel, ощущение некоторого дискомфорта. После приобретения опыта работы с Delphi это ощущение пройдет, и вы научитесь быстро отыскивать нужное окно, чтобы изменить те или иные функциональные свойства создаваемой вами программы, ибо каждое окно несет в себе некоторую функциональность, т. е. предназначено для решения определенных задач.
Запустите Delphi — и вы увидите нечто, похожее на рис. 2.1 (на рисунке показаны окна Delphi версии 6; для других версий окна могут иметь незначительные отличия). На нем изображены шесть наиболее важных окон Delphi: главное окно 1, окно Дерева объектов (Object Tree View) 2, окно Инспектора объектов 3, окно браузера 4, окно формы 5 и окно кода программы 6.
Чтобы упорядочить окна так, как они показаны на рисунке, вам придется вручную изменять их положение и размеры, т. к. обычно окно кода программы почти полностью перекрыто окном формы. Впрочем, добиваться максимального сходства того, что вы видите на экране вашего ПК, с изображением, показанным на рис. 2.1, вовсе не обязательно: расположение и размеры окон никак не влияют на их функциональность; если вы не видите на экране окна кода, но хотите его увидеть, просто нажмите клавишу F12 [Если к этому моменту активным было окно Инспектора Объектов, вам придется нажать на F12 еще раз.]. Повторное нажатие F12 вновь активизирует окно формы и т. д. — эта клавиша работает как двоичный переключатель, попеременно показывая окно формы или окно кода программы.
Замечу, что при первом запуске Delphi поверх всех окон появится окно, показанное на рис. 2.2.
/>
Рис. 2.1. Наиболее важные окна Delphi:
/>
Рис. 2.2. Окно связи с Inprise (Borland)
С помощью этого окна вы сможете получить доступ к Web-страницам корпорации Inprise для просмотра самой свежей информации о корпорации и ее программных продуктах, копирования дополни тельных файлов, чтения ответов на наиболее часто задаваемые вопросы и т. д. При повторных запусках Delphi это окно появляется автоматически с некоторой периодичностью, определяемой настройками на странице окна Tolls | Environment Options, связанной с закладкой Delphi Direct. Вы также сможете его вызвать в любой момент с помощью опции Help | Delphi Direct главного меню.
Основная часть
Постановка задачи
Составить программу, которая выводит для выбираемой единицы измерения (километры в час, мили в час или узлы) значение скорости в других единицах измерения.--PAGE_BREAK--
Программа будет написана на Delphi 7 — среде разработки программ. При решении задачи воспользуемся стандартными функция выбранного языка программирования, которые используются для выполнения часто встречающихся вычислений и преобразований, которые язык Delphi предоставляет программисту.
Событие OnClick используется для выполнения расчетов и OnKeyPress – событие нажатия клавиш на клавиатуре.
Системные требования
Программный продукт помещается на дискету. Его размер 395Kb.
Производим системный анализ, который даёт возможность:
1. Определить функции и характеристики программного продукта.
2. Обозначить интерфейс продукта с другими системными элементами.
3. Определить проектные ограничения программного продукта.
4. Построить модели: процесса, данных, режимов функционирования продукта.
5. Создать такие формы представления информации и функций системы, которые можно использовать в ходе проектирования.
Данный программный продукт работает с операционными системами такими как: Windows 98/2000/ME/XP. Этот программный продукт может работать как на слабых машинах, так и на сильных так как у него слабые системные требования. Программный продукт оперирует строковыми и числовыми вычислениями. Интерфейс программного продукта выполнен только под операционную систему Windows и будет работать в ней и в других операционных системах, совместимых с ней. При загрузке его на другой платформе или несовместимой с Windows он не будет работать.
Разработка программного продукта
Блок схема программы
В своей блок-схеме, для повышения наглядности я решил использовать следующие типы блоков:
Операция начала и конца алгоритма
/>
Оператор ввода и вывода данных
/>
Оператор действия
/>
Блок схема
/>
/>
/>/>/>/>/>
/>/>/>/>
/>/>/>/>
/>
Структура данных
Проектирование
Основные задачи
Основной задачей, является вывод на экран дисплея, результата задаваемой единице измерений.
Интерфейс
Интерфейс программы выполнен в виде окна с функциональной кнопкой «Найти 1-й член последовательности».
/>
Рис.1. Интерфейс программы
Написаниепрограммы
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
name: TLabel;
Edit1: TEdit;
edinica1: TLabel;
Button1: TButton;
otvet1: TLabel;
Edit2: TEdit;
edinica2: TLabel;
Button2: TButton;
otvet2: TLabel;
Edit3: TEdit;
edinica3: TLabel;
Button3: TButton;
otvet3: TLabel;
Edit4: TEdit;
edinica: TLabel;
Button4: TButton;
otvet4: TLabel;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
// первыйперевод
procedure TForm1.Button1Click(Sender: TObject);
var
a: real; // узлы в час
b: real; // км в час
begin
form1.otvet1.Caption:='';
try // возможна ошибка, если в поле
// Edit1 будетнечисло
a:=StrToFloat(Edit1.Text);
b:=a*1.852;
otvet1.caption:=Edit1.text+' узел/ч=' +
FloatToStrF(b,ffGeneral,4,2)+' км/ч';
except
on EConvertError do // ошибкапреобразования
begin
ShowMessage('Ошибка!');
form1.Edit1.SetFocus; // курсорвполеввода
end;
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
var
c: real; // мили в час
d: real; // км в час
begin
form1.otvet2.Caption:='';
try // возможна ошибка, если в поле
// Edit2 будетнечисло
c:=StrToFloat(Edit2.Text);
d:=c*1.609;
otvet2.caption:=Edit2.text+' миль/ч=' +
FloatToStrF(d,ffGeneral,4,2)+' км/ч';
except
on EConvertError do // ошибкапреобразования
begin
ShowMessage('Ошибка!');
form1.Edit2.SetFocus; // курсорвполеввода продолжение
--PAGE_BREAK--
end;
end;
end;
procedure TForm1.Button3Click(Sender: TObject);
var
e: real; // км в час
m: real; // узлы в час
begin
form1.otvet3.Caption:='';
try // возможна ошибка, если в поле
// Edit3 будетнечисло
e:=StrToFloat(Edit3.Text);
m:=e/1.852;
otvet3.caption:=Edit3.text+' км/ч=' +
FloatToStrF(m,ffGeneral,4,2)+' узлы/ч';
except
on EConvertError do // ошибкапреобразования
begin
ShowMessage('Ошибка!');
form1.Edit3.SetFocus; // курсорвполеввода
end;
end;
end;
procedure TForm1.Button4Click(Sender: TObject);
var
p: real; // км в час
l: real; // узлы в час
begin
form1.otvet4.Caption:='';
try // возможна ошибка, если в поле
// Edit4 будетнечисло
p:=StrToFloat(Edit4.Text);
l:=p/1.609;
otvet4.caption:=Edit4.text+' км/ч=' +
FloatToStrF(l,ffGeneral,4,2)+' мили/ч';
except
on EConvertError do // ошибкапреобразования
begin
ShowMessage('Ошибка!');
form1.Edit4.SetFocus; // курсорвполеввода
end;
end;
end;
end.
Тестирование программы
Для тестирования я пересчитал MS Excel значения заданные по условию, сравнил результаты своих вычислений с данными, которые выдает программа, и оказалось все верно.
/>
Сопровождение
Работа в созданной мною программе не требует каких либо специфических навыков от пользователя. Достаточно запустить исполняемый файл Project1.exe. На экране монитора появится окно программы представленное на рисунке.№1. По нажатию на кнопку «Найти 1-й член последовательности» появится результат.
Заключение
В заключение хочется отметить о важности проделанной работы. За период решения задачи курсового проекта я научился работе со стандартными функциями языка программирования Pascal, работе с циклами, условиями, выводом информации в среде программирования Borland Delphi и построению блок-схемы алгоритма работы программы.
Список использованной литературы
Кэнту М. «Delphi7: Для профессионалов» :- Санкт-Питербург:2004
А.Я.Архангельский. «100 компонентов общего назначения Delphi»-М.: 2001
Курс лекций по предмету «Основы алгоритмизации и программирования»
Курс лекций по предмету «Технология разработки программных продуктов»
В.Озеров «Советы по Delphi»