Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
1.docx
Скачиваний:
27
Добавлен:
15.02.2016
Размер:
1.16 Mб
Скачать

2. Алгоритмы нахождения суммы, произведения и количества элементов массива. Работа с индексами элементов массива

1.Дан массив целых чисел, состоящий из 10 элементов. Заполнить его с клавиатуры. Найти:

  • вывести индексы тех элементов, значения которых больше заданного числа А;

  • сумму элементов, имеющих нечетное значение;

  • количество положительных элементов, кратных К. ( К вводится с клавиатуры ).

program od21;

var

i,a,k,x,s:integer;

m:array [1..10] of integer;

begin

writeln('vvedite a');

readln(a);

writeln('vvedite k');

readln(k);

for i:=1 to 10 do begin

write('vvedite ',i,' znachenii');

readln(m[i]);

end;

s:=0; x:=0;

for i:=1 to 10 do begin

if( m[i] mod 2) <>0 then s:=s+m[i];

if(( m[i] mod k) =0) and (m[i]>0) then x:=k+1;

if m[i]>a then writeln(i);

end;

writeln('summa',s);

writeln('kollichestvenno',x);

end.

2.Дан массив целых чисел, состоящий из Nэлементов. Определить среднее арифметическое положительных элементов

Program mas22;

const

n=10;

var

srednee:real;

i,k,s:integer;

l:array[1..n] of integer;

begin

for i:=1 to n do begin

l[i]:=random(5-1+1)+1;

writeln(l[i]);

end;

k:=0;s:=0;srednee:=0;

for i:=1 to n do begin

if ((l[i])=5) or ((l[i])=2) then k:=k+1;

if (l[i])=5 then s:=s+5;

if (l[i]=2) then s:=s+2;

end;

srednee:=s/k;

writeln('srednee=',srednee);

readln;

end.

3.Дан массив чисел. Найти, сколько в нем пар одинаковых соседних элементов.

Program mas23;

n=10;

var

m:array[1..n] of integer;

i,k:integer;

begin

for i:=1 to n do begin

write('Vvedite',i,'Znaceniye');

readln(m[i]);

end;

k:=0;

for i:=1 to n do

if (m[i])=(m[i+1]) then k:=k+1;

write('Kolichestvo par=',k);

readln;

end.

4. Оценки, полученные учащимися за урок, занесены в массив. Подсчитать количество «5» и «2», полученных учащимися за урок и средний балл.

Program mas24;

n=10;

var

srednee:real;

i,kol,sum:integer;

l:array[1..n] of integer;

begin

for i:=1 to n do begin

l[i]:=random(5-1+1)+1;

writeln(l[i]);

end;

kol:=0;sum:=0;srednee:=0;

for i:=1 to n do begin

if ((l[i]=5) or ((l[i])=2)) then kol:=kol+1;

if (l[i])=5 then sum:=sum+5;

if (l[i]=2) then sum:=sum+2;

end;

srednee:=sum/kol;

writeln('srednee=',srednee);

readln;

end.

5.В очереди за билетами стоят мужчины и женщины. Какое количество мужчин стоит в начале очереди до первой женщины.

program mas25;

n=10;

var

i:integer;

m,w:char;

m:array[1..n] of char;

begin

for i:=1 to n do begin

writeln('Vvedite m ili w');

readln(l[i]);

end;

i:=0;

repeat

i:=i+1;

until m[i]='w';

i:=a

ai-2;

writeln('Kolichestvo m=',l);

readln;

end.

3. Алгоритмы нахождения наибольшего или наименьшего элемента массива и его индекса

  1. Дан массив чисел. Найти значение максимального элемента. Если таких элементов несколько, то определить, сколько их.

program od31;

var

i,n,max:integer;

m:array [1..10] of integer;

begin

for i:=1 to 10 do begin

write('vvedite ',i,' znacheniy');

readln(m[i])

end;

max:=m[i] ; n:=0;

for i:= 1 to 10 do

if (m[i]) > max then begin

max:= m[i]; n:=n+1;

end;

writeln(max,' ', n);

readln;

end.

  1. Дан массив чисел. Найти среднее арифметическое максимального и минимального элемента. Вывести значения и индексы этих элементов.

program od32;

var

i,min,max,s:integer;

m:array [1..10] of integer;

begin

for i:=1 to 10 do begin

write('vvedite ',i,' znacheniy');

readln(m[i]);

end;

max:=m[i];

min:=m[i];

s:=0;

for i:=2 to 10 do begin

if m[i]<min then min:=m[i];

if m[i]<max then max:=m[i];

end;

s:=(min+max)/2

writeln('min,',min);

writeln('max,',max);

writeln('srednee,',srednee);

readln; end.

  1. Дан массив чисел. Определить количество элементов, находящихся в интервале от 1 до 12 и расположенных до максимального элемента массива.

Program P42;

var

K,I,max,maxI:integer;

M:array [1..20] of integer;

begin

for I:=1 to 20 do

begin

writeln('vvedite ', I ,' znachenie');

readln(M[I]);

end;

max:=M[1];

maxI:=1;

for I:=2 to 20 do

If max<M[I] then

begin

max:=M[I];

maxI:=I;

end;

for I:=1 to maxI do

if (M[I]>1) and (M[I]<12) then

K:=K+1;

writeln(K);

readln;

end.