Напишите программу для решения следующей задачи. На контрольной работе по алгебре ученикам 9 класса...

Тематика Информатика
Уровень 5 - 9 классы
программирование Pascal контрольная работа алгебра ученики оценка неудовлетворительная оценка примеры задачи условие цикл
0

Напишите программу для решения следующей задачи.

На контрольной работе по алгебре ученикам 9 класса было предложено 10 примеров. Неудовлетворительная оценка выставляется, если правильно решено менее половины примеров. Сколько неудовлетворительных оценок было получено учениками? Если хотя бы один из учеников правильно решил все задачи, выведите YES, иначе выведите NO.

Программа получает на вход количество учеников в классе N (1 ≤ N ≤ 30), затем для каждого ученика вводится количество правильно решённых примеров. (Pascal)

avatar
задан 4 дня назад

2 Ответа

0

Для решения данной задачи на языке Pascal нам необходимо выполнить следующие шаги:

  1. Прочитать количество учеников, ( N ).
  2. Для каждого ученика прочитать количество правильно решённых примеров.
  3. Определить, сколько учеников получили неудовлетворительные оценки (то есть решили менее 5 из 10 примеров).
  4. Проверить, есть ли хотя бы один ученик, который решил все 10 примеров.
  5. Вывести количество неудовлетворительных оценок.
  6. Вывести "YES", если хотя бы один ученик решил все задачи, иначе вывести "NO".

Вот пример программы для решения этой задачи:

program CheckTestResults;

var
  N, i, correctAnswers, unsatisfactoryCount: Integer;
  allSolved: Boolean;

begin
  // Инициализация переменных
  unsatisfactoryCount := 0;
  allSolved := False;
  
  // Ввод количества учеников
  ReadLn(N);
  
  // Обработка данных для каждого ученика
  for i := 1 to N do
  begin
    // Ввод количества правильно решённых примеров для текущего ученика
    ReadLn(correctAnswers);
    
    // Проверка на неудовлетворительную оценку
    if correctAnswers < 5 then
      Inc(unsatisfactoryCount);
    
    // Проверка, решены ли все примеры
    if correctAnswers = 10 then
      allSolved := True;
  end;
  
  // Вывод количества неудовлетворительных оценок
  WriteLn(unsatisfactoryCount);
  
  // Вывод результата "YES" или "NO"
  if allSolved then
    WriteLn('YES')
  else
    WriteLn('NO');
end.

Пояснения:

  • Переменная unsatisfactoryCount используется для подсчёта количества неудовлетворительных оценок.
  • Переменная allSolved является логическим флагом, который устанавливается в True, если хотя бы один ученик решил все 10 примеров.
  • В цикле for мы обрабатываем результаты каждого ученика: считываем количество правильно решённых примеров, увеличиваем счётчик неудовлетворительных оценок, если условие выполнено, и проверяем, решены ли все задачи.
  • В конце программы выводим количество неудовлетворительных оценок и результат проверки на наличие ученика, который решил все примеры.

avatar
ответил 4 дня назад
0

program UnsatisfactoryGrades;

var N, i, solved, unsatisfactory: integer; allSolved: boolean;

begin unsatisfactory := 0; allSolved := false;

readln(N);

for i := 1 to N do begin

readln(solved);

if solved < 5 then
  unsatisfactory := unsatisfactory + 1;

if solved = 10 then
  allSolved := true;

end;

if allSolved then

writeln('YES')

else

writeln('NO');

writeln(unsatisfactory); end.

avatar
ответил 4 дня назад

Ваш ответ

Вопросы по теме