//PascalABC.NET (версия 3.1, сборка 1210 от 29.03.2016) const m = 10;
var t: array[1..m] of integer; i, n, nm, sm: integer;
begin //Заполняем массив сл.числами и подсчитываем //количество элементов и среднее арифметическое //согласно условию задачи for i := 1 to m do begin t[i] := random(-20, 20);write(t[i]:4); if (i > 1) and (i <= m) then if t[i] > t[i - 1] then n := n + 1 else if t[i] < t[i - 1] then begin sm := sm + t[i];nm := nm + 1; end; end; writeln; writeln('число элементов больших предыдущего = ', n); writeln('ср. арифметическое элементов меньших предыдущего = ', sm / nm);
Попробуй так Uses Graph, CRT; var d,r,r1,r2,rr,k, x1,y1,x2,y2,x01,y01: Integer; Xasp,Yasp : Word;
begin {Инициируем графику} d := detect; InitGraph(d, r, ' ') ; k:= GraphResult; if k <> grOK then WriteLn(GraphErrorMSG(k)) else begin {Определяем отношение сторон и размеры экрана} x1 := GetMaxX div 2; y1 := GetMaxY div 2; GetAspectRatio(Xasp, Yasp);
{Готовим вывод стрелок} SetWriteMode(XORPut); SetLineStyle(SolidLn,0,ThickWidth); r := 0; {Счетчик минут в одном часе}
{Цикл вывода стрелок} repeat for k := 0 to 59 do {k = минуты} if not KeyPressed then begin {Координаты часовой стрелки} x2 := x1+Round(0.85*r1*sin(2*pi*r/60/12)); y2 := y1-Round(0.85*r1*Xasp*cos(2*pi*r/60/12)/Yasp);
{Изображаем стрелки} Line(x1,y1,x2,y2); Line(x1,y1,x01,y01); Delay(100); {Для имитации реального темпа нужно установить задержку 60000} {Для удаления стрелок выводим их еще раз!} Line(x1,y1,x01,y01); Line (x1,y1,x01,y01 ) ;
{Наращиваем и корректируем счетчик минут в часе} inc(r); if r=12*60 then r := 0 end until KeyPressed; if ReadKey=#0 then k:=ord(ReadKey); CloseGraph; end end.
const
m = 10;
var
t: array[1..m] of integer;
i, n, nm, sm: integer;
begin
//Заполняем массив сл.числами и подсчитываем
//количество элементов и среднее арифметическое
//согласно условию задачи
for i := 1 to m do
begin
t[i] := random(-20, 20);write(t[i]:4);
if (i > 1) and (i <= m) then
if t[i] > t[i - 1] then n := n + 1
else if t[i] < t[i - 1] then begin
sm := sm + t[i];nm := nm + 1;
end;
end;
writeln;
writeln('число элементов больших предыдущего = ', n);
writeln('ср. арифметическое элементов меньших предыдущего = ', sm / nm);
end.
Тестовое решение:
6 13 19 8 -19 -11 -20 -15 -19 -13
число элементов, больших предыдущего = 5
среднее арифметическое элементов, меньших предыдущего = -12.5
var
d,r,r1,r2,rr,k,
x1,y1,x2,y2,x01,y01: Integer;
Xasp,Yasp : Word;
begin
{Инициируем графику}
d := detect;
InitGraph(d, r, ' ') ;
k:= GraphResult;
if k <> grOK then WriteLn(GraphErrorMSG(k))
else
begin
{Определяем отношение сторон и размеры экрана}
x1 := GetMaxX div 2;
y1 := GetMaxY div 2;
GetAspectRatio(Xasp, Yasp);
{Вычисляем радиусы:}
r:= round(3*GetMaxY*Yasp/8/Xasp);
r1 := round(0.9*r); {Часовые деления}
r2 := round(0.95*r); {Минутные деления}
{Изображаем циферблат}
Circle(x1,y1,r); {Первая внешняя окружность}
Circle(x1,y1,round(1.02*r)); {Вторая окружность}
for k := 0 to 59 do {Деления циферблата}
begin
if k mod 5=0 then
rr := r1 {Часовые деления}
else
rr:= r2 ; {Минутные деления}
{Определяем координаты концов делений}
x01 := x1+Round(rr*sin(2*pi*k/60));
y01 := y1-Round(rr*Xasp*cos(2*pi*k/60)/Yasp);
x2 := x1+Round(r*sin(2*pi*k/60));
y2 := y1-Round(r*Xasp*cos(2*pi*k/60)/Yasp);
Line(x01,y01,x2,y2) {Выводим деление}
end;
{Готовим вывод стрелок}
SetWriteMode(XORPut);
SetLineStyle(SolidLn,0,ThickWidth);
r := 0; {Счетчик минут в одном часе}
{Цикл вывода стрелок}
repeat
for k := 0 to 59 do {k = минуты}
if not KeyPressed then
begin
{Координаты часовой стрелки}
x2 := x1+Round(0.85*r1*sin(2*pi*r/60/12));
y2 := y1-Round(0.85*r1*Xasp*cos(2*pi*r/60/12)/Yasp);
{Координаты минутной стрелки}
x01:= x1+Round(r2*sin(2*pi*k/60));
y01:= y1-Round(r2*Xasp*cos(2*pi*k/60)/Yasp);
{Изображаем стрелки}
Line(x1,y1,x2,y2);
Line(x1,y1,x01,y01);
Delay(100); {Для имитации реального темпа
нужно установить задержку 60000}
{Для удаления стрелок выводим их еще раз!}
Line(x1,y1,x01,y01);
Line (x1,y1,x01,y01 ) ;
{Наращиваем и корректируем счетчик минут в часе}
inc(r);
if r=12*60 then
r := 0
end
until KeyPressed;
if ReadKey=#0 then k:=ord(ReadKey);
CloseGraph;
end
end.