Оглавление:
Задача — Определить студентов с баллом выше среднего
— программирование на Pascal, Си, Кумир, Basic-256, Python
Пользователь вводит данные о количестве студентов, их фамилии, имена и балл для каждого. Программа должна определить средний балл и вывести фамилии и имена студентов, чей балл выше среднего.
В программе надо создать тип структуры с полями для имени и фамилии студента и балла. После этого создать массив структур, где каждый элемент массива — это информация об одном студенте.
Алгоритм будет таков:
- Запросить количество студентов.
- Выполнить цикл записи информации о студентах в поля структур, находящихся в массиве. При этом необходимо суммировать баллы в отдельную переменную.
- Вычислить средний балл, разделив полученную сумму баллов на количество студентов.
- Выполнить цикл прохода по массиву структур. Если значение поля балла очередного студента больше найденного среднего, то вывести на экран значение поля его фамилии и имени.
Pascal
type
studs = record
sname: string[50];
eval: integer;
end;
var
arr_studs: array[1..15] of studs;
sum: integer;
average: real;
i,n: byte;
begin
write(‘Количество студентов: ‘);
readln(n);
sum := 0;
for i:=1 to n do
with arr_studs[i] do begin
write(i,’-й студент: ‘);
readln(sname);
write(‘Балл: ‘);
readln(eval);
sum := sum + eval;
end;
average := sum / n;
writeln;
writeln(‘Средний балл: ‘, average:2:0, ‘. Студенты с баллом выше среднего:’);
for i:=1 to n do
if arr_studs[i].eval > average then
writeln(arr_studs[i].sname);
end. Количество студентов: 10
1-й студент: Иванов Иван
Балл: 63
2-й студент: Илюшин Илья
Балл: 74
3-й студент: Петров Петр
Балл: 32
4-й студент: Митин Дмитрий
Балл: 50
5-й студент: Настина Настя
Балл: 95
6-й студент: Родионов Родион
Балл: 84
7-й студент: Сергеев Сергей
Балл: 68
8-й студент: Женин Женя
Балл: 72
9-й студент: Кристинина Кристина
Балл: 45
10-й студент: Владов Влад
Балл: 75
Средний балл: 66. Студенты с баллом выше среднего:
Илюшин Илья
Настина Настя
Родионов Родион
Сергеев Сергей
Женин Женя
Владов Влад
Язык Си
#include <stdio.h>
struct studs {
char fname[20];
char lname[20];
int point;
};
main() {
struct studs arr[15], *a;
int sum, i, n;
float average;
printf(«Количество студентов: «);
scanf(«%d»,&n);
sum = 0;
for (i=0, a=arr; i<n; i++, a++) {
printf(«%d-й студент: «, i+1);
scanf(«%s%s»,a->fname,a->lname);
printf(«Балл: «);
scanf(«%d»,&(a->point));
sum += a->point;
}
average = sum / n;
printf(«Средний балл: %.0f. Студенты с баллом выше среднего:n», average);
for (i=0, a=arr; i<n; i++, a++)
if (a->point > average)
printf(«%s %sn», a->fname, a->lname);
}
Python
studs = {}
n = int(input(«Количество студентов: «))
s = 0
for i in range(n):
sname = input(str(i+1) + «-й студент: «)
point = int(input(«Балл: «))
studs[sname] = point
s += point
avrg = s / n
print(«nСредний балл: %.0f. Студенты с баллом выше среднего:» % avrg)
for i in studs:
if studs[i] > avrg:
print(i)