Задача 6.
Сформировать значение логической переменной следующим образом: True если точка с координатами (x,y) принадлежит прямоугольной области V на плоскости, False - в противном случае.
Текст программы на Object Pascal:
program Zad6;
{$APPTYPE CONSOLE}
uses
SysUtils,
Windows;
var
x,y,s: Real;
z:Boolean;
begin
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
writeln('Задайте площадь прямоугольной области V');
writeln('начало области начинается в точке (0;0)');
write('S = '); readln(S);
Writeln('Задайте координаты точки');
write('x = ');readln(x);
write('y = ');readln(y);
if (x*y <= s) then
z:=True
else
z:=False;
Writeln(z);
readln;
end.
Тестовые наборы данных для тестирования приложения.
Номер теста |
Исходные данные |
Ожидаемый результат |
Примечание |
1 |
s=3 x=1 y=1 |
true |
правая ветвь IFTHENELSE |
2 |
s=3 x=2 y=3 |
false |
левая ветвь IFTHENELSE |
Л
И
X*Y<=S
Z:=False
Z:=true
Задача 7.
Z = {max(x,y), при x < 0; min(x,y), при x >= 0}
Текст программы на Object Pascal:
program Zad7;
{$APPTYPE CONSOLE}
uses
SysUtils,
Windows;
var
x,y,z: integer;
begin
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
write('введите x = '); readln(x);
write('введите y = '); readln(y);
if x < 0 then
if x > y then z := x else z := y
else
if x < y then z := x else z := y;
write('z: ',z);
Readln;
end.
Тестовые наборы данных для тестирования приложения.
Номер теста |
Исходные данные |
Ожидаемый результат |
Примечание |
1 |
x=-2 y=-3 |
z = -2 |
Правая, правая ветвь IFTHENELSE |
2 |
x=-2 y=2 |
z = 2 |
Правая, левая ветвь IFTHENELSE |
3 |
x=2 y=3 |
z = 2 |
Левая, правая ветвь IFTHENELSE |
4 |
x=2 y=1 |
z = 1 |
Левая, левая ветвь IFTHENELSE |
И
Л
X<0
И
Л
x>y x<y
И
Л
z
:= y
z
:= x z
:= x z
:= y
Задача 8.
Переменной k присвоить номер квадранта координатной плоскости, в котором находится точка с координатами x, y, 0 – для начала координат, -1 – для оси X, -2 – для оси Y
Текст программы на Object Pascal:
program Zad8;
{$APPTYPE CONSOLE}
uses
SysUtils,
Windows;
var
x,y: real;
k: Integer;
begin
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
writeln('введите координаты точки');
write('x = '); readln(x);
write('y = '); readln(y);
if (x > 0) and (y > 0) then k:=1;
if (x < 0) and (y > 0) then k:=2;
if (x < 0) and (y < 0) then k:=3;
if (x > 0) and (y < 0) then k:=4;
if (x = 0) and (y > 0) or (y < 0) then k:=-2;
if (y = 0) and (x > 0) or (x < 0) then k:=-1;
if (x = 0) and (y = 0) then k:=0;
write('При x =',x:6:2,' y =',y:6:2,' квадрант координатной плоскости под №',k);
Readln;
end.
Тестовые наборы данных для тестирования приложения.
Номер теста |
Исходные данные |
Ожидаемый результат |
Примечание |
1 |
x=2 y=3 |
k= 1 |
IFTHEN - 1 |
2 |
x=-2 y=3 |
k= 2 |
IFTHEN - 2 |
3 |
x=-2 y=-3 |
k= 3 |
IFTHEN - 3 |
4 |
x=2 y=-3 |
k= 4 |
IFTHEN - 4 |
5 |
x=0 y=3 |
k= -2 |
IFTHEN - 5 |
6 |
x=-2 y=0 |
k= -1 |
IFTHEN - 6 |
7 |
x=0 y=0 |
k= 0 |
IFTHEN - 7 |
(x
< 0) and (y > 0)
Л
И k=
2 (x
> 0) and (y > 0)
Л
И k=
1
1
2
Л
И 3
(x
< 0) and (y < 0)
k=
3
(x
> 0) and (y < 0)
Л
И k=
4 4
Л
И k=
-2
5 (x
= 0) and (y > 0) or (y < 0)
Л
И k=
-1
6
(y
= 0) and (x > 0) or (x < 0)
(x
= 0) and (y = 0)
Л
И k=
0
7