Цитата:
Сообщение от AlexZir
Это проверка ОДЗ для арккосинуса
|
Не совсем так.
Цитата:
Сообщение от Bogdanghost
а вот можете объяснить что значат эти строчки
if Round(z*10000000)=10000000 then ArcCos:=0 else if Round(z*10000000)=-10000000 then ArcCos:=Pi else
|
На самом деле это - некая перестраховка. В принципе, данное условие можно заменить таким:
if z=1 then ArcCos:=0 else
if z=-1 then ArcCos:=Pi else
Просто когда-то давно столкнулся с тем, что некоторые реализации Паскаля глючат на операции точного сравнения вещественных чисел по причине возможного наличия "мусора" в дальних разрядах, и с тех пор стараюсь ставить условия равенства только преобразовав формат в целочисленный. Но вообще-то это не обязательно. Можете заменить на второй вариант, тем более, что в данной задаче такие аргументы (+1, -1) вообще не возникают.