русс | укр

Мови програмуванняВідео уроки php mysqlПаскальСіАсемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование


Linux Unix Алгоритмічні мови Архітектура мікроконтролерів Введення в розробку розподілених інформаційних систем Дискретна математика Інформаційне обслуговування користувачів Інформація та моделювання в управлінні виробництвом Комп'ютерна графіка Лекції


Використання оператору IF зі складеними умовами.


Дата додавання: 2014-11-28; переглядів: 821.


Нехай маємо область, зображену на малюнку

За введеними координатами точки (x,y) потрібно вияснити, чи належить ця точка заштрихованій області, чи ні.

Спочатку потрібно формалізувати заштриховану область. Легко бачити, що до заштрихованої області відносяться ті точки, відстань від яких до точки перетину осей координат (0,0) не більша за 1 і не менша за 1/2. Тобто, якщо записати це формально, то для того, щоб точка потрапляла до заштрихованої області, достатньо, щоб для її координат одночасно виконувались нерівності та .

Тепер визначимось з об'єктами на формі. Очевидно, що нам потрібно 2 об'єкти Edit (для введення координат x та y відповідно), об'єкт Label для виведення результату на екран та об'єкт Button для самої перевірки.

Крім того, нам потрібні будуть 2 змінні типу real для введення самих координат. Отже, запишемо сам алгоритм програми

x:=strtofloat(edit1.text);

{присвоюється значення першої координати у змінну х конвертуючи рядкову змінну edit1.text у дійсну x}

y:=strtofloat(edit2.text);

{присвоюється значення першої координати у змінну y конвертуючи рядкову змінну edit2.text у дійсну y }

if (sqrt(sqr(x)+sqr(y))>=0.5) and (sqrt(sqr(x)+sqr(y))<=1) then

{якщо (відстань від точки до центру кола більша або дорівнює 0,5) та (відстань від точки до центру кола менша або дорівнює 1) то}

label1.Caption:='Точка знаходиться у заштрихованій області'

{виводиться у Label1 текст 'Точка знаходиться у заштрихованій області'}

else {інакше}

label1.Caption:='Точка не знаходиться у заштрихованій області';

{виводиться у Label1 текст 'Точка не знаходиться у заштрихованій області'}

А вся програма матиме вигляд

 

unit Unit1;

 

interface

 

uses

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

StdCtrls;

 

type

TForm1 = class(TForm)

Label1: TLabel;

Edit1: TEdit;

Edit2: TEdit;

Button1: TButton;

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

 

var

Form1: TForm1;

 

implementation

 

{$R *.DFM}

var

x,y:real;

procedure TForm1.Button1Click(Sender: TObject);

begin

x:=strtofloat(edit1.text);

y:=strtofloat(edit2.text);

if (sqrt(sqr(x)+sqr(y))>=0.5) and (sqrt(sqr(x)+sqr(y))<=1) then

label1.Caption:='Точка знаходиться у заштрихованій області'

else

label1.Caption:='Точка не знаходиться у заштрихованій області';

end;

 

end.

 


<== попередня лекція | наступна лекція ==>
Побудова складених умов. | Відмітимо, що при роботі з циклами слід “вручну” перевіряти принаймні початкову та кінцеву ітерації циклу.


Онлайн система числення Калькулятор онлайн звичайний Науковий калькулятор онлайн