Você está na página 1de 11

Program Trabalho_de_ILP; uses crt; type Tprofessor = record cargatotal : integer; nome:string[100 ; cargo:string[!

0 ; "edicacao#$clusi%a: char; titulacao: char; end; Tdisciplinas = record nome:string[&0 ; carga:integer; end; Tturmas = record inprof'indisc:integer; horario: string[!0 ; end; Taluno = record nome:string[(0 ; %etnotas:array[1))&* of real; indturma:array[1))&* of integer; end; %ar cont_alu_tur'contalunos'i'$'d'f:integer; disciplinas: array[1))&0 of Tdisciplinas; professores:array[1))&0 of Tprofessor; turmas:array[1))&* of Tturmas; aluno:array[1))*00 of Taluno; soma:real; soma_de_tudo: array[1))*00 of real; maior_nota:real; +procedimento para ,erar carga dos professoresprocedure .era/arga01; %ar l : integer; begin for l := 1 to &0 do professores[l )cargatotal := 0; end; +procedimento de cadastro de professoresprocedure /adastrarProfessores0 %ar num:integer1; %ar ,:char;

2egin ,:=343; 5hile 0upcase0,1 =3431 and 0num6=&01 do 2egin te$tcolor05hite1; 5rite03"igite o nome do professor : 31; te$tcolor0green1; readln0professores[num )nome1; clrscr; te$tcolor05hite1; 5rite03"igite o cargo do professor : 31; te$tcolor0green1; readln0professores[num )cargo1; clrscr; te$tcolor05hite1; 5rite037 professor possui dedicacao e$clusi%a8 049:1 : 31; te$tcolor0green1; readln0professores[num )"edicacao#$clusi%a1; clrscr; te$tcolor05hite1; 5rite03;ual a titulacao do professor8 0<=<>graduado9<#<>especialista9<?<> mestre9<"<>doutor1 : 31; te$tcolor0green1; readln0professores[num )titulacao1; clrscr; te$tcolor05hite1; 5riteln03@perte <4< se Auer cadastrar outro professor e aperte <:< se Auer %oltar para o menu principal : 31; te$tcolor0green1; readln0,1; clrscr; 5hile 0upcase0,16B3431 and 0upcase0,16B3:31 do 2egin 5riteln03Procedimento In%alido' digite no%amente31; readln0,1; clrscr; end; num:=numC1; end; if num B &0 then begin 5riteln03:umero ?a$imo de professores atingido' aperte enter para sair31; readln; clrscr; end; end; +procedimento de cadastro de disciplinas-

procedure /adastrar"isciplinas0%ar disc: integer1; %ar apro%acao: char; begin apro%acao:=343; 5hile 0upcase0apro%acao1 =3431 and 0disc6=&01 do begin te$tcolor05hite1; 5rite03"igite o nome da disciplina : 31; te$tcolor0green1; readln0disciplinas[disc )nome1; clrscr; te$tcolor05hite1; 5rite03"igite o carga horaria : 31; te$tcolor0green1; readln0disciplinas[disc )carga1; clrscr; te$tcolor05hite1; 5riteln03@perte <4< se Auer cadastrar outra disciplina e aperte <:< se Auer %oltar para o menu principal31; te$tcolor0green1; readln0apro%acao1; clrscr; 5hile 0upcase0apro%acao16B3431 and 0upcase0apro%acao16B3:31 do 2egin 5riteln03Procedimento In%alido' digite no%amente31; readln0apro%acao1; clrscr; end; disc:=discC1; end; if 0disc B &01 then begin 5riteln03:umero ?a$imo de disciplinas atingido' aperte enter para sair31; readln; clrscr; end; end; +procedimento de cadastro de turmasprocedure /adastrarTurmas0%ar num: integer1; %ar contturmas'p:integer; ,:char; 2egin ,:=343;

5hile 0upcase0,1=3431 and 0num6=&*1 do begin contturmas:=0; te$tcolor05hite1; 5riteln03"isciplinas:31; te$tcolor0green1; 5riteln; for p:=1 to 0d >11 do 5riteln0p'3 :ome: 3' disciplinas[p )nome'3' carga: 3' disciplinas[p )carga1; 5riteln; te$tcolor05hite1; 5riteln03Professores:31; te$tcolor0green1; 5riteln; for p:=1 to 0i>11 do 5riteln0p'3 :ome: 3' professores[p )nome1; 5riteln; te$tcolor05hite1; 5rite03"igite o numero da disciplina: 31; te$tcolor0green1; readln0turmas[num )indisc1; te$tcolor05hite1; 5rite03"igite o numero do professor: 31; te$tcolor0green1; readln0turmas[num )inprof1; for p:=1 to f do if turmas[p )inprof = turmas[num )inprof then contturmas:= contturmas C1; 5hile contturmas = ( do begin contturmas:=0; 5riteln037 professor so pode estar cadastrado no ma$imo em ! turmas' digite o numero31; 5riteln03de outro professor31; readln0turmas[num )inprof1; for p:=1 to f do if turmas[p )inprof = turmas[num )inprof then contturmas:= contturmas C1;

clrscr; end; professores[turmas[num )inprof )cargatotal := professores[turmas[num )inprof )cargatotal C disciplinas[turmas[num )indisc )carga; clrscr; te$tcolor05hite1; 5rite03"igite o horario: 31; te$tcolor0green1; readln0turmas[num )horario1; clrscr; te$tcolor05hite1; 5riteln03@s Turmas formadas sao: 31; te$tcolor0green1; for p:=1 to num do

5riteln0p'363'turmas[p )indisc'3'3'turmas[p )inprof'3'3'3<3'turmas[p )horario'3<31; te$tcolor05hite1; 5riteln03@perte <4< se Auer cadastrar outra turma e aperte <:< se Auer %oltar ao menu31; te$tcolor0green1; readln0,1; clrscr; 5hile 0upcase0,16B3431 and 0upcase0,16B3:31 do 2egin 5riteln03Procedimento In%alido' digite no%amente31; readln0,1;

clrscr; end; num:=numC1; end; if num B &* then begin te$tcolor05hite1; 5riteln03@s Turmas formadas sao: 31; for p:=1 to 0num >11 do te$tcolor0green1; 5riteln0p'363'turmas[p )indisc'3'3'turmas[p )inprof'3'3'3<3'turmas[p )horario'3<31; 5riteln03:umero ma$imo de turmas atingido) "igite enter para sair31; readln; clrscr; end; end; +procedimento de cadastro de alunosprocedure /adastrar@lunos0%ar num:integer1; %ar %'p:integer; ,:char; begin for %:=1 to *00 do for p:=1 to &* do aluno[% )indturma[p := >1; for %:=1 to *00 do for p:=1 to &* do aluno[% )%etnotas[p := >1; ,:=343; te$tcolor05hite1; 5riteln03@s turmas sao: 31; te$tcolor0green1; for p:=1 to 0f >11 do 5riteln0p'36 "isciplina: 3'disciplinas[turmas[p )indisc )nome'3B 3'36 Professor: 3'professores[turmas[p )inprof )nome'3B 3'36 Dorario: 3'turmas[p )horario'3B31; 5hile 0upcase0,1= 3431 and 0num6=*001 do 2egin soma:=0; cont_alu_tur:=0; te$tcolor05hite1;

5riteln03"igite o nome do aluno: 31; te$tcolor0green1; readln0aluno[num )nome1; repeat cont_alu_tur:=cont_alu_tur C1; te$tcolor05hite1; 5riteln03"igite o numero da turma Aue o aluno cursou31; te$tcolor0green1; readln0aluno[num )indturma[cont_alu_tur 1; te$tcolor05hite1; 5riteln03"igite a nota do aluno da respecti%a turma31; te$tcolor0green1; readln0aluno[num )%etnotas[cont_alu_tur 1; soma:= soma C 0aluno[num )%etnotas[cont_alu_tur 1; soma_de_tudo[num :=soma; te$tcolor05hite1; 5riteln03"eseEa cadastrar este aluno em mais alguma turma8 049:131; te$tcolor0green1; readln0,1; until upcase0,1=3:3; num:=num C1; te$tcolor05hite1; 5riteln03"eseEa cadastrar mais algum aluno8049:131; te$tcolor0green1; readln0,1; clrscr; end; clrscr; te$tcolor05hite1; 5riteln037s alunos cadastrados sao : 31; te$tcolor0green1; for p:=1 to 0num >11 do begin 5rite0aluno[p )nome1; 5rite03 esta na0s1 Turma0s1: 31; for %:=1 to &* do

if aluno[p )indturma[% 6B >1 then 5rite0 aluno[p )indturma[% '3'31 else breaF; 5rite03 com a0s1 respecti%a0s1 :ota0s1: 31; for %:=1 to &* do if aluno[p )%etnotas[% 6B >1 then 5rite0aluno[p )%etnotas[% :&:&'39 31

else

breaF; 5riteln;

end; if numB*00 then begin 5riteln03:umero ?a$imo de cadastro de alunos atingido) @perte #:T#G para sair31; readln; end; readln; clrscr; end; +procedimento de consultar o melhor alunoprocedure /onsultar?elhor@luno; %ar A'cont'p:integer; media: array[1))*00 of real; 2egin

clrscr; te$tcolor05hite1; 5riteln03 70s1 melhor0es1 alunos0s1 eh0sao1: 31; te$tcolor0green1; for p:=1 to 0contalunos>11 do 2egin cont:=0; for A:=1 to &* do if aluno[p )%etnotas[A 6B >1 then 2egin cont:=cont C1; media[p :=soma_de_tudo[p 9 cont; end; if media[p B= maior_nota then maior_nota:=media[p ; end; for p:=1 to 0contalunos >11 do if media[p = maior_nota then 2egin 5riteln0aluno[p )nome'3 com media: 31; 5riteln0maior_nota:&:&1; end; readln; clrscr; end; +procedimento de arAui%o de te$toprocedure =erar@rAui%o; %ar t$t:te$t; E:integer; te$toln:string; carga_prof:string; begin @ssign0t$t'3/:HtrabalhoHcarga)t$t31; re5rite0t$t1; for E:=1 to i>1 do 2egin str0professores[E )cargatotal'carga_prof1; te$toln := 3 Professor: 3 C professores[E )nome C 3> /arga DorIJria :3 C carga_prof; 5riteln0t$t'te$toln1; end; close0t$t1; 5riteln03/riando arAui%o)))31; delay01*001; te$tcolor05hite1; 5riteln03@rAui%o criado com sucesso)31;

delay0!0001; clrscr; end; +programa principal2egin .era/arga01; f:=1; d:=1; i:=1; $:=0; contalunos:=1; maior_nota:=0; 5hile $6BK do 2egin te$tcolor05hite1; 5riteln03L L L L L L L L L L L L L 4I4T#?@ "# /@"@4TG7 L L L L L L L L L L L L L31; 5riteln03LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL31; 5riteln; 5riteln03"I=IT# 7 :M?#G7 "@ 7P/@7 "#4#N@"@:31; 5riteln; te$tcolor0green1; 5riteln03[1 P@G@ /@"@4TG7 "# PG7O#447G#4)31; 5riteln03[& P@G@ /@"@4TG7 "# "I4/IPLI:@4)31; 5riteln03[! P@G@ /@"@4TG7 "# TMG?@4)31; 5riteln03[( P@G@ /@"@4TG7 "# @LM:74)31; 5riteln03[* P@G@ /7:4MLT@G 7 ?#LD7G @LM:7)31; 5riteln03[P P@G@ =#G@G M? @G;MIQ7 "# T#RT7 /7? @ /@G=@ D7G@GI@ "74 PG7O#447G#4)31; 5riteln03[K P@G@ 4@IG "7 PG7=G@?@)31; te$tcolor05hite1; 5riteln; 5riteln03LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL31; te$tcolor0green1; readln0$1; clrscr; case $ of 1: /adastrarProfessores0i1; &: /adastrar"isciplinas0d1; !: /adastrarTurmas0f1; (: /adastrar@lunos0contalunos1; *: /onsultar?elhor@luno; P: =erar@rAui%o; end;

end; end)

Você também pode gostar