Pascal - Konverzija -hitno!!!

Pascal - Konverzija -hitno!!!

offline
  • Vevi 
  • Novi MyCity građanin
  • Pridružio: 24 Okt 2005
  • Poruke: 4

Program glasi ( U Pascal-u )

Napraviti konverziju ako je zadat ceo broj (<=65535 dekadno) i osnova brojevnog sistema (<=16) da prevodi iz dekadnog u bilo koju osnovu i obrnuto.
Ulazni podaci: osnova brojevnog sistema. broj koji se prevodi i vrsta prevodjenja.
Program treba da spreci zadavanje nekorektnih ulaznih podataka (pogresno slovo, nepotrebno slovo, broj, realan broj).


Potrebno mi je za kontrolni!
Unapred hvala!



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • Strog  Male
  • Stručni saradnik
    Web programiranje
  • Bojan Kopanja
  • Web & Mobile developer @ ZeusSoftware
  • Pridružio: 26 Jul 2003
  • Poruke: 2597
  • Gde živiš: Stara Pazova

Iskreno, sumnjam da ces dobiti resenje ako samo ovako postavis pitanje. Daj koju liniju koda koju si sam napisao ili reci gde si zapeo pa da ti pomognemo, ne verujem da neko ima vremena da resava tvoj kontrolni...



offline
  • Vevi 
  • Novi MyCity građanin
  • Pridružio: 24 Okt 2005
  • Poruke: 4

function dek_n(a,osn:Integer):String; var  b:String;      c:Char;      n:Integer; begin   b:='';   while a>0 do   begin     n:=a mod osn;     if n<10 then c:=chr(n+ord('0'))             else c:=chr(n+ord('A')-10);     b:=c+b;     a:=a div osn;   end;   dek_n:=b; end;  var a,osn:Integer;      v:String; begin write('Unesi broj u dekadnom '); readln(a); write('Brojevni sistem '); readln(osn);   v:= dek_n(a,osn) ;   Writeln('Broj ',a,' u sistemu ',osn,' je ',v);   readln; end.

Samo sam ovo napisala, ali je problem jos obratno i da mi javi gresku.

Edit by Srki_82: koristi code tag za pisanje koda.

Dopuna: 27 Okt 2005 16:09

E koje li sam srece, imam jos fore do sledeceg cetvrtka jer se profesorka razbolela nije danas dosla u skolu. Tako da vas malo vidim!!!

offline
  • Srđan Tot
  • Am I evil? I am man, yes I am.
  • Pridružio: 12 Jul 2005
  • Poruke: 2483
  • Gde živiš: Ljubljana

Pisanje programa je prilicno lako ako znas sam da uradis to sto se trazi. Razmisli kako bi sam preveo broj iz nekog drugog sistema u dekadni... kad dodjes do zakljucka onda ti mozemo pomoci oko pisanja programa.

Hint:
u binarnom 101 je 5 u dekadnom
(1 * 4) + (0 * 2) + (1 * 1)

u oktalnom 275 je u 189 dekadnom
(2 * 64) + (7 * 8-) + (5 * 1)

offline
  • Vevi 
  • Novi MyCity građanin
  • Pridružio: 24 Okt 2005
  • Poruke: 4

Ali sta treba da ispisem ako unesem neko slovo ili recimo 8 u oktalnom?
Koji uslov treba da postavim da mi javi gresku unetog slova ili broja?



Srki znam ja za taj sistem izracunavanja, ali evo:

function n_dek(b:String;osn:Integer):Integer; var   a,i,n:Integer;   c:Char; begin   a:=0;   for i:=1 to length(b) do     begin       c:=UpCase(b[i]);       if c<='9' then n:=ord(c)-ord('0') else n:=ord(c)-ord('A')+10;       a:=a*osn+n;     end;     n_dek:=a; end; var   b:String;osn,a:Integer; begin   writeln('Iz koje osnove ces prevesti u dekadni? ');   readln(osn);   writeln('Koji je to broj? ');   readln(b);   a:=n_dek(b,osn);   writeln(a);   readln end.

Sta treba da ispisem za prijavu greske!!!

offline
  • Pridružio: 04 Sep 2003
  • Poruke: 24135
  • Gde živiš: Wien

Pa uradi da ti zabrani sve ASCII vrednosti izvan opsega u kome su brojevi, tj. cim se pojavi vrednost van tog opsega - da prijavi gresku.

offline
  • Srđan Tot
  • Am I evil? I am man, yes I am.
  • Pridružio: 12 Jul 2005
  • Poruke: 2483
  • Gde živiš: Ljubljana

Napravi jednu funkciju koja ce ti reci da li je karakter validan za datu osnovu:
function ValidChar(C: Char; O: Byte): Boolean; begin   Result := False;   if C in ['0'.. '9', 'A'..'Z'] then   begin     R := Ord(C) - 48;     if R > 9 then R := R - 7;     Result := R < O;   end; end;
i pre nego sto obradis karakter proveri da li je validan.

Ko je trenutno na forumu
 

Ukupno su 754 korisnika na forumu :: 13 registrovanih, 2 sakrivenih i 739 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: Bojan5150, brundo65, dragoljub11987, flash12, ILGromovnik, Kenanjoz, Krvava Devetka, Kubovac, radionica1, saputnik plavetnila, Stoilkovic, wizzardone, wolverined4