Форум программистов, компьютерный форум, киберфорум
Наши страницы
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
 
Payton
0 / 0 / 0
Регистрация: 25.05.2015
Сообщений: 1
#1

Определить количество абитуриентов, средний балл которых выше среднего балла по институту - Pascal

01.07.2015, 18:18. Просмотров 584. Ответов 1
Метки нет (Все метки)

Помогите составить программу.
Дана ведомость абитуриентов, сдавших вступительные экзамены в институт (ее можно дополнить):
Ф.И.О. Оценки Местожительство
Иванов А.Г. 9 7 5 Вологда
Петров Л.Л 9 9 9 Грязовец
Раковский Д.Г. 4 4 5 Сокол
Акимова Я.С. 9 5 4 Харовск
Определить количество абитуриентов, средний балл которых выше среднего балла по институту. Вывести список поступающих, причем первыми в списке идут абитуриенты, сдавшие все экзамены на 9.
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.07.2015, 18:18
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Определить количество абитуриентов, средний балл которых выше среднего балла по институту (Pascal):

Вычислить средний балл группы и вывести на экран список студентов имеющих средний балл выше среднего балла группы.
Написал задачку, а она как то не робит(( Нуждаюсь в опытном совете.... Вот...

Вычислить средний балл группы и распечатать список студентов, имеющих средний балл выше среднего балла группы
Здраствуйте ещё раз :) Скажу сразу честно толком не пробывал решать с Записями...

Определить количество студентов, у которых средний балл превышает заданное пользователем значение
Указания. Исходные данные должны быть предварительно записаны в текстовый файл....

Текстовые файлы: определить средний балл студентов, фамилии которых начинаются на А
Даны сведения о сдаче студентами экзаменов (Фамилия,имя,отчество,оценка)....

Определить средний балл и подсчитать количество удовлетворительных, хороших и отличных оценок
ввести оценки студента по 5 экзаменам. Определить средний балл и подсчитать...

Составить программу вычисления среднего балла каждого учащегося, среднего балла в группе в целом
В группе 5 учеников , известны результаты сдачи экзаменов по трем...

1
JokeR.BY
CAPITAL OF ROCK!
1278 / 705 / 982
Регистрация: 03.03.2010
Сообщений: 2,284
Завершенные тесты: 2
06.07.2015, 13:46 #2
Лучший ответ Сообщение было отмечено ZX Spectrum-128 как решение

Решение

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
const
    m = 3;
 
type
    TRatingCount = 1..m;
    TAbit = record
        fullName: String[50];
        rates: Array[TRatingCount] Of 1..10; //или какие там у вас
        town: String[15];
    end;
    TAbitArray = Array[Byte] Of TAbit;
 
procedure AddAbit(var ar: TAbitArray; var last: Byte);
var
    j: TRatingCount;
begin
    Inc(last);
    with ar[last - 1] do
    begin
        Write('Full name: '); ReadLn(fullName);
        for j := Low(TRatingCount) to High(TRatingCount) do
        begin
            Write('rate[', j, ']='); ReadLn(rates[j]);
        end;
        Write('Town: '); ReadLn(town);
    end;
end;
 
function GetAvrByAbit(const ab: TAbit): Extended; //Double, Real
var
    j: TRatingCount;
    Result: Extended;
begin
    Result := 0;
    with ab do
        for j := Low(TRatingCount) to High(TRatingCount) do
            Result := Result + rates[j];
    GetAvrByAbit := Result / (1 + High(TRatingCount) - Low(TRatingCount));
end;
 
function GetGoodAbit(const ar: TAbitArray; const count: Byte): Byte;
var
    Result, i: Byte; //если ругается на переобъявление - удалить Result
    avrByUniv: Extended; //Double, Real
begin
    Result := 0;
    Write('Average rate by University: '); ReadLn(avrByUniv);
    for i := 0 to count - 1 do
        if (GetAvrByAbit(ar[i]) > avrByUniv)
        then
            Inc(Result);
    GetGoodAbit := Result;
end;
 
procedure PrintAbit(const ab: TAbit);
var
    j: TRatingCount;
begin
    with ab do
    begin
        WriteLn('Full name: ', fullName);
        Write('Rates:');
        for j := Low(TRatingCount) to High(TRatingCount) do
            Write(rates[j]:2);
        WriteLn;
        WriteLn('Town: ', town);
    end;
end;
 
procedure PrintAbits(const ar: TAbitArray; const count: Byte);
var
    i: Byte;
begin
    for i := 0 to count - 1 do
        PrintAbit(ar[i]);
end;
 
function IsSuperAbit(const ab: TAbit): Boolean;
var
    Result: Boolean;
    j: TRatingCount;
begin
    Result := True; j := Low(TRatingCount);
    while ((Result) And (j <= High(TRatingCount))) do
    begin
        Result := (ab.rates[j] >= 9);
        Inc(j);
    end;
    IsSuperAbit := Result;
end;
 
procedure PrintAbitsWithSort(const ar: TAbitArray; const count: Byte);
var
    i, tempCount: Byte;
    tempAr: TAbitArray;
begin
    tempCount := 0;
    for i := 0 to count - 1 do
        if (IsSuperAbit(ar[i]))
        then
        begin
            tempAr[tempCount] := ar[i];
            Inc(tempCount);
        end;
    for i := 0 to count - 1 do
        if (Not IsSuperAbit(ar[i]))
        then
        begin
            tempAr[tempCount] := ar[i];
            Inc(tempCount);
        end;
    PrintAbits(tempAr, tempCount);
end;
 
function Menu(): Byte;
var
    Result: Byte;
begin
    repeat
        WriteLn('1. Add abit.');
        WriteLn('2. Get good abits count.');
        WriteLn('3. Print abits list.');
        WriteLn('4. Sort & print abits list.');
        WriteLn('5. Exit');
        ReadLn(Result);
        WriteLn; WriteLn;
    until (Result in [1..5]);
    Menu := Result;
end;
 
var
    arr: TAbitArray;
    count, ans: Byte;
begin
    count := 0;
    while (true) do
        case (Menu()) of
            1: AddAbit(arr, count);
            2: WriteLn(GetGoodAbit(arr, count));
            3: PrintAbits(arr, count);
            4: PrintAbitsWithSort(arr, count);
        else
            Exit;
        end;
end.
процедура с выводом 9-чников не тестирована (нет под рукой чем отдебажить), но вроде как должна работать.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.07.2015, 13:46
Привет! Вот еще темы с решениями:

Составить программу вычисления среднего балла каждого учащегося, среднего балла в классе в целом
в классе 8 учеников, известны результаты сдачи экзаменов по 3- м предметам....

Вывести информацию о студентах, имеющих средний балл выше 3
Файлы: *Файл содержит итоги контрольного срока, каждая запись которого...

Для студентов заданной группы, имеющие средний балл, больший 4.5, вывести фамилию и средний балл
Для студентов заданной группы,имеющие средний балл,больший 4.5,вывести...

Вычислить средний балл учеников школы, а потом максимальный средний балл из разных школ
Нужно ввести фамилию, номер школы, балл и вычислить средний балл учеников...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru