Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.04.2010, 19:27   #1
MishanyaZWER
Пользователь
 
Аватар для MishanyaZWER
 
Регистрация: 18.04.2010
Сообщений: 12
Смущение модуль с двоичной системой счисления

помогите откомпилировать модуль, ПЛИЗ!!!

Код:
Unit dvoich;
interface
procedure vvod_dvoichn (var chislo:string);
function iz_dv_v_des (chislo:string):string;
function iz_des_v_dv (chislo:string):string;
function ymnozh (chislo_1,chislo_2:string):string;
function summa (chislo_1,chislo_2:string):string;
function vihet (chislo_1,chislo_2:string):string;
procedure vvivod_chisla (var chislo:string);
implementation
 procedure vvod_dvoich (var chislo:string);
 var
 i,k:longint;
 begin
  repeat
  k:=0;
  write('vvedite chislo v 2-i sisteme');
  readln(chislo);
  for i:=1 to length(chislo) do
  if not (chislo[i] in ['0'..'1']) then writeln(chislo);
  until k=1;
  end;
 function iz_dv_v_des (chislo:string):string;
 var
 r:longint;
 i:byte;
 begin
  r:=0;
  for i:=1 to length(chislo) do
  r:=r+chislo[i]*exp((length(chislo)-i)*ln(2));
  end;
 function iz_des_v_dv (chislo:string):string;
 var
  r:longint;
  i:byte;
  begin
   r:=0;
   repeat
   until(r>0);
   while r>0 do
   begin
    if r mod 2 = 0 then
    chislo:=chislo+'0' else
    begin
     chislo:=chislo+'1';
     r:=r-1;
     end;
    r:=r div 2;
   end;
  for i:= length(chislo) downto 1 do
  write(chislo[i]);
  end;
 function ymnozh(chislo_1,chislo_2:string):string;
 var
 ch_1,ch_2,proizv:longint;
 begin
  ch_1:=iz_dv_v_des(length(chislo_1));
  ch-2:=iz_dv_v_des(length(chislo_2));
  proizv:=ch_1*ch_2;
  proizv:=iz_des_v_dv(proizv);
 end;
 function summa(chislo_1,chislo_2:string):string;
 var
 ch_1,ch_2,summ:longint;
 begin
  ch_1:=iz_dv_v_des(length(chislo_1));
  ch_2:=iz_dv_v_des(length(chislo_2));
  summ:=ch_1+ch_2;
  summ:=iz_des_v_dv(summ);
  end;
 function vichet(chislo_1,chislo_2:string):string;
 var
 ch_1,ch_2,razn:longint;
 begin
  ch_1:=iz_dv_v_des(length(chislo_1));
  ch_2:=iz_dv_v_des(length(chislo_2));
  razn:=ch_1-ch_2;
  razn:=iz_des_v_dv(razn);
 end;
 procedure vvivod_chisla(var chislo:string);
 begin
  writeln(chislo);
  end;
begin
end.

Последний раз редактировалось Stilet; 19.04.2010 в 09:14.
MishanyaZWER вне форума Ответить с цитированием
Старый 18.04.2010, 20:33   #2
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,551
По умолчанию

Цитата:
Сообщение от MishanyaZWER
помогите откомпилировать модуль, ПЛИЗ!!!
Отдельный модуль нельзя откомпилировать.
Arigato вне форума Ответить с цитированием
Старый 19.04.2010, 06:56   #3
MishanyaZWER
Пользователь
 
Аватар для MishanyaZWER
 
Регистрация: 18.04.2010
Сообщений: 12
По умолчанию

мне ошибки исправить, он в паскале жалуется на
Цитата:
r:=r+chislo[i]*exp((length(chislo)-i)*ln(2));
типо несоответствие типов
MishanyaZWER вне форума Ответить с цитированием
Старый 19.04.2010, 09:15   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Правильно жалеутся
Может тебе нужно
Код:
r:=r+ord(chislo[i])*exp((length(chislo)-i)*ln(2));
Или если цифра числа то процедурой val переводи в integer chislo[i], а уж потом его используй в выражении.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 19.04.2010, 18:49   #5
MishanyaZWER
Пользователь
 
Аватар для MishanyaZWER
 
Регистрация: 18.04.2010
Сообщений: 12
По умолчанию

А вцелом модуль правильно написан?
MishanyaZWER вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дано число в двоичной системе счисления. Проверить правильность ввода этого числа isus Помощь студентам 2 29.11.2009 23:32
Сложение, вычитание в двоичной системе счисления Vemor Паскаль, Turbo Pascal, PascalABC.NET 5 16.06.2009 14:02
Сложение в двоичной системе счисления Volchara Общие вопросы C/C++ 2 23.04.2009 19:54
Проблемы с системой!!!!!!! LexMan Помощь студентам 2 04.09.2008 17:37
Деление чисел в двоичной системе счисления Mss_Smith Помощь студентам 9 04.05.2007 17:02