Переделайте программу в подпрограмный - Pascal

Узнай цену своей работы

Формулировка задачи:

Помогите плиз переделайте программу из линейной в подпрограмный с использованием процедур и функций!ПЛИЗ НА ЗАВТРА НАДО ЗАКРЫТЬ МОДУЛЬ!

Решение задачи: «Переделайте программу в подпрограмный»

textual
Листинг программы
uses crt;
const n=3;
      m=5;
type
stud=record
    fio:string[12];
    bal:byte;
    end;
grup=record
    naz:string[5];
    otl:byte;
    std:array[1..m] of stud;
    srb:real;
    end;
mas=array[1..n] of grup;
procedure Vvod(var gr:mas);
var i,j:byte;
begin
writeln('Введите данные о студентах:');
for i:=1 to n do
 begin
  writeln('Группа ',i);
  repeat
  write(' Название из 5 символов: ');readln(gr[i].naz);
  until length(gr[i].naz)=5;
  gr[i].srb:=0;gr[i].otl:=0;
  for j:=1 to m do
   begin
    write(' Фамилия И.О.: ');readln(gr[i].std[j].fio);
    repeat
    write(' Балл (2-5): ');readln(gr[i].std[j].bal);
    until gr[i].std[j].bal in [2..5];
    if gr[i].std[j].bal=5 then gr[i].otl:=gr[i].otl+1;
    gr[i].srb:=gr[i].srb+gr[i].std[j].bal;
   end;
  gr[i].srb:=gr[i].srb/m;
 end;
end;
procedure Sort(var gr:mas);
var i,j:byte;
    x:grup;
begin
for i:=1 to n-1 do
for j:=i+1 to n do
if gr[i].otl<gr[j].otl then
   begin
    x:=gr[i];
    gr[i]:=gr[j];
    gr[j]:=x;
   end;
end;
procedure Vyvod(var gr:mas);
var i,j:byte;
begin
for i:=1 to n do
 begin
  writeln('Группа ',gr[i].naz);
  for j:=1 to m do
   begin
    writeln('  Данные о студентах:');
    writeln('   ',gr[i].std[j].fio);
    writeln('   ',gr[i].std[i].bal);
   end;
  writeln(gr[i].srb:0:2);
  write('Число отличников= ');
  writeln(gr[i].otl);
 end;
end;
var gr:mas;
begin
clrscr;
Vvod(gr);
Sort(gr);
Vyvod(gr);
readln
end.

Объяснение кода листинга программы

  1. В начале кода объявлены все необходимые переменные и константы.
  2. Тип данных stud представляет информацию о студенте и содержит поля fio (фамилия и инициалы) и bal (балл).
  3. Тип данных grup представляет информацию о группе студентов и содержит поля naz (название группы), otl (количество отличников), std (массив студентов этого группы) и srb (средний балл группы).
  4. Массив mas содержит информацию о всех группах студентов.
  5. Процедура Vvod считывает данные о студентах и заполняет массив mas.
  6. Процедура Sort сортирует группы студентов по убыванию количества отличников.
  7. Процедура Vyvod выводит данные о студентах и результаты работы программы.
  8. В основной части кода создается экземпляр массива mas, вызываются процедуры Vvod, Sort и Vyvod, а затем программа ожидает ввода пользователя для завершения работы.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 4 из 5
Похожие ответы