Реферат по предмету "Информатика, программирование"


Разработка и реализация программы расчета платежа за электроэнергию

ФЕДЕРАЛЬНОЕ АГЕНСТВО ПО ОБРАЗОВАНИЮ
Государственное образовательноеучреждение высшего профессионального образования
Находкинскийинженерно-экономический институт (филиал) Дальневосточного государственноготехнического университета (ДВПИ имени В.В. Куйбышева)
Кафедра: Прикладная информатика
Курсовая работа
по дисциплине«Программирование на языках высокого уровня»
Тема: «Разработка иреализация программы расчета платежа за электроэнергию»

Находка
2010

Введение
Цель курсовой работы
- обобщение, закрепление иуглубление знании, полученных за время изучения дисциплины;
- получение практическихнавыков подготовки инженерно-технических задач к решению на компьютере (ПК);
- ознакомление с наиболеераспространёнными методами обработки информации при решении прикладных задач;
- закрепление навыков работыв Pascal;
- получение навыков виспользовании научно-технической и нормативной литературы, ГОСТов;
- приобретение опыта в оформлениитекстовых и графических материалов курсовых работ.

1. Задание на курсовуюработу
Задание: разработать и реализовать программурасчета платежей за потребленную электроэнергию.
Информация (ФИО, адрес,дата, тариф, начислено, долг, заранее оплачено) должна вводиться пользователем.Программа должна корректно воспринимать данные, а также обрабатывать их с цельюполучения полной информации о предстоящем платеже за электроэнергию с учетомкак тарифа и текущих начислений, так и с учетом долга и заранее погашенныхплатежей.
2. Постановка задачи
Исходные данные: Тариф(а), начислено (b), долг (с), заранее оплачено (d).
Результаты: Результат(rez).
Операции:Результат(rez):=(тариф(а)*начислено(b))+долг(с)-заранее оплачено(d).
 
3. Математическаямодель задачи
Пусть РЕЗУЛЬТАТ будетравен x.
Тариф обозначим какпеременную а, начислено обозначим как переменную b, долг обозначим какпеременную с, а заранее оплачено обозначим как переменную d.
Так как РЕЗУЛЬТАТ равен(тариф*начислено)+долг-заранее оплачено то в формульном виде это будетвыглядеть следюющим образом:
X:=(a*b)+c-d

4.Блок-схема алгоритма программы
/>
 
5. Разработка программы
 
Для работы в программеиспользуются:
1.Элементы интерфейса:
TForm1= class(TForm)экран приложения
Строки в которыепользователь вводит информацию
Edit1:TEdit; Фио
Edit2:TEdit; Адрес
Edit3:TEdit; Дата
Edit4:TEdit; Тариф
Edit5:TEdit; Начисленно
Edit6:TEdit; долг
Edit7:TEdit; заранееоплачено
Надписи-метки
Label1:TLabel; «Заранее оплачено»
Label2:TLabel; «Адрес»
Label3:TLabel; «Дата»
Label4:TLabel; «Тариф»
Label5:TLabel; «Начисленно»
Label6:TLabel; «Долг»
Label7:TLabel; «ФИО»
Label9:TLabel, Label10: TLabel; Вывод оценки
Label11:TLabel;Label12: TLabel;Label13: TLabel;Label14: TLabel;Label15: TLabel;Label16:TLabel;Label17: TLabel;Label18: TLabel;Label19: TLabel;
Вывод результата вбланк
Картинки
Image1:TImage; Картинка (фон)
Image2:TImage; Картинка – бланк
Кнопки
Button1:TButton; Кнопка РАСЧИТАТЬ
Button2:TButton; Кнопка Автор
Button3:TButton; Кнопка Бланк
Button4:TButton; Кнопка Скрыть
Другие элементы:
MonthCalendar1:TMonthCalendar; календарь
2.Процедуры:
процедурыКНОПКАНАЖАТЬ
procedureButton1Click(Sender: TObject); НажатиекнопкиРАСЧИТАТЬ
procedureButton2Click(Sender: TObject); НажатиекнопкиАВТОР
procedureButton3Click(Sender: TObject); НажатиекнопкиБЛАНК
procedureButton4Click(Sender: TObject); НажатиекнопкиСКРЫТЬ
3.Операторы:
StrToFloat– перевод строчной величины в вещественную
ShowMessage– вывод сообщения
FloatToStrF- перевод вещественной величины в строчную
IF…THEN- Оператор условия
Элемент интерфейса.Caption:=- Изменение заголовка/текста элемента
Элементинтерфейса.Visible:= — Изменение видимости элемента (True/False)
Элемент интерфейса.Height:=Изменениевысоты элемента;
Сложение (+)
Вычитание(-)
Умножение (*)
6. Руководство пользователя
Cистемные требования:
Платформа: PC
Операционнаясистема: Windows xp/vista/seven.
Совместимость с Linux: нетестировалась.
Процессор: Pentium 3 800MHz и выше.
Оперативнаяпамять: 128 и выше.
Объем на HDD:544КБ (557 056 байт)
Для начала работы с программой щелкните2 раза левой кнопкой мыши по иконке «Миниэлектрик V 1.0.exe» вследствие чегооткроется главное окно программы с которым впоследствии мы и будем оперировать(рис. 1).

/>
Рис. 1
Для начала введем данные длярасчетов про помощи клавиатуры в следующие поля (рис. 2):
/>
Рис. 2
ФИО это имя и инициалы абонента
АДРЕС это адрес его прописки
ДАТА это текущее число и месяц
ТАРИФ это стоимость за Квт. энергиив рублях (дробные числа вводятся в формате 3,5 в противном случае будетвыведено сообщение об ошибке)
НАЧИСЛЕННО это сколько вам«накрутил» кВт в этом месяце счетчик.
ДОЛГ это ваша задолженность попредыдущим периодам (если таковая имеется) (рис. 3).
/>
Рис. 3
Заранее оплачено это размер платежейвнесенных вами заранее (если таковые имеются)
Для удобства пользователя впрограмму встроен календарь, который поможет вам мгновенно вспомнить текущуюдату. Найти его всегда можно в левом нижнем углу.
После ввода нажимаем кнопку РАСЧИТАТЬпосле чего на экран будет выведено сообщение с результатом (рис. 4).
/>
Рис. 4

Для продолжения работы с программойнажмите ОК.
Под кнопкой РАСЧИТАТЬ теперь мывидим текущую оценку ваших расходов которая меняется в зависимости от величинырезультата (рис. 5).
/>
Рис. 5
/>
Рис. 6
Программа также имеет второй режимработы – вывод бланка. Для вывода бланка нажмите кнопку БЛАНК (рис. 6).
На экран будет выведен бланк срезультатом (рис. 7)
/>
Рис. 7

Для возврата программы в нормальныйвид нажмите кнопку СКРЫТЬ.
Для получения информации об авторенажмите кнопку АВТОР после чего на экран будет выведено окно с информацией осоздателе программы.
Для завершения работы с программойнажмите на крестик в верхнем правом углу.
7. Текст программы с пояснениями
unitUnit1; //Имя программы//
interface
uses
Windows,Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,StdCtrls, jpeg, ExtCtrls, ComCtrls;
//Создание графическогоинтерфейса//
type
TForm1= class(TForm)//экран приложения//
//Строки в которыепользователь вводит информацию//
Edit1:TEdit; //Фио//
Edit2:TEdit; //Адрес //
Edit3:TEdit; //дата //
Edit4:TEdit;//Тариф(ценазакВ)//
Edit5:TEdit;//начисленно//
Edit6:TEdit;//долг//
Edit7:TEdit;//заранееоплачено//
Label1:TLabel;//Надписи-метки//
Label2:TLabel;
Label3:TLabel;
Label4:TLabel;
Label5:TLabel;
Label6:TLabel;
Label7:TLabel;
Button1:TButton;//Кнопка РАСЧИТАТЬ//
MonthCalendar1:TMonthCalendar; //календарь(дляудобствапользователя)//
Image1:TImage; //Картинка (фон)//
Label8:TLabel;
Label9:TLabel;
Label10:TLabel;
Button2:TButton; //Кнопка Автор//
Image2:TImage;//картинка — бланк//
Label11:TLabel;
Label12:TLabel;
Label13:TLabel;
Label14:TLabel;
Label15:TLabel;
Label16:TLabel;
Label17:TLabel;
Label18:TLabel;
Label19:TLabel;
Button3:TButton; //Кнопка Бланк//
Button4:TButton;//Кнопка скрыть//
//описание процедур//
//процедурыКНОПКАНАЖАТЬ//
procedureButton1Click(Sender: TObject);
procedureButton2Click(Sender: TObject);
procedureButton3Click(Sender: TObject);
procedureButton4Click(Sender: TObject);
private
{Private declarations }
public
{Public declarations }
end;
var
Form1:TForm1;
implementation
{$R*.dfm}
//Описание процедурыНАЖАТЬ НОПКА 1 (РАСЧИТАТЬ)//
procedureTForm1.Button1Click(Sender: TObject);
//Описание переменных//
var
a:Real48;
b:Real48;
c:Real48;
d:Real48;
rez:Real48;
begin
//Присваиваемпеременным значения введенные пользователем в строки //
a:=StrToFloat(Edit4.Text);//переводим строчные переменные в вещественные для дальнейших вычислений.//
b:=StrToFloat(Edit5.Text);
c:=StrToFloat(Edit6.Text);
d:=StrToFloat(Edit7.Text);
rez:= (a*b)+c-d;
//вывод сообщения срезультатом //
ShowMessage('Уважаемый'+Edit1.Text+#13+'Проживающийпо адресу '+Edit2.Text+#13+
'Сообщаем вам что на '+Edit3.Text+#13+'выдолжны '+
FloatToStrF(rez,ffFixed,90,2)+'рублей'+#13+'за используемую вами электроэнергию.');
//Создание такназываемой «системы оценки». Это так называемый Easter egg программы – взависимости от полученной суммы программа будет выводить различные сообщения(используется оператор УСЛОВИЕ)//
Ifrez
Ifrez>10 thenbegin label9.Caption:='Вы счастливчик!!! Этосовсем немного';end;
Ifrez=0 thenbegin label9.Caption:='Поздравляю вы не должны ни копейки'; end;
Ifrez
Ifrez>500 then begin label9.Caption :='Хм… немало… но терпимо'; end;
Ifrez>1000 then begin label9.Caption :='Ого… многовато'; end;
Ifrez>5000 then begin label10.Caption :='Быстро выключайте все!!! Уже и таксвета понажгли !!!'; end;
Ifrez>10000 then begin label9.Caption :='Вам капец...'; end;
Ifrez>50000 then begin label9.Caption :='Сдается мне вы юморист...'; end;
Ifrez>1000000 then begin label9.Caption :='Хватит прикалываться !!!'; end;
end;
//Описание процедурыКНОПКА 2 НАЖАТЬ (АВТОР)//
procedureTForm1.Button2Click(Sender: TObject);
begin
//Вывод сообщения обавторстве//
ShowMessage('Автори разработчик данной программы: '+#13+'Оробец Максим Сергеевич НИЭИ ДВГТУГруппа 8221 2 курс '+#13+'Программа написана на Delphi7.Код программы мой на 100 %'+#13+'Надеюсь вам понравилось');
end;
//Описание процедурыНАЖАТЬ НОПКА 3 (бланк)//
//перед выводом бланкапрограмма предворительно рассчитывает данные используя алгоритм приведенныйвыше но вместо вывода сообщения «выводит» бланк//
procedureTForm1.Button3Click(Sender: TObject);
//Предыдущий алгоритмрасчета и оценки//
var
a:Real48;
b:Real48;
c:Real48;
d:Real48;
rez:Real48;
begin
a:=StrToFloat(Edit4.Text);
b:=StrToFloat(Edit5.Text);
c:=StrToFloat(Edit6.Text);
d:=StrToFloat(Edit7.Text);
rez:= (a*b)+c-d;
Ifrez
Ifrez>10 then begin label9.Caption :='Вы счастливчик!!! Этосовсем немного';end;
Ifrez=0 thenbegin label9.Caption:='Поздравляю вы не должны ни копейки'; end;
Ifrez
Ifrez>500 then begin label9.Caption :='Хм… немало… но терпимо'; end;
Ifrez>1000 then begin label9.Caption :='Ого… многовато'; end;
Ifrez>5000 then begin label10.Caption :='Быстро выключайте все!!! Уже и таксвета понажгли !!!'; end;
Ifrez>10000 then begin label9.Caption :='Вам капец...'; end;
Ifrez>50000 then begin label9.Caption :='Сдается мне вы юморист...'; end;
Ifrez>1000000 then begin label9.Caption :='Хватит прикалываться !!!'; end;
//По сути такназываемый «вывод» бланка представляет собой выведенную картинку таблицы(заранее заготовлена в Excel) где не указанны числа и слова с соответственныхграфах. На их местах стоят метки заголовки которых меняются на результатырасчетов. Изначально параметр Visible (видимость) этой картинки и Label – овпоставлен на False. А также размер программы подогнан так что пользователь невидит их, но по нажатию кнопки после выполнения расчетов размер программыменяется так, чтобы бланк и Label-ы были видны и их параметр visibleменяется на false. Также параметр visibleменяется у button 3 (бланк) и button4 (скрыть) так что в результате кнопка БЛАНК исчезает и на ее месте появляетсякнопка СКРЫТЬ//
//Присваивание//
label11.Caption:=Edit3.Text;
label13.Caption:=Edit1.Text;
label14.Caption:=Edit2.Text;
label15.Caption:=FloatToStrF(rez,ffFixed,90,2);
label16.Caption:=Edit7.Text;
label17.Caption:=Edit6.Text;
label18.Caption:=Edit5.Text;
label19.Caption:=Edit4.Text;
//включение видимостиизображения бланка и меток-надписей//
image2.Visible:=true;
label19.Visible:=true;
label18.Visible:=true;
label17.Visible:=true;
label16.Visible:=true;
label15.Visible:=true;
label14.Visible:=true;
label13.Visible:=true;
label12.Visible:=true;
label11.Visible:=true;
//Изменение размерапрограммы//
Form1.height:=593;
//Изменение видимостикнопок//
Button3.Visible:=false;
Button4.Visible:=true;
end;
//Описание процедурыНАЖАТЬ НОПКА 4 (СКРЫТЬ)//
//Меняет размер окнапрограммы так чтобы изображение бланка не было видно и после убирает кнопкуСКРЫТЬ а на ее место возвращате кнопку БЛАНК чтобы пользователь мог повторитьдействие //
procedureTForm1.Button4Click(Sender: TObject);
begin
//Изменение размера//
Form1.height:=490;
//Настройка видимостикнопок//
Button4.Visible:=false;
Button3.Visible:=true;
end;
//Конец программы//
end.

Заключение
Результатом выполнения курсовойработы является программа «Миниэлектрик V 1.0.exe»,разработанная в среде Delphi 7.
Выполняя курсовую работу я научилсяпользоваться средой программирования Delphi 7, освоилработу с графическим интерфейсом и научился его создавать, нашел большиеразличия между средами Pascal и Delphi 7 и некоторые сходства, получил новыетеоретические и практические знания по программированию в новой на тот момент(ни разу до этого момента не работал с delphi 7) для меня средойпрограммирования которой теперь с удовольствием пользуюсь и для других целей.

Список использованной литературы
1. Самоучитель по Delphi 7 дляначинающих (Электронный .chm учебник).


Не сдавайте скачаную работу преподавателю!
Данный реферат Вы можете использовать для подготовки курсовых проектов.

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

Пишем реферат самостоятельно:
! Как писать рефераты
Практические рекомендации по написанию студенческих рефератов.
! План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом.
! Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач.
! Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты.
! Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ.

Читайте также:
Виды рефератов Какими бывают рефераты по своему назначению и структуре.

Сейчас смотрят :

Реферат Механизм генерации транзактов в модели
Реферат Стратегическое планирование предприятия на трехлетний период на примере ОАО "Дальхимпром"
Реферат Патологическая анатомия ящура
Реферат Образ Е. Пугачёва по роману А.С. Пушкина Капитанская дочка
Реферат Використовування кольорової гамми, макiяжу, зачісок i конструктивних рiшень костюма у спортсменiв-танцюристiв
Реферат Лечение коров с острой формой эндометрита
Реферат Устойчивость сотрудников ОВД к экстремальным ситуациям служебной деятельности как психолого-педагогическая проблема
Реферат Гражданско-правовое регулирование признания гражданина безвестно отсутствующим
Реферат I. Краткие сведения о лицах, входящих в состав органов управления кредитной организации эмитента, сведения о банковских счетах, об аудиторе, оценщике и о финансовом консультанте кредитной организации эмитента, а также об иных лицах, подписавших просп
Реферат Основы электробезопасности при выполнении лабораторных работ
Реферат Виявлення закономірностей функціонування та діяльності кадрової служби в установі
Реферат Religion Essay Research Paper Religion has been
Реферат Преддипломная практика в суде
Реферат Развитие мышления детей младшего школьного возраста в игровой деятельности
Реферат Исследование профессиональной направленности личности студентов химического факультета на педагогическую и исследовательскую специальности