Páginas

AULA 11 - 17/05/11 - CORREÇÃO EXERCÍCIOS ESTRUTURA DE REPETIÇÃO + EXERCÍCIOS

Na aula de hoje continuamos a resolver as questões da aula passada e após a correção o professor nos passou mais duas questões que são 6 e 7 as quais seguem abaixo.

3 - Faça um programa que fique lendo e somando números enquanto que o produto deles seja inferior a mil.

algoritmo3
var
    n, soma: inteiro
inicio
      soma<- 0
      repita
      escreva("digite um número para somar: ")
           leia(n)
           soma<- soma + n
           escreval("soma até agora: ", soma)
      ate soma > 1000
fimalgoritmo


4 - Faça um programa que leia e some números, enquanto o número lido seja diferente de zero. Ao final mostre a média dos números lidos. Cuidado com divisão por zero!

algoritmo4
var
    num, quant, soma: inteiro
    media: real
inicio
      soma<- 0
      quant<- 0
      repita
            escreval("digite um número para somar ou 0 para sair")
            leia(num)
            soma<- soma+num
            se (num>0) entao
               quant<- quant+1
               escreval("a soma até agora é :", soma)
            fimse
      ate num=0
      se quant>0 entao
         media<- soma/quant
         escreval("a média é: ", media)
         escreval("a soma total é: ", soma)
      senao
           escreva("você não somou números para fazer a média.")
      fimse
fimalgoritmo

5 - Faça um programa que fique lendo 2 notas, calcule e mostra a média, enquanto o usuário quiser. Dica, leia “0” (Não) ou “1” (Sim) para fazer o teste.

algoritmo5
var
    op:inteiro
    n1, n2, media: real
inicio
      repita
            escreva("digite a primeira nota: ")
            leia(n1)
            escreva("digite a segunda nota: ")
            leia(n2)
            media<- (n1+n2)/2
            escreval("a média é ",media)
            escreval("deseja fazer outro calculo? digite 0 para não e 1 para sim")
            repita
                  leia(op)
                  se (op<>0) e (op<>1) entao
                     escreval("operação inválida, digite novamente.")
                  fimse
            ate (op=0) ou (op=1)
      ate op=0
fimalgoritmo


6 - Faça um programa que leia um número N e que indique quantos valores inteiros e positivos devem ser lidos a seguir. Para cada número lido, mostre uma tabela contendo valor lido e o fatorial desse valor.

algoritmo6
var
    n, num, i, j, fat:inteiro
inicio
      escreval("quantos fatoriais você quer calcular?")
      leia(n)
      para i <- ate n faca
           escreval("digite um número para calcular o fatorial.")
           leia(num)
           fat<- 1
           para j <- 1 ate num faca
                fat<- fat*j
           fimpara
           escreval("o fatorial de ", num," é ", fat)
      fimpara
fimalgoritmo

7 - Foi feita uma estatística em cinco cidades brasileiras para coletar dados sobre acidentes de trânsito, foram obtidos os seguintes dados:
a) Código da cidade;
b) Número de veículos de passeio(em 2010);
c) Número de acidentes de trânsito com vitimas(em 2010).
Deseja-saber:
a) Qual o maior e  menor índice de acidentes de trânsito e a que cidades pertencem;
b) Qual a média de veículos nas cinco cidades juntas;
c) Qual a média de acidentes de trânsito nas cidades com menos de 2.000 veículos de passeio.

algoritmo7
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


Na aula de hoje tive bastante dificuldade, principalmente na questão 7, pois ao meu ver é uma questão bem complexa e que exige muita lógica além de ser bem extensa, após a explicação do professor acabei entendendo.  Agora está acalmando o temor da matéria e dando para perceber onde estão os erros. Aprendi que toda a variável que for utilizada para divisão obrigatoriamente terá de ser real caso houver um resultado com vírgula.

Nenhum comentário:

Postar um comentário