можете объяснить за что отвечает xsearch??? program c4; var n: integer; x, y: integer;...

0 голосов
24 просмотров

можете объяснить за что отвечает xsearch???
program c4;
var
n: integer;
x, y: integer;
xmin, xmax: integer;
xsearch: boolean;
ymin, ymax: integer;
i: integer;
s: real;
begin
xsearch := true;
xmin := 0; xmax := 0;
ymin:=0; ymax := 0;
readln(n);
for i:=1 to n do begin
readln(x,y);
if y=0 then begin
if xsearch or (xif xsearch or (x>xmax) then xmax:=x;
xsearch:=false;
end
else if yelse if y>ymax then ymax:=y
end;
if (xmax>xmin) and (ymin<0) and (ymax>0)
then s := (xmax-xmin)*(ymax-ymin)/2
else s := 0;
writeln(s);
end.


Информатика (20 баллов) | 24 просмотров
0

хм... странная постановка вопроса. Я тоже сейчас что-нибудь пойду, найду в мусорнике и попрошу всех объяснить, что это такое и зачем оно....

0

if xsearch or (xif xsearch or (x>xmax) then xmax:=x; - синтаксически неверная конструкция.

0

Ага, сначала пишем всякую чушь, потом, когда нам замечание делают, устраняем её и отмечаем комментарий нарушением. Далеко пойдете, как говорится, если полиция не остановит...

Дан 1 ответ
0 голосов
Правильный ответ

Толком не понятно что делает программа учитывая то, что скорее всего она работает не верно
Исправлены искажения текста перетягиванием или еще как-то, изза чего была написала белиберда
xsearch походу указывает на то, надо ли присваивать начальное значение xmax или оно уже присвоенно

var
    n: integer;
    x, y: integer;
    xmin, xmax: integer;
    xsearch: boolean;
    ymin, ymax: integer;
    i: integer;
    s: real;

begin
    xsearch := true;
    xmin := 0;
    xmax := 0;
    ymin := 0;
    ymax := 0;
    
    readln(n);
    
    for i := 1 to n do
    begin
        readln(x, y);
        if y = 0 then begin
            if xsearch or (x > xmax) then
                xmax := x;
            xsearch := false;
        end
        else if y > ymax then ymax := y
    end;
    
    if (xmax > xmin) and (ymin < 0) and (ymax > 0) then
        s := (xmax - xmin) * (ymax - ymin) / 2
    else
        s := 0;
    
    writeln(s);
end.


(53.1k баллов)