Опубликован: 04.06.2007 | Уровень: для всех | Доступ: свободно | ВУЗ: Кабардино-Балкарский государственный университет
Дополнительный материал 1:
Выполнение аналога демоЕГЭ-2007
Дополнительный материал 1: 1234567891011121314151617181920212223242526272829303132 || Дополнительный материал 2 >
С2. Для заданного числового массива (ряда чисел) составить алгоритм нахождения m - максимума среди элементов массива, находящихся на нечетных местах (то есть среди x1, x3, x5 и т. д.) и k - минимума среди элементов массива, находящихся на четных местах (то есть среди x2, x4, x6 и т. д.).
Решение. Алгоритм запишем на языках ШАЯ, Паскаль, Бейсик.
ШАЯ:
алг С2(арг цел n, таб х[1:n], рез цел m,k) нач цел i ввод(n) нц для i от 1 до n ввод(x[i]) кц i:=1 k:=x[2] m:=x[1] нц пока (i<n) если (m<x[i]) то m:=x[i] все если (k>x[i+1]) то k:=x[i+1] все i:=i+2 кц если (mod(n,2)=1) то если (m<x[n]) то m:=x[n] все все вывод(" k=",k," m=",m) кон
Паскаль:
var n, k, m: integer; x: array[1..100] of integer; begin readln(n); for i:=1 to n do read(x[i]); i:=1; k:=x[2]; m:=x[1]; while (i<n) do begin if (m<x[i]) then m:=x[i]; if (k>x[i+1]) then k:=x[i+1]; i:=i+2 end; if (n mod 2=1) then if (m<x[n]) then m:=x[n]; writeln(' k=',k,' m=',m); end.
Бейсик:
dim k, n, i, x(100) as integer input n for i = 1 to n input x(i) next i i = 1 k = x(2) m = x(1) while (i < n) if (m < x(i)) then m = x[i] end if if (k > x(i+1)) then k = x(i+1) end if i = i + 2 wend if (n MOD 2 = 1) then if (m < x(n)) then m = x(n) end if end if print " k=",m, " m=",m end.
Дополнительный материал 1: 1234567891011121314151617181920212223242526272829303132 || Дополнительный материал 2 >