S. Bauermann Geschrieben 11. Februar 2001 Teilen Geschrieben 11. Februar 2001 Hi an alle bin gerade am knaupeln. Kann man eine Umrechnung für Dez zu Dualzahlen auch mit einer Rekursiven Funktion mit Procedures lösen ? Laufen soll das mit pascal. Hier mein Code hier zwar rekursiv aber nicht mit Procedures sonder mit Functions. Wer weiß Rat danke ? Beispiel: program dezimaldual; uses crt; var dezimalzahl:longint; dual:array [1..16]of integer; x,z:integer; function dezi(d:integer):integer; var y:integer; begin if d>0 then begin y:=d mod 2; dezi:=dezi(d div 2); write(y); end; end; begin clrscr; writeln; writeln('gieb dezimalzahl ein:'); readln(dezimalzahl); write(^j,'die dualzahl lautet : '); dezi(dezimalzahl); end. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Gast Geschrieben 12. Februar 2001 Teilen Geschrieben 12. Februar 2001 Hi, wenn ich Dich richtig verstehe, willst Du das ganze mit Procedures anstatt mit Funktionen lösen. Mein Vorschlag wäre: program dezimaldual; uses crt; type tdual=array[1..16] of boolean; var dezi:longint; dual:tdual; i:integer; procedure rech(dezi:integer;var dual:tdual;i:integer); var hilf:integer; begin if (dezi>0) and not(i>16) then begin dual:=dezi mod 2; dezi:=dezi div 2; rech(dezi,dual,i+1); end; end; begin for i:=1 to 16 do dual:=false; (* Setzt den Dual-Array auf False, d.h 0 *) clrscr; writeln; write('Gib die Dezimalzahl ein : '); readln(dezi); i:=1; rech(dezi,dual,i); writeln; write('Die Dualzahl lautet : '); for i:=16 downto 1 do if dual then write('1') else write('0'); writeln; readln; end. Müsste funzen MGF LoneGunman Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Gast Geschrieben 12. Februar 2001 Teilen Geschrieben 12. Februar 2001 HALT/STOP Müßte was berichtigt werden: 1. Die Variable Hilf kanst Du steichen, ist unnütz. 2. Dann heißt es nicht "dual:=dezi mod 2" sondern if dezi mod 2 = 0 then dual:=false else dual:=true; Sorry waren Flüchtigkeitsfehler. MFG LoneGunman Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
S. Bauermann Geschrieben 12. Februar 2001 Autor Teilen Geschrieben 12. Februar 2001 Vielen Dank werde das geleich checken. Habe am Freitag eine Klausur und bin eigentlich nicht so recht mit den Informationen im Unterricht zu frinden. Nochmals Danke. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.