![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
natik3 |
![]()
Сообщение
#1
|
Новичок ![]() Группа: Пользователи Сообщений: 34 Пол: Женский Репутация: ![]() ![]() ![]() |
известно,что в следующем фрагменте программы массив матрица содержит оценки студентов группы,фамилии которых перечислен в типе фамилия.
> type > фамилия=(Иванов,Просветкин,Ленин,Михайлов,Маслова,Юрьева,Беляев,Малащенко,Нагайц ев,Семыкин). > предмет=(матанализ,алгебра,информатика,история,матлогика,механика,педагогика,диф уруравнения,статистика). > var > матрица: array[ фамилия,предметы ] of integer. Необходимо выяснить сколько студентов группы имеют средний балл, наименее всего отклоняющийся по абсолютному значению от среднего балла всей группы. помогите решить через процедуры и функции.вот,что у меня есть,проверьте.исправьте.а то она работает некорректно.помогите решить через процедуры и функции.вот,что у меня есть,проверьте.исправьте.а то она работает некорректно. type fam=(Ivanov, Prosvetkin, Lenin, Mikhaylov, Maslov, Yuryev, Belyaev, Malashenko, Nagaytsev, Semykin); pred=(matan, algebra, informatics, history, matlogica, mechanics, pedagogics, difururavneniye, statistics); matr=array[fam ,pred] of integer; var a:matr; Procedure vvodM(var a:matr); var j: pred; i:fam; begin randomize; for i:= Ivanov to Semykin do begin For j:=matan to statistics do begin a[i,j]:=random(4)+2; write( a[i,j]:3); end; writeln end; end; function sred(Student: fam): real; var j: pred; i:fam; s: real; begin s:= 0; for i:= Ivanov to Semykin do begin For j:=matan to statistics do begin s:= s + a[Student,j]; sred:= s/9 end; write(sred(i)) end; readln end; function TotalAverege(var a:matr):real; var j: pred; i:fam; s: real; begin s:= 0; for i:=Ivanov to Semykin do begin For j:=matan to statistics do begin s:= s +sred(i); TotalAverege:= s/9; end; write(TotalAverege(a)) ; end; readln end; Procedure MinDev (a:matr); var j: pred; i:fam; k:integer; begin k:=0; for i:=Ivanov to Semykin do begin For j:=matan to statistics do begin if TotalAverege(a)<>abs(TotalAverege(a)-sred(i))then k:=k+1; If k>0 then WriteLn(k,' студентов имеют минимальное отклонение от cреднего балла группы') else WriteLn(k,'Таких студентов нет'); end; end; end; begin setconsolecp(1251); setconsoleoutputcp(1251); vvodM(a); MinDev(a); readln end. Нужно еще сделать так.чтобы выводились все промежуточные действия.т е средний балл каждого ученика,общий средний балл.а только потом уже выводился ответ.помогите! |
![]() ![]() |
![]() |
Текстовая версия | 20.07.2025 14:38 |