p := sign(y + 13 * a) * power(abs(y + 13 * a), 1/3);
Объяснение:
Единственная проблема тут - как записать кубический корень. В паскале есть функция power(a, p), которая возводит a в степень p, но если p не целое, оно работает только для положительных (для p > 0 неотрицательных) a. Кубический корень же определён для всех a.
Решение такое: посчитать кубический корень для модуля , а потом поставить такой же знак, что и под корнем.
Полностью программа может выглядеть, например, так:
var p, y, a: real;
begin
read(y, a);
p := sign(y + 13 * a) * power(abs(y + 13 * a), 1/3);
write(p)
end.
Саша - вышивание, Маша - танцы, Валя - рисование.
Объяснение:
Либо часть про Сашу, либо про Машу ложна (два верных утверждения быть не может). Тогда либо Саша занимается вышиванием, либо Маша - рисованием.
1) Саша занимается вышиванием. Тогда Валя не может заниматься вышиванием, её часть гарантированно ложна. Значит, верно утверждение про Машу: она не занимается рисованием, ей остаются танцы. Получается, Валя занимается рисованием.
2) Маша занимается рисованием. Остается два высказывания: Саша не занимается вышиванием, Валя - занимается вышиванием. Одно из этих утверждений истинно, другое ложно. Но если истинно первое, то обе девочки не занимаются вышиванием, если истинно второе - обе занимаются. Такого быть не может, поэтому Маша не может заниматься рисованием.
Поделитесь своими знаниями, ответьте на вопрос:
Около стены стоит палка длиной х см. один ее конец находится на расстоянии y от стены. каждую минуту палка скользила вниз по стене на 2% расстояния от пола. определите через сколько минут она упала (z< 0, 1см формула для расчетов: z=(x2-y2)1/2
t: integer;
begin writeln('введите х и у');
readln(x,y);
z:=sqrt(sqr(x)-sqr(y));
t:=0;
while (z>0,1) do
begin t:=t+1;
z:=0,98*z; {если 2% от изменяющегося расстояния до пола;
если же имеется ввиду 2% от исходного расстояния,
то нужно будет ввести новую переменную
или присвоить исходное значение z, например х,
то есть сразу после z:=sqrt(sqr(x)-sqr(y)); написать x:=z;
Формула (оператор) z:=0,98*z; изменится так:
z:=z-x*0,98}
end;
writeln('палка упадет через ', t,' мин.');
end.