КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Else Begin
Begin Begin Case i of Begin Begin Var gr:array[1..6,1..30] of st; i,j,k,l,kol_dvoek,v,kgr,n:integer; md:mo; ch:char; predmet:string; kst:array[1..6] of byte; procedure rea_ocenki(fio:string;Var oc:mo); Label M1,M2,M3,M4; Var i:integer; for i:=1 to 5 do 1:predmet:='основы информатики'; 2:predmet:='высшей математике'; 3:predmet:='философии'; 4:predmet:='архитектуре ЭВМ'; 5:predmet:='истории Украины'; end; writeln('введите оценку студента ',fio,' no ',predmet); M1: readln(oc[i,1]); if (oc[i,1]<2) or (oc[i,1]>5) then Begin writeln('введите правильно оценку'); goto M1; end; if oc[i,1]>2 then Begin oc[i,2]:=0; oc[i,3]:=0; goto M4; end else M2: writeln('введите вторую оценку студента ',fio,' по ',predmet); readln(oc[i,2]); if (oc[i,2]<2) or (oc[i,2]>5) then Begin writeln('введите правильно оценку'); goto M2; end; if oc[i,2]>2 then begin oc[i,3]:=0; goto M4; end else M3: Writeln('введите третью оценку студента ',fio,' по ',predmet); readln(oc[i,3]); if (oc[i,3]<2) or (oc[i,3]>5) then begin writeln('введите правильно оценку'); goto M3; end; M4: end; end; BEGIN { начало блока ввода оценок студентов} writeln('при вводе оценки набираются: 5, если экзамен'); writeln('сдан на 5 и, если были пересдачи, то 2,2,3 '); z: writeln('до первой положительной оценки'); writeln('задайте количество групп, не более 6 '); readln(kgr); for i:=1 to kgr do { установка индекса группы } begin case i of { определяем группу по i } 1:n:=610; 2:n:=611; 3:n:=612; 4:n:=613; 5:n:=614; 6:n:=615; else writeln('неправильно задано количество групп'); goto 2; end; end; writeln('задайте количество студентов в группе ',n); readln(kst[i]); for j:=1 to kst[i] do { установка номера студента i в группе } begin with gr[i,j] do { работать без составных имен } begin namb:=n; writeln('введите фамилию ',j,' студента гр. ',namb); readln(fio); for k:=1 to 5 do { обнуляем массив оценок } for l:=1 to 3 do o[k,l]:=0; writeln('введите оценки студентов ',fio); rea_ocenki(fio,o); end;end;end; { конец ввода оценок студентов } { отображение на экране введения оценок } for i:=1 to kgr do for j:=1 to kst[i] do Begin with gr[i,j] do Begin for k:=1 to 5 do write(o[k,1],o[k,2],o[k,3],' '); writeln; end; end; { конец вывода на экран оценок } { начало блока анализа успеваемости студентов } for i:=1 to kgr do { индекс группы } for j:=1 to kst[i] do { номер студента } Begin kol_dvoek:=0; v:=0; { работать без составных имен } with gr[i,j] do for k:=1 to 5 do { номер предмета } { итак, анализируем состояние успеваемости студента, информация } { о котором хранится в записи gr[i,j]; так как мы работаем под уп-} {равлением оператора with gr[i,j], то можно пользоваться не } { составными именами полей } case k of { определить название предмета j } 1:predmet:='основы информатики'; 2:predmet:='высшая математика '; 3:predmet:='философия'; 4:predmet:='архитектура ЭВМ'; 5:predmet:='история Украины'; end; if o[k,1]=2 then if o[k,2]=2 then if o[k,3]=2 then begin writeln('студент ',fio,' группы ', namb,' подлежит отчислению так как'); writeln('имеет три двойки по предмету ',predmet); v:=1; readln; goto w; end { на новый предмет } else Begin kol_dvoek:=kol_dvoek+2; goto w; end else Begin kol_dvoek:=kol_dvoek+1; goto w; end; w: end; if v=1 then goto u { к новому студенту } else if kol_dvoek=0 then goto u writeln('студент ',fio,' группы ',namb,' является разгильдяем так как'); writeln('имеет в зимнюю сессию ',kol_dvoek,' двоек и является'); writeln('кандидатом на отчисление в весеннем семестре'); readln; end; end; u: end; END. Программа снабжена комментариями, поэтому при внимательном рассмотрении читается легко. Трудности могут возникнуть при разборе блока анализа результатов, поэтому мы приведем блок-схему логической части этого блока (рис. 9.1). 9.1. Комплексные данные При работе с комплексными данными удобно пользоваться записями с двумя полями, первое содержит информацию о действительной части данного, а второе – о мнимой части данного. Program Prim45; Type complex=record deistv:real; mnim:real; end; Var a,b,c:complex;
Дата добавления: 2014-12-17; Просмотров: 445; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |