Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.05.2009, 20:56   #1
Elusive Devil
 
Регистрация: 05.02.2009
Сообщений: 5
По умолчанию Pascal, задача на подпрограмму.

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

Нужно решить задачу, используя подпрограмму.
Elusive Devil вне форума Ответить с цитированием
Старый 03.05.2009, 21:10   #2
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Вбиваете в поиск "средний балл" и вот вам куча аналогичных тем.
Пример: http://programmersforum.ru/showthread.php?t=39234
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 03.05.2009, 21:15   #3
Tkirill
Форумчанин
 
Аватар для Tkirill
 
Регистрация: 22.12.2008
Сообщений: 104
По умолчанию

uses crt;
const
nmax=5;
type
rec=record
surname:string;
ball:real;
badmark:boolean;
end;
ar=array[1..nmax] of rec;
var
info:ar;
t:real;
procedure read_array(var r:ar; n:integer);
var
buf:char;
i:integer;
begin
for i:=1 to n do
begin
write(' Surname -> ');
readln(r[i].surname);
write(' Ball -> ');
readln(r[i].ball);
write(' Bad mark (y/n) -> ');
readln(buf);
buf:=upcase(buf);
if buf='Y' then r[i].badmark:=true
else r[i].badmark:=false;
end;
end;
function F(r:ar; n:integer):real;
var
buf:real;
i:integer;
begin
buf:=0;
for i:=1 to n do
buf:=buf+r[i].ball;
buf:=buf/n;
f:=buf;
end;
procedure write_g_s(r:ar; n:integer; k:real);
var
i:integer;
begin
for i:=1 to n do
if r[i].ball>k then writeln(r[i].surname);
end;
begin
clrscr;
read_array(info,nmax);
t:=f(info,nmax);
write_g_s(info,nmax,t);
readln;
end.
@(o_0)@
Tkirill вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Составить подпрограмму для получения обратной матрицы Astis Паскаль, Turbo Pascal, PascalABC.NET 0 01.05.2009 18:52
(Паскаль) Составить программу, использующую подпрограмму-функцию Викуська_ Помощь студентам 6 21.04.2009 23:32
[MASM] Прыжок из программы в подпрограмму. SoundMan Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 1 01.12.2008 18:41
Написать подпрограмму-процедуру поиска максимального элемента в массиве Noxil Паскаль, Turbo Pascal, PascalABC.NET 3 27.11.2008 21:39