Дан массив 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.