![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
bakalava92 |
![]()
Сообщение
#1
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 12 Пол: Мужской Реальное имя: Никита Репутация: ![]() ![]() ![]() |
Помогите решить пожалуйста!
Даны два числа в десятичной системе счисления. Написать программу, которая выполняет следующие действия: 1.Перевести оба числа в двоичную систему счисления. 2.Выполнить над переведенными числами операцию деления. 3.Выполнить операцию деления над числами в десятичной системе счисления и перевести результат в данную систему счисления. 4.Сравнить полученные результаты. |
![]() ![]() |
maksimla |
![]()
Сообщение
#2
|
![]() Знаток ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 324 Пол: Мужской Реальное имя: maksim Репутация: ![]() ![]() ![]() |
а на что делить эти числа?
-------------------- Учусь первый год на программиста в колледже. Учусь на втором курсе в школе программирования при научно-исследовательском институте математики и информатики.
|
bakalava92 |
![]()
Сообщение
#3
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 12 Пол: Мужской Реальное имя: Никита Репутация: ![]() ![]() ![]() |
первое число разделить на второе, первое число - 312, второе - 6
Сообщение отредактировано: bakalava92 - 24.10.2009 14:37 |
maksimla |
![]()
Сообщение
#4
|
![]() Знаток ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 324 Пол: Мужской Реальное имя: maksim Репутация: ![]() ![]() ![]() |
все ясно
Сообщение отредактировано: maksimla - 24.10.2009 15:16 -------------------- Учусь первый год на программиста в колледже. Учусь на втором курсе в школе программирования при научно-исследовательском институте математики и информатики.
|
maksimla |
![]()
Сообщение
#5
|
![]() Знаток ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 324 Пол: Мужской Реальное имя: maksim Репутация: ![]() ![]() ![]() |
Я уже можно сказать решил но осталось это двоичного кода деление
-------------------- Учусь первый год на программиста в колледже. Учусь на втором курсе в школе программирования при научно-исследовательском институте математики и информатики.
|
bakalava92 |
![]()
Сообщение
#6
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 12 Пол: Мужской Реальное имя: Никита Репутация: ![]() ![]() ![]() |
перевести в двоичную я тоже смог))сам не понимаю как числа делить в двоичной, если бы знал возможно бы написал программу сам)
|
maksimla |
![]()
Сообщение
#7
|
![]() Знаток ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 324 Пол: Мужской Реальное имя: maksim Репутация: ![]() ![]() ![]() |
мне так объяснили в той теме как двоичный код делят но я чего то не могу алгоритм сделать может быть кто то другой тебе решит эту задачю
-------------------- Учусь первый год на программиста в колледже. Учусь на втором курсе в школе программирования при научно-исследовательском институте математики и информатики.
|
bakalava92 |
![]()
Сообщение
#8
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 12 Пол: Мужской Реальное имя: Никита Репутация: ![]() ![]() ![]() |
сам попробую, я просто не знал как деление выполняется)) нам в университете объясняли с восстановлением остатка и без восстановления остатка, я ни чего не понял т.к практики не было никакой
|
maksimla |
![]()
Сообщение
#9
|
![]() Знаток ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 324 Пол: Мужской Реальное имя: maksim Репутация: ![]() ![]() ![]() |
program Noname0;
var j,i,d,b,k:integer;
xc,x,xx,xy:int64;
p:array [1..2] of int64;
a:array [1..2] of integer;
m:array [0..2] of 0..30;
y:array [1..2,0..17] of 0..1;
{**********s desetricnoi v dvoicnuju**********}
procedure dv(a,i:integer);
begin
j:=0;
while a<>0 do
begin
inc(j);
y[i,j]:=a mod 2;
a:=a div 2;
end;
m[i]:=j;
end;
begin
writeln('vvedite dva cislo');
for i:=1 to 2 do
begin
readln(a[i]);
dv(a[i],i);
end;
for i:=1 to 2 do
begin
for j:=m[i] downto 1 do
write(y[i,j]);
writeln ;
end;
{********eto v odno cislo dvoicniji odno cislo}
x:=1;
i:=2;
b:=m[i];
k:=10;
for d:=m[i] downto 1 do
begin
for j:=1 to b-1 do
x:=x*k;
dec(b);
xc:=xc+x*y[i,d];
x:=1;
end;
p[i]:=xc;
writeln(p[i]);
xc:=0;
{*************************************************888}
{ eto delenije dokonca nedonisano }
x:=1;
i:=1;
k:=10;
b:=0;
for d:=m[i] downto 1 do
begin
inc(b);
for j:=1 to b-1 do
x:=x*k;
if x=0 then xc:=xc+y[i,d]
else xc:=xc*k+y[i,d];
x:=1;
if xc>=p[2] then
begin
xx:=xc;
xy:=p[2];
end
end;
p[i]:=xc;
writeln(p[i]);
xc:=0;
{*************8tyt***************}
{ xc:=p[1] div p[2];
writeln(xc); }
{**********************tut**************}
{ i:=1;
while p[1]<>1 do
begin
y[1,i]:=p[1] mod 10;
p[1]:=p[1] div 10;
inc(i);
end;
for j:=i downto 1 do
write(y[1,j]);
writeln;
k:=0; }
{******s 2 v 10}
{ k:=0;
for j:=i downto 1 do
k:=k*2+y[1,j];
writeln(y[1,j]); }
readln ;
end.
вот что я сделал тогнее немогу даделать еще деления двоичной системы -------------------- Учусь первый год на программиста в колледже. Учусь на втором курсе в школе программирования при научно-исследовательском институте математики и информатики.
|
andriano |
![]()
Сообщение
#10
|
Гуру ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 168 Пол: Мужской Реальное имя: Сергей Андрианов Репутация: ![]() ![]() ![]() |
перевести в двоичную я тоже смог))сам не понимаю как числа делить в двоичной, если бы знал возможно бы написал программу сам) В двоичной делят точно так же, как и в десятичной. Только проще. Делят, естественно, в столбик. Только если в десятичной нужно подбирать очередную цифру частного так, чтобы по максимуму использовать остаток от предыдущего деления, то в двоичном этот этап не нужен: если остаток больше делителя - вычитаем и записываем в частное "1", если меньше - записываем в частное "0". |
maksimla |
![]()
Сообщение
#11
|
![]() Знаток ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 324 Пол: Мужской Реальное имя: maksim Репутация: ![]() ![]() ![]() |
немогу придумать как делить двоичные коды в програмке я
program Noname0;
var j,i,d,b,k:integer;
xc,x,xx,xy:int64;
p:array [1..2] of int64;
a:array [1..2] of integer;
m:array [0..2] of 0..30;
y:array [1..2,0..17] of 0..1;
{**********s desetricnoi v dvoicnuju**********}
procedure dv(a,i:integer);
begin
j:=0;
while a<>0 do
begin
inc(j);
y[i,j]:=a mod 2;
a:=a div 2;
end;
m[i]:=j;
end;
begin
writeln('vvedite dva cislo');
for i:=1 to 2 do
begin
readln(a[i]);
dv(a[i],i);
end;
{************vivodim masiv dvoicnix cisel *****************************}
for i:=1 to 2 do
begin
write('cisla v masive ');
begin
for j:=m[i] downto 1 do
write(y[i,j]);
writeln ;
end;
writeln;
end;
{********berem delitel vtoroe cislo i delaem kak odno cislo}
x:=1;
i:=2;
b:=m[i];
k:=10;
for d:=m[i] downto 1 do
begin
for j:=1 to b-1 do
x:=x*k;
dec(b);
xc:=xc+x*y[i,d];
x:=1;
end;
p[i]:=xc;
writeln('odno cislo ',p[i]);
writeln;
{ eto delenije dokonca nedonisano }
xc:=0;
x:=1;
i:=1;
k:=10;
b:=0;
for d:=m[i] downto 1 do
begin
inc(b);
for j:=1 to b-1 do
x:=x*k; {mozet tut ctoto lisneje no vse vivodit normalno}
if x=0 then xc:=xc+y[i,d]
else xc:=xc*k+y[i,d];
x:=1;
if xc>=p[2] then {sravnivaem cisla delimoe bolse togda delim esli}
begin
xx:=xc;
xy:=p[2]; {nenapisal kak delit }
end
end;
p[i]:=xc;
writeln(p[i]);
xc:=0;
readln ;
end.
-------------------- Учусь первый год на программиста в колледже. Учусь на втором курсе в школе программирования при научно-исследовательском институте математики и информатики.
|
русофоб |
![]()
Сообщение
#12
|
Группа: Пользователи Сообщений: 2 Пол: Мужской Репутация: ![]() ![]() ![]() |
а как будет выглядеть вся написанная программа?
|
![]() ![]() |
![]() |
Текстовая версия | 26.07.2025 23:24 |