|
|
Testat 21A "Wundersame Zahlen" Program Wundersame_Zahl; Uses crt; Var Zahl,x:integer; c:char; Begin clrscr; Writeln ('Berechnung wundersamer Zahlen'); write ('Zahl eingeben '); readln (Zahl); x:=Zahl; While Zahl<>1 do begin If odd(zahl)=true then Zahl:=(Zahl*3+1) else Zahl:=(Zahl div 2); Writeln (Zahl); end; writeln (x,' ist eine wundersame Zahl'); read (c); end. Testat 21B "Wunderbare Zahlen" Program Wundersame_Zahl; const max=350; Uses crt; Var i:integer; h:array [0..max] of integer; c:char; Procedure Formatieren; begin i:=-1; While i<max do begin i:=i+1; h[i]:=0; end end; Function Wunderzahl (zahl:longint):integer; begin i:=0; While Zahl<>1 do begin If odd(zahl)=true then Zahl:=(Zahl*3+1) else Zahl:=(Zahl div 2); If i=(max-1) then Zahl:=1; i:=i+1 end; Wunderzahl:=i end; procedure Histogramm; var Zahl:longint; Begin Zahl:=0; While Zahl<50000 do begin i:=0; Zahl:=Zahl+1; h[Wunderzahl(Zahl)]:=h[Wunderzahl(Zahl)]+1 end end; Procedure Speichern; var y:text; begin Writeln ('Speichere'); Assign (y,'A:\Histogr.txt'); rewrite (y); Writeln (y,'Histogramm von wundersamen Zahlen im Bereich von 1 bis 50000'); i:=0; while i<>max do begin writeln (y,i,',',h[i]); i:=i+1 end; close (y); end; Begin clrscr; Formatieren; Writeln ('Suche wundersamer Zahlen im bereich 1 bis 50000'); Writeln ('Bitte Warten'); Histogramm; speichern; Write ('Weiter mit CR'); read (c) end. |