{Файл prog2_3_13.pasЗадача: Каждая клетка шахматной доски 8*8 определяется двумся целыми числами - номером горизонтали m и номер вертикали n. Даны четыре натуральных числа m1, n1, m2, n2. Проверить, бьет ли конь, находящийся на m1, n1 клетку m2, n2?Автор: Дата:16,09,2015}var m1, m2, n1, n2 :byte; begin{Ввод}writeln('введите координаты коня (m1, n1)');readln (m1, n1);writeln ('введите координаты цели (m2, n2)');readln (m2, n2);{Вычисление}if (n1=n2-2) or (n1=n2+2) and (m1=m2+1) or (m1=m2-1) { конь бьет цель} then writeln ('конь бьет цель') else if (n1=n2-1) or (n1=n2+1) and (m1=m2+2) or (m1=m2-2) {конь бьет цель} then writeln ('конь бьет цель') {конь не бьет цель} else writeln ('конь не бьет цель');end.
А) 1. const x0=0; xk=pi; h=pi/2; var x,y:real; i:integer; begin x:=x0-h; for i:=0 to round((xk-x0)/h) do begin x:=x+h; y:=0.5*x+sqr(sin(x)); writeln(x:5:2,' ',y:6:4); end; end.
2. const x0=0; xk=pi; h=pi/2; var x,y:real; i:integer; begin x:=x0-h; while x<xk do begin x:=x+h; y:=0.5*x+sqr(sin(x)); writeln(x:5:2,' ',y:6:4); end; end.
3. const x0=0; xk=pi; h=pi/2; var x,y:real; i:integer; begin x:=x0-h; repeat x:=x+h; y:=0.5*x+sqr(sin(x)); writeln(x:5:2,' ',y:6:4); until x>=xk; end.
Результат: 0.00 0.0000 1.57 1.7854 3.14 1.5708
б) var x,y:real; begin readln(x); y:=(3-sin(2*x))*cos(x/3); writeln('y = ',y:6:4); if y<0 then writeln('Функция отрицательна') else if y>0 then writeln('Функция положительна') else writeln('Функция = 0'); end.
begin{Ввод}writeln('введите координаты коня (m1, n1)');readln (m1, n1);writeln ('введите координаты цели (m2, n2)');readln (m2, n2);{Вычисление}if (n1=n2-2) or (n1=n2+2) and (m1=m2+1) or (m1=m2-1) { конь бьет цель} then writeln ('конь бьет цель') else if (n1=n2-1) or (n1=n2+1) and (m1=m2+2) or (m1=m2-2) {конь бьет цель} then writeln ('конь бьет цель') {конь не бьет цель} else writeln ('конь не бьет цель');end.
const x0=0; xk=pi; h=pi/2;
var x,y:real; i:integer;
begin
x:=x0-h;
for i:=0 to round((xk-x0)/h) do
begin
x:=x+h;
y:=0.5*x+sqr(sin(x));
writeln(x:5:2,' ',y:6:4);
end;
end.
2.
const x0=0; xk=pi; h=pi/2;
var x,y:real; i:integer;
begin
x:=x0-h;
while x<xk do
begin
x:=x+h;
y:=0.5*x+sqr(sin(x));
writeln(x:5:2,' ',y:6:4);
end;
end.
3.
const x0=0; xk=pi; h=pi/2;
var x,y:real; i:integer;
begin
x:=x0-h;
repeat
x:=x+h;
y:=0.5*x+sqr(sin(x));
writeln(x:5:2,' ',y:6:4);
until x>=xk;
end.
Результат:
0.00 0.0000
1.57 1.7854
3.14 1.5708
б)
var x,y:real;
begin
readln(x);
y:=(3-sin(2*x))*cos(x/3);
writeln('y = ',y:6:4);
if y<0 then writeln('Функция отрицательна')
else if y>0 then writeln('Функция положительна')
else writeln('Функция = 0');
end.
Пример:
1.5
y = 2.5089
Функция положительна