Решить в паскале! на шахматной доске стоят черный король и три белые ладьи (ладья бьет по горизонтали и вертикали) . проверить, не находится ли король под боем.
r := false; i := 1; While (i <= n) and (not r) do begin if (xk = xl[i]) or (yk = yl[i]) then //Лежат на одной прямой r := true; i:= i +1; end;
if r then writeln ('Король под ударом') else writeln ('Король живет)'); end.
Нескажу25
13.05.2021
1. Современное решение
// PascalABC.NET 3.2, сборка 1417 от 28.03.2017 // Внимание! Если программа не работает, обновите версию!
begin var a:=ReadArrInteger(ReadlnInteger); Println(a.Max-a.Min,a.Where(p->p<=30).Count); end.
2. Школьный вариант в стиле "ТурбоПаскаль 1983г."
var n,i,a,k,max,min:integer; begin Readln(n); max:=0; min:=301; k:=0; for i:=1 to n do begin Read(a); if a>max then max:=a; if a<min then min:=a; if a<=30 then k:=k+1 end; Writeln(max-min,' ',k) end.
ss2911
13.05.2021
1. Разобьем условие на части, чтобы было нагляднее. в числе меньше восьми цифр "И" [число кратно 3 "ИЛИ" (число содержит 2 "И" число кратно 5)]
2. Условие "в числе меньше восьми цифр" связано с остальной частью выражения по "И", следовательно, оно обязательное и все, что ему не удовлетворяет, должно быть отброшено вместе с этим условием. Варианты 4) и 6) содержат 8 цифр и отбрасываются.
3. число кратно 3 "ИЛИ" число содержит 2 "И" число кратно 5 Если варианты "число кратно 3" есть, мы их выбираем, а это условие отбрасываем. Кратны трем числа 1) 69 2) 12 и 7) 15.
4. Остались числа 3) 25, 5) 22 и 8) 55. Проверяем их на условие число содержит 2 "И" число кратно 5 Содержат двойку 3) 25 и 5) 22, но лишь 25 кратно 5 - его и оставляем.
n = 3; //Кол-во фигур
var
i : integer;
xk,yk : integer;
xl,yl : array [1..n] of integer;
r : boolean;
begin
//Задание координат
//
xk := 2; yk := 2; // Координаты короля
//Координаты ладьи
xl[1] := 1; yl[1] := 2;
xl[2] := 4; yl[2] := 6;
xl[3] := 5; yl[3] := 8;
//
r := false;
i := 1;
While (i <= n) and (not r) do
begin
if (xk = xl[i]) or (yk = yl[i]) then //Лежат на одной прямой
r := true;
i:= i +1;
end;
if r then
writeln ('Король под ударом')
else
writeln ('Король живет)');
end.