var x0, y0, x, y, xLeft, yLeft, xRight, yRight, n: integer; a, b, fmin, fmax, x1, y1, mx, my, dx, dy, num: real; i: byte; s: string;
begin SetWindowSize(W, H); xLeft := 10; yLeft := 10; xRight := W - 10; yRight := H - 10; a := -5; b := 5; dx := 1; fmin := -5; fmax := 5; dy := 1; mx := (xRight - xLeft) / (b - a); my := (yRight - yLeft) / (fmax - fmin); x0 := trunc(abs(a) * mx) + xLeft; y0 := H div 2; line(xLeft, y0, xRight + 10, y0); line(x0, yLeft - 10, x0, yRight); SetFontSize(12); SetFontColor(clBlue); TextOut(xRight + 20, y0 - 15, 'X'); TextOut(x0 - 10, yLeft - 30, 'Y'); SetFontSize(8); SetFontColor(clRed); n := round((b - a) / dx) + 1; for i := 1 to n do begin num := a + (i - 1) * dx; x := xLeft + trunc(mx * (num - a)); Line(x, y0 - 3, x, y0 + 3); str(Num:0:0, s); if abs(num) > 1E-15 then TextOut(x - TextWidth(s) div 2, y0 + 10, s) end; n := round((fmax - fmin) / dy) + 1; for i := 1 to n do begin num := fMin + (i - 1) * dy; y := yRight - trunc(my * (num - fmin)); Line(x0 - 3, y, x0 + 3, y); str(num:0:0, s); if abs(num) > 1E-15 then TextOut(x0 + 7, y - TextHeight(s) div 2, s) end; TextOut(x0 - 10, y0 + 10, '0'); x1 := a; while x1 <= b do begin x := x0 + round(x1 * mx); y1 := F(x1); if y < H then y := y0 - round(y1 * my); if (y >= yLeft) and (y <= yRight) then SetPixel(W - x, H - y, clGreen); if (y >= yLeft) and (y <= yRight) then SetPixel(x, y, clGreen); x1 := x1 + 0.001; end; end.
<span>42015 + 22015 – 15 Сначала решаешь в 10-ой системе счисления:</span> <span>42015 + 22015 – 15 = 64015 Затем переводишь найденное число из 10-ой в 2-ую:</span> 64015(в 10-ой) = <span>1111101000001111 (в 2-ой) В данном числе 10 единиц. Остальные примеры решаются точно также
<em>// PascalABC.NET 3.2, сборка 1353 от 27.11.2016</em> <em>// Внимание! Если программа не работает, обновите версию!</em>
begin var a:=MatrRandom(10,15,-50,50); a.Println(4); var amax:=-100; var amin:=100; foreach var x in a do if x>amax then amax:=x else if x<amin then amin:=x; Writeln('Amax-Amin=',amax-amin) end.