Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

zadatak u pascalu HELP!!!

[es] :: Pascal / Delphi / Kylix :: zadatak u pascalu HELP!!!

[ Pregleda: 3668 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

harry.h

Član broj: 36260
Poruke: 106
*.as54.bi.bih.net.ba.



Profil

icon zadatak u pascalu HELP!!!03.10.2004. u 14:15 - pre 237 meseci
Pozdarav svima ja sam novi clan pa molim pomoc.Treba mi ako ko zna program ili algoritam za pascal.Zadatak glasi:Izraditi program koji za uneseni decimalini broj pretvara u binarni.
 
Odgovor na temu

bancika
Branislav Stojkovic

Član broj: 24844
Poruke: 631
*.vdial.verat.net

Sajt: www.diy-fever.com


+1 Profil

icon Re: zadatak u pascalu HELP!!!03.10.2004. u 16:49 - pre 237 meseci
"evo resenjaaaa" :)
Code:

var binarni: string;
     dec: Integer;
begin
  ReadLn(dec);
  binarni := '';
  repeat
    binarni := binarni + Chr(Ord('0') + dec mod 2);
    dec := dec div 2
  until dec = 0;
  WriteLn(binarni); 
end.

ovo je iz glave, al mislim da je ok.
mozes u proizvoljnu bazu da prevodis uz male modifikacije. ako je baza manja od 10 onda zameni 2 sa osnovom te baze, a ako je veca od 10 onda bi islo
Code:

  binarni := binarni + hex[dec mod b];

gde je hex konstanta '0123456789ABCDEF', a b osnova baze

valjda je pomoglo :)
pozdrav
Ride the rainbow, crack the sky

DIY gitare, pojacala i efekti www.diy-fever.com
 
Odgovor na temu

TvrdiMijo
Mijo Tvrdojević
Sl.BRod,Hrvatska

Član broj: 31037
Poruke: 52
*.cmu.carnet.hr



Profil

icon Re: zadatak u pascalu HELP!!!03.10.2004. u 19:56 - pre 237 meseci
banicka,mislim da ovo ne šljaka kako treba.

prvo,decimalni broj treba rastaviti na cijeli dio i decimalni dio,a zatim svaki posebno pretvorit u binarni zapis.cijeli dio se lako pretvori djeljenjem s 2 (a ostatak je binarna znamenka),dok se decimalni pretvara ovako:decimalni dio se pomnoži s dva,a znamenka je cijeli dio novog broja(0 ili 1).zatim se od tog broja oduzme 1(ako isti nije jedan,inače je kraj)i ponovno isti postupak.za razliku od cijelih,ovaj postupak može potrajat beskonačno iteracija,stoga je potrebno odraditi neku granicu(recimo 8 ponavljanja).primjer:
3.75=
cijeli dio =3(baza 10)=11(baza 2)
razlomljeni dio 1. 0.75*2=1.5(prva znamenka je 1)(ostatak je 1.5-1=0.5)
2. 0.50*2=1.0(prva znamenka je 1)(ostatak je 1.0-1=0.0,i tu je kraj)
=11.
dakle 3.72(baza 10)=11.11(baza 2);

na osnovu ovog algoritma nije teško sastavit program.Meni se sada neda,ali ako treba...

Blago onom tko rano poludi,
pa mu život u veselju prođe
 
Odgovor na temu

bancika
Branislav Stojkovic

Član broj: 24844
Poruke: 631
*.vdial.verat.net

Sajt: www.diy-fever.com


+1 Profil

icon Re: zadatak u pascalu HELP!!!03.10.2004. u 21:20 - pre 237 meseci
pa da, ja sam razumeo DEKADNI...u pravu si
ovo moje se odnosilo samo na cele brojeve, zbog toga je dec: Integer
Ride the rainbow, crack the sky

DIY gitare, pojacala i efekti www.diy-fever.com
 
Odgovor na temu

harry.h

Član broj: 36260
Poruke: 106
*.as54.bi.bih.net.ba.



Profil

icon Re: zadatak u pascalu HELP!!!04.10.2004. u 20:56 - pre 237 meseci
Cool,kuzim ovo gore,al moze li sada sve u potpunosti da mi ispisete.Ajde pa cu i ja vama pomagat za koji mjesec jer sam sada pocetnik pa je svaka pomoc dobra.
 
Odgovor na temu

Almedin

Član broj: 5895
Poruke: 425
*.as54.tz.bih.net.ba.



+27 Profil

icon Re: zadatak u pascalu HELP!!!04.10.2004. u 21:39 - pre 237 meseci
Kako bi islo za 3.20?
 
Odgovor na temu

bancika
Branislav Stojkovic

Član broj: 24844
Poruke: 631
195.252.103.*

Sajt: www.diy-fever.com


+1 Profil

icon Re: zadatak u pascalu HELP!!!05.10.2004. u 00:01 - pre 237 meseci
trebalo bi ovako nesto da bude
Code:

var broj, raz: real;
     ceo, i: integer;
     binarni: string;
//prvo celi deo
begin
  read(broj);
  ceo := trunc(broj);
  raz := frac(broj);
  binarni := '';
  repeat
    binarni := binarni + Chr(Ord('0') + dec mod 2);
    dec := dec div 2
  until dec = 0;
  binarni := binarni + '.';
  i := 0;
  repeat
    Inc(i);
    raz := raz * 2;
    binarni := binarni + Chr(Ord('0') + trunc(raz));  
    raz := frac(raz);
  until (raz = 1) or (i = 10); //ili postavi i na koliko hoces
  WriteLn(binarni);
end.


Ride the rainbow, crack the sky

DIY gitare, pojacala i efekti www.diy-fever.com
 
Odgovor na temu

TvrdiMijo
Mijo Tvrdojević
Sl.BRod,Hrvatska

Član broj: 31037
Poruke: 52
*.cmu.carnet.hr



Profil

icon Re: zadatak u pascalu HELP!!!05.10.2004. u 23:19 - pre 237 meseci
mala ispravka:

Code:

var broj, raz: real;
     ceo, i: integer;
     binarni: string;
//prvo celi deo
begin
  read(broj);
  ceo := trunc(broj);
  raz := frac(broj);
  binarni := '';
  repeat
    binarni := binarni + Chr(Ord('0') + ceo mod 2);
    ceo := ceo div 2
  until ceo = 0;
  binarni := binarni + '.';
  i := 0;
  repeat
    Inc(i);
    raz := raz * 2;
    binarni := binarni + Chr(Ord('0') + trunc(raz));  
    raz := frac(raz);
  until (raz = 0) or (i = 10); //ili postavi i na koliko hoces
  WriteLn(binarni);
end.
 


3.20(10)=
3(10)=
3 div 2=1,3 mod 2=1;z1=1;
1 div 2=0,1 mod 2=1;z2=1;
0.20(10)=
0.20*2=0.40;z1=0;
0.40*2=0.80;z2=0;
0.80*2=1.50;z3=1;
0.60*2=1.20;z4=1;
0.20*2=0.40;z1=0;itd,beskonačno periodičan broj;
3.20(10)=11.001100110011...



Blago onom tko rano poludi,
pa mu život u veselju prođe
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: zadatak u pascalu HELP!!!

[ Pregleda: 3668 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.