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

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - 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