3) Нарисуйте следующие инструменты, напишите их название и выполняемую операцию (в виде таблицы): a. Вдавить и выдавить b. Сдвиг c. Переместить d. Повернуть e. Панорама f. Масштаб
// PascalABC.NET 3.2, сборка 1379 от 21.01.2017 // Внимание! Если программа не работает, обновите версию!
begin var a:=ArrRandom(7,1,99); var b:=ArrRandom(7,1,99); var c:=ArrRandom(7,1,2); var k:=0; var r,x:integer; for var i:=0 to 6 do begin Write(a[i]); if c[i]=1 then begin Write(' + '); r:=a[i]+b[i] end else begin Write(' - '); r:=a[i]-b[i] end; Write(b[i],' = '); Read(x); if x=r then k+=1 end; // for Writeln('Верных ответов: ',k) end.
1. "Школьный" вариант (так учат в школах) //PascalABC.Net 3.0, сборка 1064 const n=15; var c:array[1..n] of integer; i,k:integer; sn,ap:longint; begin Randomize; Writeln('Исходный массив'); k:=0; for i:=1 to n do begin c[i]:=Random(51)-25; Write(c[i]:4); if c[i]<0 then sn:=sn+c[i] else if c[i]>0 then begin ap:=ap+c[i]; Inc(k) end end; Writeln; Writeln('Сумма отрицательных элементов равна ',sn); Writeln('Среднее арифметическое положительных элементов равно ',ap/k) end.
Тестовое решение: Исходный массив 22 15 -5 4 7 -6 24 23 -25 -21 -10 21 -11 -4 22 Сумма отрицательных элементов равна -82 Среднее арифметическое положительных элементов равно 17.25
2. Современный вариант (а так в школах почему-то не учат) //PascalABC.Net 3.0, сборка 1064 begin var c:=SeqRandom(15,-25,25); Writeln('Исходный массив'); Println(c); Writeln('Сумма отрицательных элементов равна ',c.Where(x->x<0).Sum); Writeln('Среднее арифметическое положительных элементов равно ', c.Where(x->x>0).Average) end.
Тестовое решение: Исходный массив [21,13,16,-6,-5,-21,-23,10,14,5,-14,7,-10,-9,9] Сумма отрицательных элементов равна -120 Среднее арифметическое положительных элементов равно 12.125
// Внимание! Если программа не работает, обновите версию!
begin
var a:=ArrRandom(7,1,99);
var b:=ArrRandom(7,1,99);
var c:=ArrRandom(7,1,2);
var k:=0;
var r,x:integer;
for var i:=0 to 6 do begin
Write(a[i]);
if c[i]=1 then begin Write(' + '); r:=a[i]+b[i] end
else begin Write(' - '); r:=a[i]-b[i] end;
Write(b[i],' = '); Read(x);
if x=r then k+=1
end; // for
Writeln('Верных ответов: ',k)
end.
Пример
77 - 21 = 56
53 - 97 = -44
91 + 51 = 142
42 - 65 = -23
70 + 78 = 148
91 - 5 = 86
45 + 41 = 86
Верных ответов: 7