Определить, сколько из N точек, заданных случайно, попали в каждую координатную четверть - Pascal
Формулировка задачи:
Написать функцию, определяющую, какой координатной четверти принадлежит точка с заданными координатами. Используя ее определить, сколько из N точек, заданных случайно, попали в каждую координатную четверть.
Где-то с циклом напортачил. Принимает только последнее число.
var
x,y: real;
//I,II,III,IV: real;
I:=0;
II:=0;
III:=0;
IV:=0;
begin
x:=random(-100,100);
y:=random(-100,100);
writeln(x);
writeln(y);
if (x > 0) and (y > 0) then
begin
write ('Номер четверти координатной плоскости: ');
writeln ('I');
I:=I+1;
end
else
if (x < 0) and (y > 0) then
begin
write ('Номер четверти координатной плоскости: ');
writeln ('II');
II:=II+1;
end
else
if (x < 0) and (y < 0) then
begin
write ('Номер четверти координатной плоскости: ');
writeln ('III');
III:=III+1;
end
else
if (x > 0) and (y < 0) then
begin
write ('Номер четверти координатной плоскости: ');
writeln ('IV');
IV:=IV+1;
end
else
writeln ('-. Точка лежит на оси.');
readln;
begin
writeln ('Кол-во точек в I четвери: ');
writeln (I);
writeln ('Кол-во точек в II четвери: ');
writeln (II);
writeln ('Кол-во точек в III четвери: ');
writeln (III);
writeln ('Кол-во точек в IV четвери: ');
writeln (IV);
end;
repeat
until x=100;
end.Решение задачи: «Определить, сколько из N точек, заданных случайно, попали в каждую координатную четверть»
textual
Листинг программы
var
k, n: integer;
x, y: real;
I, II, III, IV: integer;
begin
I := 0;
II := 0;
III := 0;
IV := 0;
write('Сколько точек обработать? ');
readln(n);
for k := 1 to n do
begin
x := random(-100, 100);
y := random(-100, 100);
writeln(x);
writeln(y);
if (x > 0) and (y > 0) then
begin
write('Номер четверти координатной плоскости: ');
writeln('I');
I := I + 1;
end
else
if (x < 0) and (y > 0) then
begin
write('Номер четверти координатной плоскости: ');
writeln('II');
II := II + 1;
end
else
if (x < 0) and (y < 0) then
begin
write('Номер четверти координатной плоскости: ');
writeln('III');
III := III + 1;
end
else
if (x > 0) and (y < 0) then
begin
write('Номер четверти координатной плоскости: ');
writeln('IV');
IV := IV + 1;
end
else
writeln('-. Точка лежит на оси.');
end;
writeln('Кол-во точек в I четвери: ');
writeln(I);
writeln('Кол-во точек в II четвери: ');
writeln(II);
writeln('Кол-во точек в III четвери: ');
writeln(III);
writeln('Кол-во точек в IV четвери: ');
writeln(IV);
end.
Объяснение кода листинга программы
- Объявляются переменные
k,n,x,y,I,II,III,IV. - Инициализируются переменные
I,II,III,IVнулевым значением. - Пользовательский ввод количества точек
n. - Запускается цикл от 1 до
n. - Генерируются случайные значения координат
xиy. - Выводится значение
x. - Выводится значение
y. - Проверка условий принадлежности точки к одной из четвертей координатной плоскости и увеличение соответствующей переменной I, II, III или IV на 1 в зависимости от четверти, в которую попала точка.
- Если точка лежит на одной из осей, выводится сообщение
-. Точка лежит на оси. - Выводится количество точек в каждой из четвертей координатной плоскости.