Ir para conteúdo
Fórum Script Brasil

Mauricio Quereguine

Membros
  • Total de itens

    8
  • Registro em

  • Última visita

Sobre Mauricio Quereguine

  • Data de Nascimento 07/01/1990

Contatos

  • MSN
    quereguine@hotmail.com

Perfil

  • Gender
    Male
  • Location
    Rio de Janeiro

Mauricio Quereguine's Achievements

0

Reputação

  1. Olá, me chamo Mauricio Quereguine........acho q tenho a resposta pra você. Seguinte carlos: Não sei se é exatamente isso mas....explicando melhor: 1º você faz a entrada de dados.... 2º localiza a maior nota e a menor. 3º você soma normalmente os pontos. 4º você pega a soma pronta e subtrai pelo maior, e depois pelo menor numero... 5º Nesse caso não seria necessário mas eu organizei o vetor em ordem crecente em relação a notafinal; 6º Apresentar o resultado. Existe varias maneiras de se faser isso q você precisa, mas aqui...eu procurei exemplificar ao maximo, por isso o código ficou até um pouquinho maior, mas fiz isso pra que você pudesse ter facilidade em intender e que você mesmo saiba faze-lo... Óia o codigo ai: [===============================================================] Program Olimpiadas; uses crt; const num = 5; {aqui é o numero de atletas} var atletas : array [1..num] of record nome : string; nota : array [1..8] of real; notafinal : real; maior,menor : real; end; sep : record nome : string; nota : array [1..8] of real; notafinal : real; end; indice_nota,w,rep,inici,x,y,z,a,linha,indicemaior,indicemenor : integer; maior,menor : real; Begin{inicio do programa principal} clrscr; {entrada de dados ...Ex: nome, notas...} for x := 1 to num do begin write('Nome do atleta :'); readln(atletas[x].nome); for y := 1 to 8 do begin write('Nota ',y,'do ',atletas[x].nome,' : '); readln(atletas[x].nota[y]); end; end; {localizar o maior e o menor elemento} maior := 0; menor := 10000; indicemaior := 0; indicemenor := 0; {maior elemento} For x := 1 to num do begin maior := 0; for y := 1 to 8 do begin if maior <= atletas[x].nota[y] then begin maior := atletas[x].nota[y]; indicemaior := y; end; end; {armazenar o valor do maior elemento} atletas[x].maior := maior; End; {menor elemento} For x := 1 to num do begin menor := 1000; for y := 1 to 8 do begin if menor >= atletas[x].nota[y] then begin menor := atletas[x].nota[y]; indicemenor := y; end; end; {armazenar o valor do menor elemento} atletas[x].menor := menor; End; {soma de pontos} for x := 1 to num do begin atletas[x].notafinal := 0; for y := 1 to 8 do begin atletas[x].notafinal := atletas[x].notafinal + atletas[x].nota[y]; end; end; {subtraindo os pontostotais do atleta com a maior e a menor nota} for x := 1 to num do begin atletas[x].notafinal := atletas[x].notafinal - atletas[x].maior - atletas[x].menor; end; {ORGANIZAÇÃO DO VETOR EM RELAÇÃO A SOMA DE PONTOS} inici := 0; for rep := 1 to num do Begin {REPETIR 5 VESES} {classificação} {Copiar o 1º p/ o sep} sep.nome := atletas[rep].nome; sep.notafinal := atletas[rep].notafinal; for a := 1 to 8 do begin sep.nota[a] := atletas[rep].nota[a]; end; {localizar o maior "indice" } maior := 0; inici := inici + 1; for w:= inici to num do Begin if maior <= atletas[w].notafinal then Begin maior := atletas[w].notafinal; indice_nota := w; End; End; {Copiar o maior para o 1º elemento} atletas[rep].nome := atletas[indice_nota].nome; atletas[rep].notafinal := atletas[indice_nota].notafinal; for a := 1 to 8 do begin atletas[rep].nota[a] := atletas[indice_nota].nota[a]; end; {copiar o SEP p/ o lugar do maior} atletas[indice_nota].nome := sep.nome; atletas[indice_nota].notafinal := sep.notafinal; for a := 1 to 8 do begin atletas[indice_nota].nota[a] := sep.nota[a]; end; End; {FIM REPETIR;} {exibir resultado} for x := 1 to num do begin write('Nome : ',atletas[x].nome,'| Pontos : ',atletas[x].notafinal:5:2); writeln(' maior :',atletas[x].maior:5:2,' menor ',atletas[x].menor:5:2); end; readkey; End. [============================================================] Bom, tá ai.....qualquer duvida só dizer....creio q se não for o q esperava dá pra ter uma noção.... t+
  2. E ai 'nicholasbgr', seguinte.. Como você disse, você quer saber indicações de livros... não q eu tenha algo contra os livros...eu até gosto muito, mas é como o "micheus" disse, nen todos vem com o conteudo 100%. o legal seria você tentar pegar o máximo possivel de apostilas e artigos sobre o assunto e comparar o conteudo, assim você não só aprende a programar, como tambem aprende a se virar e o melhor de tudo....(sem gastar nada). Mas de ves em quando é bom comprar um livro..(facilita as coisas). cara. tá ai uma apotila Ótima de pascal e algoritmo...eu começei a estudar nela...mais é como eu disse "se não entedeu tudo, procuremais do assunto".... http://www.apostilando.com/download.php?co...Programa%E7%E3o é isso ai...... t+ qualquer coisa me add!
  3. Bom, concordando com o "raphael_suporte" realmente você terá q programar com outras ferramentas....mas seria interessante usar delphi, ainda mais quando você pode criar "units em pascal," o q facilitaria seu trabalho......
  4. Bom 'Adeon' seguintóvisk......(seguinte) Me chamo Mauricio Quereguine. Nun sei se é o q você procura mas se bem me lembro (no turbo pascal 7), quando você instala ele na maquina... tem uma pasta chamada "doc" lá tem umas units....(crt,dos,system).....se você abrir o arquivo com o bloco de notas...dá pra ver o nome dos comandos......(já é um bom começo). [ok][?] [t+].
  5. E ai 'phcosta06'. Me chamo Mauricio Quereguine, e acho q tenho a resposta para seu problema... dá uma olhada nesse código q eu fiz, se não for o q você precisa, com certeza dá pra você chegar onde você quer.. [========================================================================] program cadastros; uses crt; const num = 3; {aqui você põe o numero de pessoas} var cadastro : array [1..num] of record nome : string; idade : integer; peso : real; end; x,y : integer; Begin clrscr; {entrada de dados} for x := 1 to num do begin write('Digite um nome : '); readln(cadastro[x].nome); write('Digite a idade : '); readln(cadastro[x].idade); write('Digite O peso : '); readln(cadastro[x].peso); end; writeln; writeln('Classificação :'); writeln('De 1 a 10 anos : '); {de 1 a 10} for x := 1 to num do begin if (cadastro[x].idade >= 1) and (cadastro[x].idade <= 10) then begin write('Nome : ',cadastro[x].nome); write(' Idade : ',cadastro[x].idade); writeln(' Peso : ',cadastro[x].peso:5:2); end; end; writeln('De 11 a 20 anos : '); {de 11 a 20} for x := 1 to num do begin if (cadastro[x].idade >= 11) and (cadastro[x].idade <= 20) then begin write('Nome : ',cadastro[x].nome); write(' Idade : ',cadastro[x].idade); writeln(' Peso : ',cadastro[x].peso:5:2); end; end; writeln('De 21 a 30 anos : '); {de 21 a 30} for x := 1 to num do begin if (cadastro[x].idade >= 21) and (cadastro[x].idade <= 30) then begin write('Nome : ',cadastro[x].nome); write(' Idade : ',cadastro[x].idade); writeln(' Peso : ',cadastro[x].peso:5:2); end; end; writeln('Acima de 30 anos : '); {de 31 acima} for x := 1 to num do begin if (cadastro[x].idade >= 30) then begin write('Nome : ',cadastro[x].nome); write(' Idade : ',cadastro[x].idade); writeln(' Peso : ',cadastro[x].peso:5:2); end; end; readkey; End. [========================================================================] Bom, tá ai.....espero q ajude. t+
  6. [====================================================================] Bom, primeiramente meu nome é mauricio quereguine. Tem basicamente dois error no seu programa...um deles você viu q é o seguinte comando dentro do laço "FOR": for s := 1 to 30 do begin write('Digite o salario : '); readln(Vsal); sds := sds + Vsa; {no caso o acrécimo dessa linha} end; Mas outro errinho q eu pude perceber foi a utilização da variavel "s" usada no "for".... Não sei no programa que você usa, mas no turbo pascal não é permitido o uso de variaveis do tipo "real" para indices para o laço "for"..... A melhor solução neste caso seria você criar uma variavel do tipo "inteiro" para tomar lugar no indice. Ex: var indice : integer; .... for indice := 1 to 30 do begin write('Digite o salario : '); readln(Vsal[indice]); sds := sds + Vsa[indice]; {no caso o acrécimo dessa linha} end; ... [ok][?] - Bom, no tudo mais acho q é só.....qualquer duvida só postar..... t+.
×
×
  • Criar Novo...