Помощ за програма на Паскал
5 отговора
0 прегледа
Помощ за програма на Паскал
моля ви помогнете ми . Става въпрос за тази задача :за К студента са дадени факултетен номер и оценка по физика . Да се състави програма за определяне на средния успех по Физика. Знам че не сте длъжни да ми правите задачите , но го приемете все едно правите подарък за коледа , ще съм ви благодарен от все сърце

Добре де, а ...
K потребителят ли го въвежда или е дадено? Какво означава студентите да са "дадени"? Как са дадени?
Мрънканици
Мрънканици
Re: Не разбрах само ...
tova e algoritama no trebe da se promeni malko za da pasne tochno ako moje da go preraboti te mn shte sm blagodaren
program prog002;
uses crt;
type ratings = record
physics : real;
end;
type student = record
uid : string;
rating : ratings;
end;
var students : array of student;
K : integer;
function max_students() : integer;
begin
write('Input max students (K): ');
readln(max_students);
end;
procedure input_students();
var i : integer;
begin
writeln('-------------------------');
writeln(' input data for students');
writeln('-------------------------');
for i := 1 to K do
begin
writeln('student ', i);
write(' uid: ');
readln(students.uid);
repeat
write(' physics: ');
readln(students.rating.physics);
until((students.rating.physics >= 2.0) and (students.rating.physics <= 6.0));
end;
writeln('-------------------------');
end;
procedure average_rating();
var average : real;
max : integer;
i : integer;
begin
max := 0;
average := 0.0;
for i := 1 to K do
if (students.rating.mathematics >= 3.0) then
begin
max := max + 1;
average := average + students.rating.physics;
end;
if(max > 0) then
begin
average := average / max;
writeln('average rating: ', average:1:2);
end;
end;
begin
repeat
K := max_students();
until (K > 0);
setlength(students, K);
input_students();
average_rating();
end.
program prog002;
uses crt;
type ratings = record
physics : real;
end;
type student = record
uid : string;
rating : ratings;
end;
var students : array of student;
K : integer;
function max_students() : integer;
begin
write('Input max students (K): ');
readln(max_students);
end;
procedure input_students();
var i : integer;
begin
writeln('-------------------------');
writeln(' input data for students');
writeln('-------------------------');
for i := 1 to K do
begin
writeln('student ', i);
write(' uid: ');
readln(students.uid);
repeat
write(' physics: ');
readln(students.rating.physics);
until((students.rating.physics >= 2.0) and (students.rating.physics <= 6.0));
end;
writeln('-------------------------');
end;
procedure average_rating();
var average : real;
max : integer;
i : integer;
begin
max := 0;
average := 0.0;
for i := 1 to K do
if (students.rating.mathematics >= 3.0) then
begin
max := max + 1;
average := average + students.rating.physics;
end;
if(max > 0) then
begin
average := average / max;
writeln('average rating: ', average:1:2);
end;
end;
begin
repeat
K := max_students();
until (K > 0);
setlength(students, K);
input_students();
average_rating();
end.