Демоверсия ЕГЭ 2011
задание С2 
Уровень сложности задания: высокий
Максимальный балл за задание: 3.
Примерное время выполнения: 30 мин.
Умение записать алгоритм на формально естественном языке или языке программирования.
Это задание проверяет знание абитуриентом стандартных, изученных в школе алгоритмов и умение записать их формально на естественном языке или языке программирования, Обратите внимание, что формальное описание требует указания типов переменных, задания их начальных значений, параметров цикла и так далее, а также полное описание вывода результатов.
Вариант 1
В вещественном массиве размером 30 элементов задан вес спортсменок одной команды (в килограммах с округлением до десятых). Опишите на русском языке или на одном из языков программирования алгоритм подсчета количества спортсменок, чей вес превышает 50 кг, но не более 57 кг. Если таких спортсменок нет, сообщите об этом.
Вариант 2
Опишите на русском языке или на одном из языков программирования алгоритм подсчета суммы всех отрицательных элементов заданного целочисленного массива размером 30 элементов. Если отрицательных элементов нет, сообщите об этом.
РешениеРешение на естественном языке:
   Объявим константу N, равную числу элементов массива (30), целочисленные переменные s для хранения текущей суммы
отрицательных элементов, т для подсчета количества отрицательных переменных и i для хранения индекса просматриваемого элемента.
Ввод значений в массив описывать не требуется, так как он задан. Присвоим s и т значение ноль.
В цикле от первого (нулевого) до последнего (N или N - 1) значения индекса совершим следующие действия.
Сравним с нулем значение текущего элемента массива. В случае, если значение текущего элемента меньше нуля, прибавим к
текущему значению переменной s значение рассматриваемого элемента массива и увеличим значение переменной т на единицу.
   По завершении цикла сравним значение переменной т с нулем (проверка наличия отрицательных элементов)
и в случае, если значение т больше нуля, выводим значение переменной s, в ином случае выводим «Отрицательных элементов нет».
Замечание: можно обойтись без переменной т. В этом случае сообщение «Отрицательных элементов нет» выводится в случае,
если значение s равно нулю.
    Примеры записи алгоритма на языках программирования:
   Бейсик
   N=30
   DIM A(N), S, M, I AS INTEGER
   S=0
   M=0
   FOR I=1 TO N
   IF A(I) < 0 THEN
   S = S + A(I)
   M = M + 1
   ENDIF
   NEXT I
   IF M > 0 THEN
   PRINT S
   ELSE
   PRINT "Отрицательных элементов нет"
   ENDIF
   END
     
   Паскаль
   const N=30;
   var a: array [1..N] of integer;
   s, m, i: integer;
   begin
   s := 0;
   m := 0;
   for i:= 1 to N do
   if a[i] < 0 then
   begin
   s := s + a[i];
   m := m + 1;
   end;
   if m >0
   then write (s)
   else write('Отрицательных элементов нет');
   end.
     
   Си
   void main(void)
   { const N=30;
   int array [N];
   int s, m;
   s = 0;
   m = 0;
   for (int i=0;i<N;i++)
   {
   if (array [i]<0)
    { s+=array[i];
   m++;
    }
   }
   if (m>0) printf ("%d", s);
   else printf ("Отрицательных элементов нет");
   }
Вариант 3
Опишите на русском языке или на одном из языков программирования алгоритм подсчета произведения всех отрицательных элементов заданного целочисленного массива размером 30 элементов, в предположении, что в массиве есть хотя бы один отрицательный элемент.
Вариант 4
В целочисленном массиве размером 30 элементов задан рост учащихся выпускного класса (в сантиметрах). Опишите на русском языке или на одном из языков программирования алгоритм подсчета количества учащихся, чей рост превосходит 175 см. Если таких учащихся нет, сообщите об этом.
Вариант 5
Опишите на русском языке или одном из языков программирования алгоритм подсчета среднего значения отрицательных элементов в целочисленном массиве из 30 элементов в предположении, что в нем есть хотя бы один отрицательный элемент.
Вариант 6
Опишите на русском языке или на одном из языков программирования алгоритм подсчета максимального количества подряд идущих отрицательных элементов в целочисленном массиве длины 30.
Вариант 7
Опишите на русском языке или одном из языков программирования алгоритм вычисления разности максимального среди элементов, имеющих четные значения, и максимального среди элементов, имеющих нечетные значения, в заданном целочисленном массиве из 30 положительных элементов (в предположении, что в массиве есть и четные, и нечетные элементы).
Вариант 8
Опишите на русском языке или одном из языков программирования алгоритм подсчета максимального количества подряд идущих элементов, каждый из которых больше предыдущего, в целочисленном массиве длины 30.
Вариант 9
Опишите на русском языке или одном из языков программирования алгоритм подсчета максимального количества подряд идущих четных элементов в целочисленном массиве длины 30.
Вариант 10
Дан целочисленный массив из 30 элементов. Элементы массива могут принимать значения от -20 до 20 — сведения о температуре за каждый день ноября. Опишите на русском языке или на одном из языков программирования алгоритм, который находит и выводит максимальную температуру среди дней, когда были заморозки (то есть температура опускалась ниже нуля). Гарантируется, что хотя бы в один день ноября была отрицательная температура.
Исходные данные объявлены так, как показано ниже. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать часть из них.
Паскаль
Бейсик
const
   N=30;
   var
   a: array [1..N] of
   integer;
   i, j, max: integer;
   begin
   for i:=1 to N do
   readln(a[i]);
   ...
   end.
N=30
   DIM A(N) AS INTEGER
   DIM I, J, MAX AS
   INTEGER
   FOR I = 1 TO N
   INPUT A(I)
   NEXT I
   ...
   END
Си
Естественный язык
#include <stdio.h>
   #define N 30
   void main(void)
   {int a[N];
   int i, j, max;
   for (i=0; i<N; i++)
   scanf("%d", &a[i]);
   ...
   }
Объявляем массив А из 30 элементов.
   Объявляем целочисленные переменные I, J, MAX.
   В цикле от 1 до 30 вводим элементы массива А с 1-го по 30-й.
   ...
В качестве ответа вам необходимо привести фрагмент программы (или описание алгоритма на естественном языке), который должен находиться на месте многоточия. Вы можете записать решение также на другом языке программирования (укажите название и используемую версию языка программирования, например, Borland Pascal 7.0) или в виде блок-схемы. В этом случае вы должны использовать переменные, аналогичные переменным, используемым в алгоритме» записанном на естественном языке, с учетом синтаксиса и особенностей используемого вами языка программирования.
Используются технологии uCoz