Pascal ABC.net.Помогите пожалуйста. Уже 2 денька бьюсь над задачкой и никак

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

Задать свой вопрос
Эвелина Ардышева
Нас пока что ничему не учат.Только LOGO.Но я не хотела его учить, и поэтому подошла к учителю с просьбой обучить меня писать на Pascal.Но мне растолковали только то, что сначала пишут Var, переменные, их тип, а потом Begin.В конце End.Все остальное я ищу в интернете на каникулах, а задачи забираю у учителя после уроков.
Виктория Аснович
Но с одним вебом тяжело совладать. Потому я спрашиваю у людей.
Leonid Cimarkin
Лого - это сильно урезанный Паскаль.
Силенский Артём
От части это так.
Руслан
Частично)
Алла Моргайло
Но Pascal желая один, а LOGO в различных странах безусловно различный.
Люда Шешеро
Я вот тут увидел один плохой момент в условии. Если число нецелое, предлагается вычислить его квадратный корень.
Алина Жилюк
Т.е. придется ограничиться все же числовыми типами и не прибегать к символьной строке. Числа с плавающей точкой в случайной разрядности реализовывать достаточно трудно
Владислав Амбурцев
Предлагаю вводить данные в формате double
Тема Конкилов
А еще - я Для вас выслал Собственное известье - щелкните "конвертик".
1 ответ
Var
a:real;
x,res:integer;
begin
readln(a);
if a = trunc(a) then
begin
x:=trunc(a);
while xlt;gt;0 do
begin
res:=res + x mod 10;
x:= x div 10;
end;
writeln(res);
end
else 
writeln(sqrt( абс(a) ));
end.
Валерия Кезикова
Если число отрицательное целое , то 1-ая цифра - отрицательная . Если для вас такое не подходит напишите там где x x:=абс( trunc(a) )
Кирилл
А где же вывод в файл?
, оставишь ответ?
Имя:*
E-Mail:


Последние вопросы

Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт