Написать задачу в паскале,используя алгоритм функции: 300 учеников заданы 3 оценками.Для...

0 голосов
27 просмотров

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


Информатика (61 баллов) | 27 просмотров
0

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

0

А "Для каждого сосчитать количество учеников..." - это имеется в виду, что каждая из трех оценок выставлена по какому-то предмету и для каждого предмета надо найти "количество учеников, средний балл которых превышает 4"?

0

Если все это так, то последний вопрос: какая версия Паскаля? Турбо, Фри, АБЦ, АБЦ.Нет... ?

0

турбо паскаль,да всё верно

0

Всегда указывайте версию Паскаля, особенно когда разговор о функциях и массивах. У версий в этом плане серьезные отличия.

0

оки я просто турбо пользуюсь всегда

0

А все почти уже давно работают с PascalABC.NET поскольку он а) мощнее б) работает в Windows, не в DOS-окне

0

я просто не признаю ABC как то

0

Ну это Ваше дело и Ваше право

0

а написать само решение можешь если не сложно? пожалуйста

Дан 1 ответ
0 голосов
Правильный ответ

Uses Crt;
const
  n=300;
type
  V=array[1..n,1..3] of 0..5;
function Cnt4(var a:V):integer;
 { Количество учеников со средним баллом выше 4 }
var
  i,j,k:integer;
  sb:real;
begin
  k:=0;
  for i:=1 to n do
  begin
    sb:=0;
    for j:=1 to 3 do sb:=sb+a[i,j];
    sB:=sb/3;
    if sb>4 then
    Inc(k);
  end;
  Cnt4:=k
end;

var
  i,j:integer;
  M:V;
begin
  ClrScr;
  Writeln('Для каждого ученика вводите через пробел три его оценки');
  for i:=1 to n do
  begin
    Write(i,': ');
    for j:=1 to 3 do Read(M[i,j])
  end;
  Write('Количество учеников со средним баллом выше 4: ');
  Writeln(Cnt4(M),' ');
  ReadKey
end.

(142k баллов)