Создание программы-приложения «Римские цифры», разработанная в среде визуального проектирования Delphi
Министерство по образованию Российской Федерации
государственного образовательного учреждения
высшего профессионального образования
Чайковский филиал
«Пермский
государственный технический
Кафедра
автоматизации, инженерных и информационных
технологий
Курсовая
работа
по дисциплине
Программирование на языке высокого уровня
Тема:
Создание программы-приложения «Римские
цифры», разработанная в среде визуального
проектирования Delphi
Выполнил: студент гр.: БИ-09дн.
Марченко И.В.
Принял: ст. преподаватель
Русских Т.И.
2010
Содержание
Введение…………………………………………………………
1 Задание
на курсовую работу……………………………………………..…....
2 Разработка
программы……...………………………………..……
3 Описание
данных ...………………………………………………..…………...
4 Разбиение задачи
на подзадачи (структуризация)……………………..……..
5 Блок схемы……………………………………………………………….
6 Текст программы………………………………………………………
Рекомендуемая
литература..…………………..………………………
Введение
Данная
курсовая работа выполнена в среде
программирования Delphi. Delphi — результат
развития языка Турбо Паскаль, который,
в свою очередь, развился из языка
Паскаль. Паскаль был полностью
процедурным языком, Турбо Паскаль
начиная с версии 5.5 добавил в
Паскаль объектно-
Де-факто Object Pascal, а затем и язык Delphi являются функциональными наращиваниями Turbo Pascal. Об этом говорят обозначения версий компилятора. Так, в Delphi 7 компилятор имеет номер версии 15.0 (Последняя версия Borland Pascal / Turbo Pascal обозначалась 7.0, в Delphi 1 компилятор имеет версию 8.0, в Delphi 2 — 9.0, и т. д. Номер версии 11.0 носит компилятор Pascal, входивший в состав среды C++ Builder). Delphi оказал огромное влияние на создание концепции языка C# для платформы .NET. Многие его элементы и концептуальные решения вошли в состав С#. Одной из причин называют переход Андерса Хейлсберга, одного из ведущих разработчиков Дельфи, из компании Borland Ltd. в Microsoft Corp.
Версия
1 была предназначена для разработки
под 16-ти разрядную платформу Win16. Версии
со второй компилируют программы
под 32-х разрядную платформу Win32. Вместе
с 6-й версией Delphi вышла совместимая с ним
по языку и библиотекам среда Kylix, предназначенная
для компиляции программ под операционную
систему GNU/Linux. Версия 8 способна генерировать
байт-код исключительно для платформы
.NET. Это первая среда, ориентированная
на разработку мультиязычных приложений
(лишь для платформы .NET). Последующие версии
(обозначаемые годами выхода, а не порядковыми
номерами, как это было ранее) могут создавать
как приложения Win32, так и байт-код для
платформы .NET. Delphi for .NET — среда разработки
Delphi, а также язык Delphi (Object Pascal), ориентированные
на разработку приложений для .NET.
- Задание на курсовую работу
Разработать калькулятор для работы с данными записанными римскими цифрами. Калькулятор должен позволять вводить числа, знаки операций: сложение вычитание, умножение, деление на целое, нахождение остатка от деления, позволять корректировать последнее введенное число, осуществлять перевод из римской системы в десятичную систему счисления.
Программа должна отображать внешний вид панели калькулятора с окнами для отображения исходных данных и результатов, расположением кнопок для ввода данных, операций и служебных клавиш, клавиши изменения знака числа. Калькулятор должен позволять корректировать последнее введенное число, в случае возникновения ошибок должны выдаваться сообщения.
- Разработка программы
Задачей данной курсовой является разработка программы, которая позволяет производить различные операции с римскими числами. Такие как перевод в в десятичную систему счисления, сложение, вычитание, умножение, деление на цело. Сами арифметические операции заключаются в кнопке «=», кнопки с изображениями умножения, деления, сложения и вычитания лишь определяют первое из двух чисел операции и указывают, какая именно операция должна быть выполнена. Для математических вычислений существует множество различных программных продуктов. Это известные всем пакеты MathCad, MathLab, Mathematika, Axum. Есть и более простые: всевозможные программы – калькуляторы (имитирующие работу обычного калькулятора).
Описание основных функций
Функция get_token() – функция синтаксического разбора введенного выражения.
Функция get_number() – функция ввода числа.
Функция get_name() – функция ввода имени постоянной или функции.
Функция expr() – функция вычисление полного выражения.
Функция term() – функция вычисление слагаемого.
Функция prim() – функция вычисление первичной части выражения.
Функция function_value() – функция вычисление значения функции.
Вывод сообщения об ошибке
Функция error() – функция вывод сообщения об ошибке.
Функция term_sym() – функция проверка на терминальный символ.
Функция void back_space() – функция исправление ошибки ввода клавишей BACKSPACE.
Функция
dupl_oper_verify() – функция проверка дублирования
знака операции.
- Описание данных
Целью
использования программы
Схема функциональной структуры
- Разбиение задачи на подзадачи (структуризация)
- Разработка проекта.
- Введение римских цифр и их сохранение.
- Выполнение программы.
- Блок–схема обработчика события к кнопке «=»
Рис 1.
Пользователь водит какую-либо задачу, а программа, в свою очередь,
делает вычисления и выводит ответ, либо ошибку.
Обработчик события кнопки «=» сохраняет первое введенное пользователем число в Edit1.Text=X. Если выполняются условия X>1+e16 or X<-1+e16, то на экран выводится ошибка «Слишком большое число», и процедура введения данных начинается сначала.
Если условия не выполняются, то пользователь выбирает функцию сложение, вычитание, деление или умножение и вводит второе число, которое сохраняется в Edit.Text:=Y. программа вычисляет введенное выражение и выводит ответ на экран Z:=Edit.Text
Текст программы
- Главная форма:
object Form1: TForm1
Left = 312
Top = 206
BorderStyle = bsSingle
Caption = #1050#1072#1083#1100#1082#
ClientHeight = 352
ClientWidth = 703
Color = clGray
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = []
OldCreateOrder = False
Position = poDesktopCenter
PixelsPerInch = 96
TextHeight = 13
object Edit1: TEdit
Left = 8
Top = 8
Width = 689
Height = 32
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -19
Font.Name = 'MS Sans Serif'
Font.Style = []
MaxLength = 3
ParentFont = False
ReadOnly = True
TabOrder = 0
end
object Button3: TButton
Left = 8
Top = 48
Width = 65
Height = 33
Caption = 'Clear'
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -19
Font.Name = 'MS Sans Serif'
Font.Style = []
ParentFont = False
TabOrder = 1
OnClick = Button3Click
end
object Button4: TButton
Left = 224
Top = 120
Width = 41
Height = 25
Caption = '-'
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -24
Font.Name = 'MS Sans Serif'
Font.Style = []
ParentFont = False
TabOrder = 2
OnClick = Button4Click
end
object Button5: TButton
Left = 152
Top = 184
Width = 65
Height = 33
Caption = '='
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -24
Font.Name = 'MS Sans Serif'
Font.Style = []
ParentFont = False
TabOrder = 3
OnClick = Button5Click
end
object Button14: TButton
Left = 224
Top = 152
Width = 41
Height = 65
Caption = '+'
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -32
Font.Name = 'MS Sans Serif'
Font.Style = []
ParentFont = False
TabOrder = 4
OnClick = Button14Click
end
object Back: TButton
Left = 152
Top = 48
Width = 113
Height = 33
Caption = 'Back Space'
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -19
Font.Name = 'MS Sans Serif'
Font.Style = []
ParentFont = False
TabOrder = 5
OnClick = BackClick
end
object Button15: TButton
Left = 224
Top = 88
Width = 41
Height = 25
Caption = 'X'
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -19
Font.Name = 'MS Sans Serif'
Font.Style = []
ParentFont = False
TabOrder = 6
OnClick = Button15Click
end
object Button16: TButton
Left = 272
Top = 48
Width = 97
Height = 33
Caption
= '/ '#1053#1072#1094#1077#1083#
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -19
Font.Name = 'MS Sans Serif'
Font.Style = []
ParentFont = False
TabOrder = 7
OnClick = Button16Click
end
object Button17: TButton
Left = 152
Top = 88
Width = 65
Height = 25
Caption = '+/-'
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -19
Font.Name = 'MS Sans Serif'
Font.Style = []
ParentFont = False
TabOrder = 8
OnClick = Button17Click
end
object Button1: TButton
Left = 80
Top = 48
Width = 65
Height = 33
Caption = 'OFF'
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -19
Font.Name = 'MS Sans Serif'
Font.Style = []
ParentFont = False
TabOrder = 9
OnClick = Button1Click
end
object GroupBox1: TGroupBox
Left = 8
Top = 83
Width = 105
Height = 120
Caption = #1062#1080#1092#1088#1099
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -13
Font.Name = 'MS Sans Serif'
Font.Style = []
ParentFont = False
TabOrder = 10
object Button8: TButton
Left = 8
Top = 56
Width = 25
Height = 25
Caption = 'L'
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -19
Font.Name = 'MS Sans Serif'
Font.Style = []
ParentFont = False
TabOrder = 0
OnClick = Button8Click
end
object Button2: TButton
Left = 8
Top = 88
Width = 25
Height = 25
Caption = 'I'
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -19
Font.Name = 'MS Sans Serif'
Font.Style = []
ParentFont = False
TabOrder = 1
OnClick = Button2Click
end
object Button6: TButton
Left = 40
Top = 88
Width = 25
Height = 25
Caption = 'V'
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -19
Font.Name = 'MS Sans Serif'
Font.Style = []
ParentFont = False
TabOrder = 2
OnClick = Button6Click
end
object Button7: TButton
Left = 72
Top = 88
Width = 25
Height = 25
Caption = 'X'
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -19
Font.Name = 'MS Sans Serif'
Font.Style = []
ParentFont = False
TabOrder = 3
OnClick = Button7Click
end
object Button9: TButton
Left = 40
Top = 56
Width = 25
Height = 25
Caption = 'C'
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -19
Font.Name = 'MS Sans Serif'
Font.Style = []
ParentFont = False
TabOrder = 4
OnClick = Button9Click
end
object Button10: TButton
Left = 72
Top = 56
Width = 25
Height = 25
Caption = 'D'
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -19
Font.Name = 'MS Sans Serif'
Font.Style = []
ParentFont = False
TabOrder = 5
OnClick = Button10Click
end
object Button11: TButton
Left = 8
Top = 24
Width = 25
Height = 25
Caption = 'M'
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -19
Font.Name = 'MS Sans Serif'
Font.Style = []
ParentFont = False
TabOrder = 6
OnClick = Button11Click
end
end
object Edit2: TEdit
Left = 8
Top = 312