Считаем, что в нашей реализации языка Pascal нет готовой функции для арксинуса и опишем арксинус на основе известного тригонометрического соотношения:
Тогда
Область допустимых значений: |c|<1, a≠0
function arcsin(x: real): real;
begin
arcsin := arctan(x / sqrt(1 - sqr(x)))
end;
var
a, b, c, x: real;
begin
Write('Введите через пробел значения a,b,c: ');
Readln(a, b, c);
if (c >= 1) then Writeln('Решения нет, c>=1')
else if a = 0 then Writeln('Решения нет, a=0)')
else Writeln('x=', arcsin(c) / sqrt(1 - sqr(x)):0:5)
end.
Тестовое решение:
Введите через пробел значения a,b,c: 3.25 -1.7 0.146
x=0.14652
//Pascal ABC.NET v3.1 сборка 1172
var
ar: array of integer;
n, k2, k3, k4, k5, i: integer;
r: real;
begin
write('Сколько учеников?');
readln(n);
setlength(ar, n);
writeln('Введите оценки:');
for i := 0 to n - 1 do
begin
readln(ar[i]);
case ar[i] of
2: inc(k2);
3: inc(k3);
4: inc(k4);
5: inc(k5);
else
writeln('Не оценка');
exit;
end;
end;
writeln('2:', k2);
writeln('3:', k3);
writeln('4:', k4);
writeln('5:', k5);
write('Успеваемость=', (k3 + k4 + k5) / n * 100:0:1);
end.
Пример ввода:
Сколько учеников?6
Введите оценки:
2
2
3
4
5
5
Пример вывода:
2:2
3:1
4:1
5:2
Успеваемость=66.7
Ответ:
Да верно так как круг вписан по моему мнению в квадрат