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:1, 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:1, 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; x2 := a; while x1 <= b do begin y1 := DrawSin(x1); y2 := DrawCos(x2); if ((x1 >= -2*pi) and (x1 <= 2*pi)) then begin x := x0 + round(x1 * mx); y := y0 - round(y1 * my); if (y >= yLeft) and (y <= yRight) then SetPixel(x, y, clBlue);
x := x0 + round(x2 * mx); y := y0 - round(y2 * my); if (y >= yLeft) and (y <= yRight) then SetPixel(x, y, clGreen); end; x1 := x1 + 0.001; x2 := x2 + 0.001; end end.
Задание1 : var i,t:integer; a:array[1..7] of integer; begin randomize; for i := 1 to 7do begin a[i] := round( random(17)-7 ); write(a[i]:3); end; t := 0; for i := 1 to 7 do if a[i] < 0 then inc(t); writeln; writeln(t); readln; <span>end. Задание 2: </span>
N=8, m=0 - это значит, что числа должны быть 8-битными. Чтобы перевести число в доп.код, нужно взять инверсию и прибавить 1. A = -44 = -(00101100) = 11010011 + 1 = 11010100 B = -6 = -(00000110) = 11111001 + 1 = 11111010 Складываем A + B = 11010100 + 11111010 = 11001110 Для проверки в 10 коде переводим опять из доп.кода. -(11001110) = 00110001 + 1 = 00110010 = -(32 + 16 + 2) = -50 -44 + (-6) = -50 Все правильно.