
На контрольной работе по алгебре ученикам 9 класса было предложено 10 примеров.
Неудовлетворительная оценка выставляется, если правильно решено менее половины примеров. Сколько неудовлетворительных оценок было получено учениками? Программа получает на вход количество учеников в классе N (1 ≤ N ≤ 30), затем для каждого ученика вводится количество правильно решённых примеров. Составить три программы, используя три вида циклов (for, while,repeat)

Ответы на вопрос

Цикл for
program raf105;
var n,a,x,i:integer;
begin
write('Введите количество учеников: ');
readln(n);
writeln('Вводите кол во правильно решённых вопросов учеников по очереди: ');
for i:=1 to n do
begin
readln(a);
if a<5
then x:= x+1;
end;
writeln('Учениками было получено ',x,' неудовлетворительных оценок');
end.
Цикл while
program raf105;
var n,a,x,i:integer;
begin
write('Введите количество учеников: ');
readln(n);
writeln('Вводите кол во правильно решённых вопросов учеников по очереди: ');
while i<>n do
begin
i:= i+1;
readln(a);
if a<5
then x:= x+1;
end;
writeln('Учениками было получено ',x,' неудовлетворительных оценок');
end.
Цикл repeat
program raf105;
var n,a,x,i:integer;
begin
write('Введите количество учеников: ');
readln(n);
writeln('Вводите кол во правильно решённых вопросов учеников по очереди: ');
repeat
i:= i+1;
readln(a);
if a<5
then x:= x+1;
until i=n;
writeln('Учениками было получено ',x,' неудовлетворительных оценок');
end.
Язык PascalABC



Давайте начнем с написания трех программ на языке программирования Python, используя три вида циклов: for
, while
и repeat
.
Программа с использованием цикла for
:
pythondef count_unsatisfactory_grades_with_for(N):
unsatisfactory_count = 0
for _ in range(N):
correct_examples = int(input("Введите количество правильно решенных примеров: "))
if correct_examples < 5:
unsatisfactory_count += 1
return unsatisfactory_count
N = int(input("Введите количество учеников в классе (от 1 до 30): "))
unsatisfactory_grades = count_unsatisfactory_grades_with_for(N)
print(f"Количество неудовлетворительных оценок: {unsatisfactory_grades}")
Программа с использованием цикла while
:
pythondef count_unsatisfactory_grades_with_while(N):
unsatisfactory_count = 0
i = 0
while i < N:
correct_examples = int(input("Введите количество правильно решенных примеров: "))
if correct_examples < 5:
unsatisfactory_count += 1
i += 1
return unsatisfactory_count
N = int(input("Введите количество учеников в классе (от 1 до 30): "))
unsatisfactory_grades = count_unsatisfactory_grades_with_while(N)
print(f"Количество неудовлетворительных оценок: {unsatisfactory_grades}")
Программа с использованием цикла repeat
(в Python такого цикла нет, поэтому воспользуемся методом repeat
из модуля itertools
):
pythonfrom itertools import repeat
def count_unsatisfactory_grades_with_repeat(N):
correct_examples_list = list(map(int, input(f"Введите количество правильно решенных примеров для {N} учеников через пробел: ").split()))
unsatisfactory_count = sum(1 for correct_examples in correct_examples_list if correct_examples < 5)
return unsatisfactory_count
N = int(input("Введите количество учеников в классе (от 1 до 30): "))
unsatisfactory_grades = count_unsatisfactory_grades_with_repeat(N)
print(f"Количество неудовлетворительных оценок: {unsatisfactory_grades}")
Обратите внимание, что программа с использованием repeat
запрашивает ввод всех оценок для всех учеников одним вводом в одной строке, разделенных пробелами.


Похожие вопросы
Топ вопросов за вчера в категории Информатика








Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili