Studium, Ausbildung und Beruf
 StudiumHome   FAQFAQ   RegelnRegeln   SuchenSuchen    RegistrierenRegistrieren   LoginLogin

zahlensysteme mit pascal
Neues Thema eröffnen   Neue Antwort erstellen
Foren-Übersicht -> Informatik-Forum -> zahlensysteme mit pascal
 
Autor Nachricht
second_sky
Newbie
Benutzer-Profile anzeigen
Newbie


Anmeldungsdatum: 05.03.2007
Beiträge: 27
Wohnort: Berlin

BeitragVerfasst am: 06 März 2007 - 16:54:23    Titel: zahlensysteme mit pascal

Hey Leute..

ich muss in Informatik einige Zahlensyteme vorstellen und soll ein Pascal-Programm schreiben, bei der eine Dualzahl in eine Dezimalzahl umgewandelt werden kann genauso wie eine Dezimalzahl in eine Dualzahl.. Nun bin ich in Informatik nicht grad die Leuchte und möchte euch bitten mir zu helfen.. =))

Danke schonmal im Vorraus!!
rightaway
Senior Member
Benutzer-Profile anzeigen
Senior Member


Anmeldungsdatum: 19.10.2005
Beiträge: 1265

BeitragVerfasst am: 06 März 2007 - 17:30:34    Titel:

Hier
http://de.wikipedia.org/wiki/Dualzahl#Umrechnen_von_Dualzahlen_in_andere_Stellenwertsysteme
steht, wie man das von Hand machen würde; es gehört nicht viel dazu, den Algorithmus in Pseudocode zu formulieren und dann in PASCAL zu übersetzen.
second_sky
Newbie
Benutzer-Profile anzeigen
Newbie


Anmeldungsdatum: 05.03.2007
Beiträge: 27
Wohnort: Berlin

BeitragVerfasst am: 06 März 2007 - 17:33:23    Titel:

lach du hast gut Reden Laughing ich bin ne Niete in Info.. kann es gar nicht und "programmier" erst seit nem guten halben Jahr.. aber trotzdem danke *ggg*
Metaljunk
Newbie
Benutzer-Profile anzeigen
Newbie


Anmeldungsdatum: 06.01.2007
Beiträge: 28
Wohnort: Potsdam

BeitragVerfasst am: 06 März 2007 - 17:53:47    Titel:

Hast glück, dass ich das auch mal machen musste...
Hier is einfach mal mein Quelltext;

Code:

Program dez_bin;
Uses Crt;
Var Zahl_dez,i:Integer;
    Zahl_dual:array[1..1000] of Integer;
    Zahl_dual2:String;

Function potenzen(Basis,potenz:Integer):Integer;
var bas:Integer;
Begin
 if (potenz=0) then potenzen:=1;
 if (Potenz=1) then potenzen:=basis else
 Begin
  bas:=Basis;
  Repeat
   Basis:=Basis*Bas;
   dec(potenz);
  Until Potenz=1;
  Potenzen:=Basis;
 end;
End;

Function IntToStr(Zahl:Integer):String;
var wert:String;
Begin
 STR(zahl,wert);
 IntToStr:=wert;
End;

Function StrToInt(Zeichen:String):Integer;
var wert,code:Integer;
Begin
 Val(Zeichen,wert,Code);
 strtoint:=wert;
End;

Procedure umrechnen_dez_dual;
Var Rest,j,x:Integer;
Begin
 i:=1;
 Writeln('Rechnung:');
 Repeat
  x:=Zahl_Dez div 2;
  Rest:=Zahl_Dez mod 2;
  zahl_dual[i]:=rest;
  inc(i);
  GoToXY(1,3+i);  write(Zahl_dez);
  gotoXY(10,3+i); write(' / 2 =  ',x);
  GotoXY(25,3+i); write('Rest:  ',rest);
  Zahl_Dez:=x;
 Until Zahl_dez=0;
 for j:=i-1 downto 1 do
  Begin
   Rest:=Zahl_dual[j];
   Zahl_dual2:=Zahl_dual2+IntToStr(Rest);
  end;
End;

Procedure umrechnen_dual_dez;
var Exp,ypos:Integer;
    z:String;
Begin
 Exp:=0;
 i:=i-1;
 ypos:=i+4;
 writeln;
 Writeln('Rechnung:');
 repeat
  z:=copy(Zahl_dual2,i, 1);
  GotoXY(1,Wherey);  write(Zahl_dez);
  Zahl_dez:=Zahl_Dez+StrToInt(Z)*Potenzen(2,exp);
  GotoXY(5,Wherey); Write(' + ',strtoint(Z));
  GotoXY(10,Wherey); Write(' * 2^',exp);
  GotoXY(17,Wherey); Writeln(' = ',zahl_dez);
  dec(i);
  inc(Exp);
 until i=0;
End;


Begin
 clrscr;
 Writeln('   Dezimal- Und Dualzahlen ');
 write('Bitte geben sie die umzuwandelnde Dezimalzahl ein... ');
 readln(Zahl_dez);
 writeln;
 umrechnen_dez_dual;
 writeln;
 Writeln('==> Bin„rzahl: ',Zahl_dual2);
 writeln;
 writeln;
 Writeln('Die Zahl wird nun zur Dezimalzahl zurckgerechnet...');
 delay(500);
 umrechnen_dual_dez;
 Writeln('==> Dezimalzahl: ',Zahl_dez);
 readln;
End.


versuchs erstmal so zu verstehen, kannst ja dann nochma fragen...
Beiträge der letzten Zeit anzeigen:   
Foren-Übersicht -> Informatik-Forum -> zahlensysteme mit pascal
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

Chat :: Nachrichten:: Lexikon :: Bücher :: Impressum