В
Все
Б
Биология
Б
Беларуская мова
У
Українська мова
А
Алгебра
Р
Русский язык
О
ОБЖ
И
История
Ф
Физика
Қ
Қазақ тiлi
О
Окружающий мир
Э
Экономика
Н
Немецкий язык
Х
Химия
П
Право
П
Психология
Д
Другие предметы
Л
Литература
Г
География
Ф
Французский язык
М
Математика
М
Музыка
А
Английский язык
М
МХК
У
Українська література
И
Информатика
О
Обществознание
Г
Геометрия
tsukhaya
tsukhaya
21.06.2020 10:28 •  Другие предметы

Составить программу назначения стипендии студентам по результатам сессии, используя следующие правила:

Показать ответ
Ответ:
JanoX
JanoX
16.04.2019 23:00
uses crt;
const max=30;
type TStud=record
           fam:string[15];
           ocn:array[1..4] of integer;
           srb:real;
           end;
var sp:array[1..max] of Tstud;
    n,i,j,k,p:integer;
    pr:real;
begin
repeat
write('Количество студентов до ',max,' n=');
readln(n);
until n in [1..max];
for i:=1 to n do
 begin
  writeln('Студент ',i);
  with sp[i] do
   begin
    write(' Фамилия: ');readln(fam);
    writeln(' Четыре оценки (2..5):');
    srb:=0;
    for j:=1 to 4 do
    repeat
    write('оценка ',j,': ');readln(ocn[j]);
    srb:=srb+ocn[j];
    until ocn[j] in [2..5];
    srb:=srb/4;
   end;
 end;
clrscr;
writeln('Полный список группы:');
writeln('');
writeln('|    Фамилия    | Оценки | Ср.балл|');
writeln('');
for i:=1 to n do
with sp[i] do
 begin
   gotoXY(1,whereY); write('| ',fam);
   gotoXY(17,whereY);write('|');
   for j:=1 to 4 do
   write(ocn[j]:2);
   gotoXY(26,whereY);write('| ',srb:6:2);
   gotoXY(35,whereY);writeln('|');
  end;
writeln('');
write('Press Enter...');
readln;
clrscr;
writeln('Повышенная стипендия:');
k:=0;
writeln('');
writeln('|    Фамилия    | Оценки | Ср.балл|');
writeln('');
for i:=1 to n do
with sp[i] do
if srb=5.0 then
 begin
   k:=1;
   gotoXY(1,whereY); write('| ',fam);
   gotoXY(17,whereY);write('|');
   for j:=1 to 4 do
   write(ocn[j]:2);
   gotoXY(26,whereY);write('| ',srb:6:2);
   gotoXY(35,whereY);writeln('|');
  end;
writeln('');
if k=0 then writeln('Таких студентов нет.');
write('Press Enter...');
readln;
clrscr;
writeln('Обычная стипендия:');
k:=0;
writeln('');
writeln('|    Фамилия    | Оценки | Ср.балл|');
writeln('');
for i:=1 to n do
with sp[i] do
 begin
  p:=0;
  while(j<=4)and(p=0) do
  if ocn[j]<4 then p:=1
  else inc(j);
  if (p=0)and(srb<5.0) then
   begin
    k:=1;
    gotoXY(1,whereY); write('| ',fam);
    gotoXY(17,whereY);write('|');
    for j:=1 to 4 do
    write(ocn[j]:2);
    gotoXY(26,whereY);write('| ',srb:6:2);
    gotoXY(35,whereY);writeln('|');
   end;
 end;
writeln('');
if k=0 then writeln('Таких студентов нет.');
end.
0,0(0 оценок)
Ответ:
89518099647
89518099647
16.04.2019 23:00
uses crt;
const max=30;
type TStud=record
           fam:string[15];
           oc:array[1..3]of byte;
           sr:real;
           end;
var sp:array[1..max] of Tstud;
    n,i,j,k,p:integer;
begin
clrscr;
repeat
write('Количество студентов до ',max,' n=');
readln(n);
until n in [1..max];
for i:=1 to n do
  begin
    writeln('Студент ',i);
    write(' Фамилия: ');readln(sp[i].fam);
    sp[i].sr:=0;
    for j:=1 to 3 do
       begin
         repeat
           write(' Оценка ',j,'=');
           readln(sp[i].oc[j]);
         until sp[i].oc[j] in [3..5];
         sp[i].sr:=sp[i].sr+sp[i].oc[j];
       end;
    sp[i].sr:=sp[i].sr/3;
  end;
clrscr;
writeln('Список группы:':30);
writeln('');
writeln('|    Фамилия   |  Оценки   | Ср.балл |');
writeln('');
for i:=1 to n do
 begin
   gotoXY(1,whereY); write('| ',sp[i].fam);
   gotoXY(16,whereY);write('|');
   for j:=1 to 3 do write(sp[i].oc[j]:3);
   gotoXY(28,whereY);write('|',sp[i].sr:6:2);
   gotoXY(38,whereY);writeln('|');
  end;
writeln('');
write('Press Enter...');
readln;
clrscr;
writeln('Назначена повышенная стипендия:');
k:=0;
writeln('');
writeln('|    Фамилия   |  Оценки   | Ср.балл |');
writeln('');
for i:=1 to n do
if sp[i].sr=5.0 then
 begin
  k:=1;
  gotoXY(1,whereY); write('| ',sp[i].fam);
  gotoXY(16,whereY);write('|');
  for j:=1 to 3 do write(sp[i].oc[j]:3);
  gotoXY(28,whereY);write('|',sp[i].sr:6:2);
  gotoXY(38,whereY);writeln('|');
 end;
writeln('');
if k=0 then writeln('Назначенных на повышенную стипендию нет.');
write('Press Enter...');
readln;
clrscr;
writeln('Назначена обычная стипендия:');
k:=0;
writeln('');
writeln('|    Фамилия   |  Оценки   | Ср.балл |');
writeln('');
for i:=1 to n do
 begin
  p:=0;
  for j:=1 to 3 do
  if (sp[i].oc[j]=5)or(sp[i].oc[j]=4) then p:=p+1;
  if(p=3)and(sp[i].sr<5.0) then
   begin
    k:=1;
    gotoXY(1,whereY); write('| ',sp[i].fam);
    gotoXY(16,whereY);write('|');
    for j:=1 to 3 do write(sp[i].oc[j]:3);
    gotoXY(28,whereY);write('|',sp[i].sr:6:2);
    gotoXY(38,whereY);writeln('|');
   end;
 end;
writeln('');
if k=0 then writeln('Назначенных на обычную стипендию нет.');
write('Press Enter...');
readln
end.
0,0(0 оценок)
Популярные вопросы: Другие предметы
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота