
10 абитуриентов сдали экзамены (максимальная сумма баллов за три экзамена 300). Посчитать проходной
балл, если известно, что он составляет 80% от среднего балла. Посчитать количество зачисленных и вывести номера зачисленных абитуриентов Написать на паскале с использование массива прогу

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

var
a:array[1..n,1..m] of integer;
i,j,s,k:integer; p:real;
begin
Randomize;
writeln('Исходный массив:');
for i:=1 to n do
begin
for j:=1 to m do
begin
a[i,j]:=random(81)+20;
write(a[i,j]:4);
end;
writeln;
end;
s:=0;
for i:=1 to n do
for j:=1 to m do s:=s+a[i,j];
p:=s/n*0.8;
writeln('p = ',p:5:2);
writeln('Зачислены:');
k:=0;
for i:=1 to n do
begin
s:=0;
for j:=1 to m do s:=s+a[i,j];
if s>=p then begin write(i,' '); k:=k+1; end;
end;
writeln;
writeln('k = ',k);
end.
Пример:
Исходный массив:
58 79 60
96 63 97
90 97 57
29 68 25
38 75 65
54 69 42
44 70 47
39 49 24
27 64 36
68 21 64
p = 137.20
Зачислены:
1 2 3 5 6 7 10
k = 7



Конечно, я могу предложить пример кода на языке Pascal, который решает вашу задачу. Пожалуйста, обратите внимание, что Pascal - достаточно структурный язык, и его синтаксис может отличаться от более современных языков программирования.
```pascal program Admissions;
const MAX_APPLICANTS = 10; MAX_SCORE = 300; PASSING_PERCENTAGE = 80;
var scores: array[1..MAX_APPLICANTS, 1..3] of integer; totalScores: array[1..MAX_APPLICANTS] of integer; averageScore, passingScore: real; admittedCount, i: integer;
begin // Ввод баллов для каждого абитуриента for i := 1 to MAX_APPLICANTS do begin writeln('Введите баллы для абитуриента ', i, ':'); writeln('Экзамен 1: '); readln(scores[i, 1]); writeln('Экзамен 2: '); readln(scores[i, 2]); writeln('Экзамен 3: '); readln(scores[i, 3]); // Вычисление суммы баллов для каждого абитуриента totalScores[i] := scores[i, 1] + scores[i, 2] + scores[i, 3]; end;
// Вычисление среднего балла и проходного балла averageScore := 0; for i := 1 to MAX_APPLICANTS do begin averageScore := averageScore + totalScores[i]; end; averageScore := averageScore / MAX_APPLICANTS; passingScore := (PASSING_PERCENTAGE / 100) * averageScore;
// Определение зачисленных абитуриентов и их вывод writeln('Средний балл: ', averageScore:0:2); writeln('Проходной балл: ', passingScore:0:2); writeln('Зачисленные абитуриенты: ');
admittedCount := 0; for i := 1 to MAX_APPLICANTS do begin if totalScores[i] >= passingScore then begin writeln('Абитуриент ', i, ' (Баллы: ', totalScores[i], ')'); admittedCount := admittedCount + 1; end; end;
writeln('Всего зачисленных абитуриентов: ', admittedCount);
readln; end. ```
Обратите внимание, что в этом примере ввод и вывод данных осуществляются через командную строку. Вы можете изменить программу в соответствии с вашими потребностями, например, добавив графический интерфейс или изменяя методы ввода/вывода.


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









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