Предмет: Информатика, автор: Аноним

Pascal ABC.net.Помогите пожалуйста. Уже 2 дня бьюсь над задачкой и никак не выходит.Условие задачи:
"По заданному числу "a" определите является ли оно целым.Если заданное число является целым, то в выходной файл output.txt выведите сумму цифр этого числа, в противном случае выведите корень квадратный из модуля этого числа."
У меня есть начало. Только самое-самое начало.Я не понимаю, как можно сосчитать сумму цифр числа, если неизвестно, сколько в нём цифр.
Вот начало программы:
Var a:real;
Begin
Readln(a);
a:=abs(a);
If a-trunc(a)=0 then //Тут у меня проблема
Else a:=sqrt(a);
Writeln(a)
End.

Ответы

Автор ответа: alamar
0
var
a:real;
x,res:integer;
begin
readln(a);
if a = trunc(a) then
begin
x:=trunc(a);
while x<>0 do
begin
res:=res + x mod 10;
x:= x div 10;
end;
writeln(res);
end
else 
writeln(sqrt( abs(a) ));
end.
Автор ответа: alamar
0
Если число отрицательное целое , то первая цифра - отрицательная . Если вам такое не подходит напишите там где x x:=abs( trunc(a) )
Автор ответа: Аноним
0
А где же вывод в файл?
Похожие вопросы