Смотри, для перевода из восьмеричной в десятичную надо это число представить в виде суммы произведения основания восьмеричной системы счисления на соответствующие цифры в разрядах восьмеричного числа:
К примеру, возьмем число 2357, нужно перевести в десятичную, в этом числе 4 цифры и 4 разряда (Разряды считаются, начиная с нулевого которому соответствует младший бит), в соответствии уже с известным правилом представим его в виде суммы степеней с основанием 8:
2357₈ = (2·8³)+(3·8²)+(5·8¹)+(7·8^0) = 2·512 + 3·64 + 5·8 + 7·1 = 1263₁₀
<em>Для вычислений "вручную" и решения примеров и контрольных заданий вам могут пригодиться таблицы степеней оснований изучаемых систем счисления (2, 8, 10, 16) </em>
Program kek;
Var a, c:integer;
Begin
c:=0;
a:=1;
While a<>0 do begin
Writeln('Вводите целые числа. Когда закончите - введите "0"');
Readln(a);
If (a>0) and (a mod 10 = 1) then do begin
c:=c+a;
end;
End;
Writeln(c);
End.
Вроде так. Нет возможности проверить.
Решили поменяться лошадьми Я стараюсь финишировать первым на чужой лошади, тогда я выиграю так рыцаря на моей лошади обогнал
program w7w7;
var a:real;
begin
readln (a);
if a<0 then writeln ('otritsatelnoe chislo');
if a>0 then writeln ('pologitelnoe chislo');
end.