">
Информатика Программирование
Информация о работе

Тема: Написать подпрограмму функцию Form(S, X)

Описание: Блок-схема алгоритма работы программы. Алгоритм работы программы, листинг. Язык Delphi. Все новые мастера, компоненты и технологии программирования. Процесс разработки. Программа, позволяющая вычислить уравнение с одной неизвестной. Соответствующая литература.
Предмет: Информатика.
Дисциплина: Программирование.
Тип: Курсовая работа
Дата: 18.08.2012 г.
Язык: Русский
Скачиваний: 26
Поднять уникальность

Похожие работы:

Министерство образования и науки РФ

Северо-Кавказский Горно-металлургический

институт

(Государственный Технологический Университет)

Факультет: Информационных технологий

Кафедра: Информатики

Курсовая работа

По дисциплине: Информатика

Тема работы: Написать подпрограмму – функцию Form(S, X)

Работу выполнила: Студентка группы

Ф.И.О.

Руководитель работы: Ф.И.О

оценка__________

Владикавказ 2012 г.

Задание

Написать подпрограмму – функцию Form(S, X), где S – строка, X - вещественная переменная. В строке записано арифметическое выражение, содержащее переменную X, константы (целые или вещественные), операции +, -, *,/. Порядок операций определен скобками. Подпрограмма – функция возвращает значение арифметического выражения при заданном значении X.

Содержание

Задание2

Введение4

Блок-схема алгоритма работы программы6

Алгоритм работы программы8

Листинг программы11

Заключение19

Список используемой литературы20

Введение

Мечта программистов о среде программирования, в которой бы простота и удобство сочетались с мощью и гибкостью, стала реальностью с появлением среды Delphi. (рисунок 1) Она обеспечивала визуальное проектирование пользовательского интерфейса, имела развитый объектно-ориентированный язык Object Pascal (позже переименованный в Delphi) и уникальные по своей простоте и мощи средства доступа к базам данных. Язык Delphi по возможностям значительно превзошел язык Basic и даже в чем-то язык C++, но при этом он оказался весьма надежным и легким в изучении. В результате, среда Delphi позволила программистам легко создавать собственные компоненты и строить из них профессиональные программы. В России Borland Delphi появляется в конце 1993 г. и сразу же завоевывает широкую популярность. Новые версии выходят практически каждый год. В них реализуются все новые мастера, компоненты и технологии программирования.

Рисунок 1- среда Delphi

Действительно, процесс разработки в Delphi предельно упрощен. В первую очередь это относится к созданию интерфейса, на который уходит 80% времени разработки программы. Вы просто помещаете нужные компоненты на поверхность Windows-окна (в Delphi оно называется формой) и настраиваете их свойства с помощью специального инструмента (Object Inspector). С его помощью можно связать события этих компонентов (нажатие на кнопку, выбор мышью элемента в списке и т.д.) с кодом его обработки – и вот простое приложение готово. Причем разработчик получает в свое распоряжение мощные средства отладки (вплоть до пошагового выполнения команд процессора), удобную контекстную справочную систему средства коллективной работы над проектом, всего просто не перечислить.

Блок-схема алгоритма работы программы.

В данной блок-схеме описана конструкция программы (рисунок 2)

Рисунок 3-Блок-схема программы

Алгоритм работы программы:

Запускаем программу. Перед нами появляется окно главной формы Form 1(рисунок 4). На ней расположены компоненты label1, label2, label3, edit1, edit2, button1.

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

Для Form1:

Свойство Caption – «Курсовая работа по информатике»;

Свойство AutoSize – Автоматически настраивает размер формы;

Для button 1:

Свойство Caption – «Вычислить уравнение»;

Событие OnClick;

Для label1:

Свойство Caption – «Введите функцию»;

Для label2:

Свойство Caption – «Введите х=»;

Для label3:

Свойство Caption – «Уравнение =»

Для компонента edit:

Свойство text - удаляем;

Свойство AutoSize – Подгоняет размер компонента под изображение автоматически.

При нажатии на пункт меню «Выполнить» программа выполняет тоже самое что и при нажатии на кнопку, в при нажатии «Выход» форма закрывается.

При нажатии на кнопку «Помощь», появляется справка на новой форме (рисунок 5)

При нажатии на кнопку «О программе», появляется справка о постановке задачи, на новой форме (рисунок 6 )

При нажатии на кнопку «Над программой работала», появляется справка о студентке выполнявшей работу, на новой форме ( фото автора ).

Листинг программы:

Program alenka;

interface

uses

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

Dialogs, StdCtrls, Menus,jpeg;

type

TForm1 = class(TForm)

Label1: TLabel;

Label2: TLabel;

Edit1: TEdit;

Edit2: TEdit;

MainMenu1: TMainMenu;

N1: TMenuItem;

N2: TMenuItem;

N3: TMenuItem;

N4: TMenuItem;

N5: TMenuItem;

Button1: TButton;

Label3: TLabel;

Label4: TLabel;

N6: TMenuItem;

procedure Button1Click(Sender: TObject);

procedure N3Click(Sender: TObject);

procedure N4Click(Sender: TObject);

procedure N5Click(Sender: TObject);

procedure N6Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

aperand: array [1..100] of real;

operacii: array [1..100] of Char;

x: Real;

l,i,n,m, f, q, j: integer ;

a,s,b : string;

implementation

uses Unit2, Unit3, Unit4;

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);

{Процедура которая считывает по элементно строку, преобразую её как функцию, вычисляющая введённые данные}

begin

s:= edit1.Text;

l:=Length (s);

x:=StrToFloat(edit2.text);

n:=0;

m:=0;

a:=;

f:=0;

i:=1;

q:=0;

while i<=l do

begin

inc(q);

case s[i] of

(: begin

inc(m);

operacii[m]:=(;

inc(i);

f:=0;

end;

0..9: begin

while (s[i]in[0..9]) or (s[i]=,) do

begin

a:=a+s[i];

Inc(i);

end;

inc(n);

aperand[n]:=StrToFloat(a);

a:=;

f:=1;

end;

+:begin

begin

if (operacii[m] in [(,+,-]) or (m=0) then

begin

if (operacii[m]<>() and (m<>0) then

begin

case operacii[m] of

+: aperand[n-1]:=aperand[n-1]+aperand[n];

-: aperand[n-1]:=aperand[n-1]-aperand[n];

end;

n:=n-1;

m:=m-1;

end;

inc(m);

operacii[m]:=s[i];

inc(i);

end

else

begin

case operacii[m] of

*: aperand[n-1]:=aperand[n-1]*aperand[n];

/: aperand[n-1]:=aperand[n-1]/aperand[n];

end;

n:=n-1;

m:=m-1;

end;

end;

f:=1;

end;

-: begin

if f=0 then

begin

inc(n);

aperand[n]:=0;

inc(m);

operacii[m]:=-;

inc(i);

end

else

begin

if (operacii[m] in [(,+,-]) or (m=0)then

begin

if (operacii[m]<>() and (m<>0) then

begin

case operacii[m] of

+: aperand[n-1]:=aperand[n-1]+aperand[n];

-: aperand[n-1]:=aperand[n-1]-aperand[n];

end;

n:=n-1;

m:=m-1;

end;

inc(m);

operacii[m]:=s[i];

Inc(i);

end

else

begin

case operacii[m] of

*: aperand[n-1]:=aperand[n-1]*aperand[n];

/: aperand[n-1]:=aperand[n-1]-aperand[n];

end;

n:=n-1;

m:=m-1;

end;

end;

f:=1;

end;

*,/:begin

inc(m);

operacii[m]:=s[i];

f:=1;

inc(i);

end ;

): begin

while operacii[m]<>( do

begin

case operacii[m] of

*: aperand[n-1]:=aperand[n-1]*aperand[n];

/: aperand[n-1]:=aperand[n-1]/aperand[n];

+: aperand[n-1]:=aperand[n-1]+aperand[n];

-: aperand[n-1]:=aperand[n-1]-aperand[n];

end;

n:=n-1;

m:=m-1;

end;

m:=m-1;

f:=1;

inc(i);

end;

x: begin

inc(n);

aperand[n]:=x;

f:=0;

inc(i);

end;

y,Y: begin

b:= ;

inc(n);

f:=1;

inc(i);

end;

end;

for j:=1 to n do b:=b+floattostr(aperand[j])+ ;

b:=;

for j:=1 to m do b:=b+operacii[j]+ ;

end;

while m<>0 do

begin

inc(q);

case operacii[m] of

*: aperand[n-1]:=aperand[n-1]*aperand[n];

/: aperand[n-1]:=aperand[n-1]/aperand[n];

+: aperand[n-1]:=aperand[n-1]+aperand[n];

-: aperand[n-1]:=aperand[n-1]-aperand[n];

end;

n:=n-1;

m:=m-1;

for j:=1 to n do b:=b+floattostr(aperand[j])+ ;

for j:=1 to m do b:=b+operacii[j]+ ;

end;

Label3.Caption:=FloatToStr(Aperand[1]);

end;

procedure TForm1.N3Click(Sender: TObject);

{Процедура закрывающая программу}

begin

close;

end;

procedure TForm1.N4Click(Sender: TObject);

{Процедура открывает новое окно с данными о программе}

begin

form2.show;

end;

procedure TForm1.N5Click(Sender: TObject);

{Процедура открывает новое окно с условием задачи}

begin

form3.show;

end;

procedure TForm1.N6Click(Sender: TObject);

{Процедура открывает новое окно с данными о студенте выполнивший задание }

begin

form4.show;

end;

end.

Заключение

Данный курсовой проект является актуальным и отвечает предъявленым к нему требованиям. Была разработана и написана, на языке программирования высокого уровня Borland Delphi 7.0, программа, позволяющая вычислить уравнение с одной неизвестной.

В процессе выполнения курсового проекта я усвоила некоторые возможности Delphi. Но даже этот небольшой объем материала позволил мне убедиться в колоссальности данной среды.

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

При выполнении курсовой работы:

· была изучена теория и технология работы с средой программирования Borland Delphi7;

· была изучена и проанализирована соответствующая литература;

· был проведён сравнительный анализ языков этого класса и показаны преимущества и недостатки языка Delphi;

Список используемой литературы:

1. Пестриков, В. М. Delphi на примерах / В. М. Пестриков, А. Н. Маслобоев. -- СПб. : БХВ-Петербург, 2005. -- 496 с.

2. Стивене, Р. Delphi. Готовые алгоритмы / Род Стивене; Пер. с англ. Мерещука П. А. - 2-е изд. , стер. - М.ДМК Пресс ; СПб. : Питер, 2004. - 384 с.

3. Фаронов В. В. Deiphi 6. Учебный курс / В. В. Фараонов. - СПб. : Питер, 2002. - 260с.

4. Видеоуроки – Владимир Любаев.