bloqueio

domingo, 22 de maio de 2011

AULAS 12 e 13 - 18/05/2011 e 19/05/2011 - Revisão para prova .

Nestas aulas foram aplicadas 8 questões, uma especie de simulado, para a prova que será dia 25/05/2011. Na primeira aula foi passada as questões e na segunda foram corrigidas.

1 - Faça um programa que recebe um número positivo e maior que zero, calcule e mostre:
a) o número digitado ao quadrado;
b) o número digitado ao cubo;
c) a raiz quadrada do número digitado;
d) a raiz cúbica do número digitado.

algoritmo "quest_1"
var
  n, nq, cubo, rq, rc: real
inicio
  leia(n)
  se (n<=0) entao
     escreval("Digite um nro maior que zero")
  senao
     nq <- n^2
     escreval("O nro ao quadrado e ",nq)
     cubo <- n^3
     escreval("O nro ao cubo e ",cubo)
     rq <- RaizQ(n)
     escreval("A raiz quadrada e ",rq)
     rc <- n^(1/3)
     escreval("A raiz cubica e ", rc)
  fimse
fimalgoritmo


2 - Faça um programa para verificar se um inteiro positivo lido é par ou ímpar (mostre por escrito se é par ou ímpar). Se o número for ímpar, multiplique por 2 e mostre o resultado, caso contrário multiplique por ½ e mostre o resultado.            (OBS: Par: x mod 2 = 0)

algoritmo "parimpar"
var
  result:real
  n:inteiro
inicio
  leia(n)
  se (n mod 2 = 0) entao
       escreval("o numero lido é par")
       result <- n * 1/2
  senao
      escreval("o numero lido é impar")
      result <- n * 2
  fimse
  escreval(result)
fimalgoritmo

3 - Faça um programa que receba o custo total de um espetáculo teatral e o preço do convite desse espetáculo. Esse programa deverá calcular e mostrar a quantidade de convites que devem ser vendidos para que pelo menos o custo do espetáculo seja alcançado.

algoritmo "teatro"
var
  total, ingresso, qtd:real
inicio
  escreval("Digite o custo total do espetaculo")
  leia(total)
  escreval("Digite o custo do ingresso")
  leia(ingresso)
  qtd <- total/ingresso
  escreval("Voce deve vender no minimo ",qtd, " ingressos")
fimalgoritmo


4 - Faça um programa que receba três números e mostre-os em ordem decrescente.

algoritmo "decrescente"
var
   A, B, C : inteiro
inicio
  escreval("Digite 3 numeros para ordenar descrescente")
  leia (A, B, C)
  se (A > B) e (A > C) entao
      se (B > C) entao
          escreval (A, B, C)
      senao
          escreval (A, C, B)
      fimse
  senao
      se (B > A) e (B > C) entao
      se( A > C) entao
            escreval (B, A, C)
      senao
            escreval (B, C, A)
      fimse
      senao
         se (C > A) e (C > B) entao
             se ( A > B) entao
                 escreval (C, A, B)
             senao
                 escreval (C, B, A)
              fimse
          fimse
      fimse
  fimse
fimalgoritmo


5 - Faça um programa que receba a hora do início de um jogo e a hora final (cada hora é composta por duas variáveis inteiras: hora e minuto). Calcule e mostre a duração do jogo (horas e minutos), sabendo-se que o tempo máximo de duração do jogo é de 24 horas e que ele pode iniciar-se em um dia e terminar no dia seguinte.

algoritmo "horaJogo"
var
   horaIni, minIni, horaFim, minFim, minDif, horaDif:inteiro
inicio
   escreval("Digite hora e minutos do inicio do jogo ")
   leia(horaIni, minIni)
   escreval("Digite hora e minutos do fim do jogo ")
   leia(horaFim, minFim)
   se (minIni > minFim) entao
      minFim <- minFim + 60
      horaFim <- horaFim - 1
   fimse
   se (horaIni > horaFim) entao
      horaFim <- horaFim + 24
   fimse
   minDif <- (minFim - minIni)
   horaDif <- (horaFim - horaIni)
   escreval("O jogo durou", horaDif, " horas e ", minDif, " minutos")
fimalgoritmo


6 - Faça um programa que receba cem números, calcule e mostre a soma dos números pares e a média dos números primos.

algoritmo "soma"
var
x,y,nro,primo:inteiro
cont,media,soma,parcial:real
inicio
  soma<-0
  PARA x de 1 ATE 100 FACA
    escreval("DIGITE UM NUMERO")
    leia(nro)
    SE (nro mod 2=0) entao
       escreval("VC DIGITOU UM NUMERO PAR!")
       soma<-soma+nro
    FIMSE
    primo<-0
    PARA y de 1 ATE nro FACA
       SE (nro mod y =0) ENTAO
          primo<-primo+1
       FIMSE
     FIMPARA
     cont<-0
     SE primo<=2 ENTAO
       escreval("VC DIGITOU UM NUMERO PRIMO")
       cont<-cont+1
       parcial<-parcial+primo
     FIMSE
   FIMPARA
   media<-parcial/cont
   escreval(" A SOMA DOR NUMEROS PARES É", soma)
   escreval("A MEDIA DOS NUMERO PRIMOS É", media)
fimalgoritmo
7 - Faça um programa que receba a idade e o peso de 75 pessoas, e que calcule e mostre as médias dos pesos das pessoas da mesma faixa etária. As faixas etárias são: de 1 a 10 anos, de 11 a 20 anões de 21 a 30 anos e de 31 anos para cima.

algoritmo "cidades"

var
   cont, cod, num_vei, num_acid, maior, cid_maior, menor, cid_menor: inteiro
   media_vei, media_acid: real
   soma_vei, soma_acid, cont_acid:inteiro
inicio
   soma_vei <-0
   soma_acid <-0
   cont_acid <- 0
   para cont <- 1 ate 5 faca
      escreval("Digite o codigo da cidade, o numero de veiculos e o numero de acidentes" )
      leia(cod, num_vei, num_acid)
      se (cont=1) entao
         maior <- num_acid
         cid_maior <- cod
         menor <- num_acid
         cid_menor <- cod
      senao
         se (num_acid > maior) entao
            maior <- num_acid
            cid_maior <- cod
         fimse
         se (num_acid < menor) entao
            menor <- num_acid
            cid_menor <- cod
         fimse
      fimse
      soma_vei <- soma_vei + num_vei
      se (num_vei < 2000) entao
         soma_acid <- soma_acid + num_acid
         cont_acid <- cont_acid + 1
      fimse
   fimpara
   escreval("O maior indice e ",maior," na cidade ",cid_maior)
   escreval("O menor indice e ",menor," na cidade ",cid_menor)
   media_vei <- soma_vei / 5
   escreval("A media de veiculos e ",media_vei)
   se (cont_acid = 0) entao
      escreval("Nao foi digitada nenhuma cidade com menos de 2000 veiculos" )
   senao
      media_acid <- soma_acid / cont_acid
      escreval("A media de acidentes em cidades com menos de 2.000 veiculos e ", media_acid)
   fimse
fimalgoritmo

Download arquivo alg.

8 - Cada espectador de um cinema respondeu a um questionário no qual constava sua idade e sua opinião em relação ao filme: ótimo – 3, bom – 2, regular – 1. Faça um programa que receba a idade e a opinião de 75 espectadores, calcule e mostre:
− a média das idades das pessoas que responderam ótimo;
− a quantidade de pessoas que responderam regular;
− a percentagem de pessoas que responderam bom, entre todos os espectadores analisados.

algoritmo "8"
var
   x,idade,opcao:inteiro
   contador1,contador2,contador3,idade_o,media_o,media_b:real
inicio
   para x de 1 ate 75 faca
      escreval("Ola, digite sua idade e opinição do filme.")
      escreva("Digite sua idade: ")
      leia(idade)
      limpatela
      escreval("Para Ótimo digite 3, para Bom digite 2 e para Regular digite 1.")
      repita
         escreva("Digite a opcao desejada: ")
         leia(opcao)
         se (opcao<>1) ou (opcao<>2) ou (opcao<>3) entao
            escreva("Digitou opção errada, redigite sua opção!")
         fimse
      ate(opcao=1)ou(opcao=2)ou(opcao=3)
      limpatela
      se (opcao = 1) entao
         contador1<-contador1+1
      fimse
      se (opcao = 3) entao
         contador3<-contador3+1
         idade_o<-idade+idade_o
      fimse
      se (opcao = 2) entao
         contador2<-contador2+1
      fimse
   fimpara
   media_o<-idade_o/contador3
   escreval("A média das pessoas que acharam ótimo foi de",media_o,".")
   escreval(contador1," pessoas responderam Regular.")
   media_b<-75/contador2
   escreval(media_b,"% das pessoas responderam Bom.")
fimalgoritmo

Download arquivo alg.

Nestas aulas tive muita dificuldade em algumas questões como 5 e 8, principalmente em relação a lógica, mas estou estudando bastante para a prova, que será muito difícil, e espero depois poder comemorar uma aprovação ao menos nesta prova.