Курсовая работа: Разработка приложений в визуальной среде Delphi на языке программирования Object Pascal
Рисунок 3 - Блок-схема решения задачи 1
При решении задач часто приходится выполнять многократные вычисления не только по одним и тем же формулам, но и по одним и тем же алгоритмам, в которых изменяются значения только некоторых переменных. В этом случае повторяющиеся части целесообразно оформлять в виде отдельных модулей - подпрограмм, дополняющих основную программу. Использование подпрограмм не только освобождает от переписывания повторяющихся фрагментов программного текста, но и улучшает наглядность и структуру программы, позволяет перейти к модульному программированию и оптимизировать программу, создать личную библиотеку программных модулей. В Delphi подпрограммы оформляют в виде процедур и функций, которые входят в основную программу путем соответствующего описания. Для решения задачи была использована подпрограмма, оформленная в виде функции пользователя, рисунок 4 (Блок-схема подпрограммы задачи 1).
Функция пользователя это один из способов оформления подпрограммы или фрагмента программы, предназначенного для решения части общей задачи [4]. Функция пользователя предназначена для вычисления только одного значения и передается в основную программу как значение одной переменной с именем этой функции. Параметры, записываемые в обращении к функции, называются фактическими, а параметры, указанные в ее описании, формальными. В теле функции обязательно должен быть хотя бы один оператор присваивания, где в левой части стоит имя функции, а в правой - её значение. Иначе значение функции не будет определено.
Рисунок 4 - Блок-схема подпрограммы задачи 1
2.2 Задача 2. Алгоритм решения
На основании созданной математической модели задачи 2 составим алгоритм программного приложения.
Алгоритм приложения задачи 2 является линейным, в нём операции выполняются последовательно одна за другой, в естественном и единственном порядке следования. Все операции имеют последовательное соединение логической связью передачи информационных потоков [3].
Для простых приложений не требуются блок - схемы алгоритмов. Составим алгоритм в вербальной форме.
В связи с изменением геометрических характеристик системы в зависимости от переменной W, алгоритм предполагает наличие следующих действий:
ввод значения радиуса барабана (R);
определение констант (размеры стержней АВ и СD);
определение значения угла W;
определение положения точки начала координат О (х0, у0);
определение значения переменной W1;
определение координат точек, которые определяют положение механизма;
производим рисование элементов на экране;
закрытие программного приложения.
3. Описание основных операторов, процедур, функций и методов
При написании программного кода задачи 1 использовался условный оператор. Он позволяет проверить некоторое условие и в зависимости от результатов проверки выполнить то или иное действие. Таким образом, условный оператор - это средство ветвления вычислительного процесса.
Структура условного оператора имеет следующий вид [1]:
if <условие> then <оператор1> else <оператор2>,
где: if/ then/ else - зарезервированные слова (если, то, иначе);
<условие> - произвольное выражение логического типа;
<оператор1>, <оператор2> - любые операторы языка Object Pascal.
Условный оператор работает по следующему алгоритму. Вначале вычисляется условное выражение <условие>. Если результат есть True (истина), то выполняется <оператор1>, а <оператор2> пропускается; если результат есть False (ложь), наоборот, <оператор1> пропускается, а выполняется <оператор2>. Условными называются выражения, имеющие одно из двух возможных значений: истина или ложь. Такие выражения чаще всего получаются при сравнении переменных с помощью операций отношения =, <>, >, >=, <, <=. Сложные логические выражения составляются с использованием логических операций and (логическое И), or (логическое ИЛИ) и not (логическое НЕ).
В процессе создания программного приложения задачи1 использовались следующие функции:
функция преобразования типа
StrToFloat (const S: string): Extended;
преобразует строку S в вещественное число [4]. Строка должна содержать знак, цифры и десятичный разделитель в порядке, характерном для записи десятичных дробей. Также строка может содержать мантиссу, состоящую из знака, буквы Е и целого числа. Пробелы в начале и в конце строки игнорируются. Если S имеет другой формат, функция возвращает сообщение об ошибке;
функция обратного преобразования типа