Дан массив Y[1:n]. Найти количество его элементов, отличных от минимального элемента
Контрольная работа №1
Вариант 3
1. Дан массив E[1:n]. Поменять местами его первый четный и последний нечетный элементы.
Var
n,i,j,k,l,imin,kol,per:integer;
a,s,c,z,e:array[1..20] ofinteger;
min:real;
Begin
n:=0;
Writeln('Поменять местами первый четный и последний нечетный элементы ');
Writeln('Число элементов массива <=20');
readln(n);
writeln('Значение элементов массива - целые числа');
fori:=1 ton do begin
writeln('e[',i,']=');
read(e[i]);
end;
writeln('Исходный массив');
fori:=1 ton do
write (e[i]:7);
i:=1;
While(i<=n) and(e[i]mod2 <> 0) do
i:=i+1;
Ifi<=n then
j:=i
elseWriteln('В массиве нету чётных элементов');
i:=n;
While(i>=1) and(e[i]mod2 = 0) do
i:=i-1;
Ifi>=1 then
k:=i
elsewriteln('В массиве нету нечётныъ элементов');
Per:=e[k];
e[k]:=e[j];
e[j]:=per;
writeln;
Writeln('Массив после того, как поменялись элементы');
Fori:=1 ton do
Write (e[i]:7);
end.
2. Дан массив F[1:n].Сформировать два новых массива: первый содержит элементы, не превышающие заданного числа, а второй – все остальные.
Var
n,i,j,k,l,value:integer;
a,s,B,f:array[1..20] ofinteger;
Begin
Writeln('Сформировать 2 новых массива из исходного, первый содержит элементы, не превышающие заданного числа, а второй – все остальные');
Writeln('Число элементов массива <=20');
readln(n);
writeln('Значение элементов массива - целые числа');
fori:=1 ton do
readln(f[i]);
writeln('Исходный массив');
fori:=1 ton do
write (f[i]:7);
Writeln;
Writeln('Введите value');
Readln(value);
j:=0;
l:=0;
Fori:=1 ton do
If(f[i]<=value) then
Begin
j:=j+1;
a[j]:=f[i];
end;
Ifj<>0 then
Begin
Writeln;
Writeln('Сформирован массив А[',j,'] из элементов массива f[',n,'], не превышающих value: ');
Fori:=1 toj do
Write(a[i]:8);
End
Else
Writeln('Массив A[',n,'] не содержит элементы, не превышающие value. Поэтому новый массив не сформирован.');
Fori:=1 ton do
If(f[i]>value) then
Begin
l:=l+1;
b[l]:=f[i];
end;
Ifl<>0 then
Begin
Writeln;
Writeln('Сформирован массив B[',l,'] из элементов массива f[',n,'], превышающих value: ');
Fori:=1 tol do
Write(b[i]:8)
End
Else
Writeln('Массив B[',n,'] не содержит элементы, превышающие value. Поэтому новый массив не сформирован.');
end.
3. Вычислить сумму ряда
См вар4
Контрольная работа №1
Вариант 4
1. Дан массив A[1:n]. Обнулить его первый и последний нечетные элементы.
var I,N,max,min:integer;
A:Array[1..20] of integer;
begin
writeln('Введите число элементов массива');
readln(N);
for I:=1 to N do
begin
writeln('Введите значение',I,'-ого элемента');
readln(A[I]);
end;
writeln('Исходный массив:');
for I:=1 to n do
write(A[I],',');
writeln;
min:= a[1];
max:=a[1];
for i:= 1 to n do
If (a[i] mod 2 <>0) and (a[i]<min) then
min:=i;
a[min]:=0;
for i:= n downto 1 do
If (a[i] mod 2 <>0) and (a[i]>max) then
max:=i;
a[max]:=0;
Writeln('Преобразованный массив');
For i:=1 to n do
write(a[i],',');
end.
2. Дан массив H[1:n].Сформировать два новых массива: первый содержит четные положительные элементы, а второй – все остальные.
var nb1,nb2,n,i,s:integer;
B:array[1..20] of integer;
A:array[1..20] of integer;
C:array[1..20] of integer;
begin
writeln('Введите кол-во членов последовательности, но не больше 20');
readln(n);
writeln('Значения элементов массива - целые числа');
for i:=1 to n do
readln(B[i]);
writeln('Исходный массив');
for i:=1 to n do
write(B[i],',');
writeln;
nb1:=0;
nb2:=0;
for i:=1 to n do
begin
if (B[i]>0) and (b[i] mod 2=0) then
begin
nb1:=nb1+1;
A[nb1]:=B[i];
end;
if (B[i]<=0) or ((b[i]>0) and (b[i] mod 2<>0)) then
begin
nb2:=nb2+1;
C[nb2]:=B[i];
end;
end;
for i:=1 to nb1 do
write('Массив содержит четные положительные элементы');
write(A[i],',');
writeln;
for i:=1 to nb2 do
write('Массив содержит все остальные элементы');
write(C[i],',');
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:=1;{Начальное значение числителя}
Zn:=1;{Начальное значение знаменателя}
Summa:= 0;{Начальное значение суммы}
S2:=0;{Значение i-го элемента}
S1:= ch/zn;{Значение i-1 -го элемента}
repeat
S2 := S1;
Summa := Summa + S2;
Ch :=ch*(-(x-1));
Zn := Zn+1;
S1:= ch/zn;
Writeln('S1=', Ch,'/',Zn);
I:=I+1;
Writeln('Следующий элемент ряда равен', S1:6:2);
Writeln('IS1-S2I',Abs(S1-S2):10:4);
Until Abs(S1-S2)<=Eps;
Writeln('Сумма равна',Summa);
End.
Контрольная работа №1
Вариант 5
1. Дан массив B[1:n]. Поменять местами его максимальный отрицательный и минимальный положительный элемент.
var a: array [1..20] of integer;
n,i,imin,imax,nmin,nmax: byte;
buf: integer;
begin
writeln('Введите число элементов массива');
readln(N);
for I:=1 to N do
begin
writeln('Введите значение',I,'-ого элемента');
readln(A[I]);
end;
writeln('Исходный массив:');
for I:=1 to n do
write(A[I],',');
writeln;
for i:=1 to n do
begin
if a[i]>0 then
begin
if nmin=0 then
begin
inc(nmin);
imin:=i;
end else if a[i]<a[imin] then imin:=i;
end;
if a[i]<0 then
begin
if nmax=0 then
begin
inc(nmax);
imax:=i;
end else if a[i]>a[imax] then imax:=i;
end;
end;
writeln;
writeln('Минимальный положительный элемент=',a[imin],' под номером ',imin);
writeln('Максимальный отрицательный элемент=',a[imax],' под номером ',imax);
buf:=a[imin];
a[imin]:=a[imax];
a[imax]:=buf;
writeln('Итоговый массив');
for i:=1 to n do
write(a[i]:4);
end.
2. Дан массив A[1:n]. Удалить из него путем сдвига положительные элементы кратные трем.
Var
N: Integer ;
A: array[1 .. 20] of Integer;
Kol: Integer;
I, J : Integer;
Begin
Writeln (' Число элементов массива <=20 ');
Readln(N);
Writeln ('Значения элементов массива – целые числа');
For I:=1 to N do
Readln(A[I]);
Writeln ('В исходном массиве', N:3, 'элементов');
For i:=1 to N do
Write (A[i]:4);
Writeln;
Kol:=0;
For I:=N downto 1 do
If (A[I] mod 3=0) and (a[i]>0) Then
Begin
For J:= I to N-1 do
A[J]:=A[J+1];
Kol:=Kol+1;
End;
N:=N-Kol;
Writeln('В преобразованном массиве',N:3,'элементов');
For I:=1 to N do
Write (A[I]:4);
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:=0; { номер шага итерации}
Ch:=1;{Начальное значение числителя}
Zn:=x;{Начальное значение знаменателя}
Summa:= 0;{Начальное значение суммы}
S2:=0;{Значение i-го элемента}
S1:= ch/zn;{Значение i-1 -го элемента}
repeat
S2 := S1;
Summa := Summa + S2;
Ch :=ch;
Zn := Zn*power(x,2)*(3+i);
S1:= ch/zn;
Writeln('S1=', Ch,'/',Zn);
I:=I+2;
Writeln('Следующий элемент ряда равен', S1:6:2);
Writeln('IS1-S2I',Abs(S1-S2):10:4);
Until Abs(S1-S2)<=Eps;
Writeln('Сумма равна',Summa);
End.
Контрольная работа №1
Вариант 6
1. Дан массив X[1:n]. Обнулить все его элементы равные минимальному.
Var
N, Min, I: Integer ;
X: array[1 .. 20] ofInteger;
Begin
Writeln('Обнуление элементов массива по условию');
Writeln('Введите число элементов массива N <= 20');
Readln (N);
Writeln('Введите значения элементов массива - целые числа');
ForI := 1 toN do
Readln (X [I]);
Writeln('Исходный массив');
ForI := 1 toN do
Write (X [I]: 3);
Writeln;
Min := X [1];
ForI := 2 toN do
IfX [I] < Min Then
Min := X [I];
ForI := 1 toN do
IfX [I] = Min Then
X [I] := 0;
Writeln('Новый массив');
ForI := 1 toN do
Write (X [I]: 3);
End.
2. Дан массив Y[1:n].Сформировать два новых массива: первый содержит четные элементы с нечетными номерами, а второй – нечетные элементы с четными номерами.
Var
N, Na, Nb, I: Integer;
Y: array[1 .. 20] ofInteger;
A: array[1 .. 20] ofInteger;
B: array[1 .. 20] ofInteger;
Begin
Writeln('Формирование новых массивов по условию');
Writeln('Введите число элементов массива N <= 20');
Readln (N);
Writeln('Введите значения элементов массива - целые числа');
ForI := 1 toN do
Readln (Y [I]);
Writeln('Исходный массив');
ForI := 1 toN do
Write (Y [I]: 3);
Writeln;
Na := 0;
ForI := 1 toN do
Begin
Ifodd (Y [I])= False Then
Begin
Na := Na + 1;
A [Na] := Y [I]
end;
I := I + 1
end;
IfNa > 0 Then
Begin
Writeln ('Новый массив, содержащий четные элементы, стоящие на нечетных местах исходного массива');
ForI := 1 toNa do
Write (A [I]: 3);
Writeln;
End
Else
Writeln('На нечетных местах в исходном массиве не стоит четных элементов');
Nb := 0;
ForI := 2 toN do
Begin
Ifodd (Y [I])= True Then
Begin
Nb := Nb + 1;
B [Nb] := Y [I]
end;
I := I + 1
end;
IfNb > 0 Then
Begin
Writeln ('Новый массив, содержащий нечетные элементы, стоящие на четных местах исходного массива');
ForI := 1 toNa do
Write (B [I]: 3);
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;{Начальное значение числителя}
Zn:=1;{Начальное значение знаменателя}
Summa:= 0;{Начальное значение суммы}
S2:=0;{Значение i-го элемента}
S1:= ch/zn;{Значение i-1 -го элемента}
Repeat
S2 := S1;
Summa := Summa + S2;
Ch := Ch*(-x);
Zn := Zn*(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
Вариант 7
Дан массив Y[1:n]. Найти количество его элементов, отличных от минимального элемента.
Var
N, Min, I, Kolvo: Integer ;
Y: array[1 .. 20] ofInteger;
Begin
Writeln('Анализ массива');
Writeln('Введите число элементов массива N <= 20');
Readln (N);
Writeln('Введите значения элементов массива - целые числа');
ForI := 1 toN do
Readln (Y [I]);
Writeln('Исходный массив');
ForI := 1 toN do
Write (Y [I]: 3);
Writeln;
Min := Y [1];
ForI := 2 toN do
IfY [I] < Min Then
Min := Y [I];
Kolvo := 0;
ForI := 1 toN do
IfY [I] <> Min Then
Kolvo := Kolvo + 1;
IfKolvo > 0 Then
Writeln('Количество элементов, значение которых отличается от минимального значения =', Kolvo:3)
Else
Writeln('В массиве все элементы одинаковые');
End.