Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка-ПРОГРАММИРОВАНИЕ -DELPHI 2007.doc
Скачиваний:
7
Добавлен:
12.11.2019
Размер:
2.04 Mб
Скачать

2.3. Пример программирования линейного алгоритма

Линейному алгоритму соответствует следующая типовая блок-схема:

Рис. 2.2. Типовая блок-схема линейного алгоритма

Задание: Даны действительные числа х и у. Получить

F=(x2+sqrt(|y|))/(R|x*y|).

2.3.1. Разработка алгоритма

Входные данные

х, у - целые числа.

Выходные данные

F - действительное число.

Промежуточные данные

В данной программе промежуточные данные не используются.

Рис. 2.3. Блок-схема алгоритма задачи

2.3.2. Разработка формы

Таблица 2.6

Используемые компоненты

N

Имя

компо­нента

Страница

палитры

компонент

Настраиваемые свойства

Значения

1

1

Forml

-

Caption

Пример лабораторной работы 1

№2

2

Editl

Standard

Text

3

Edit2

Standard

Text

4

Button 1

Standard

Caption

Результат

1

Label1

Standard

Caption

ВНИМАНИЕ! Вводить толь­ко целые числа!

6

Label2

Standard

Caption

Введите х

7

Label3

Standard

Caption

Введите;

ПродолжениеТтаблицы.2.6

8

Label4

Standard

Caption

Для вывода результата - щел­чок по кнопке "Результат"

9

Label5

Standard

Caption

[10

Label6

Standard

Caption

Ввод числа - клавиша TAB

2.3.3.Текст программы:

program Projectl;

uses

Forms,

Unitl in 'Unitl. pas' {Forml}; {$R *.RES} begin

Application.Initialize;

Application.CreateForm(TForml, Forml);

Application.Run; end.

unit Unit 1;

interface

uses

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

StdCtrls;

type

TForml = class(TForm) Label 1: TLabel; Label2: TLabel; LabeB: TLabel; EditLTEdit; Edit2: TEdit; Label4: TLabel; LabelS: TLabel; Label6: TLabel; Button LTButton; procedure ButtonlClick(Sender: TObject);

private

{ Private declarations } public

{ Public declarations } end; var

Forml: TForml; implementation {$R *.DFM}

{обработчик события OnClick}

procedure TForml.ButtonlClick(Sender: TObject);

waxx,y:integer; f.real;

begin -

{преобразовываем текст из editl в целое число}

x:=strtoint(editl .text);

{преобразовываем текст из edit! в целое число}

y:=strtoint(edit2.text);

{вычисление f}

f:=(sqr(x)+sqrt(abs(y)))/(l+abs(x*y));

{преобразовываем число f в строку и показываем результат

в метке)

label5.caption:=floattostr(f);

end;

end.