Автор работы: Пользователь скрыл имя, 12 Сентября 2012 в 21:28, курсовая работа
Разработчику ставиться вполне определенная задача, при выполнении которой используются навыки работы с операционными системами, программными оболочками, разнообразными служебными и сервисными средствами. А также навыки по алгоритмизации, программированию и решению в интегрированной визуальной среде программирования Delphi задач по экономике и управлению на предприятии.
1. Введение 3
2. Постановка задачи 4
3. Разработка программы 5
4. Описание программы 14
5. Руководство пользователя 15
6. Листинг программы 16
7. Заключение 24
8. Список использованной литературы. 25
9. Приложение. 26
Жетысуский социально-гуманитарный колледж
Курсовая работа
По предмету: Основы алгоритмизации и программирования
На тему: Создание программы «Калькулятор»
Выполнил: студент 312 группы
Котов А.
Проверила: Сурабалдинова М.А.
г.Талдыкорган, 2011 г.
CОДЕРЖАНИЕ
1. Введение 3
2. Постановка задачи 4
3. Разработка программы 5
4. Описание программы 14
5. Руководство пользователя 15
6. Листинг программы 16
7. Заключение 24
8. Список использованной литературы. 25
9. Приложение. 26
Введение
В данной курсовой работе предложено создать Windows-приложение на алгоритмическом языке Object Pascal в среде визуального программирования Delphi, которое как планируется, будет обеспечивать решение специализированных задач по формированию, обработке на ЭВМ и выводу информации.
Разработчику ставиться вполне определенная задача, при выполнении которой используются навыки работы с операционными системами, программными оболочками, разнообразными служебными и сервисными средствами. А также навыки по алгоритмизации, программированию и решению в интегрированной визуальной среде программирования Delphi задач по экономике и управлению на предприятии.
Среда разработки Delphi ориентирована, прежде всего, на создание программ для семейства операционных систем Windows. При этом большое внимание уделяется возможности визуальной разработки приложений с помощью большого набора готовых компонентов, а в стандартную поставку Delphi входят основные объекты, которые образуют удачно подобранную иерархию из 270 базовых классов, позволяющих избежать ручного кодирования. Эти компоненты охватывают практически все аспекты применения современных информационных технологий.
В процессе построения приложения необходимо выбирать из палитры компоненты, на основе которых будет строиться проект. Еще до компиляции видно результаты своей работы. В этом смысле проектирование в Delphi мало чем отличается от проектирования в интерпретирующей среде, однако после выполнения компиляции получаем код, который исполняется в 10-20 раз быстрее, чем то же, самое, сделанное при помощи интерпретатора. Cреда Delphi включает в себя полный набор визуальных инструментов для
скоростной разработки приложений (RAD - rapid application development), поддерживающей разработку пользовательского интерфейса.
2. Постановка задачи
Поставленная задача заключается в следующем. Необходимо создать программу «Калькулятор», которая будет производить вычисление математических функций.
В данной курсовой работе требуется создать Windows-приложение на алгоритмическом языке Object Pascal в среде визуального программирования Delphi, которое обеспечивает формирование, обработку на ЭВМ и вывод информации. Предусмотреть хранение информации в типизированных файлах, содержащих не менее 10 записей. Приложение должно вычислять стандартные математические вычисления (сложение, вычитание, умножение, деление), также вычислять различные тригонометрические функции (sin, cos, tg, ctg), возведение в корень и вычислять значение из под корня.
Степень рациональности создания данной программы оценивается как низкая. Исходя из начальных условий, необходимо выполнить тривиальную последовательность действий:
- произведение простых математических вычислений
- обеспечивать правильное вычисление
Данная программа, используя стандартные компоненты, с успехом будет работать в ОС-ах Windows’95, 98, 2000, ХР не требуя при этом дополнительных инсталляций программного обеспечения.
Для создания подобного приложения, которое будет удовлетворять поставленную задачу, и обеспечения функционирования математического аппарата необходимо как минимум:
1. Набор компонентов для добавления / изменения / удаления записей
для добавления / изменения / удаления записей нужно использовать 2 компонента edit (для ввода и вывода цифр), и 24 button-а.
2. Использовать компонент Main menu для создания меню которое будет содержать : меню «Файл» , меню «Правка» , меню «Справка»
3. Использовать компонент Image для оформления программы.
При создании программы, можно использовать компонент Image, он даст возможность применять отличное от других оформление и тем самым придаст программе более красочный вид.
Определение требований к программе – один из важнейших этапов. На этом этапе подробно описывается исходная информация и формулируются требования к результату. Кроме того, описывается поведение программы в особых случаях.
При разработке программы, предназначенной для работы в Windows, требования к ней могут включать пункты о желаемом виде диалоговых окон программы.
На этапе разработки алгоритма необходимо определить последовательность действий, которые надо выполнить для достижения поставленной цели, получения результата. Если задача может быть решена различными способами, и, следовательно, возможны различные варианты алгоритма решения, то, программист, используя некоторый критерий, выбирает наиболее подходящее решение. Затем составляется подробное составление алгоритма.
При программировании в Delphi основная работа программиста заключается в разработке подпрограмм. Задачу организации взаимодействия разработанных подпрограмм берет на себя Delphi . Также Delphi удобна для создания программ с визуальными компонентами, которые уже созданы в ней и имеют стандартный набор команд.
Разработка интерфейса
1.Создал форму (рис. 1)
2.Разместил на форме 2 объекта Edit
3.Разместил на форме соответствующее число кнопок:
– цифры от 0 до 9;
– знаки арифметических операций;
– знак «=»;
– знаки функций (корень, синус, косинус и т.д.);
– кнопка закрытия калькулятора;
Рис. 1 Вид программы после запуска
Написание процедур выполнения арифметических операций
I. Написал процедуры ввода чисел. Для этого щелкнул два раза по кнопке «1» (объект BitBtn1) и ввести следующий код:
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
edit2.Text:=edit2.Text+'1'
end;
Аналогично написал процедуры ввода остальных цифр
II. Создал процедуру очистки поля Edit1 и Edit2, кнопка «С» (объект BitBtn11)
procedure TForm1.BitBtn22Click(Sender: TObject);
begin
edit1.Clear ;
edit2.Clear ;
end;
III. Создал процедуры обработки нажатий кнопок «+», «–», «/», «*» и «=». Для этого разобрал алгоритм работы с калькулятором:
- Ввел число в поле Edit2. При этом в поле Edit2 число будет представлено как текстовая строка.
- Нажал кнопку «+». В процедуре обработки этой кнопки выполнил следующие действия:
1.Преобразовал эту строку в число с помощью функции StrToFloat;
2.Сохранил это число в переменной X;
3.Сохранил в переменной, например, kod код этой операции;
- Очистил поле Edit2.
- Ввел второе число в поле Edit2.
- Нажал кнопку «=». В процедуре обработки этой кнопки выполнил следующие действия:
1.Преобразовал эту строку в число с помощью функции StrToFloat;
2.Сохранил это число в переменной Y;
3.В зависимости от кода операции, сохраненной в переменной kod, выполнил арифметическую операцию, например, z:=x+y;
4.Преобразовал число, находящееся в переменной Z, в текст с помощью функции FloatToStr и вывести в поле Edit1.
IV. Для реализации этого алгоритма я выполнил следующие действия::
1. Описал переменные X, Y, Z, kod. Описывал переменные в основной программе, модуле Unit, чтобы переменные могли действовать в любой процедуре (глобальные переменные).
var
Form1 : TForm1;
kod : char;
x, y, z : real;
2. Создал процедуры обработки нажатий кнопок «+», «–», «/», «*»
Например,
procedure TForm1.BitBtn17Click(Sender: TObject);
begin
x:= strtofloat(edit1.text);
kod := ‘+’;
edit2.Clear;
end;
Но в ходе разработки программы я обнаружил ошибку , если в поле Edit2 ничего не введем и нажмем кнопку «+», возникает ошибка и программа завершается. Чтобы избежать этого надо проверить имеется ли в поле Edit2 символы, и в зависимости от этого условия продолжить выполнять процедуру или вернуться к вводу данных. Для этого я использовал алгоритмическую структуру «Ветвление».
Изменненая процедура обработки нажатия кнопки «+» :
procedureTForm1.BitBtn17Click(
begin
if edit2.Text<>'' then x:=strtofloat(edit2.text);
kod := ‘+’;
edit2.Clear;
end;
Аналогично создал процедуры обработки нажатий кнопок «–», «/», «*»
3. Создал процедуру обработки нажатия кнопки «=». В этой процедуре необходимо в зависимости от значения переменной kod выполнять четыре разных операции. Такая структура называется «Множественное ветвление» или «Выбор» :
procedure TForm1.BitBtn19Click(Sender: TObject);
begin
if edit2.Text<>'' then y:=strtofloat(edit2.text);
case kod of
'+': z:=x+y;
'-': z:=x-y;
'*': z:=x*y;
'/': z:=x/y;
end ;
edit1.Text:=floattostr(z);
end;
II. Создал процедуры вычисления остальных функций. При вычислении тригонометрических функций учесть, что компьютер работает с радианной мерой углов.
процедура вычисления квадратного корня
procedure TForm1.BitBtn26Click(Sender: TObject); кнопка «корень»
begin
x:=strtofloat( edit2.Text);
edit2.clear;
z:=sqrt(x);
edit1.Text:=floattostr(z);
end;
процедура возведения в квадратный корень
procedure TForm1.BitBtn26Click(Sender: TObject); кнопка «корень»
begin
x:=strtofloat( edit2.Text);
edit2.clear;
z:=sqr(x);
edit1.Text:=floattostr(z);
end;
Процедура вычисления функции sin
procedure TForm1.BitBtn11Click(Sender: TObject); кнопка «sin»
begin
x:=strtofloat(edit2.Text);
x:=(x*3.14)/180;
edit2.Clear;
z:=sin(x);
edit1.Text:=floattostr(z);
end;
Процедура вычисления функции cos
procedure TForm1.BitBtn11Click(Sender: TObject); кнопка «sin»
begin
x:=strtofloat(edit2.Text);
x:=(x*3.14)/180;
edit2.Clear;
z:=sin(x)/cos(x);
edit1.Text:=floattostr(z);
end;
Процедура вычисления функции tg
procedure TForm1.BitBtn11Click(Sender: TObject); кнопка «sin»
begin
x:=strtofloat(edit2.Text);
x:=(x*3.14)/180;
edit2.Clear;
z:=cos(x)/sin(x);
edit1.Text:=floattostr(z);
end;
Процедура вычисления функции ctg
procedure TForm1.BitBtn11Click(Sender: TObject); кнопка «sin»
begin
x:=strtofloat(edit2.Text);
x:=(x*3.14)/180;
edit2.Clear;
z:=sin(x)/cos(x);
edit1.Text:=floattostr(z);
end;
Написание процедур работы с меню и усовершенствование калькулятора
У любой программы имеется система меню, которая позволяет выполнять разные сервисные функции. Я создал для нашего калькулятора меню, которое будет состоять, например, из следующий пунктов: «Файл», «Правка», «Справка». Для этого: поместил на форму объект MainMenu (рис. 2).
Рис. 2 Вид компонента Main Menu
Два раза щелкнул левой кнопкой мыши по этому объекту на форме.
Выделил в появившейся форме пунктирное поле и в инспекторе объектов в свойство Caption ввести «Файл».
Аналогично создал пункты меню «Правка» и «О программе».
В меню «Файл» создал пункт «Выход», а в «Правка» - пункты «Копировать» и «Вставить».
Закрыл форму создания меню.
Рис.3 Вид меню Файл
procedure TForm1.N2Click(Sender: TObject);
begin
close;
end;
Рис.4 Вид меню Правка
procedure TForm1.N4Click(Sender: TObject);
begin
Edit1.CopyToClipboard
end;
procedure TForm1.N5Click(Sender: TObject);
begin
Edit1.PasteFromClipboard;
end;
Создание справки
Для создания справки создал еще одну форму с именем «О программе», на которой разместил справочные сведения об авторе программы. Воспользовался компонентом Image и компонентом BitBtn.
Процедура открытия формы «О программе»
procedure TForm1.N8Click(Sender: TObject);
begin
Form2.Show;
end;
Создание картинок на кнопках
Создал картинки на сайте www.cooltext.com , поместил картинки на кнопки Bit Btn с помощью свойства Glyph. Изначально картинки были созданы в формате .Png ,так как свойство Glyph поддерживает только формат .Bmp, я перекодировал их в формат .Bmp в программе Adobe Photoshop CS3.
Программа Калькулятор (Калькулятор.exe) разработана в среде Delphi версии 7.
Для хранения данных в программе используются глобальные переменные типа string, char, real, integer.
Программа вычисляет стандартные математические вычисления: сложение, вычитание, умножение, деление. Также вычисляет такие функции : синус, косинус, тангенс, котангенс, возведение в корень, вычисление значения из под корня.