Табулирование функций в интегрированной среде программирования Delphi

Особенности среды визуального проектирования Borland Delphi 7.0. Этапы разработки программы и составления блок-схемы алгоритмов. Способы вычисления кусочно-заданной функции одной переменной. Рассмотрение компонентов среды Delphi, ее предназначение.

Рубрика Программирование, компьютеры и кибернетика
Вид контрольная работа
Язык русский
Дата добавления 24.09.2012
Размер файла 703,8 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Введение

визуальный проектирование delphi среда

Математические вычисления являются весьма востребованными в инженерии.

Процесс расчета вручную занимает большое количество времени и требует огромного внимания и умственного труда. Это в значительной мере может увеличить сроки и стоимость проектирования инженерно-технических объектов, выполнения других математических расчетов. Для облегчения и ускорения расчетов используются компьютеры, оснащенные соответствующим программным обеспечением.

Данная программа позволяет производить расчеты функций.

Для разработки программы была выбрана среда визуального проектирования Borland Delphi 7.0. Она позволяет за короткий промежуток времени и с наименьшими затратами физических и умственных сил создавать прикладные программы различной направленности, обеспечивая при этом наличие дружественного оконного интерфейса. Указанные (а также ряд других) преимущества среды Delphi 7.0. обуславливают широкое её использование при создании программного обеспечения разнообразного назначения.

Цель данной курсовой работы - изучение механизмов работы с линейными, условными и циклическими алгоритмами.

В соответствии с заданием и целью курсовой работы задачами курсовой работы являются:

1) разработка алгоритма работы программы и представление его в виде блок-схем;

2) реализация разработанного алгоритма в среде Delphi;

3) тестирование разработанной программы.

1. Основы языка программирования

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

Структурные операторы строятся из специальных зарезервированных слов, логических выражений и других операторов. Каждый такой оператор явно или неявно содержит одну или несколько логических проверок.

Оператор if...then... называется условным оператором и имеет вид if expression then statement;

где выражение expression1 является логическим. Логическое выражение принимает одно из двух возможных значений -- True (истина) или False (ложь). Часто в роли логического выражения выступает какое-то условие, которое может выполняться либо нет. В первом случае его значение - «истина», а во втором - «ложь». Если логическое выражение expression1 принимает значение «истина», то выполняется оператор statementl. В противном случае выполняться будет оператор, следующий за данным логическим оператором.

Операторы if...then... можно вкладывать друг в друга, так как конструкция

if expression2 then statement2;

также является оператором и может заместить оператор statementl:

if expression1 then

if expression2 then statement2;

Оператор if...then...else... является полной версией условного оператора и имеет вид

if expression then statementl else statement2;

Выполняется данный оператор следующим образом: если выражение expression принимает значение «истина», то управление передается на оператор statementl, если же нет, то на оператор statement2.

Оператор

if expression then

if expression2 then

statement2

else

statement;

допускает двоякую интерпретацию. Первый вариант соответствует последовательности операторов

if expression then

begin

if expression2 then

statement2

else

statement1;

end;

Второй вариант:

if expression then

begin

if expression2 then

statement2

end

else

statement1;

Компилятор Паскаля всегда выбирает первый из приведенных вариантов -- каждому else соответствует ближайший предшествующий if. Если требуется реализация второго варианта, можно использовать операторные скобки begin...end.

Ситуаций, где имеется несколько (три и более) альтернатив, больше подходит оператор case. Этот оператор называется оператором выбора и имеет следующий вид:

case expression of

values_l: statement_l;

values_2: statement_2;

values_n: statement_n;

else

statement;

end;

Рассмотрим элементы этой конструкции. Во-первых, это три зарезервированных слова: case, of и end. Между case и of находится выражение expression, принимающее значение, которое, возможно, имеется в одном из списков значений, находящихся слева от двоеточий. Данное выражение называется селектором оператора case. Каждый оператор, идущий за двоеточием, отделяется от следующего списка значений точкой с запятой. Ветвь else, отвечающая всем не перечисленным значениям выражения expression, необязательна. При выполнении данного оператора вначале вычисляется значение селектора. Затем выбирается тот список значений, которому принадлежит полученное значение, и выполняется соответствующий оператор.

В списках значений оператора case допустимыми являются типы переменных, называемые скалярными, включая целые и исключая вещественные типы. Любое заданное значение селектора может входить в список значений неоднократно, но выполняться будет лишь первая подходящая ветвь. Если значение селектора отсутствует в списках значений, ни одна из альтернатив выполняться не будет. В этом случае выполняется ветвь else оператора case или (если эта ветвь отсутствует) следующий за case оператор.

Оператор цикла является важнейшим оператором и имеется в большинстве современных языков программирования (а сама идея цикла возникла еще в XIX веке!). Цикл позволяет многократно выполнить некоторое множество действий, задаваемых операторами, составляющими его тело. В Паскале имеется несколько разновидностей оператора цикла. Начнем с оператора цикла с предусловием. Данный оператор имеет вид while expression do statement;

При выполнении этого оператора вначале вычисляется значение логического выражения expression. Если это значение истинно, выполняется оператор statement, затем значение выражения проверяется вновь и т. д., до тех пор, пока выражение не примет значение «ложь». Если выражение принимает значение «ложь» при первой же проверке, то оператор statement не выполняется вообще. Рассмотрим частный случай:

while True do statement;

Здесь оператор statement будет выполняться бесконечно.

Оператор цикла с постусловием имеет вид repeat statement until expession;

Здесь вначале выполняется оператор statement, а затем вычисляется значение логического выражения expression. Процесс повторяется, пока выражение expression принимает значение «ложь». Как только это значение станет истинным, выполнение цикла прекращается. Оператор statement может быть любым, в том числе и составным оператором:

repeat

statement_l;

statement 2;

statement_n;

until expression;

Точка с запятой перед зарезервированным словом until необязательна. В приведенном ниже частном случае

repeat

statement_l;

statement_2;

statement_n;

until False;

цикл выполняется бесконечно. В цикле repeat...until... проверка выполняется в последнюю очередь, и Тело цикла в любом случае выполняется хотя бы один раз.

Третий вариант оператора цикла -- цикл со счетчиком. Можно считать, что есть две очень похожих друг на друга разновидности цикла со счетчиком. Первый из этих операторов имеет вид for j := expression1 to expression2 do statement;

Здесь переменная j, называемая управляющей переменной цикла for, является произвольным идентификатором, который объявляется как переменная любого скалярного типа (к скалярным относятся целый, символьный, булев и перечислимые типы).

При выполнении оператора for сначала вычисляется значение выражения expression1, затем вычисляется значение выражения expression2, далее управляющая переменная цикла последовательно пробегает все значения от expression1 до expression2. В том случае, когда значение expression1 оказывается больше значения expression2, тело цикла не будет выполняться вовсе. Эти значения остаются неизменными в ходе выполнения всего цикла for.

В теле цикла for следует избегать операторов, изменяющих значение управляющей переменной j. Несмотря на то что использование подобных конструкций не приводит к ошибкам компиляции, они потенциально опасны и могут приводить к неприятным последствиям.

Вариант for...downto...do... цикла for аналогичен циклу for...to...do... за исключением того, что в нем управляющая переменная на каждом шаге выполнения не увеличивается, а уменьшается на единицу:

for j := expression1 downto expression2 do statement;

Иногда бывает удобно проводить проверку на возможный выход из цикла где-нибудь в его середине, а не в начале или конце. Такой выход из цикла обеспечивается процедурой Break модуля System, которая прерывает выполнение самого внутреннего вложенного цикла, будь то for, while или repeat. Указанный модуль подключается к программе автоматически, если в этом есть необходимость. Пример:

while true do

begin

statement1;

if expression then Break;

statement2;

end;

Следует также упомянуть процедуру Continue, которая прерывает выполнение тела самого внутреннего цикла for, while или repeat и передает управление на его заголовок, так что начинается выполнение очередной итерации цикла.

2. Разработка программы

Составим алгоритмы и блок-схемы решения задач.

Задание №1.

1. Ввод значения .

2. Вычисление значения функции .

3. Вывод значения функции.

4. Конец.

Задание №2.

1. Ввод значения .

2. Если значение - вычисляем значение функции по формуле . Переходим к п. 4.

3. Если значение - вычисляем значение функции по формуле . Переходим к п. 4.

4. Выводим значение функции

5. Конец.

Задание №3.

1. Ввод значений границ интервала и , и шага .

2. Вычисляем количество точек на интервале по формуле

.

3. Начало цикла .

4. Если - переходим к п. 9.

5. Вычисляем значение аргумента по формуле .

6. Вычисляем значение функции по формуле

.

7. Выводим значение аргумента и функции.

8. Переходим к следующей точке. . Переходим к п. 4.

9. Конец.

Составим блок-схему алгоритмов (рисунок 1).

Рис.

Рисунок 1. Блок-схема алгоритма

Текст процедуры представлен ниже.

procedure TMainForm.btnCalcClick(Sender: TObject);

var x, z, a, b, h: double;

f: string;

i, n: integer;

begin

case pc.ActivePageIndex of

0:

begin

x := StrToFloat(le1X.Text);

z := Sqr(Sin(x))/Cos(x*x) - Sqr(Sin(x))/Cos(x * x);

le1Z.Text := FloatToStr(z);

end;

1:

begin

x := StrToFloat(le2X.Text);

if x <= 3 then z := x + 1

else z := 1 / (x * x + 1);

le2F.Text := FloatToStr(z);

end;

2:

begin

a := StrToFloat(le3A.Text);

b := StrToFloat(le3B.Text);

h := StrToFloat(le3H.Text);

n := Round(1 + (b - a) / h);

sg3.RowCount := n + 1;

for i := 1 to n do

begin

x := a + (i - 1) * h;

if (x = -1) or (Cos(x * x) = -1) then

f := 'Не определено'

else

f := FloatToStr(Sqr(Sin(x)) * Cos(x) / (x + 1) +

(x + 3) / (1 + Cos(x

* x)));

sg3.Cells[0, i] := FloatToStr(x);

sg3.Cells[1, i] := f;

end;

end;

end;

end;

Полный текст программы представлен в приложении.

Тестирование программы

Проведем тестирование трех задач (рис. 2-3).

Рисунок 2. Тестирование первой задачи

Рисунок 3. Тестирование второй задачи

Рисунок 4. Тестирование третьей задачи

Выводы

В данной курсовой работе решались три задачи.

Первой задачей являлось вычисление функции одной переменной.

Второй задачей являлось вычисление кусочно-заданной функции одной переменной.

Третьей задачей являлось табулирование функции одной переменной.

В работе изложены основные теоретические сведения, необходимые для выполнения работы, разработаны и представлены в виде блок-схем алгоритмы работы программ.

Разработанные алгоритмы реализованы в приложении, созданном в среде Delphi.

В процессе выполнения работы был изучен материал по основным операторам языка, основным компонентам среды Delphi, закреплены навыки практической разработки приложений.

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

Литература

1.Архангельский А.Я., «Приемы программирования в Delphi на основе VCL», 2009 г., Бином, 944 с.

2.Культин Н.Б., «Основы программирования в Delphi 7», 2009 г., BHV, 640 с., ил.

3.Культин Н.Б., «Delphi в задачах и примерах», 2008 г., BHV, 280 с., ил.

4.Бескоровайный Илья, «Азбука Delphi: программирование с нуля», 2008 г., Сибирское университетское издательство, 112с., ил.

5.Гофман В.Э., Хомоненко А.Д., «Самоучитель Delphi», 2008 г., BHV, 576 с., ил.

6.Сухарев М., «Delphi», 2008 г., Наука и техника, 1040 с.,ил.

7.Гофман В.Э., Мещеряков Е., Никифоров В.В., Хомоненко А.Д. Delphi 7, 2008 г., BHV, 1216 с.,ил.

Приложение

Код программы

unitAlina;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, ExtCtrls, pngimage;

type

TForm1 = class(TForm)

GroupBox1: TGroupBox;

Button1: TButton;

Label1: TLabel;

Edit1: TEdit;

Edit2: TEdit;

Label2: TLabel;

Image1: TImage;

Bevel1: TBevel;

Label3: TLabel;

Label4: TLabel;

GroupBox2: TGroupBox;

Edit3: TEdit;

Label5: TLabel;

Label6: TLabel;

Edit4: TEdit;

Label7: TLabel;

Button2: TButton;

Image2: TImage;

GroupBox3: TGroupBox;

Label8: TLabel;

х1: TLabel;

х2: TLabel;

Результат: TLabel;

Edit5: TEdit;

Edit6: TEdit;

Memo1: TMemo;

Image3: TImage;

Bevel2: TBevel;

Label9: TLabel;

Button3: TButton;

procedureButton1Click(Sender: TObject);

procedureButton2Click(Sender: TObject);

procedureButton3Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);

var

z: real;

x: integer;

begin

x:= StrToInt(edit1.Text);

z:=((sin(x)*sin(x))/cos(x*x))+((sin(x)*sin(x))/cos(x*x));

Edit2.Text:=FloatToStr(z);

end;

procedure TForm1.Button2Click(Sender: TObject);

var

x: integer;

f: real;

begin

x:= StrToInt(Edit3.Text);

ifx<=3 then f:=x+1;

ifx<=-3 then f:=1/(x*x)+1;

Edit4.Text:=FloatToStr(f);

end;

procedure TForm1.Button3Click(Sender: TObject);

var

x, i, x1,x2: integer;

f: real;

begin

x1:= StrToInt(edit5.Text);

x2:= StrToInt(edit6.Text);

memo1.clear;

memo1.Lines.Add('результат табулирования функции');

forx := x1 to x2 do

begin

f:=(sin(x)*sin(x)*(cos(x))/x+1)+x+3/1+cos(x*x);

memo1.Lines.Add(FloatToStr(f));

end;

end;

end.

Размещено на Allbest.ru


Подобные документы

  • Borland Delphi 7 как универсальный инструмент разработки, применяемый во многих областях программирования, функции: добавление информации об абитуриентах в базу данных, формирование отчетов. Рассмотрение и характеристика основных компонентов Delphi.

    контрольная работа [3,6 M], добавлен 18.10.2012

  • Теоретические основы объектно-ориентированного языка программирования Delphi, изучение среды визуального проектирования приложений. Определение 40-го числа Фибоначчи, составление листинга и блок-схемы программы, тестирование ее на работоспособность.

    курсовая работа [261,1 K], добавлен 25.03.2015

  • История интегрированной среды разработки, версии Delphi. Организация библиотеки компонентов. Страница Additional, ряд часто используемых компонентов общего назначения. Исполняемый файл программы "Архиватор текстовых файлов", интерфейс приложения.

    курсовая работа [1019,0 K], добавлен 16.05.2017

  • Эффективные средства разработки программного обеспечения. Технология визуального проектирования и событийного программирования. Конструирование диалоговых окон и функций обработки событий. Словесный алгоритм и процедуры программы Borland Delphi 7 Studio.

    дипломная работа [660,2 K], добавлен 21.05.2012

  • Разработка головоломки на основе гравюры Альбрехта Дюрера "Магический квадрат". Главные составные части среды программирования Delphi, особенности ее стандартных компонентов и процесса сохранения программы. Компоненты и алгоритмы создаваемой программы.

    курсовая работа [147,1 K], добавлен 05.02.2015

  • Проектирование программного модуля в среде программирования Borland Delphi 7.0. Схемы алгоритмов решения задач по темам "Символьные переменные и строки", "Массивы", "Работа с файлами", "Создание анимации". Реализация программного модуля, код программы.

    отчет по практике [961,6 K], добавлен 21.04.2012

  • Рассмотрение особенностей среды программирования Delphi, анализ клиент-серверной версии. Знакомство с библиотекой визуальных компонентов. Основные функции интеллектуального редактора. Характеристика требований к базам данных. Функции программы "Магистр".

    дипломная работа [1,5 M], добавлен 10.03.2013

  • Предмет объектно-ориентированного программирования и особенности его применения в средах Паскаль, Ада, С++ и Delphi. Интегрированная среда разработки Delphi: общее описание и назначение основных команд меню. Процедуры и функции программы Delphi.

    курсовая работа [40,8 K], добавлен 15.07.2009

  • Delphi как среда разработки программ, ориентированных на работу в Windows. Назначение и преимущество использования электронных учебников. Описание возможностей среды Delphi 5 для разработки электронного учебника. Варианты применения служб Internet.

    дипломная работа [3,6 M], добавлен 13.07.2011

  • Принципы разработки алгоритмов и программ на основе процедурного подхода и на основе объектно-ориентированного подхода. Реализация программы Borland Pascal 7.0, ее интерфейс. Разработка простой программы в среде визуального программирования Delphi.

    отчет по практике [934,7 K], добавлен 25.03.2012

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.