Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
РЕШЕНИЕ ФУНКЦИОНАЛЬНЫХ И ВЫЧИСЛИТЕЛЬНЫХ ЗАДАЧ.doc
Скачиваний:
25
Добавлен:
25.11.2018
Размер:
4.81 Mб
Скачать

1.2.5 Раздел переменных

Каждая переменная, встречающаяся в программе, должна быть описана в разделе описания переменных. Описание переменной предшествует использованию ее в программе. Для описания переменной указывают ее имя и через двоеточие ее тип, например:

I:Integer;

X:Real;

В Паскале с помощью одного описания можно ввести в употребление сразу несколько переменных одного и того же типа, в этом случае имена переменных разделяются запятыми:

I,J,K,L:Integer;

X,Y:Real;

Все описания переменных должны содержаться в разделе переменных, который начинается служебным словом VAR. Описания отделяются друг от друга точкой с запятой. Каждая переменная, используемая в программе, должна быть описана не более одного раза.

Пример раздела переменных:

VAR I,J,K:Integer;

X,Y,Z:Real;

M,N:Integer;

D1,D2:Day;

Наиболее часто используются переменные следующих типов:

Integer - целочисленная переменная

Real - Действительные числа

Char - Символьная переменная

String - Строковая переменная

Boolean - логическая переменная

1.2.6 Раздел операторов

Это основной раздел процедуры. Здесь задаются те действия, которые должны быть выполнены при работе данной процедуры. Раздел операторов начинается служебным словом BEGIN, а заканчивается служебным словом END и точкой с запятой. Операторы отделяются друг от друга точками с запятыми, перед служебным словом END точка с запятой не обязательна.

1.2.7 Реализация алгоритмов линейной структуры

Определение: Линейным алгоритмом назовем алгоритм, в котором все действия выполняются последовательно.

Задание: Создайте приложение вычисления значения функции

Технология выполнения задания

Постановка задачи: Создать приложение вычисления значений функции z.

Математическая модель представляется так: исходные данные – переменные х и у, результат - z, константы – a и b, связь между данными и результатом выражается формулой.

Алгоритм решения задачи: запишем алгоритм решения поставленной задачи с помощью блок-схемы (описываем только процедуру вычисления значения функции).

- начало процедуры вычисления функции

- вводим значение переменных х и у

- вводим вспомогательную переменную

-вычисляем значение функции z в точке( x,у)

- выводим на экран результат

- завершение работы процедуры вычисления функции

Программа: Для создания программы откроем созданный на первой лабораторной работе проект.

  1. Изменим, заголовок главного окна вашего будущего приложения, которое по умолчанию имеет имя «Form1» на имя «Лабораторная работа №2».

Для этого установим указатель мыши на имя «Form1» и щелкнем левой клавишей мыши. После чего в окне инспектора объектов (Object Inspector) активизируем страницу Свойства (Properties), в левой колонке этой страницы выберем свойство caption, в правой колонке (напротив свойства caption) удалим имя «Form1» и наберем с клавиатуры то имя, которое нам необходимо.

  1. Теперь осталось описать процедуры обработки событий нажатия кнопок, причем при нажатии кнопки «Вычислить» на месте метки Label3 (т.е. напротив надписи «z=») должен выводиться результат вычисления функции z=ln((x-a)/b)+(cos(pi*x)-sin(pi*y))/(x2+y2), где х,y – действительные числа, введенные с клавиатуры в поля компонент Edit1 и Edit2, а при нажатии кнопки «закрыть» - окно приложения должно закрываться.

Начнем с процедуры обработки события нажатия кнопки «Вычислить».

Для этого можно использовать уже известный вам способ (инспектор объектов страница событий Events событие OnClick). Либо проделать более простую операцию: дважды щелкнуть левой клавишей мыши по кнопке «Вычислить» и при этом активизируется обработчик кодов, где и необходимо набрать часть программы, соответствующей вышерассмотренному алгоритму в рамках общей структуры процедуры.

procedure TForm1.Button1Click(Sender: TObject);

begin

……..

end;

Заголовок процедуры уже создан автоматически при ее вызове, а разделы описания меток, констант, типов нам указывать нет необходимости (в связи с тем, что данная задача очень проста).

Объявим используемые в формуле константы a,b в разделе объявления констант const, причем а=1, b=15.

Объявим все используемые нами переменные х, у, вспомогательная переменная t и результат z в разделе описания переменных var, причем эти переменные принимают действительные значения, поэтому определим для них тип real.

Следующие шаги соответствуют алгоритму решения задачи (записанному выше в виде блок-схемы) и описываются на языке Паскаль.

При решении этой задачи будем использовать следующие функции:

IntToStr – преобразование целого числа в строку

FloatToStrf – преобразование действительного числа в строку

StrToFloat – преобразование строки в действительное число

StrToInt – преобразование строки в целое число

Таким образом, процедура описания нажатия клавиши «вычислить» выглядит так:

procedure TForm1.Button1Click(Sender: TObject); - заголовок процедуры

const a=1; b=15; - a,b - константы

var x,y,t,z:real; - переменные х, у, t, z действительные числа

begin - начало

x:=strtofloat(edit1.text); - переменной х (вводимой в поле edit1 в виде

текста) присваиваем преобразование в действительное число

y:=strtofloat(edit2.text); - переменной y (вводимой в поле edit2 в виде текста) присваиваем преобразование в действительное число

t:=(x-a)/b; - переменной t присваиваем значение выражения (x-a)/b

z:=ln(t)+(cos(pi*x)-sin(pi*y))/(sqr(x)+sqr(y)); - переменной z присваиваем значение функции

label3.caption:=’z=’+floattostrf(z,fffixed,6,3); - свойству Caption присваиваем преобразованное к строке значение z

end; - конец процедуры

В записи floattostrf(z,fffixed,6,3) число 6 означает, что на шестом знаке результата будет сделано округление числа, число 3 указывает на количество знаков после запятой в результате.

Теперь перейдем к созданию пунктов меню.

  1. Чтобы добавить к разрабатываемой программе меню, надо выбрать на панели компонентов Standard компонент TMainMenu и поместить его на форме в произвольном месте. Компонент TMainMenu – невизуальный, в отличие от визуальных компонентов TEdit и TLabel, в точности соответствующих своему внешнему виду в работающей программе. Это означает, что, хотя он виден на форме как небольшой квадрат, в окне созданной программы в таком виде компонент не появится;

  2. Создается меню с помощью специального редактора меню, оно вызывается двойным щелчком на объекте MainMenu1. Первоначально меню пустое;

  3. В инспекторе объектов в свойстве Caption введите название первого пункта меню - &Файл с указанной горячей клавишей, а затем нажмите клавишу Enter. Редактор меню переключится обратно в проектируемое меню, где уже появится первый пункт меню в соответствии с рисунком 6;

Рисунок 6 - Проектирование меню

  1. Теперь надо опять нажать клавишу Enter – и система переключится к заголовку Caption для нового пункта. В него вводится очередное название подпункта меню – &Вычислить, опять нажимаем клавишу Enter – и цикл формирования меню повторяется. Аналогично добавляется подпункт закрыть;

  2. По проектируемому меню перемещаются с помощью клавиш управления курсором. Когда меню подготовлено, редактор надо закрыть. При этом на форме появится меню в соответствии с рисунком 7, в точности, как в будущей программе;

Рисунок 7 - Итоговый вид формы

  1. Чтобы меню работало необходимо в Редакторе меню дважды щелкнуть на соответствующем пункте – Вычислить. Как и в случае кнопки, система автоматически создаст основную структуру, где необходимо будет набрать часть программы.

procedure TForm1.N2Click(Sender: TObject);

begin

………

end;

Внутри операторных скобок begin … end введите с клавиатуры Button1Click(Sender);

Теперь опишем работу пункта меню Закрыть.

Аналогично в Редакторе меню дважды щелкнуть на соответствующем пункте – Закрыть. Система автоматически создаст основную структуру, где необходимо будет набрать часть программы.

procedure TForm1.N3Click(Sender: TObject);

begin

………

end;

Внутри операторных скобок begin … end введите с клавиатуры Form1.Close;.

Теперь сохраним проект и проведем компиляцию программы – Ctrl+F9.

Затем запустим программу и проведем работу в приложении через меню.