Задача про робота
На бесконечном поле есть горизонтальная и вертикальная стены. Левый конец горизонтальной стены соединён с нижним концом вертикальной стены. Длины стен неизвестны. В вертикальной стене есть ровно один проход, точное место прохода и его ширина неизвестны. Робот находится в клетке, расположенной непосредственно над горизонтальной стеной у её правого конца.
Напишите для Робота алгоритм, закрашивающий все клетки, указанные на втором рисунке.
namespace ConsoleApplicationTest
{
class Program
{
static void Main(string[] args)
{
double A_1 = 1;
double A_2 = 2;
double A_3 = (A_1 + A_2) / 2;
Console.Write("D = ");
double D = double.Parse(Console.ReadLine());
int k = 3;
while (Math.Abs(A_3 * A_2) >= D)
{
A_1 = A_2;
A_2 = A_3;
A_3 = (A_1 + A_2) / 2;
k++;
}
Console.WriteLine("k = {0}; Ak-1 = {1}; Ak = {2}", k, A_2, A_3);
Console.ReadLine();
}
}
}
function FS(a,b:real):=0.5*a*b;
begin
var a,b:real;
Write('Катеты первого треугольника: '); Read(a,b);
var S1:=FS(a,b);
Write('Катеты второго треугольника: '); Read(a,b);
var S2:=FS(a,b);
if S1>S2 then Writeln('Площадь первого треугольника больше')
else
if S1<S2 then Writeln('Площадь второго треугольника больше')
else Writeln('Площади треугольников равны')
end.
Тестовое решение
Катеты первого треугольника: 4.18 6
Катеты второго треугольника: 5.4 3.9
Площадь первого треугольника больше