Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

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





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

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

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

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

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

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

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

 

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

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

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

 

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

 

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

 

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

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

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

2) Теперь осталось описать процедуры обработки событий нажатия кнопок, причем при нажатии кнопки «Вычислить» на месте метки 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 - Проектирование меню

 

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

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

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

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

procedure TForm1.N2Click(Sender: TObject);

Begin

………

End;

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

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

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

procedure TForm1.N3Click(Sender: TObject);

Begin

………

End;

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

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

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







Дата добавления: 2015-08-17; просмотров: 499. Нарушение авторских прав; Мы поможем в написании вашей работы!




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


ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...


Теория усилителей. Схема Основная масса современных аналоговых и аналого-цифровых электронных устройств выполняется на специализированных микросхемах...


Логические цифровые микросхемы Более сложные элементы цифровой схемотехники (триггеры, мультиплексоры, декодеры и т.д.) не имеют...

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

Уравнение волны. Уравнение плоской гармонической волны. Волновое уравнение. Уравнение сферической волны Уравнением упругой волны называют функцию , которая определяет смещение любой частицы среды с координатами относительно своего положения равновесия в произвольный момент времени t...

Медицинская документация родильного дома Учетные формы родильного дома № 111/у Индивидуальная карта беременной и родильницы № 113/у Обменная карта родильного дома...

ПРОФЕССИОНАЛЬНОЕ САМОВОСПИТАНИЕ И САМООБРАЗОВАНИЕ ПЕДАГОГА Воспитывать сегодня подрастающее поколение на со­временном уровне требований общества нельзя без по­стоянного обновления и обогащения своего профессио­нального педагогического потенциала...

Эффективность управления. Общие понятия о сущности и критериях эффективности. Эффективность управления – это экономическая категория, отражающая вклад управленческой деятельности в конечный результат работы организации...

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

Studopedia.info - Студопедия - 2014-2024 год . (0.007 сек.) русская версия | украинская версия