Инженерный калькулятор
Содержание
- Введение…………………………………………………………
……………..…..5 - Теоретическая часть……………………………………………………………..
.10 - Описание функций и процедур………………………………………………....
.13 - Руководство пользователя………………………………………………
…….…17 - Результат работы программы……………………………………………….….
..24
Заключение……………………………………………………
Список литературы…………………………………
Приложение……………………………………………………
Введение
Эволюция технических средств
персональных компьютеров привела
к повсеместному вытеснению старой
“доброй” ОС MS-DOS значительно более
мощными системами Windows, программирование
для которых существенно
6-я версия Delphi имеет уникальную
особенность: она способна
Программирование в Delphi строится на
тесном взаимодействии двух процессов:
процесса конструирования визуального
проявления программы (т. е. ее Windows-окна)
и процесса написания кода, придающего
элементам этого окна и программе
в целом необходимую
Компонентный подход к созданию
приложений (или визуальное программирование),
реализованный в различных
Интегрированная Среда Разработки — это среда, в которой есть все необходимое для проектирования, запуска и тестирования приложений и где все нацелено на облегчение процесса создания программ. ИСР интегрирует в себе редактор кодов, отладчик, инструментальные панели, редактор изображений, инструментарий баз данных — все, с чем приходится работать.
Рис. 1
В верхней части окна ИСР (рис. 1) находится полоса главного меню. Ее состав несколько различается от версии к версии и, кроме того, зависит от варианта Delphi, с которым работает программист.
Ниже полосы главного меню расположены две инструментальные панели. Левая панель содержит два ряда быстрых кнопок, дублирующих некоторые наиболее часто используемые команды меню. Правая панель содержит палитру компонентов библиотеки визуальных компонентов (Visual Component Library — VCL). Она компонентов содержит ряд страниц, закладки которых видны в ее верхней части.
Слева находится окно Инспектора Объектов (Object Inspector), с помощью которого задаются свойства компонентов и обработчики событий. Правее находится окно пустой формы, готовой для переноса на нее компонентов. Под ним расположено окно Редактора Кодов.
Создание нового проекта приложения начинается с команды File | New Application. По этой команде открывается новый проект приложения с пустой формой. Сохранить на диске готовый проект или его заготовку можно командой File | Save Project As или File | Save All. Открыть ранее сохраненный проект можно командой File | Open или File | Open Project . Но если вы недавно работали с этим проектом, то удобнее воспользоваться командой File | Reopen. Эта команда дает возможность быстро выбрать проект из числа тех, с которыми вы работали последнее время.
Для компиляции и запуска на выполнение приложения надо выполнить команду Run | Run.
Подробное описание всех разделов меню вы можете найти во встроенной справке Delphi, которая вызывается или из меню Help, или нажатием клавиши F1.
Палитра компонентов — витрина библиотеки визуальных компонентов (Visual Component Library — VCL). Чтобы перенести компонент на форму, надо открыть соответствующую страницу библиотеки и указать курсором мыши необходимый компонент. Затем надо сделать щелчок мышью в нужном месте формы и компонент разместится там. В дальнейшем его можно отбуксировать его в любое другое место.
Форма, на которой размещаются
Одной из наиболее важных частей среды Delphi является окно Редактора Кода (рис. 2). Редактор Кода является полноценным программным редактором. Его можно настраивать на различный стиль работы. В редакторе применяется выделением цветом синтаксических элементов. Жирным шрифтом выделяются ключевые слова языка Object Pascal.
В заголовке окна Редактора Кода отображается имя текущего файла, того, с текстом которого вы работаете. В верхней части окна вы можете видеть также закладки или ярлычки, указывающие текущую страницу. Приложения Delphi могут использовать много исходных файлов и закладки помогают вам переходить от одного из них к другому.
Рис.2
Чтобы получить справку по какому-то слову кода, надо установить курсор на это слово и нажать клавишу F1.
Следующим важнейшим элементом среды разработки является Инспектор Объектов (Object Inspector – рис. 4) . Он обеспечивает простой и удобный интерфейс для изменения свойств объектов Delphi и управления событиями, на которые реагирует объект.
В современном представлении
Помимо методов и свойств любой компонент характеризуется набором событий, на которые он может реагировать. Под событиями, прежде всего, понимаются действия пользователя: щелчок мыши, перемещение курсора, нажатие кнопок мыши или клавиш. Но и сами объекты тоже могут генерировать различные события. В объекте могут предусматриваться обработчики тех или иных событий, воспринимаемых данным компонентом. Фактически к написанию этих обработчиков и сводится программирование приложений. В обработчиках программист описывает, как должны реагировать компоненты на соответствующие события.
Окно дерева объектов (рис. 3) предназначено для наглядного отображения связей между отдельными компонентами, размещенными на активной форме или в активном модуле данных. Щелчок по любому компоненту в этом окне активизирует соответствующий компонент в окне формы и отображает свойства этого компонента в окне Инспектора объектов. Двойной щелчок приводит к срабатыванию механизма Code Insight, который вставляет в окно кода заготовку для обработчика события OnClick. Наконец, компонент можно “перетащить” в окне и таким образом поменять его владельца (свойство parent). В предыдущих версиях такую замену можно было сделать только с помощью межпрограммного буфера обмена Clipboard.
Рис. 3. Дерево объектов.
Теоретическая часть.
Компонент SpeedButton
Кнопки SpeedButton имеют возможность отображения пиктограмм
и могут использоваться как обычные управляющие
кнопки или как кнопки с фиксацией нажатого
состояния. Обычно они используются в
качестве быстрых кнопок, дублирующих
различные команды меню, и в инструментальных
панелях, в которых требуется фиксация
нажатого состояния. Особенностью
кнопок SpeedButton являются свойства GroupIndex (индекс группы), AllowAllUp (
Если Grouplndex > 0 и AllowAllUp = true, то кнопка при щелчке пользователя на ней погружается и остается в нажатом состоянии. При повторном щелчке пользователя на кнопке она освобождается и переходит в нормальное состояние (именно для того, чтобы освобождение кнопки состоялось, необходимо задать AllowAllUp = true). Если свойство Down во время проектирования установлено равным true, то исходное состояние кнопки — нажатое.
Компонент Memo
Компонент Delphi Memo это простой
текстовый редактор. Memo позволяет вводить
многострочный текст с клавиатуры, загружать
его из файла, редактировать и сохранять
в файл текстового формата. Простота текстового
редактора компонента Memo заключается
в том, что он не обладает возможностями
форматирования содержащегося в нём текста.
Это означает, что все атрибуты выбранного
шрифта будут относиться ко всему тексту.
Текст
в компоненте Memo размещается построчно.
Поэтому имеется доступ каждой строке
текста отдельно. Строки в Memo являются
объектами Lines[i] типа
Компонент RadioButton
Компонент RadioButton представляет зависимую кнопку, состояние которой определяется состоянием других кнопок группы. Свойство Caption содержит надпись, появляющуюся около кнопки. Значение свойства Alignment определяет, с какой стороны от кнопки появится надпись: taLeftJustify — слева, taRightJustify — справа (это значение принято по умолчанию). Свойство Checked определяет, выбрана ли данная кнопка пользователем, или нет.
Радиокнопки RadioButton могут размещаться не только в панели GroupBox, но и в любой панели другого типа, а также непосредственно на форме. Группа взаимосвязанных кнопок в этих случаях определяется тем оконным компонентом, который содержит кнопки. В частности, для радиокнопок, размещенных непосредственно на форме, контейнером является сама форма. Таким образом, все кнопки, размещенных непосредственно на форме, работают как единая группа, т.е. только в одной из этих кнопок можно установить значение Checked в true.
Компонент Image
Компонент Image представляет собой некоторую ограниченную поверхность с канвой, на которую можно заносить изображения. Компонент Image имеет существенное преимущество: в нем не приходится думать о перерисовке изображения, испорченного из-за перекрытия данного окна другими. Все, связанное с обработкой событий OnPaint, в Image осуществляется автоматически. Кроме того с помощью Image проще, чем при непосредственном рисовании на канве формы, расположить в окне приложения несколько изображений и управлять ими. При этом отпадает необходимость сложных и нудных расчетов координат канвы формы, обеспечивающих требуемое взаимное расположение изображений, т.е. в полной мере проявляются преимущества визуального программирования. Так что, вероятно, во всех случаях лучше работать с канвой Image, чем с канвой формы.
Но помимо этих возможностей у компонента Image имеются свойства, позволяющие работать с различными типами графических файлов.
Delphi поддерживает три типа файлов
— битовые матрицы,
Пиктограммы (файлы с расширением .ico) — это маленькие битовые матрицы. Они повсеместно используются для обозначения значков приложений, в быстрых кнопках, в пунктах меню, в различных списках. Способ хранения изображений в пиктограммах схож с хранением информации в битовых матрицах, но имеются и различия. В частности, пиктограмму невозможно масштабировать, она сохраняет тот размер, в котором была создана.
Метафайлы (Metafiles) хранят не последовательность битов, из которых состоит изображение, а информацию о способе создания картинки. Они хранят последовательности команд рисования, которые и могут быть повторены при воссоздании изображения. Это делает такие файлы, как правило, более компактными, чем битовые матрицы.
Компонент Image позволяет отображать информацию, содержащуюся в графических файлах всех указанных типов. Для этого служит его свойство Picture — объект типа TPicture.
Компонент MainMenu
Позволяет конструировать и создавать полосу главного меню формы и выпадающие меню. Это невизуальный компонент, т.е. место его размещения на форме в процессе проектирования не имеет никакого значения для пользователя — он все равно увидит не сам компонент, а только меню, сгенерированное им.
Обычно на форму помещается один компонент MainMenu. В этом случае его имя автоматически заносится в свойство формы Menu. Но можно поместить на форму и несколько компонентов MainMenu с разными наборами разделов, соответствующими различным режимам работы приложения. В этом случае во время проектирования свойству Menu формы присваивается ссылка на один из этих компонентов. А в процессе выполнения в нужные моменты это свойство можно изменять, меняя соответственно состав главного меню приложения.
Основное свойство компонента — Items. Его заполнение производится с помощью Конструктора Меню, вызываемого двойным щелчком на компоненте MainMenu или нажатием кнопки с многоточием рядом со свойством Items в окне Инспектора Объектов.
Компонент Label
Используется для размещения на формах и других контейнерах текста, который не изменяется пользователем. Тексты, отображаемые в перечисленных компонентах, определяются значением их свойства Caption. Его можно устанавливать в процессе проектирования или задавать и изменять программно во время выполнения приложения. Например:
Label1.Caption := 'Новый текст';
Если требуется отобразить
числовую информацию, можно воспользоваться
функциями FloatToStr и
Описание процедур и функций.
function ConvertToCS(val:integer; CS:integer):string;
Функция для перевода чисел из другой системы счисления в десятичную.
S – число в двоичной, восьмеричной или шестнадцатеричной системе;
CS – число в десятичной системе.
function Rto10(s:string;R:word):
Функция для перевода чисел из десятичной системы счисления в другую.
s – число в десятичной системе счисления;
r – число в любой другой системе счисления
function rol32(value, shift: longint): longint;
Функция для кнопки «Логическое смещение влево».
value – число; shift – на сколько разрядов сдвинуть отображаемое число.
procedure TForm1.SpeedButtonPlusClick(
Процедура для выполнения операции сложения.
procedure TForm1.SpeedButtonMinusClick(
Процедура для выполнения операции вычитания.
procedure TForm1.SpeedButtonUmnClick(
Процедура для умножения двух чисел.
procedure TForm1.SpeedButtonDelClick(
Процедура для деления двух чисел.
procedure TForm1.SpeedButtonFacClick(
Процедура для вычисления факториала.
procedure TForm3.Button1Click(Sender: TObject);
Процедура для решения СЛАУ (Метод Гаусса).
procedure TForm1.SpeedButtonSinClick(
procedure TForm1.SpeedButtonCosClick(
procedure
TForm1.SpeedButtonTgClick(
procedure TForm1.SpeedButtonCtgClick(
Процедуры для вычисления тригонометрических функций Sin, Cos, Tg, Ctg.
procedure TForm1.SpeedButtonAveClick(
Процедура для вычисления среднего значения в окне «Статистика».
procedure TForm1.SpeedButtonSumClick(
Процедура для вычисления суммы всех чисел в окне «Статистика».
procedure TForm1.SpeedButtonSClick(
Процедура для вычисления
стандартного(
procedure TForm1.CopyClick(Sender: TObject);
Процедура для копирования содержимого Memo в буфер обмена.
procedure TForm1.InsertClick(Sender: TObject);
Процедура для вставки содержимого буфера обмена в Memo.
procedure TForm1.SpeedButtonModClick(
Процедура для нахождения остатка от целочисленного деления.
procedure TForm1.SpeedButtonAndClick(
Операция логического умножения («И»).
procedure TForm1.SpeedButtonOrClick(
Операция логического «ИЛИ».
procedure TForm1.SpeedButtonXorClick(
Процедура вычисляет исключающее «ИЛИ».
procedure TForm1.SpeedButtonNotClick(
Процедура порязраядно инвертирует число.
procedure TForm1.SpeedButtonRavnoClick(
Процедура для кнопки Равно « = ».
procedure TForm1.SpeedButton1Click(
.
.
.
procedure TForm1.SpeedButton9Click(
procedure TForm1.SpeedButtonAClick(
.
.
procedure TForm1.SpeedButtonFClick(
Процедуры для ввода чисел в memo.
procedure TForm1.SpeedButtonX2Click(
Процедура для возведения в квадрат отображаемого числа.
procedure TForm1.SpeedButtonSqrtClick(
Процедура извлечения квадратного корня из отображаемого числа.
procedure TForm1.SpeedButtonLnClick(
Вычисляет натуральный логарифм числа.
procedure TForm1.SpeedButtonLogClick(
Вычисление десятичного логарифма.
procedure TForm1.SpeedButtonCLClick(
Очищает экран калькулятора для новых вычислений.
procedure TForm1.SpeedButtonCEClick(
Очищает экран калькулятора.
procedure TForm1.SpeedButtonBackClick(
Удаляет последнюю цифру отображаемого числа.
procedure TForm1.SpeedButtonMSClick(
Заносит число в память.
procedure TForm1.SpeedButtonMRClick(
Вызывает число из памяти.
procedure TForm1.SpeedButtonMCClick(
Очищает память.
procedure TForm1.SpeedButtonMplusClick(
procedure TForm1.SpeedButtonMumnClick(
procedure TForm1.SpeedButtonMdelClick(
Процедуры выполняют операции + , * , / с числом, хранящимся в памяти.
Руководство пользователя.
Калькулятор можно использовать для выполнения операций сложения, вычитания, умножения и деления. Кроме того, калькулятор выполняет и более сложные инженерные и статистические вычисления.
Можно производить
вычисления, нажимая на кнопки калькулятора
или вводя символы с
Простые расчеты
- Введите первое число.
- Нажмите кнопку + (сложение), - (вычита
ние), * (умножение) или / (деление). - Введите следующее число.
- Введите остальные операции и числа.
- Нажмите кнопку =.
Инженерные расчеты
- В меню Вид выберите пункт Инженерный.
- Выберите систему счисления.
- Выберите вариант отображения результата (разрядность или угловые величины) и приступайте к расчетам.
Статистические расчеты
- В меню Вид выберите пункт Инженерный.
- Введите первое значение и нажмите кнопку Sta, чтобы открыть диалоговое окно Статистика.
- Нажмите кнопку RET, чтобы вернуться в окно калькулятора, и нажмите кнопку Dat, чтобы сохранить это значение.
- Введите остальные значения, нажимая кнопку Dat после ввода каждого из них.
- Нажмите кнопку Ave, Sum или s.
Примечания
- По нажатию кнопки Ave вычисляется среднее значение для чисел, сохраненных в диалоговом окне Статистика, по нажатию кнопки Sum — сумма этих чисел, а по нажатию кнопки s — стандартное (среднеквадратическое) отклонение.
- После того как все данные введены, можно просмотреть их список, нажав кнопку Sta.
- Количество сохраненных значений можно отслеживать внизу диалогового окна Статистика. Можно удалить любое значение из списка, нажав кнопку CD, или удалить все значения, нажав кнопку CAD. Нажав кнопку Load, можно заменить число, отображаемое на калькуляторе, числом, выбранным в диалоговом окне Статистика.
Работа с числами, сохраненными в памяти
При сохранении числа в памяти над кнопками памяти на панели калькулятора появляется это число. Каждое новое число, занесенное в память, заменяет предыдущее. Работа с сохраненными числами:
- Чтобы занести отображаемое число в память, нажмите кнопку MS.
- Чтобы вызвать число из памяти, нажмите кнопку MR.
- Чтобы очистить память, нажмите кнопку MC.
- Чтобы сложить, умножить или разделить отображаемое число с числом, хранящимся в памяти, нажмите кнопку M+, М* или М/. Чтобы вызвать результат, нажмите кнопку MR.
Преобразование чисел в другую систему счисления
- В меню Вид выберите пункт Инженерный.
- Введите число.
- Выберите систему счисления, в которую его следует преобразовать.
- Выберите нужные единицы отображения.
Примечания
- При преобразовании нецелого десятичного числа в другую систему счисления его дробная часть отбрасывается.
- Шестнадцатеричные, восьмеричные и двоичные числа, преобразованные в десятичные, отображаются как целые положительные числа.
В таблице 1 перечислены все функции кнопок калькулятора.
Кнопка |
|
% |
Отображает результат умножения в процентах. Введите первое число, нажмите кнопку *, введите второе число и нажмите кнопку%. Например, 50 * 25% дает результат 12,5. Имеется также возможность выполнять операции с процентами. Введите одно число, нажмите кнопку (+, -, * или /), введите второе число, нажмите кнопку % и нажмите кнопку =. Например, 50 + 25% (от 50) = 62,5. Используется при обычном виде. |
* |
Вычисляет произведение. |
+ |
Вычисляет сумму. |
+/- |
Изменяет знак отображаемого числа на противоположный. |
- |
Вычисляет разность. |
. |
Вставляет символ десятичного разделителя. |
/ |
Вычисляет частное. |
0–9 |
Добавляет цифру к отображаемому числу. |
1/x |
Вычисляет частное от деления единицы на отображаемое число. |
= |
Выполняет указанную операцию над двумя последними числами. |
A–F |
Добавляет указанную
букву к отображаемому числу.
Эти кнопки доступны, если только выбрана
шестнадцатеричная система |
And |
Вычисление поразрядного И. Логические операторы отсекают дробную часть десятичного числа перед выполнением любой поразрядной операции. |
Ave |
Вычисляет среднее значение чисел, отображаемых в диалоговом окне Статистика. Чтобы эта кнопка стала доступной, необходимо сначала нажать кнопку Sta. |
Backspace |
Удаляет последнюю цифру отображаемого числа. |
Bin |
Преобразует отображаемое число в двоичную систему счисления. Максимальное двоичное число без знака: 32 разряда, каждый из которых имеет значение 1. |
C |
Очищает экран калькулятора для новых вычислений. |
CE |
Удаляет отображаемое число. |
cos |
Вычисляет косинус отображаемого числа. Чтобы вычислить арккосинус, нажмите Inv+cos. Чтобы вычислить гиперболический косинус, нажмите Hyp+cos. Чтобы вычислить гиперболический арккосинус, нажмите Inv+Hyp+cos. Эта кнопка доступна только для десятичной системы счисления. |
Dat |
Вводит отображаемое число в диалоговое окно Статистика. Чтобы эта кнопка стала доступной, необходимо сначала нажать кнопку Sta. |
Dec |
Преобразует отображаемое число в десятичную систему счисления. |
Градусы |
Указывает выражение аргумента тригонометрической функции в градусах (в десятичном режиме). |
Грады |
Задает выражение аргумента тригонометрической функции в градах (в десятичном режиме). |
Hex |
Преобразует отображаемое
число в шестнадцатеричную |
Hyp |
Задает расчет гиперболической
функции при нажатии кнопок sin |
Int |
Отображает целую часть десятичного числа. |
Inv |
Задает расчет обратной
функции при нажатии кнопок sin |
ln |
Вычисляет натуральный (по основанию e) логарифм отображаемого числа. |
log |
Вычисляет десятичный (по основанию 10) логарифм отображаемого числа. |
Lsh |
Поразрядный сдвиг влево. После нажатия этой кнопки необходимо указать (в двоичной форме), на сколько разрядов влево или вправо следует сдвинуть отображаемое число и нажать кнопку =. Логические операторы отсекают дробную часть десятичного числа перед выполнением любой поразрядной операции. |
M+
M* М / |
Прибавляет отображаемое число к числу, хранящемуся в памяти, но не выводит сумму этих чисел. Умножает отображаемое число к числу, хранящемуся в памяти, но не выводит сумму этих чисел. Делит отображаемое число к числу, хранящемуся в памяти, но не выводит сумму этих чисел. |
MC |
Очищает память. |
Mod |
Отображает модуль или остаток от деления числа x на y. Используется как бинарный оператор. Например, чтобы найти остаток от деления числа 5 на 3, наберите 5 MOD 3 =, что равно 2. |
MR |
Отображает число, хранящееся в памяти. Содержимое памяти не меняется. |
MS |
Заносит отображаемое число в память. |
n! |
Вычисляет факториал отображаемого числа. |
Not |
Поразрядно инвертирует отображаемое число. Логические операторы отсекают дробную часть десятичного числа перед выполнением любой поразрядной операции. |
Oct |
Преобразует отображаемое число в восьмеричную систему счисления. Максимальное восьмеричное число без знака: 32 разряда, каждый из которых имеет значение 1. |
Or |
Вычисляет поразрядное
ИЛИ. Логические операторы отсекают
дробную часть десятичного |
pi |
Выводит значение числа пи (3,1415...). |
Радианы |
Задает выражение аргумента тригонометрической функции в радианах (в десятичном режиме). |
s |
Вычисляет стандартное отклонение. Чтобы эта кнопка стала доступной, необходимо сначала нажать кнопку Sta. |
sin |
Вычисляет синус отображаемого числа. Чтобы вычислить арксинус, нажмите Inv+sin. Чтобы вычислить гиперболический синус, нажмите Hyp+sin. Чтобы вычислить гиперболический арксинус, нажмите Inv+Hyp+sin. Кнопка sin доступна только в десятичной системе счисления. |
sqrt |
Вычисляет квадратный корень из отображаемого числа. |
Sta |
Отображает диалоговое окно Статистика и включает функции Ave,Sum, s и Dat. |
Sum |
Вычисляет сумму значений, отображаемых в диалоговом окне Статистика. Чтобы эта кнопка стала доступной, необходимо сначала нажать кнопку Sta. |
tan |
Вычисляет тангенс отображаемого числа. Чтобы вычислить арктангенс, нажмите Inv+tg. Чтобы вычислить гиперболический тангенс, нажмите Hyp+tg. Чтобы вычислить гиперболический арктангенс, нажмите Inv+Hyp+tg. Кнопка tg доступна только в десятичной системе счисления. |
Xor |
Вычисляет поразрядное исключающее ИЛИ. Логические операторы отсекают дробную часть десятичного числа перед выполнением любой поразрядной операции. |
x^2 |
Возводит отображаемое число в квадрат. |
x^3 |
Возводит отображаемое число в куб. |
x^y |
Вычисляет число x, возведенное в степень y. |

- Инженерный расчет активных фильтров
- Инженеро- техническое обслуживание
- Инжинерная графика
- Инжиниринг
- Инжиниринг
- Инжиниринг в России
- Инжиниринг инновационной деятельности
- Инженерные сети микрорайона
- Инженерные системы
- Инженерные системы зданий и сооружений
- Инженерные сооружения водного туризма
- Инженерные сооружения. Природоохранные мероприятия
- Инженерные средства защиты окружающей среды
- Инженерный документооборот предприятия