Реализация алгоритмов решения задач на языке Pascal

Слайд 2

Пример работы программы: Входные данные Выходные данные 4 - 17 -

Пример работы программы:
Входные данные Выходные данные
4 - 17 -
15
12
0 YES -
17

ГИА-2011

Напишите

программу для решения следующей задачи.
Девятиклассники участвовали в викторине по математике. Необходимо было ответить на 20 вопросов. Победителем викторины считается участник, правильно ответивший на наибольшее количество вопросов. На сколько вопросов победитель ответил правильно? Если есть участники викторины, которые не смогли дать правильный ответ ни на один из вопросов, выведите YES, иначе выведите NO. Гарантируется, что есть участники, правильно ответившие хотя бы на один из вопросов.
Программа получает на вход число участников викторины N (1 ≤ N ≤ 50), затем для каждого участника вводится количество вопросов, на которые получен правильный ответ.

количество вопросов,
на которые получен правильный ответ (a)
(для каждого участника)

число участников (N)

наибольшее количество вопросов, на которые получен правильный ответ (max)

наличие участников, которые не смогли дать правильный ответ ни на один вопрос (num – счётчик таких участников)

Слайд 3

Для решения задачи необходимо определить, что нам известно: 1) N –

Для решения задачи необходимо определить,
что нам известно:
1) N –

число участников викторины (1 ≤ N ≤ 50)
2) a – количество вопросов, на которые получен правильный ответ для каждого участника.
3) У победителя наибольшее количество правильных ответов на вопросы (max).
4) num – счётчик участников, которые не смогли дать правильный ответ ни на один вопрос.
и что необходимо найти:

На сколько вопросов победитель ответил правильно?
Если есть участники викторины, которые не смогли дать правильный ответ ни на один из вопросов, то вывести на экран YES, иначе вывести NO.

Слайд 4

1 шаг: Описываем используемые переменные, вводим с клавиатуры значение переменной N

1 шаг:

Описываем используемые переменные, вводим с клавиатуры значение переменной N и

обнуляем значения переменных max и num.
Слайд 5

2 шаг: Организуем цикл и проанализируем для каждого участника количество вопросов,

2 шаг:

Организуем цикл и проанализируем для каждого участника количество вопросов, на

которые получен правильный ответ: каким он является по отношению к максимальному значению (a>max) и если правильных ответов у участника нет (a=0), то счётчик num станет равным 1.
Слайд 6

3 шаг: Вывод результата: Количество вопросов, на которые победитель ответил правильно.

3 шаг:

Вывод результата:
Количество вопросов, на которые победитель ответил правильно.

4 шаг:

Если

есть участники викторины, которые не смогли дать правильный ответ ни на один из вопросов, то значение переменной num > 0 и на экран мы выведем YES, иначе выведем NO.
Слайд 7

if num > 0 then writeln(‘YES’) else writeln(‘NO’); Пример верного решения,

if num > 0 then writeln(‘YES’)
else writeln(‘NO’);

Пример верного решения, записанного

на языке
Паскаль:

Var a, N, i, max, num: integer;

begin

readln(N);

max:=0; num:=0;

for i:=1 to N do
begin
readln(a);
if a > max then max := a;
if a = 0 then num := 1;
end;

writeln(max);

end.