Дан массив Z[1:n].Сформировать новый массив, состоящий из элементов, не превышающих среднего арифметического отрицательных элементов исходного массива
Var
N, Na, Kolvo, SrSum, Summa, I: Integer;
Z: array[1 .. 20] ofInteger;
A: array[1 .. 20] ofInteger;
Begin
Writeln('Сформировать два новых массива по условию');
Writeln('Введите число элементов массива N <= 20');
Readln (N);
Writeln('Введите значения элементов массива - целые числа');
ForI := 1 toN do
Readln (Z [I]);
Writeln('Исходный массив');
ForI := 1 toN do
Write (Z [I]: 3);
Writeln;
Na := 0;
ForI := 1 toN do
IfZ [I] < 0 Then
Begin
Summa := Summa + Z [I];
Kolvo := Kolvo + 1;
end;
IfKolvo > 0 Then
Begin
SrSum := Round (Summa/Kolvo);
Na := 0;
ForI := 1 toN do
IfZ [I] <= SrSum Then
Begin
Na := Na + 1;
A [Na] := Z [I];
end;
IfNa > 0 Then
Begin
Writeln('Новый массив');
ForI := 1 toNa do
Write (A [I]: 3);
Writeln
End
Else
Writeln('В исходном массиве нет элементов, удовлетворяющих условию')
End
Else
Writeln('В исходном массиве нет отрицательных элементов');
End.
3. Вычислить сумму ряда
Var
I: integer;
Ch,Zn,Summa,S1,S2,x,eps: real;
Begin
Write('X=');
Readln(X);
Writeln;
Write('Eps=');
Readln(Eps);
Writeln;
I:=1; { номер шага итерации}
Ch:= x-1;{Начальное значение числителя}
Zn:= x;{Начальное значение знаменателя}
Summa:=1;{Начальное значение суммы}
S2:=0;{Значение i-го элемента}
S1:= ch/zn;{Значение i-1 -го элемента}
Repeat
S2 := S1;
Summa := Summa + S2;
Ch := Ch*(X-1);
Zn := Zn*x*(I + 1);
S1:= ch/zn;
Writeln('S1=', Ch,'/',Zn);
I:=I+1;
Writeln('Следующий элемент ряда равен', S1:6:2);
Writeln('IS1-S2I',Abs(S1-S2):10:4);
UntilAbs(S1-S2)<=Eps;
Writeln('Сумма равна',Summa);
End.
Контрольная работа №1
Вариант 8
1. Дан массив X[1:n]. Найти среднее арифметическое первого и последнего положительного элемента.
Var
n,i,j,k,l:integer;
a,s,c,x:array[1..20] ofinteger;
srar:real;
Begin
n:=0;
Writeln('Найти среднее арифметическое первого и последнего положительного элемента');
Writeln('Число элементов массива <=20');
readln(n);
writeln('Значение элементов массива - целые числа');
fori:=1 ton do begin
writeln('x[',i,']=');
read(x[i]);
end;
writeln('Исходный массив');
fori:=1 ton do
write (x[i]:7);
i:=1;
J:=0;
k:=0;
While(x[i]<=0) and(i<=n) do begin
i:=i+1;
End;
If(i<=n)then begin
j:=i;
i:=n;
While(x[i]<=0) and(i<=n) do begin
i:=i-1;
end;
k:=i;
srar:=(x[j]+x[k])/2;
Writeln;
Writeln('Среднее арифметическое первого положительного элемента (',x[j],') И последнего (',x[k],') Равна ',srar) end
else beginWriteln;
Writeln('В массиве нет положительных элементов')
end;
end.
2. Дан массив Z[1:n].Удалить из него путем сдвига все элементы, отличные от минимального.
Var
n,i,j,k,l,imin,kol:integer;
a,s,c,z:array[1..20] ofinteger;
min:real;
Begin
n:=0;
Writeln('Удалить из массива путем сдвига все элементы, отличные от минимального. ');
Writeln('Число элементов массива <=20');
readln(n);
writeln('Значение элементов массива - целые числа');
fori:=1 ton do begin
writeln('z[',i,']=');
read(z[i]);
end;
writeln('Исходный массив');
fori:=1 ton do
write (z[i]:7);
Min:=z[1];
Fori:=1 ton do
Ifz[i]<min then
min:=z[i];
Kol:=0;
Fori:=n downto1 do