Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 21.12.2006, 17:24
Lera Lera вне форума
Прохожий
 
Регистрация: 19.12.2006
Сообщения: 2
Репутация: 10
По умолчанию Задачка

Помогите, не могу решить в Delphi задачку
Число в любой системе исчисления разлогается по степенях основы системы исчисления, например,10101(2)=2^4+2²+2º=2(10),это же число в системе исчисления Фибоначи:10101(f)=f6+f4+f2=8+3+1=12(10). Описать разные обьекты для перевода одного числа, записанного последовательностью 0 и1 (0 и 1 не должны стоять рядом) в 10-тичную систему исчисления с двоичной и системы Фибоначи
P.S. Просто не умею описать в Delphi, в Паскале такую задачу решила...
Ответить с цитированием
  #2  
Старый 22.12.2006, 05:48
Аватар для Aristarh Dark
Aristarh Dark Aristarh Dark вне форума
Модератор
 
Регистрация: 07.10.2005
Адрес: Москва
Сообщения: 2,906
Версия Delphi: Delphi XE
Репутация: выкл
По умолчанию

Выкладывай решение на паскале, переписать под Delphi тебе поможем.
Ответить с цитированием
  #3  
Старый 22.12.2006, 18:10
Lera Lera вне форума
Прохожий
 
Регистрация: 19.12.2006
Сообщения: 2
Репутация: 10
По умолчанию Решение на Паскале задачки

program des;
const n=20;
var x:string;
d,l,i,R:word;
f:array[1..n] of word;

function dv (y:string):real;
var n,i,j:word;
d,m:real;
begin
n:=length(y);
m:=0;
for i:=n downto 1 do
if copy(y,i,1)='1' then
begin
d:=0.5;
for j:=0 to n-i do
d:=d*2;
m:=m+d;
end;
dv:=m;
end;

function x11(y:string):byte;
var
i:word;
begin
x11:=0;
for i:=1 to length(y)-1 do
if copy (y,i,2)='11' then x11:=1;
end;

begin
f[1]:=1; f[2]=2;
for i:=3 to n do f[i]:=f[i-1]+f[i-2];
write ('cislo digital:'); readln(x);
while x11(x)=1 do
begin
write('1 , 1 stoyat ryadom!Nelzya!'Cislo digital: ');readln(x);
end;
l:=length(x);
R:=0;
for i:=1 to l do
if copy (x,i,1)='1' then
begin
d:=f[l-i+1];
R:=R+d;
end;
writeln('fibon.:',R);
writeln('desatk.:',dv(x):0:0);
readln;
end.

P.S. Нада описать в consol application

Последний раз редактировалось Lera, 22.12.2006 в 18:18.
Ответить с цитированием
  #4  
Старый 22.12.2006, 19:13
Аватар для Decoding
Decoding Decoding вне форума
Местный
 
Регистрация: 03.06.2006
Адрес: Почту найдете на моем сайте
Сообщения: 576
Версия Delphi: D10.2
Репутация: 214
По умолчанию

Так тут практически ничего не меняется
Код:
 
program Project1;
 
{$APPTYPE CONSOLE}
 
uses
  SysUtils;
 
const
  n = 20;
 
var
  x: string;
  d, l, i, R: word;
  f: array[1..n] of word;
 
function dv( y: string ): real;
var
  n, i, j: word;
  d, m: real;
begin
   n := length( y );
   m := 0;
   for i := n downto 1 do
      if copy(y,i,1) = '1' then
      begin
         d := 0.5;
         for j:= 0 to n-i do
            d := d*2;
         m := m+d;
      end;
   dv := m;
end;
 
function x11( y: string ): byte;
var
  i: word;
begin
   x11 := 0;
   for i := 1 to length( y )-1 do
      if copy( y, i, 2 )= '11' then
         x11 := 1;
end;
 
begin
   f[1] := 1;
   f[2] := 2;
   for i := 3 to n do
      f[i] := f[i-1] + f[i-2];
   write( 'cislo digital:' );
   readln( x );
   while x11( x ) = 1 do
   begin
      write( '1 , 1 stoyat ryadom!Nelzya!''Cislo digital: ' );
      readln( x );
   end;
   l := length( x );
   R := 0;
   for i := 1 to l do
      if copy (x, i, 1) = '1' then
      begin
         d := f[l-i+1];
         R := R+d;
      end;
   writeln( 'fibon.:', R );
   writeln( 'desatk.:', dv(x):0:0 );
   readln;
end.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 03:15.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter