Надо написать программу, которая переводит число из 2 в 10 систему счисления!
Добавлено через 1 мин.
Заранее спасибо.!
http://forum.pascal.net.ru/index.php?showtopic=4535&st=0&p=38226entry38226
а есть самый простой способ? просто только начал учить язык TP...там не всё понятно!((
Что именно не понятно, скажи...
function ToDec(n:string; radix:longint):longint;, например эта строка)
вот нашёл...скажите плз, что обозначает выделенное...
var
x:longint;
c:char;
begin
while not eoln do
begin
read©;
x:=x*2+ord©-48;
end;
writeln(x);
end.
eoln - end of line (конец строки)
это я знаю, но всё же не понимаю, что эта строка выполняет(
Пока не закончится строка,будет происходить какое-то действие...
Где ты там такой код увидел??????????????
Добавлено через 1 мин.
По той ссылке, которая приводилась?
это не оттуда...
там не понятна вот эта строка - function ToDec(n:string; radix:longint):longint;, например эта строка)
n:string; // исходная строка, например 10101011
radix:longint // основание системы счисления , например 2-ная
фишка в том, что мы прошли очень поверхностно теорию по Pascal....И из этих знаний надо написать прогу)
Тогда реализуй стандартный алгоритм перевода из 2-ной в 10-ную.
бери 1-й символ из последовательности 2-ных цифр
умножай на 2 в степени номера позиции цифры в числе-1
и т.д.
Сам алгоритм-то ведь знаешь?
алгоритм перевода да, как в паскале не совсем)
for i:=1 to length(s) do
begin
val(s[i],c,code); { взяли очередной символ из последовательности цифр и преобразовали его из символа в число }
q:=q+c*power(2,Length(s)-i); { складываем сумму с очереной йифрой*на 2^i
end;
большое спасибо!