AULAS 14 e 15 - 25/05/2011 e 26/05/2011 - Prova e correção dos exercícios.
Autor: Maike Nunes | Publicado: 2011-05-29T21:36:00-07:00

Na aula 14 fizemos a prova, nela continha 3 questões e na aula 15 foram todas corrigidas pelo professor Jossandro.

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

Download arquivo alg.

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 "angulo"
var
&nbsp;&nbsp; a: inteiro
&nbsp;&nbsp; voltas: real
inicio
&nbsp;&nbsp; escreval("Digite um angulo")
&nbsp;&nbsp; leia(a)
&nbsp;&nbsp; se (a&gt;360) ou (a &lt; -360) entao
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; voltas &lt;- a / 360
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; a &lt;- a mod 360
&nbsp;&nbsp; senao
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; voltas &lt;- 0
&nbsp;&nbsp; fimse
&nbsp;&nbsp; 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
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; escreval("Esta sobre um dos eixos")
&nbsp;&nbsp; senao
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; se ((a &gt;0) e (a &lt; 90)) ou ((a &lt; -270) e (a &gt; -360)) entao
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; escreval("1 quadrante")
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fimse
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; se ((a &gt;90) e (a &lt; 180)) ou ((a &lt; -180) e (a &gt; -270)) entao
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; escreval("2 quadrante")
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fimse
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; se ((a &gt;180) e (a &lt; 270)) ou ((a &lt; -90) e (a &gt; -180)) entao
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; escreval("3 quadrante")
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fimse
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; se ((a &gt;270) e (a &lt; 360)) ou ((a &lt; 0) e (a &gt; -90)) entao
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; escreval("4 quadrante")
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fimse
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; escreva(" ", voltas," voltas no sentido ")
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; se (a&lt;0) entao
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; escreval(" horario")
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; senao
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; escreval(" anti-horario")
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fimse
&nbsp;&nbsp; fimse
fimalgoritmo

Download arquivo alg.
3 -&nbsp; Faça um programa que receba vários números, calcule e mostre:   &nbsp;&nbsp; - a soma dos números digitados;  &nbsp;&nbsp; - a quantidade de números digitados;  &nbsp;&nbsp; - a média dos números digitados;  &nbsp;&nbsp; - o maior número digitado;  &nbsp;&nbsp; - o menor número digitado  &nbsp;&nbsp; - a média dos números pares;  &nbsp;&nbsp; - a porcentagem de números ímpares entre todos os números digitados;&nbsp; &nbsp;- 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 "calculos"
var
&nbsp;&nbsp; num, prim, soma_prim, soma, qtd, z, maior, menor, qtd_par, soma_par, qtd_impar: inteiro
&nbsp;&nbsp; media_par, media, perc : real
inicio
&nbsp;&nbsp; qtd &lt;- 0
&nbsp;&nbsp; qtd_par&lt;-0
&nbsp;&nbsp; soma_par &lt;-0
&nbsp;&nbsp; soma_prim &lt;- 0
&nbsp;&nbsp; qtd_impar &lt;-0
&nbsp;&nbsp; escreval("Digite um numero")
&nbsp;&nbsp; leia(num)
&nbsp;&nbsp; repita
&nbsp;&nbsp;&nbsp;&nbsp; se (qtd=0) entao
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; maior &lt;- num
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; menor &lt;- num
&nbsp;&nbsp;&nbsp;&nbsp; senao
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; se (num &gt; maior) entao
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; maior &lt;- num
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fimse
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; se (num &lt; menor ) entao
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; menor &lt;- num
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fimse
&nbsp;&nbsp;&nbsp;&nbsp; fimse
&nbsp;&nbsp;&nbsp;&nbsp; soma &lt;- soma + num
&nbsp;&nbsp;&nbsp;&nbsp; qtd &lt;- qtd + 1
&nbsp;&nbsp;&nbsp;&nbsp; se (num mod 2 = 0) entao
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; soma_par &lt;- soma_par + num
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; qtd_par &lt;- qtd_par + 1
&nbsp;&nbsp;&nbsp;&nbsp; senao
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; qtd_impar &lt;- qtd_impar + 1
&nbsp;&nbsp;&nbsp;&nbsp; fimse
&nbsp;&nbsp;&nbsp;&nbsp; prim &lt;- 0
&nbsp;&nbsp;&nbsp;&nbsp; para z de 1 ate num faca
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; se (num mod z = 0) entao
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; prim &lt;- prim + 1
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fimse
&nbsp;&nbsp;&nbsp;&nbsp; fimpara
&nbsp;&nbsp;&nbsp;&nbsp; se (prim &lt;= 2)entao
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; soma_prim &lt;- soma_prim + num
&nbsp;&nbsp;&nbsp;&nbsp; fimse
&nbsp;&nbsp;&nbsp;&nbsp; leia(num)
&nbsp;&nbsp; ate(num=99999)
&nbsp;&nbsp; se (qtd = 0) entao
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; escreval("Nenhum numero digitado")
&nbsp;&nbsp; senao
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; escreval("A soma e ",soma)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; escreval("A quantidade e ",qtd)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; media &lt;- soma / qtd
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; escreval("A media e ", media)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; escreval("O maior e ", maior)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; escreval("O menor e ", menor)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; se (qtd_par = 0 ) entao
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; escreval("Nenhum numero par foi digitado")
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; senao
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; media_par &lt;- soma_par / qtd_par
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; escreval("A media dos pares e ", media_par)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fimse
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; perc &lt;- qtd_impar * 100 / qtd
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; escreval("O percentual de impares e ", perc)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; escreval("A soma dos primos e ",soma_prim)
&nbsp;&nbsp; fimse
fimalgoritmo

Download arquivo alg.
A prova não estava difícil, mas eu acabei me enrolando em um questão fácil como a 1, a dois tive mais dificuldade pois a parte onde o angulo poderia dar mais de uma volta, eu teria de ter usado o comando mod para saber a qual quadrante o angulo pertenceria, já na questão três eu consegui fazer quase toda, faltando apenas a parte dos números primos.