IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Представление чисел и машинные операции, c.c. деление в 2-ой с.с
bakalava92
сообщение 24.10.2009 13:20
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 12
Пол: Мужской
Реальное имя: Никита

Репутация: -  0  +


Помогите решить пожалуйста!

Даны два числа в десятичной системе счисления. Написать программу, которая выполняет следующие действия:
1.Перевести оба числа в двоичную систему счисления.
2.Выполнить над переведенными числами операцию деления.
3.Выполнить операцию деления над числами в десятичной системе счисления и перевести результат в данную систему счисления.
4.Сравнить полученные результаты.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 11)
maksimla
сообщение 24.10.2009 14:24
Сообщение #2


Знаток
****

Группа: Пользователи
Сообщений: 324
Пол: Мужской
Реальное имя: maksim

Репутация: -  1  +


а на что делить эти числа?


--------------------
Учусь первый год на программиста в колледже. Учусь на втором курсе в школе программирования при научно-исследовательском институте математики и информатики.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
bakalava92
сообщение 24.10.2009 14:36
Сообщение #3


Новичок
*

Группа: Пользователи
Сообщений: 12
Пол: Мужской
Реальное имя: Никита

Репутация: -  0  +


первое число разделить на второе, первое число - 312, второе - 6

Сообщение отредактировано: bakalava92 - 24.10.2009 14:37
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
maksimla
сообщение 24.10.2009 15:12
Сообщение #4


Знаток
****

Группа: Пользователи
Сообщений: 324
Пол: Мужской
Реальное имя: maksim

Репутация: -  1  +


все ясно

Сообщение отредактировано: maksimla - 24.10.2009 15:16


--------------------
Учусь первый год на программиста в колледже. Учусь на втором курсе в школе программирования при научно-исследовательском институте математики и информатики.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
maksimla
сообщение 24.10.2009 18:57
Сообщение #5


Знаток
****

Группа: Пользователи
Сообщений: 324
Пол: Мужской
Реальное имя: maksim

Репутация: -  1  +


Я уже можно сказать решил но осталось это двоичного кода деление


--------------------
Учусь первый год на программиста в колледже. Учусь на втором курсе в школе программирования при научно-исследовательском институте математики и информатики.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
bakalava92
сообщение 24.10.2009 20:19
Сообщение #6


Новичок
*

Группа: Пользователи
Сообщений: 12
Пол: Мужской
Реальное имя: Никита

Репутация: -  0  +


перевести в двоичную я тоже смог))сам не понимаю как числа делить в двоичной, если бы знал возможно бы написал программу сам)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
maksimla
сообщение 25.10.2009 15:39
Сообщение #7


Знаток
****

Группа: Пользователи
Сообщений: 324
Пол: Мужской
Реальное имя: maksim

Репутация: -  1  +


мне так объяснили в той теме как двоичный код делят но я чего то не могу алгоритм сделать может быть кто то другой тебе решит эту задачю


--------------------
Учусь первый год на программиста в колледже. Учусь на втором курсе в школе программирования при научно-исследовательском институте математики и информатики.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
bakalava92
сообщение 25.10.2009 15:56
Сообщение #8


Новичок
*

Группа: Пользователи
Сообщений: 12
Пол: Мужской
Реальное имя: Никита

Репутация: -  0  +


сам попробую, я просто не знал как деление выполняется)) нам в университете объясняли с восстановлением остатка и без восстановления остатка, я ни чего не понял т.к практики не было никакой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
maksimla
сообщение 25.10.2009 16:10
Сообщение #9


Знаток
****

Группа: Пользователи
Сообщений: 324
Пол: Мужской
Реальное имя: maksim

Репутация: -  1  +


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. 


вот что я сделал тогнее немогу даделать еще деления двоичной системы


--------------------
Учусь первый год на программиста в колледже. Учусь на втором курсе в школе программирования при научно-исследовательском институте математики и информатики.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
andriano
сообщение 25.10.2009 22:21
Сообщение #10


Гуру
*****

Группа: Пользователи
Сообщений: 1 168
Пол: Мужской
Реальное имя: Сергей Андрианов

Репутация: -  28  +


Цитата(bakalava92 @ 24.10.2009 20:19) *

перевести в двоичную я тоже смог))сам не понимаю как числа делить в двоичной, если бы знал возможно бы написал программу сам)

В двоичной делят точно так же, как и в десятичной. Только проще.
Делят, естественно, в столбик.
Только если в десятичной нужно подбирать очередную цифру частного так, чтобы по максимуму использовать остаток от предыдущего деления, то в двоичном этот этап не нужен: если остаток больше делителя - вычитаем и записываем в частное "1", если меньше - записываем в частное "0".
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
maksimla
сообщение 26.10.2009 9:52
Сообщение #11


Знаток
****

Группа: Пользователи
Сообщений: 324
Пол: Мужской
Реальное имя: maksim

Репутация: -  1  +


немогу придумать как делить двоичные коды в програмке я
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.


--------------------
Учусь первый год на программиста в колледже. Учусь на втором курсе в школе программирования при научно-исследовательском институте математики и информатики.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
русофоб
сообщение 19.05.2015 1:09
Сообщение #12





Группа: Пользователи
Сообщений: 2
Пол: Мужской

Репутация: -  0  +


а как будет выглядеть вся написанная программа?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия 26.07.2025 23:24
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"