quinta-feira, 23 de junho de 2011

Aula 15 - 26/05/11







1 - Dados três valores x, y e z, faça um algoritmo para verificar se eles podem ser os comprimentos dos lados de um triângulo e, se forem, verifique se é um triângulo eqüilátero, isóscele ou escaleno. Se eles não formarem um triângulo escreva uma mensagem de alerta. Considere que:


* O comprimento de cada lado de um triângulo é menor do que a soma dos outros dois lados;
* Um triângulo eqüilátero tem os seus três lados iguais;
* Um triângulo isóscele tem o comprimento de dois lados iguais; e
* Um triângulo escaleno tem os três lados diferentes.

algoritmo "Prova 1"
var
   x, y, z:inteiro
inicio
   escreval("Digite a medida dos 3 lados do triangulo")
   leia(x, y, z)
   se (x >= y+z) ou (y  >= x+z) ou (z >= x+y) entao
      escreval("As medidas informadas nao formam um triangulo")
   senao
      se (x=y) e (y=z) entao
         escreval("Triangulo equilatero - todos os lados iguais")
      senao
         se (x=y) ou (x=z) ou (y=z) entao
            escreval("Triangulo isoceles - 2 lados iguais")
         senao
            se (x<>y) e (x<>z) e (y<>z) entao
               escreval("Triangulo escaleno - todos os lados diferentes")
            fimse
         fimse
      fimse
   fimse
fimalgoritmo




2 - Faça um programa que receba a medida de um ângulo em graus. Calcule e mostre o quadrante em que se localiza esse ângulo. Considere os quadrantes da trigonometria e, no caso de ângulos maiores que 360º ou menores que -360º, reduzi-los, mostrando também o número de voltas e o sentido da volta (horário ou anti-horário).

algoritmo "Prova 2"
var
   a: inteiro
   voltas: real
inicio
   escreval("Digite um angulo")
   leia(a)
   se (a>360) ou (a < -360) entao
      voltas <- a / 360
      a <- a mod 360
   senao
      voltas <- 0
   fimse
   se (a=0) ou (a=90) ou (a=180) ou (a=270) ou (a=360) ou (a=-90) ou (a=-180) ou (a=-270) ou (a=-360) entao
      escreval("Esta sobre um dos eixos")
   senao
      se ((a >0) e (a < 90)) ou ((a < -270) e (a > -360)) entao
         escreval("1 quadrante")
      fimse
      se ((a >90) e (a < 180)) ou ((a < -180) e (a > -270)) entao
         escreval("2 quadrante")
      fimse
      se ((a >180) e (a < 270)) ou ((a < -90) e (a > -180)) entao
         escreval("3 quadrante")
      fimse
      se ((a >270) e (a < 360)) ou ((a < 0) e (a > -90)) entao
         escreval("4 quadrante")
      fimse
      escreva(" ", voltas," voltas no sentido ")
      se (a<0) entao
         escreval(" horario")
      senao
         escreval(" anti-horario")
      fimse
   fimse
fimalgoritmo




3 -  Faça um programa que receba vários números, calcule e mostre:
   - a soma dos números digitados;
   - a quantidade de números digitados;
   - a média dos números digitados;
   - o maior número digitado;
   - o menor número digitado
   - a média dos números pares;
   - a porcentagem de números ímpares entre todos os números digitados;
   - a soma dos números primos digitados;
Finalize a entrada de dados com a digitação do número 99999. Este número não pode considerado nos cálculos.

algoritmo "Prova 3"
var
   num, prim, soma_prim, soma, qtd, z, maior, menor, qtd_par, soma_par, qtd_impar: inteiro
   media_par, media, perc : real
inicio
   qtd <- 0
   qtd_par<-0
   soma_par <-0
   soma_prim <- 0
   qtd_impar <-0
   escreval("Digite um numero")
   leia(num)
   repita
     se (qtd=0) entao
        maior <- num
        menor <- num
     senao
        se (num > maior) entao
           maior <- num
        fimse
        se (num < menor ) entao
           menor <- num
        fimse
     fimse
     soma <- soma + num
     qtd <- qtd + 1
     se (num mod 2 = 0) entao
        soma_par <- soma_par + num
        qtd_par <- qtd_par + 1
     senao
        qtd_impar <- qtd_impar + 1
     fimse
     prim <- 0
     para z de 1 ate num faca
        se (num mod z = 0) entao
           prim <- prim + 1
        fimse
     fimpara
     se (prim <= 2)entao
        soma_prim <- soma_prim + num
     fimse
     leia(num)
   ate(num=99999)
   se (qtd = 0) entao
      escreval("Nenhum numero digitado")
   senao
      escreval("A soma e ",soma)
      escreval("A quantidade e ",qtd)
      media <- soma / qtd
      escreval("A media e ", media)
      escreval("O maior e ", maior)
      escreval("O menor e ", menor)
      se (qtd_par = 0 ) entao
         escreval("Nenhum numero par foi digitado")
      senao
         media_par <- soma_par / qtd_par
         escreval("A media dos pares e ", media_par)
      fimse
      perc <- qtd_impar * 100 / qtd
      escreval("O percentual de impares e ", perc)
      escreval("A soma dos primos e ",soma_prim)
   fimse
fimalgoritmo

O mais triste da prova que só 5 alunos passaram, o lado bom foi que eu consegui passar, apesar de ter uma boa dificuldade em algumas questões, números primos ainda não é meu forte haha.

Nenhum comentário: