Другие языки программирования и технологии
Нужна скорая помощь по паскалю)))
Вот сама задача, ее нада сделать)))... Написать программу перевода десятичного целого положительного числа в сиситему счисления с основанием 7. СПАСИБО ЗАРАНЕЕ!!!!
Доброго времени суток.
Пока число больше нуля, в цикле делите его на основание системы (в вашем случае, 7) и записываете остатки справа на лево. Остаток от деления одного числа на другое находятся при помощи функции MOD (o := N mod 7;)
Удачи!
2 DVN: Нужна операция целочисленного деления div, а это d:= d/7; даст вещественное число. Плюс операция деления по модулю не применима к вещественным числам.
Пока число больше нуля, в цикле делите его на основание системы (в вашем случае, 7) и записываете остатки справа на лево. Остаток от деления одного числа на другое находятся при помощи функции MOD (o := N mod 7;)
Удачи!
2 DVN: Нужна операция целочисленного деления div, а это d:= d/7; даст вещественное число. Плюс операция деления по модулю не применима к вещественным числам.
Программа может переводить из х10 в любую сс, по умолчанию х7:
program x7;
var
Res: String;
SBuf: String;
Value: Integer;
SSBase: Integer;
begin
Res := '';
SBuf := '';
Value := 0;
SSBase := 7; // Основание новой сс. Не обязательно 7.
Write('Input x10 Digit: ');
ReadLn(Value);
while(Value > 0) do
begin
Str(Value mod SSBase, SBuf);
Res := SBuf + Res;
Value := Value div SSBase;
end;
WriteLn('x', SSBase, ' Digit = ', Res);
ReadLn;
end.
З. Ы. : код, предложенный в первом ответе проверил, но у меня он не заработал. Тип Real там ни к чему
program x7;
var
Res: String;
SBuf: String;
Value: Integer;
SSBase: Integer;
begin
Res := '';
SBuf := '';
Value := 0;
SSBase := 7; // Основание новой сс. Не обязательно 7.
Write('Input x10 Digit: ');
ReadLn(Value);
while(Value > 0) do
begin
Str(Value mod SSBase, SBuf);
Res := SBuf + Res;
Value := Value div SSBase;
end;
WriteLn('x', SSBase, ' Digit = ', Res);
ReadLn;
end.
З. Ы. : код, предложенный в первом ответе проверил, но у меня он не заработал. Тип Real там ни к чему
ИСПРАВЛЕННОЕ:
program ddd;
var
d,s,rez:integer
BEGIN
s:=0;
rez:=0;
Writeln('Введите число: ');
real(d);
while d>6 do
begin
s:= d mod 7;
d:= d div 7;
rez:= rez*10+ s;
end;
writeln('число в семеричной системе счисления: ' + rez);
read;
END.
program ddd;
var
d,s,rez:integer
BEGIN
s:=0;
rez:=0;
Writeln('Введите число: ');
real(d);
while d>6 do
begin
s:= d mod 7;
d:= d div 7;
rez:= rez*10+ s;
end;
writeln('число в семеричной системе счисления: ' + rez);
read;
END.
Похожие вопросы
- Нужна помощь с паскалем!
- Нужны программы на языке Паскаль
- очень срочно нужна помощь по паскалю сижу на экзамене. дома буду обязательно отблагодарю и скину деньги если что
- нужна помощь с Паскалем
- Нужна помощь в ПАСКАЛЕ.
- помогите решить задачу с помощью турбо паскаля: Вывести все шестизначные «счастливые номера». Сколько их всего?
- ПОмощь с паскалем
- нужны коментарии к программе паскаль //
- Программирование на языке Си. Нужна небольшая помощь.
- Господа, программисты, неопытному юзеру ОЧЕНЬ нужна Ваше помощь - установила 2 Windows