// PascalABC.NET 3.2, сборка 1437 от 03.05.2017 // Внимание! Если программа не работает, обновите версию!
type tField=(char,integer);
function GetNewField(oldfld:tField;x,y:integer;var newfld:tField):boolean; begin Result:=true; var xo:=oldfld[0]; case xo.ToLower of 'a': case x of -2,-1:Result:=false; 1:newfld:=(Succ(xo),0); 2:newfld:=(Succ(Succ(xo)),0) end; 'b': case x of -2:Result:=false; -1:newfld:=(Pred(xo),0); 1:newfld:=(Succ(xo),0); 2:newfld:=(Succ(Succ(xo)),0) end; 'g': case x of -2:newfld:=(Pred(Pred(xo)),0); -1:newfld:=(Pred(xo),0); 1:newfld:=(Succ(xo),0); 2:Result:=false end; 'h': case x of -2:newfld:=(Pred(Pred(xo)),0); -1:newfld:=(Pred(xo),0); 1,2:Result:=false end; else case x of -2:newfld:=(Pred(Pred(xo)),0); -1:newfld:=(Pred(xo),0); 1:newfld:=(Succ(xo),0); 2:newfld:=(Succ(Succ(xo)),0) end end; if Result=true then begin var yo:=oldfld[1]; case yo of 1: case y of -2,-1:Result:=false; else newfld:=(newfld[0],yo+y); end; 2: case y of -2:Result:=false; else newfld:=(newfld[0],yo+y); end; 7: case y of -2,-1,1:newfld:=(newfld[0],yo+y); 2:Result:=false end; 8: case y of -2,-1:newfld:=(newfld[0],yo+y); 1,2:Result:=false end else newfld:=(newfld[0],yo+y); end end end;
begin var ax:=Arr(-2,-1,1,2); var ay:=ax; var s:=ReadlnString('Укажите клетку, на которой стоит конь'); var f1,f2:tField; f1:=(s[1],s[2].ToDigit); foreach var x in ax do foreach var y in ay do if abs(x)+abs(y)=3 then if GetNewField(f1,x,y,f2) then Print(f2[0]+f2[1]); Writeln end.
Примеры Укажите клетку, на которой стоит конь b1 a3 c3 d2
Укажите клетку, на которой стоит конь C5 A4 A6 B3 B7 D3 D7 E4 E6
Собственно, здесь нет ничего удивительного. Как и в любой сфере, связанной с чем то, где требуется какой то образец для начинающих всегда требуется в данном случае это шаблон.Потому что, существуют определенные рамки,правила, Уставы, Законы того или иного общества, сообщества. Если это будет отсутствовать , то это уже будет сфера не профессиональная, а на уровне дилетанства.Ни одна сфера деятельности этого не потерпит. Поэтому, все верно, залогом правильности, верности, образца и хорошей дальнейшей деятельности служит макет, ШАБЛОН.
var a,x,y,s:real;
begin
readln(a,x,y);
s:=458*y/125+a*(a-589)+(x-789);
println(s);
end.