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.
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) )
Кирилл
А где же вывод в файл?
, оставишь ответ?
Похожие вопросы
-
Вопросы ответы
Новое
NEW
Статьи
Информатика
Статьи
Последние вопросы
Предприятие по производству с/хоз продукции на производство затратило 3527000 руб Валовый
Разные вопросы.
Математика, задано на каникулы. ВАРИАНТ 1004
НОМЕР 1,2,3,4,5,6,7,8.
Математика.
Имеются три конденсатора емкостью С1=1мкФ, С2=2мкФ и С3=3мкФ. Какую наименьшую емкость
Физика.
Из точки м выходят 3 луча MP MN и MK причём
Геометрия.
выпиши в свою тетрадь те правила этикета которые тебе не были
Разные вопросы.
Анна хорошо учится у неё много подруг свободное от учёбы время
Обществознание.
10) Килограмм конфет дороже килограмма печенья на 52 р. За 8
Математика.
Во сколько раз число атомов кислорода в земной коре больше числа
Химия.
Составить монолог от имени дневника двоечника 7-10 предложений
Русский язык.
Рассматривая литературный язык как сложное взаимодействие книжного языка и разговорного,В.И.Чернышёв горячо
Разные вопросы.
Облако тегов