Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.06.2009, 20:48   #1
Roman@-
Новичок
Джуниор
 
Регистрация: 07.06.2009
Сообщений: 1
По умолчанию Составить программу, определяющую учеников класса, являющимися хорошистами и отличниками по итогам года

ЗАДАЧА-Составить программу, определяющую учеников класса, которые являются хорошистами и отличниками по итогам года.
РЕШЕНИЕ-
Код:
Program horosho;
uses crt;
type
   ych=record
   fio:string;
   a:array[1..10] of 2..5;
   pred:array[1..10] of string;
   sr:real;
end;
   mas=array [1..10] of ych;
var
   s:mas;
   i,i_pred,kol,kol_pred:integer;
   bal_cl:real;
   c:byte;
   flag:boolean;
   vyb:char;
begin
 clrscr;
 write('Введите количество студентов: ');
 readln(kol);
 write('Введите количество предметов: ');
 readln(kol_pred);
 flag:=false;
 for i:=1 to kol do
  begin
   clrscr;
   write(' # ',i,'. Введите ФИО ученика: ');
   readln(s[i].fio);
   if flag=false then
    begin
     for i_pred:=1 to kol_pred do
      begin
       write('Введите название дисциплины ',i_pred,': ');
       readln(s[i].pred[i_pred]);
       write('Bведите оценку по этому предмету: ');
       readln(s[i].a[i_pred]);
      end;
     writeln('Запомнить список дисциплин? [y/n] ');
     readln(vyb);
     if (vyb='y') or (vyb='Y') then flag:=true;
    end
    else
     begin
      writeln('Вводите оценки по дисциплинам: ');
      for i_pred:=1 to kol_pred do
      begin
       s[i].pred[i_pred]:=s[i-1].pred[i_pred];
       write(s[i].pred[i_pred],': ');
       readln(s[i].a[i_pred]);
      end;
     end;
  end;
  bal_cl:=0;
  for i:=1 to kol do
   begin
    s[i].sr:=0;
    for i_pred:=1 to kol_pred do s[i].sr:=s[i].sr+s[i].a[i_pred];
    s[i].sr:=s[i].sr/kol_pred;
    bal_cl:=bal_cl+s[i].sr;
   end;
   bal_cl:=bal_cl/kol;
  clrscr;
  writeln ('СПИСОК СТУДЕНТОВ: ');
  for i:=1 to kol do
   begin
    clrscr;
    writeln;
    writeln(' # ',i,'. ',s[i].fio);
    writeln;
    writeln('**********ОЦЕНКИ************');
    for i_pred:=1 to kol_pred do
    writeln(s[i].pred[i_pred],' : ',s[i].a[i_pred]);
    writeln('****************************');
    writeln('Средний бал: ',s[i].sr:4:2);
    readln;
   end;
 clrscr;
 writeln('Средний балл по классу: ',bal_cl:5:2);
 writeln('1 - Вывести список отличников.');
 writeln('2 - Вывести список хорошистов.');
 writeln('3 - ВЫХОД.');
 writeln(' -> ');
 readln(c);
if (c<>1) and (c<>2) and (c<>3) then
 begin
  writeln('Nekorektnyi vybor!');
  readln;
  halt;
 end;
case c of
1:begin
writeln('ОТЛИЧНИКИ: ');
for i:=1 to kol+1 do if s[i].sr=5 then writeln(s[i].fio);
  end;
2:begin
writeln('ХОРОШИСТЫ: ');
for i:=1 to kol+1 do if (s[i].sr>=4) and (s[i].sr<5) then writeln(s[i].fio);
  end;
3:halt;
end;
readln;
end.



________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!
Модератор.

Последний раз редактировалось Serge_Bliznykov; 07.05.2011 в 23:49.
Roman@- вне форума Ответить с цитированием
Старый 09.06.2009, 14:34   #2
SWAT92Shtorm
Готов помочь
Пользователь
 
Регистрация: 06.06.2009
Сообщений: 27
По умолчанию

Напиши какие входные параметры =)
В ВУЗе
SWAT92Shtorm вне форума Ответить с цитированием
Старый 07.05.2011, 18:25   #3
Space91
Пользователь
 
Регистрация: 25.05.2010
Сообщений: 13
По умолчанию

Это творение хоть робит? или какие то проблемы имеются в листенге?
Space91 вне форума Ответить с цитированием
Старый 02.06.2011, 16:28   #4
Yurochka
Новичок
Джуниор
 
Регистрация: 26.05.2011
Сообщений: 2
Печаль

а прога то не рабочая, есть некоторые проблемы
Yurochka вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Известны оценки по физике каждого из 20 учеников класса. Определить среднюю оценку по классу sinid Паскаль, Turbo Pascal, PascalABC.NET 6 23.01.2009 17:30
Написать программу, определяющую, через сколько дней количество съеденных комаров превысит 100 мелкая007 Паскаль, Turbo Pascal, PascalABC.NET 1 12.01.2009 13:22
Составить программу, определяющую количество чисел, делящихся без остатка на три phoenixSV Паскаль, Turbo Pascal, PascalABC.NET 2 05.12.2008 15:05
Определить, сколько учеников класса не имеют отметок ниже четырех HOOKER Помощь студентам 6 08.10.2008 19:50
Помогите составить базу данных - задние для 8 класса... Наталья Шварц Microsoft Office Excel 2 14.03.2008 21:33