1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Como resolver este problema?

Discussão em 'Programação' iniciada por Uncle Sam, 30 de Setembro de 2007. (Respostas: 15; Visualizações: 910)

  1. Uncle Sam

    Uncle Sam Power Member

    Boas pessoal!

    Sou novo por estas bandas e preciso de uma pequena ajuda!

    Entrei este ano para o 10º ano e estou no curso profissional de técnico de gestão e programação de sistemas informáticos!

    Na disciplina de Programação de Sistemas Informáticos a stora mandou um exercício para casa que é o seguinte:

    "Imagine o seguinte problema. Calcular a média final dos alunos do 9º ano. Os alunos realizaram quatro provas: P1, P2, P3 e P4.

    Onde:
    Média Final = P1+P2+P3+P4 e o resultado divide-se por 4."

    Penso que está aí a informação toda.

    Vou resolver esse exercício em Python e queria concelhos vossos pois comecei agora a aprender o básico da programação!

    Toda a ajuda é bem vinda!

    Cumprimentos!
     
  2. Inpanzinator

    Inpanzinator Power Member

    Até em excel fazes isso...
     
  3. Uncle Sam

    Uncle Sam Power Member

    Eu sei, isso é lógico! Mas eu quero fazer em programação! É disso que se trata a disciplina. Por isso é que vim aqui pedir ajuda e conselhos! Se quiserem podem usar outro programa sem ser o python para me ajudar mas indiquem-me qual por favor!

    PS: Esqueci-me de mencionar no exercício que este é suposto ser um algoritmo, por isso mesmo não o fiz em excel.

    Obrigado.
     
  4. Inpanzinator

    Inpanzinator Power Member

    Ainda estou a iniciar-me na Linguagem C, mas se calhar fazia assim:

    Código:
    #include <stdio.h>
    
    main()
    
    {
    float t1,t2,t3,t4;
    
    printf("Quais as notas dos teste?\n");
    scanf("%f %f %f %f",&t1,&t2,&t3,&t4);
    
    printf("A média dos testes é: %.2f\n",t1/4+t2/4+t3/4+t4/4);
    
    }
     
  5. Uncle Sam

    Uncle Sam Power Member

    Hmm... Não me parece que isso funcione em python e muito sinceramente, pouco ou nada percebi o que está nesse código! Se puderes explica-me sff.
     
  6. Inpanzinator

    Inpanzinator Power Member

    De Python não percebo nada, pois estou a iniciar-me agora e em C. Vou tentar explicar o programa que fiz....

    O #include <stdio.h> é da praxe e é uma espécie de colecção de funções para que o compilador reconheça as funções que usamos. Depois vem o main() que é onde o programa começa...De seguida "abre-se" o programa com { e declaramos as variáveis que vamos utilizar. Eu escolhi variáveis do tipo float pois as notas podem ter casas decimais. Logo a seguir, utilizo a função scanf para escrever "Quais as notas dos testes:" (o /n serve para mudar de linha). Depois uso a função scanf para ler os resultados. Meto %f para ele saber que tem de ler valores do float e &t1(..), pois quero que os valores lidos sejam atribuídos ás variáveis. Para concluir escrevo novamente um texto metendo outra vez %f. Depois da vírgula vem o valor que tem de aparecer em vez do %f. Neste caso as contas que fiz foram: t1/4+t2/4+t3/4+t4/4 ou seja (t1+t2+t3+t4)/4.

    P.S. Em excel não deixa de ser um algoritmo, penso eu.
     
    Última edição: 30 de Setembro de 2007
  7. Baderous

    Baderous Banido

    O que o Inpanzinator fez foi criar 4 variáveis onde vais guardar em cada uma as notas das provas P1,P2,P3 e P4. Como ele considerou que as notas podiam ser números com casas decimais, ele associou-lhes o tipo float:
    Código:
    float t1,t2,t3,t4;
    De seguida, pergunta ao utilizador "Quais as notas do teste?":
    Código:
    printf("Quais as notas dos teste?\n");
    Depois, guarda em cada uma das variáveis já declaradas as notas introduzidas pelo utilizador:
    Código:
    scanf("%f %f %f %f",&t1,&t2,&t3,&t4);
    Por fim ele apresenta o resultado da média.

    No entanto se achas o código apresentado confuso, tenta perceber este:
    Código:
    #include <stdio.h>
    main() {
           float p1,p2,p3,p4;
           float media;
           printf("Introduza as notas dos testes:");
           scanf("%f %f %f %f",&p1,&p2,&p3,&p4);
           media=(p1+p2+p3+p4)/4;
           printf("A media e %f",media);
           return 0;
           }
           
    Os passos iniciais são iguais, eu apenas criei mais uma variável de nome média para guardar o resultado da média.
    Depois li as notas introduzidas, calculei a média (pela fórmula), e de seguida apresentei o resultado da conta ao utilizador.
    Isto é a solução feita em C, agora só tens de escrever em Python. Não deve ser muito diferente.
     
    Última edição: 30 de Setembro de 2007
  8. Inpanzinator

    Inpanzinator Power Member

    Assim está menos confuso...Porque é que meteste a média como número inteiro?

    Já agora, Uncle Sam, voltei a ler o enunciado, e não percebi muito bem uma coisa! Tu queres o que fizemos aqui ou queres, mediante a média dos testes (de 0 a 100%), avaliar um aluno de 0 a 5?!
     
  9. Baderous

    Baderous Banido

    Ups, enganei-me, vou já editar.

    Também fiquei um bocado confuso...
     
  10. Uncle Sam

    Uncle Sam Power Member


    A média que vai dar no final é em percentagem tal como as quatro provas, que são avaliadas de 0 a 100%!

    No entanto como ainda sou um noob na programação, mesmo este exercício sendo fácil, a sua resolução em C não me serve de muito, pois eu soube há momentos que nas aulas vamos dar Pascal. Se tiverem tempo e me poderem ajudar agradecia que me explicassem passo-a-passo como resolver o exercício para me servir de base para futuras tarefas!

    Desde já obrigado por me ajudarem!

    =D
     
  11. Baderous

    Baderous Banido

    Mas então vais resolver o exercício em Python e nas aulas vais dar Pascal?? WTF?

    Passo a passo é difícil. Vais precisar de 4 variáveis para guardar os resultados das provas e de 1 variável para guardar o resultado da média. Depois vais ter de pedir ao utilizador que introduza as notas das provas. Depois, aplicas a fórmula e calculas a média, apresentando de seguida o seu valor no ecrã. Acho que é impossível explicar mais do que isto. Agora és tu que tens de estudar e tentar fazer por ti. Vai escrevendo código, e se tiveres dúvidas coloca aqui.
     
  12. Baderous

    Baderous Banido

    Tentei seguir-me por um tutorial de Python e tentei resolver o problema. Aqui fica aquilo que consegui:

    Código:
    # 1º define-se a função media
     
    def media():
     p1 = int(raw_input("Introduza a nota de P1: "))
     p2 = int(raw_input("Introduza a nota de P2: "))
     p3 = int(raw_input("Introduza a nota de P3: "))
     p4 = int(raw_input("Introduza a nota de P4: "))
     media = (p1+p2+p3+p4)/4
     print 'A media e',media
     
    #Depois chama-se a função media
     
    media()
    As frases começadas com # são comentários, logo são ignoradas pelo interpretador.
    "Aqui utilizamos duas funções: raw_input( ) e int( ). raw_input( ) exibe uma mensagem na tela e aguarda uma entrada de dados do usuário. Os dados recebidos por ela são entendidos pelo Python como string. Como nosso programa trabalha com números inteiros utilizamos a função int( ) para converter a entrada em inteiros."
     
  13. OubeLa

    OubeLa Power Member

    Isso é bastante facil de fazer, até é interessante fazeres com numero de testes variaveis. Como apenas sei C++, Assembly (nao me peças para fazer isto em Assembly :lol:) e Scheme, não te posso ajudar grande coisa. Mas começa a aprender a sintaxe da linguagem, como fazer output e input, declaração de variaveis, strings, vectores etc.
     
  14. Uncle Sam

    Uncle Sam Power Member

    Ok pessoal obrigado pelas dicas, vou tê-las em consideração!

    Até à próxima!

    []
     
  15. Uncle Sam

    Uncle Sam Power Member

    Tenho uma pequena dúvida!

    Quando usei o código disponibilizado pelo Baderous, introduzi uns dados aleatórios e quando ele me vai dar o resultado final fecha logo a aplicação! O que posso fazer para a aplicação não se fechar, mostrando o resultado final?

    Obrigado pela ajuda até agora!
     
  16. Aparicio

    Aparicio /dev/mod
    Staff Member

    Uma hipótese é correres o programa a partir da linha de comandos.
    Deve haver outras formas mas não percebo de Phyton.
     

Partilhar esta Página