
Помогите пожалуйста! Описание программы: Написать программу,которая в одномерном массиве из 30
элементов заполненных вручную,оценками учеников по предмету,диапазон оценок от 2 до 5. Задания входящие в эту программу: 1. Подсчитать средний бал класса. 2. Подсчитать кол-во двоечников, трое шнеков,хорошистов, отличников. Хорошист 3.75-4-75. 3. Подсчитать долю успевающих(всех у кого не 2) В паскалях

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

program n_1;
var a: array [1..30] of integer; n, m, k, l, i:integer; s: double;
begin
n:=0; m:=0; n:=0; k:=0; l:=0;
for i:=1 to 30 do begin
read(a[i]);
s:=s+a[i];
if a[i]=2 then m:=m+1
else if a[i]=3 then n:=n+1
else if a[i]=4 then k:=k+1
else if a[i]=5 then l:=l+1
end;
writeln('Средний балл класса: ', s/30);
writeln('Количество двоечников: ', m);
writeln('Количество троечников: ', n);
writeln('Количество хорошистов: ', k);
writeln('Количество отличников: ', l);
writeln('Успеваемость класса: ', (30-m)/3*10, '%');
end.



Конечно, я помогу вам написать программу на языке Паскаль для выполнения указанных задач. Ниже приведен код для решения вашей задачи:
pascalprogram GradeStatistics; const NumStudents = 30; type TGrade = 2..5; TGradeArray = array[1..NumStudents] of TGrade; var Grades: TGradeArray; i: Integer; sum: Integer; numTwos, numThrees, numFours, numFives: Integer; numGood, numExcellent: Integer; numPassing: Integer; averageGrade: Real; function CalculateAverage(const arr: TGradeArray): Real; var i: Integer; total: Integer; begin total := 0; for i := 1 to NumStudents do total := total + Integer(arr[i]); Result := total / NumStudents; end; begin // Ввод оценок учеников writeln('Введите оценки учеников (от 2 до 5):'); for i := 1 to NumStudents do begin repeat write('Оценка ученика ', i, ': '); readln(Grades[i]); until (Grades[i] >= 2) and (Grades[i] <= 5); end; // Инициализация переменных для подсчета количества оценок numTwos := 0; numThrees := 0; numFours := 0; numFives := 0; // Подсчет количества оценок for i := 1 to NumStudents do begin case Grades[i] of 2: Inc(numTwos); 3: Inc(numThrees); 4: Inc(numFours); 5: Inc(numFives); end; end; // Подсчет количества хорошистов и отличников numGood := numThrees + numFours; numExcellent := numFives; // Подсчет количества успешно учащихся numPassing := NumStudents - numTwos; // Вычисление среднего балла averageGrade := CalculateAverage(Grades); // Вывод результатов writeln('Средний балл класса: ', averageGrade:4:2); writeln('Количество двоечников: ', numTwos); writeln('Количество троешников: ', numThrees); writeln('Количество хорошистов: ', numGood); writeln('Количество отличников: ', numExcellent); writeln('Доля успевающих: ', numPassing, ' из ', NumStudents); readln; end.
Этот код позволяет вам ввести оценки 30 учеников по предмету, а затем вычислить и вывести средний балл класса, количество двоечников, троешников, хорошистов, отличников и долю успевающих учеников (ученики с оценкой выше 2). Обратите внимание, что оценки хранятся в массиве Grades
, а также определены соответствующие переменные для хранения количества учеников с разными оценками.


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







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