Valami ami nagy mértékben kihasználja a processzort? Több leírásban.
A végtelen ciklus önmagában egyáltalán nem fogja nagy mértékben kihasználni a processzort.
Nagy számításigényű feladatot kell adni neki. Mondjuk a PI-t 2000 tizedesjegyig kiszámoltatod vele.
program Mandelbrot;
{$mode objfpc}{$H+}
{Based on Merlin's Delphi Forge
uses
Graph;
procedure DrawMandelbrot;
var
iNewColor, iMaxX, iMaxY : integer;
Gd, Gm, iI, iJ : smallint;
rU, rV, rX, rY, rZ : real;
begin
Gd := Detect; //Graph driver becomes zero
Gm := 0; //Graph mode will be set automatically because Gd = 0;
InitGraph(Gd, Gm, '');
iMaxX := GetMaxX;
iMaxY := GetMaxY;
for iI := 0 to iMaxX - 2 do
begin
for iJ := 0 to iMaxY - 2 do
begin
//Centre and scale along real (x) axis
rX := -0.85 + 3 * iI / iMaxX;
//Centre and scale along imaginary (y) axis
rY := -1.2 + 2.4 * iJ / iMaxY;
iNewColor := 0;
rU := 0;
rV := 0;
repeat
rZ := Sqr(rU) - Sqr(rV) - rX;
rV := 2 * rU * rV - rY;
rU := rZ;
inc(iNewColor);
until (Sqr(rU) + Sqr(rV) > 4) or (iNewColor = 1000);
if iNewColor = 1000 then
iNewColor := black;
PutPixel(iI + 1, iJ + 1, iNewColor);
end;
end;
end;
begin
writeln('When the graphics window opens, you may need to restore down or' +
' minimise'#13#10'the window then maximise it ' +
' to see all of the graphic.'#13#10#13#10'Press return to continue.');
readln;
writeln('Press return to exit.');
DrawMandelbrot;
readln;
end.
program CPUoverload;
uses crt;
var a,b: Longint;
var c,d: Double;
begin
a := 5611651;
d := a;
Write('Overloading CPU...');
while (not KeyPressed) do
begin
b := a div 13 + Round(d);
c := d / 13.3 + b;
d := a + Sqrt(c);
end;
WriteLn;
end.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!