- •Министерство образования и науки российской федерации
- •Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования
- •«Ульяновский государственный технический университет» Отчёт по информатике
- •I:integer;
- •I:integer;
- •I: integer;
- •I: integer;
- •I,s:integer;
- •I: integer;
- •I:integer;
- •I,s:integer;
- •I: integer;
I,s:integer;
begin
randomize;
for i:=1 to 55 do begin
x[i]:=random(25)-10;
writeln(x[i]);
end;
writeln();
s:=0;
for i:=1 to 55 do if x[i]>0 then s:=s+x[i];
writeln(‘sum= ‘,s);
end.
5.27. Вычислить среднее арифметическое элементов массива.
var
x:array [1..25] of integer;
s,k,i: integer;
z: real;
begin
randomize;
for i:=1 to 25 do begin
x[i]:=random(25);
end;
s:=0;
k:=0;
z:=0;
for i:=1 to 10 do begin
s:=s+x[i];
k:=k+1;
end;
z:=s/k;
writeln (z);
end.
5.28. Вычислить среднее арифметическое отрицательных элементов
массива, полагая, что в массиве есть отрицательные значения.
var
x:array[1..30] of integer;
i,s,k:integer;
sar:real;
begin
randomize;
for i:=1 to 30 do begin
x[i]:=random(25)-10;
writeln(x[i]);
end;
writeln();
s:=0;
k:=0;
for i:=1 to 30 do
if x[i]<0 then begin
s:=s+x[i];
k:=k+1;
end;
sar:=s/k;
writeln(sar);
end.
5.29. Вычислить среднее геометрическое положительных элементов
массива, имеющих четные индексы. Если таких элементов нет, то вывести на
печать признак 0.
var
a: array [1..10] of integer;
b,c: integer;
d,e: real;
begin
b:=1;
c:=0;
randomize;
for i:=1 to 10 do begin
a[i]:=random(25)-10;
for i:=1 to 10 do begin
if (i mod 2=0) and (a[i]>0) then begin
b:=b*a[i];
c:=c+1;
end;
end;
if c>0 then begin
d:=exp(ln(p)*1/c);
writeln(d);
end;
if c<1 then writeln(‘0’);
end.
5.30. Вычислить среднее геометрическое элементов массива,
удовлетворяющих условию yi>a, считая, что в массиве есть элементы, для
которых выполняется это условие.
var
y:array[1..30] of integer;
i,s,k,a:integer;
sar:real;
begin
randomize;
for i:=1 to 30 do begin
y[i]:=random(25);
writeln(y[i]);
end;
writeln();
readln(a);
s:=1; k:=0;
for i:=1 to 30 do
if y[i]>a then begin
s:=s*y[i];
k:=k+1;
end;
sar:=1/k*ln(s);
writeln(sar);
end.
5.31. Подсчитать количество элементов целочисленного массива, кратных трем.
var
x: array [1..10] of integer;
k,i: integer;
begin
randomize;
for i:=1 to 10 do begin
x[i]:=random(25)-10;
writeln(x[i]);
end;
k:=0;
for i:=1 to 10 do
begin
if x[i] mod 3=0 then
k:=k+1;
end;
writeln (k);
end.
1.л. Найти миниимальный элемент и его местоположение выше побочной диагонали.
var
a:array[1..5,1..5] of integer;
i,j,min,mini,minj: integer;
begin
randomize
for i:=1 to 5 do begin
for j:=1 to 5 do begin
a[i,j]:=random(25);
writeln(a[i,j]);
end; end;
min:=a[1,1];
mini:=1;
minj:=1;
for i:=1 to 5 do
for j:=1 to 5 do
if (a[i,j]<min) and (i+j<6) then begin
min:=a[i,j];
mini:=i;
minj:=j;
end;
writeln(min,mini,minj);
end.
2.л. Подсчитать количество чётных элементов в каждой строке массива.
var
a:array[1..3,1..3] of integer;
i,j,k:integer;
begin
randomize
for i:=1 to 3 do begin
for j:=1 to 3 do begin
a[i,j]:=random(25);
writeln(a[I,j]);
end; end;
for i:=1 to 3 do begin
k:=0;
for j:=1 to 3 do
if (a[i,j] mod 2=0) then begin
k:=k+1;
end;
writeln(k);
end;
end.
3.л. Найти количество строк в двумерном массиве, максимальный элемент которого больше Р.
var
a:array[1..3,1..3] of integer;
i,j,max,p,k:integer;
begin
randomize
for i:=1 to 3 do begin
for j:=1 to 3 do begin
a[i,j]:=random(25);
read(p);
k:=0;
for i:=1 to 3 do begin
max:=a[i,1];
for j:=1 to 3 do
if (a[i,j]>max) then begin
max:=a[i,j];
end;
if (max>p) then k:=k+1;
end;
writeln(k);
end.
4.л. Дана матрица. Поменяйте местами строку, содержащую максимальный элемент, со строкой, содержащей минимальный элемент.
var
a:array[1..3,1..3] of integer;
i,j,max,min,maxi,mini,d:integer;
begin
randomize
for i:=1 to 3 do begin
for j:=1 to 3 do begin
a[i,j]:=random(25);
writeln(a[I,j]);
end; end;
max:=a[1,1];
maxi:=1;
for i:=1 to 3 do
for j:=1 to 3 do
if (a[i,j]>max) then begin
max:=a[i,j];
maxi:=i;
end;
min:=a[1,1];
mini:=1;
for i:=1 to 3 do
for j:=1 to 3 do
if (a[i,j]<min) then begin
min:=a[i,j];
mini:=1;
end;
for j:=1 to 3 do
begin
d:=a[mini,j];
a[mini,j]:=a[maxi,j];
a[maxi,j]:=d;
end;
for i:=1 to 3 do
begin
for j:=1 to 3 do
writeln(a[i,j]);
end;
end.
5.л. Дан двумерный массив. Удалите строку, в которой встретиться третий нечетный элемент.
var
a:array[1..n,1..m] of integer;
i,j,k,z:integer;
begin
m:=5;
n:=5;
randomize
for i:=1 to n do begin
for j:=1 to m do begin
a[i,j]:=random(25);
k:=0;
z:=0;
for i:=1 to n do
for j:=1 to m do
if (a[i,j] mod 2=1) then begin
k:=k+1;
if k=3 then z:=i;
end;
for i:=z to n-1 do
a[i]:=a[i+1];
for j:=1 to m do
a[n,j]:=0;
for i:=1 to n do begin
for j:=1 to m do
writeln(a[i,j])
end;
end.
6.л. Удалите второй отрицательный элемент в двумерном массиве.
var
a:array[1..n,1..m] of integer;
b:array[1..n*m] of integer;
i,j,k,f,z:integer;
begin
k:=1;
randomize
for i:=1 to n do
for j:=1 to m do
begin
a[i,j]:=random(25);
b[k]:=a[i,j];
k:=k+1;
end;
f:=0;
for k:=1 to m*n do
if (b[k]<0) and (f<2) then begin
z:=k;
f:=f+1;
end;
if f=2 then begin
for k:=z to m*n-1 do
b[k]:=b[k+1];
b[m*n]:=0;
end;
k:=1;
for i:=1 to n do
for j:=1 to m do begin
a[i,j]:=b[k];
k:=k+1;
end;
for i:=1 to n do begin
for j:=1 to m do
writeln(a[i,j]);
end;
end.
7.л. Подсчитайте среднее арифметическое отрицательных элементов по столбцам.
var
a:array[1..3,1..3] of integer;
i,j,k,s:integer;
sar:real;
begin
for i:=1 to 3 do begin
for j:=1 to 3 do begin
a[i,j]:=random(25);
end; end;
for i:=1 to 3 do begin
s:=0;
k:=0;
for j:=1 to 3 do
if (a[i,j]<0) then begin
s:=s+a[i,j];
k:=k+1;
end;
sar:=s/k;
writeln(sar);
end;
end.
8.л. Определите количество особых элементов в массиве. Элемент считать особым, если слева от него располагается меньший, а справа больший.
var
a:array[1..n] of integer;
i,k:integer;
begin
randomize
for i:=1 to n do
read(a[i]);
k:=0;
for i:=2 to (n-1) do begin
if (a[i]>a[i-1]) and (a[i+1]) then
k:=k+1;
end;
writeln(k);
end.
Для двумерного массива.
var
a:array[1..n,1..m] of integer;
i,j,k:integer;
begin
randomize
for i:=1 to n do begin
for j:=1 to m do begin
a[i,j]:=random(25);
writeln(a[i,j]);
end; end;
for i:=1 to n do begin
k:=0;
for j:=2 to m-1 do begin
if (a[i,j]>a[i,j-1]) and (a[i,j]<a[i,j+1]) then
k:=k+1;
end;
writeln(k);
end;
end.
9.л. Дан двумерный массив. Удалить столбец с номером K.
var
a: array[1..5;1..5] of integer;
i,j,k: integer;
begin
randomize
for i:=1 to 5 do begin
for j:=1 to 5 do begin
a[i,j]:=random(25);
writeln(a[i;j]);
end; end;
readln(k);
j:=k;
for j:=k to 4 do
a[i,j]:=a[i,j+1];
for i:=1 to 5 do
a[i,k]:=0;
k:=j;
for i:=1 to 5 do begin
for j:=1 to 5 do
writeln(a[i,j]);
end;
end.
10.л. Дан двумерный массив. Вставить 100 после 2го элемента.
var a: array[1..10] of integer;
