- •1. Простые операторы
- •2 Условный оператор If
- •3 Условный оператор Case.
- •Ручной счет.
- •4 Оператор цикла For
- •5. Оператор циклаRepeat…Until
- •6. Оператор повтораWhile
- •7.Вложенные циклы
- •8 Одномерные массивы
- •1. Алгоритмы поиска и присвоения значений элементам массива
- •2. Алгоритмы нахождения суммы, произведения и количества элементов массива. Работа с индексами элементов массива
- •3. Алгоритмы нахождения наибольшего или наименьшего элемента массива и его индекса
- •9. Двумерные массивы
- •1. Алгоритмы действий над элементами двумерного массива
- •2 Алгоритмы формирования одномерного массива
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. Алгоритмы нахождения наибольшего или наименьшего элемента массива и его индекса
Дан массив чисел. Найти значение максимального элемента. Если таких элементов несколько, то определить, сколько их.
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.
Дан массив чисел. Найти среднее арифметическое максимального и минимального элемента. Вывести значения и индексы этих элементов.
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 до 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.