Ir ao conteúdo
  • Cadastre-se

Alan Matos Lourenço

Membro Júnior
  • Posts

    10
  • Cadastrado em

  • Última visita

Reputação

4
  1. @Simon Viegas Eu nunca tinha notado a diferença entre Read e Readln no Pascalzim, por isso às vezes usava o read, mas agora vou usar só o Readln mesmo. Segue trecho do código com as mudanças: Begin write('Digite a dimensão da matriz: '); readln(n); writeln; writeln; writeln; for i:= 1 to n do begin for j:=1 to n do begin gotoxy(1,4); clreol; write('Digite o valor de A [', i, ',', j, ']: '); readln(a[i,j]); end; end; End.
  2. Segue: Begin write('Digite a dimensão da matriz: '); readln(n); writeln(''); writeln(''); writeln(''); for i:= 1 to n do begin for j:=1 to n do begin gotoxy(1,4); write('Digite o valor de A [', i, ',', j, ']: '); read(a[i,j]); end; end; End.
  3. Boa noite! Como eu faço para inserir vários dados em uma mesma linha na hora que o algoritmo está rodando? Por exemplo, preciso que o usuário digite 5 números, mas não quero que fique saindo de uma linha para outra, mas que fique a instrução na mesma linha e o usuário digitando os dados nela.
  4. Boa noite! @Simon Viegas, vou aproveitar esse post. Tenho o mesmo professor do @iGodD. A questão é que ele passou uma lista para fazermos usando apenas o For, mas acho que ele não se atentou que algumas questões usam estruturas diferentes. Eu fiz aqui, rapidamente, usando o Repeat e ficou assim: Program Media_Aritmetica; uses CRT; var num: integer; somaNum, contNum: real; Begin writeln ('Calcula a média aritmética dos números digitados. Os números devem ser inteiros e positivos.'); writeln (''); writeln ('Para receber o valor da média e parar o programa digite 0.'); writeln (''); writeln (''); repeat write ('Entre com um valor: '); readln (num); if (num <> 0) then begin somaNum:= somaNum + num; contNum:= contNum + 1; end; until (num = 0); writeln ('A média é de: ', (somaNum / contNum):0:2); End. No momento não me preocupei com o visual e nem com o fato de um número inserido ser negativo, mesmo avisando que o número precisa ser positivo, apenas em fazer o meu algoritmo funcionar. Teria algo a adicionar?
  5. Entendi... Antes, na hora da soma, não estava pegando o valor do primeiro peso, por isso eu criei uma variável pra receber o primeiro peso. Talvez o problema fosse outro e eu achei que era porque os primeiros dados estavam fora do For. Apaguei a linha como você sugeriu e deu certo. Também irei arrumar essa parte. Eu nem me preocupei com isso pelo fato do problema só pedir a média de peso dos homens, mas vou da um jeito pra isso. Normalmente eu uso o UpCase mesmo. Nesse caso foi porque acabei deixando pra depois. Obrigado pela dica. Vou dar uma pesquisada sobre tela de boas vindas pra tirar algumas ideias. Por padrão eu só uso o cabeçalho e um título mesmo porque foi a única forma que aprendi até agora.
  6. Acho que não entendi muito bem a parte da simplificação... pesosTurma:= pesosTurma + pesos + pesos1; e pesoHomens:=pesoHomens + pesos + pesosM; Seria isso?
  7. @Simon Viegas Muito obrigado! Aparentemente está certo, pois fiz vários testes e não ocorreu nenhum resultado incorreto. Resultado final ficou assim: Program Peso_da_Turma; var i: integer; pesos, pesos1, menor, maior, pesoHomens, mediaTurma, mediaHomens, cont, pesosTurma, pesosM: real; sexo: string; BEGIN TextColor(Yellow); writeln('pesoss da turma. Digite f para feminino e m para masculino.'); writeln(''); TextColor(White); write('Entre com o 1º peso: '); readln(pesos); pesos1:= pesos1 + pesos; //recebe o valor do primeiro peso. write('Entre com o sexo: '); readln(sexo); if (sexo = 'm') then begin cont:= cont + 1; //conta o primeiro sexo digitado. pesosM:= pesos1; //recebe o valor do primeiro peso se o sexo for masculino. end; menor:=pesos; maior:=pesos; for i:= 2 to 5 do //até 5 para testar. begin textcolor(white); write('Entre com o ',i,'º peso: '); readln(pesos); write('Entre com o sexo: '); readln(sexo); pesosTurma:= pesosTurma + pesos; if (sexo = 'm') then begin cont:=cont + 1; //conta quantos são homens. pesoHomens:=pesoHomens + pesos; //soma os pesoss dos homens. end; if (pesos < menor) then menor:= pesos else if (pesos > maior) then maior:= pesos; end; mediaTurma:=(pesosTurma + pesos1) / 5; mediaHomens:=(pesoHomens + pesosM) / cont; writeln(''); writeln('Menor peso é de: ',menor :0:2, ' Kg'); writeln('Maior peso é de: ',maior :0:2, ' Kg'); writeln('A média de peso da turma é : ',mediaTurma :0:2, ' Kg'); writeln('A média de peso dos homens é: ',mediaHomens :0:2, ' Kg'); readkey; END.
  8. @Simon Viegas obrigado pelo retorno. Ok, entendi como faço para calcular as médias. Meu problema antes era que na média dos homens eu estava dividindo o peso dos homens por 5 (quantidade total de alunos) e não pela quantidade de homens. Essa parte deu certo. Agora continuo com problema para fazer a média de pesos da turma porque o cálculo final sai um valor incorreto. Acredito que meu problema esteja em pegar os pesos que não entram nas variáveis menor e maior. Eu pensei que se um peso não é considerado maior e nem menor ele vai entrar em outra variável que, nesse caso, chamei de outroPeso. Só que é como se meu algoritmo não reconhecesse essa última variável. Resultado final ficou assim: Program Peso_da_Turma; Var i: integer; peso, peso1, menor, maior, outroPeso, pesoHomem, pesoMulher, mediaTurma, mediaHomens, cont, cont1: real; sexo: string; Begin textcolor (yellow); writeln ('Pesos da turma. Digite f para feminino e m para masculino.'); writeln (' '); textcolor (white); write ('Entre com o 1º peso: '); readln (peso); write ('Entre com o sexo: '); readln (sexo); menor:= peso; maior:= peso; for i:= 2 to 5 do //até 5 para testar. begin textcolor (white); write ('Entre com o ' , i , ' peso: '); readln (peso); write ('Entre com o sexo: '); readln (sexo); if (sexo = 'm') then begin cont:= cont + 1; //conta quantos são homens. pesoHomem:= pesoHomem + peso; //soma os pesos dos homens. end else begin cont1:= cont1 + 1; pesoMulher:= pesoMulher + peso; end; if (peso < menor) then menor:= peso else if (peso > maior) then maior:= peso else if (peso <> maior) and (peso <> menor) then begin outroPeso:= peso; //recebe os pesos que não são nem maior e nem menor. peso1:= peso1 + outroPeso; //soma os pesos que não são considerados maior e menor. end; end; mediaTurma:= (menor + maior + peso1) / 5; mediaHomens:= pesoHomem / cont; writeln ('Menor peso é de: ' , menor); writeln ('Maior peso é de: ' , maior); writeln ('A média de peso da turma é: ' , mediaTurma); writeln ('A média de peso dos homens é: ' , mediaHomens); readkey; End.
  9. Pessoal, preciso de uma ajuda na seguinte questão: Escrever um algoritmo, que leia um conjunto de 23 dados, cada um, contendo o peso e o código do sexo ("F" ou "M") dos alunos de uma classe, calcule e imprima: - Maior e o menor peso da turma; - A média de peso dos homens; - A média de peso da turma; Estou com problema pra achar as médias. Tentei de várias formas e nada. Segue código: Program Peso_da_Turma; Var i: integer; peso, menor, maior, outroPeso, pesoHomem, mediaTurma, mediaHomens: real; sexo: string; Begin textcolor (yellow); writeln ('Pesos da turma. Digite f para feminino e m para masculino.'); writeln (' '); textcolor (white); write ('Entre com o 1º peso: '); readln (peso); write ('Entre com o sexo: '); readln (sexo); menor:= peso; maior:= peso; for i:= 2 to 5 do //até 5 para testar. begin textcolor (white); write ('Entre com o ' , i , ' º peso: '); readln (peso); write ('Entre com o sexo: '); readln (sexo); begin if (sexo = 'm') then pesoHomem:= peso end; if (peso < menor) then menor:= peso else if (peso > maior) then maior:= peso else outroPeso:= peso; end; mediaTurma:= (outroPeso + menor + maior) / 5; mediaHomens:= pesoHomem / 5; writeln ('Menor peso é de: ' , menor); writeln ('Maior peso é de: ' , maior); writeln ('A média de peso da turma é: ' , mediaTurma); writeln ('A média de peso dos homens é: ' , mediaHomens); readkey; End.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...