Предмет: Информатика, автор: xSelekTx

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


Аноним: Функция всегда имеет свой алгоритм, в соответствии с которым она написана. Но фраза "используя алгоритм функции" некорректна. Правильно писать "используя функцию", а еще лучше - "используя пользовательскую функцию", что подчеркивает необходимость определения функции и обращение к ней из основной программы.
Аноним: А "Для каждого сосчитать количество учеников..." - это имеется в виду, что каждая из трех оценок выставлена по какому-то предмету и для каждого предмета надо найти "количество учеников, средний балл которых превышает 4"?
Аноним: Если все это так, то последний вопрос: какая версия Паскаля? Турбо, Фри, АБЦ, АБЦ.Нет... ?
xSelekTx: турбо паскаль,да всё верно
Аноним: Всегда указывайте версию Паскаля, особенно когда разговор о функциях и массивах. У версий в этом плане серьезные отличия.
xSelekTx: оки я просто турбо пользуюсь всегда
Аноним: А все почти уже давно работают с PascalABC.NET поскольку он а) мощнее б) работает в Windows, не в DOS-окне
xSelekTx: я просто не признаю ABC как то
Аноним: Ну это Ваше дело и Ваше право
xSelekTx: а написать само решение можешь если не сложно? пожалуйста

Ответы

Автор ответа: Аноним
1
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.

Похожие вопросы
Предмет: Алгебра, автор: Hdksjdgellzncbfhr