Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Pascal-задача на строки

Рика Ученик (132), открыт 1 неделю назад
Реализовать функцию, возвращающую целое(вещественное) число в виде строки

ВНИМАНИЕ- использование системной функции недопустимо
1 ответ
Krab Bark Искусственный Интеллект (294629) 1 неделю назад
Так целое или вещественное? Для целого

function wrint(k:integer):string;
var s:string; b:boolean;
begin
s:=''; b:=k<0; k:=abs(k);
repeat s:=chr(k mod 10+48)+s; k:=k div 10; until k=0;
if b then s:='-'+s; wrint:=s;
end;

var n:integer; begin readln(n); writeln(wrint(n)); end.
РикаУченик (132) 1 неделю назад
Спасибо. А можете пояснить построчно код?
Krab Bark Искусственный Интеллект (294629) Рива Лев, это намного дольше, чем писать эту программу... Прокомментирую только одну строчку. repeat s:=chr(k mod 10+48)+s; k:=k div 10; until k=0; Повторять добавление к строке s слева цифры последнего десятичного разряда обрабатываемого числа, преобразованного в код этой цифры добавлением смещения 48 по таблице кодов символов ASCII, с последующим делением числа на 10 для исключения из числа этого разряда, пока оставшееся число не станет равным нулю. На мой взгляд, объяснение действий, как и в математике, гораздо сложнее и запутаннее, чем прямое понимание этих действий по их записи условными обозначениями. Собственно, для этого эти обозначения, то есть языки программирования, и сделаны.
Похожие вопросы