terça-feira, 28 de setembro de 2010

Exercicio 16 capitulo 3

Escreva um algoritmo que leia os nomes dos três candidatos ao Senado (para uma vaga) com
suas respectivas votações. O algoritmo deve escrever o nome do candidato mais votado. Por
exemplo,
Maior votação: João da Silva
No caso de haver empate entre dois (os mais votados) ou entre os três candidatos, devem ser
escritos os nomes desses candidatos. Por exemplo,
Maior votação: João da Silva, Maria do Socorro
algoritmo "2.16"
// Função :
// Autor : Gustavo
// Data : 28/9/2010
// Seção de Declarações 
var
   nomeCandidato1,nomeCandidato2,nomeCandidato3:literal
   votacaoCand1,votacaoCand2,votacaoCand3:inteiro
inicio
   escreval("Informe o nome e a votacao do candidato 1:")
   escreva("Nome: ")
   leia(nomeCandidato1)
   escreva("Votacao: ")
   leia(votacaoCand1)

   escreval("Informe o nome e a votacao do candidato 2:")
   escreva("Nome: ")
   leia(nomeCandidato2)
   escreva("Votacao: ")
   leia(votacaoCand2)
   
   escreval("Informe o nome e a votacao do candidato 3:")
   escreva("Nome: ")
   leia(nomeCandidato3)
   escreva("Votacao: ")
   leia(votacaoCand3)
   
   escreval
   
   //todo mundo ganhou...
   se ((votacaoCand1 = votacaoCand2) e (votacaoCand2 = votacaoCand3)) entao
      escreva("Maior votacao: ",nomeCandidato1,", ",nomeCandidato2,", ",nomeCandidato3)
   senao
      //se o candidato 1 é igual ao candidato 2, estao empatados. Se os dois forem maior que o 3, sao os vencedores
      se((votacaoCand1=votacaoCand2) e (votacaoCand1>votacaoCand3)) entao
         escreva("Maior votacao: ",nomeCandidato1,", ",nomeCandidato2)
      senao
         //se o candidato 1 é igual ao candidato 3, estao empatados. Se os dois forem maior que o 2, sao os vencedores.
         se ((votacaoCand1=votacaoCand3) e (votacaoCand1>votacaoCand2)) entao
            escreva("Maior votacao: ",nomeCandidato1,", ",nomeCandidato3)
         senao
            //se o candidato 2 é igual ao candidato 3, estao empatados. Se os dois forem maior que o 1, sao os vencedores.
            se ((votacaoCand2=votacaoCand3) e (votacaoCand2>votacaoCand1)) entao
               escreva("Maior votacao: ",nomeCandidato2,", ",nomeCandidato3)
            senao
               //Nao. Nao temos empate, vamos ver quem foi o vencedor.
               se ((votacaoCand1>votacaoCand2) e (votacaoCand1>votacaoCand3)) entao
                  escreva("Maior votacao: ",nomeCandidato1)
               senao
                  se ((votacaoCand2>votacaoCand1) e (votacaoCand2>votacaoCand3)) entao
                     escreva("Maior votacao: ",nomeCandidato2)
                  senao
                     //Nem precisa testar agora né? Pelas regras da probabilidade o candidato 3 venceu
                     escreva("Maior votacao: ",nomeCandidato3)
                  fimse
               fimse
            fimse
         fimse
      fimse
   fimse
fimalgoritmo

Exercicio 15 capitulo 3

Escreva um algoritmo que leia duas datas, na forma dia, mês e ano, e informe qual é a mais
recente.

algoritmo "Exercicio 3.14"
// Função :
// Autor : Gustavo
// Data : 24/9/2010
// Seção de Declarações 
var
   ano1,mes1,dia1:inteiro
   ano2,mes2,dia2:inteiro
inicio
   escreval("Informe o ano da primeira data:")
   leia(ano1)
   
   escreval("Informe o mes da primeira data:")
   leia(mes1)
   
   escreval("Informe o dia da primeira data:")
   leia(dia1)
   
   escreval("Informe o ano da segunda data:")
   leia(ano2)
   
   escreval("Informe o mes da segunda data:")
   leia(mes2)
   
   escreval("Informe o dia da segunda data:")
   leia(dia2)
   
   se (ano2 > ano1) entao
      escreva("A data 2 é a mais recente")
   senao
      se(ano2 < ano1) entao
         escreva("A data 1 é a mais recente")
      senao
         se (mes2 > mes1) entao
            escreva("A data 2 é a mais recente")
         senao
            se(mes2 < mes1) entao
               escreva("a data 1 é a maior")
            senao
                se (dia2 > dia1) entao
                  escreva("A data 2 é a mais recente")
                senao
                  se (dia2 < dia1) entao
                     escreva("A data 1 é a mais recente")
                  senao
                     escreva("As datas são iguais")
                  fimse
                fimse
            fimse
         fimse
      fimse
   fimse
fimalgoritmo

Exercicio 14 capitulo 3

Escreva um algoritmo que leia três valores correspondentes ao dia, mês e ano de nascimento de
uma pessoa e outros três valores correspondentes ao dia, mês e ano do dia corrente. O
algoritmo deve escrever a idade da pessoa.
algoritmo "3.14"
// Função :
// Autor : Gustavo
// Data : 28/9/2010
// Seção de Declarações 
var
   //Mesmo sendo tudo do mesmo tipo, separei para ficar mais organizado, mas tanto faz declarar tudo junto.
   anoNasc,mesNasc,diaNasc:inteiro
   anoCorr,mesCorr,diaCorr:inteiro
   anoIdade,mesIdade,diaIdade:inteiro
inicio
   escreval(" - - - Data de nascimento - - - ")
   escreval("Informe sua data de nascimento")
   escreva("Ano: ")
   leia(anoNasc)
   escreva("Mes: ")
   leia(mesNasc)
   escreva("Dia: ")
   leia(diaNasc)
   
   escreval
   escreval(" - - - Data Corrente - - - ")
   escreval("Informe a data corrente.")
   escreva("Ano: ")
   leia(anoCorr)
   escreva("Mes: ")
   leia(mesCorr)
   escreva("Dia: ")
   leia(diaCorr)
   
   anoIdade<- anoCorr-anoNasc
   se (mesCorr>mesNasc) entao
      mesIdade<- mesCorr-mesNasc
   senao
      mesIdade<- 12-(mesNasc-mesCorr)
      se (diaNascdiaNasc) entao
      diaIdade<- diaCorr-diaNasc
      mesIdade<- mesIdade+1
   senao
      diaIdade<- diaNasc-diaCorr
   fimse
   
   se (mesIdade=12) entao
      anoIdade<- anoIdade+1
      mesIdade<- 0
   fimse
   
   escreva("Você tem ",anoIdade," anos, ",mesIdade, " mese(s) e ",diaIdade," dia(s)")
fimalgoritmo

quinta-feira, 23 de setembro de 2010

Exercicio 13 capitulo 3

Escreva um algoritmo que leia a altura (em metros), o peso (em quilogramas) e o sexo
(“MASCULINO” ou “FEMININO”) e calcule seu peso ideal, dado por
           peso ideal do homem = (72,7 x altura) – 58
                                                                                       (3.3)
ou
           peso ideal da mulher = (62,1 x altura) – 44,77.
                                                                                       (3.4)
O algoritmo deve, também, informar se a pessoa está abaixo ou acima de seu peso ideal e m
quantos quilos.


algoritmo "Exercicio 3.13"
// Função :
// Autor : Gustavo
// Data : 23/9/2010
// Seção de Declarações 
var
   peso,altura,pesoIdeal:real
   sexo:literal
inicio
   escreval("Informe seu sexo:")
   leia(sexo)
   
   escreval("Informe a sua altura:")
   leia(altura)
   
   escreval("Informe o seu peso:")
   leia(peso)
   
   se ((sexo="MASCULINO") ou (sexo="FEMININO")) entao
      se (sexo="MASCULINO") entao
         pesoIdeal<- (72.7*altura)-58
      senao
         se (sexo="FEMININO") entao
            pesoIdeal<- (62.1*altura)-44.77
         fimse
      fimse
      se (peso>pesoIdeal) entao
            escreva("Voce esta ",(peso-pesoIdeal):5:2," acima do normal")
         senao
            se (peso<pesoIdeal) entao
               escreva("Voce esta ",(pesoIdeal-peso):5:2," abaixo do normal")
            senao
               escreva("Voce esta com o peso ideal")
            fimse
         fimse
   senao
      escreva("Você é um E.T?")
   fimse
   
fimalgoritmo

Exercicio 12 capitulo 3

Escreva um algoritmo que leia as notas das três provas de um aluno (p1, p2 e p3), calcule
sua média aritmética e escreva-a. As notas devem estar no intervalo [0,10].

algoritmo "Exercicio 3.12"
// Função :
// Autor : Gustavo
// Data : 23/9/2010
// Seção de Declarações 
var
   p1,p2,p3,media:real
inicio
   escreval("Informe a nota 1:")
   leia(p1)
   
   escreval("Informe a nota 2:")
   leia(p2)
   
   escreval("Informe a nota 3:")
   leia(p3)
   
   se (((p1=>0) e (p1<=10)) e ((p2=>0) e (p2<=10)) e ((p3=>0) e (p3<=10))) entao
      media<- (p1+p2+p3)/3
      escreva(media)
   senao
      escreva("As notas devem estar no intervalo de 0 (zero) a 10 (dez)
   fimse
fimalgoritmo

Exercicio 11 capitulo 3

Escreva um algoritmo que leia um dia, mês e ano e escreva, para essa data lida, o número de dias
transcorridos no ano.
algoritmo "Exercicio 3.11"
// Função :
// Autor : Gustavo
// Data : 23/9/2010
// Seção de Declarações 
var
   ano,mes,dia,diasCorridos:inteiro
inicio
   escreval("Informe o ano:")
   leia(ano)
   
   escreval("Informe o mes:")
   leia(mes)
   
   escreval("Informe o dia:")
   leia(dia)
   
   se (mes>12) entao
      escreva("Eita!!! Esse mes nao existe!")
   senao
      se ((ano mod 4) = 0) entao
         diasCorridos<- 366
      senao
         diasCorridos<- 365
      fimse

      se (mes <= 12) entao //dezembro.
         diasCorridos<- diasCorridos - 31
      fimse

      se (mes <= 11) entao //novembro
         diasCorridos<- diasCorridos - 30
      fimse

      se (mes <= 10) entao //outubro
         diasCorridos<- diasCorridos - 31
      fimse

      se (mes <= 9) entao //setembro
         diasCorridos<- diasCorridos - 30
      fimse

      se (mes <= 8) entao //agosto
         diasCorridos<- diasCorridos - 31
      fimse

      se (mes <= 7) entao //julho
         diasCorridos<- diasCorridos - 31
      fimse

      se (mes <= 6) entao //junho
         diasCorridos<- diasCorridos - 30
      fimse

      se (mes <= 5) entao //maio
         diasCorridos<- diasCorridos - 31
      fimse

      se (mes <= 4) entao //abril
         diasCorridos<- diasCorridos - 30
      fimse

      se (mes <= 3) entao //marco
         diasCorridos<- diasCorridos - 31
      fimse

      se (mes <= 2) entao //fevereiro
         se ((ano mod 4)=0) entao //bissexto
            diasCorridos<- diasCorridos - 29
         senao
            diasCorridos<- diasCorridos - 28
         fimse
      fimse

      se (mes <= 1) entao //janeiro
         diasCorridos<- diasCorridos - 31
      fimse
      
      diasCorridos<- diasCorridos + dia
      escreva ("Se passou ",diasCorridos," dias")
   
   fimse
fimalgoritmo

domingo, 19 de setembro de 2010

Exercicio 10 capitulo 3

Escreva um algoritmo que leia o nome de um nadador e sua idade. O algoritmo deve escrever
            A categoria de Marcos é INFANTIL B
A categoria é determinada conforme abaixo:

  • nadadores com idade entre 5 e 7 anos são da categoria INFANTIL A;
  • nadadores com idade entre 8 e 10 anos são da categoria INFANTIL B;
  • nadadores com idade entre 11 e 13 anos são da categoria JUVENIL A;
  • nadadores com idade entre 14 e 18 anos são da categoria JUVENIL B;e
  • nadadores com idade superior a 18 anos são da categoria SÊNIOR;


algoritmo "Exercicio 3.10"
var
   idade:inteiro
   nome:literal
inicio
   escreval("Informe o seu nome:")
   leia(nome)
   
   escreval("Informe sua idade:")
   leia(idade)

   se (idade<5) entao
      escreva("Idade insuficiente")
   senao
      se (idade>=5) e (idade<=7) entao
         escreva("A categoria do ",nome," é Infantil 'A'")
      senao
         se(idade>=8) e (idade<=10) entao
            escreva("A categoria do ", nome," é Infantil 'B'")
         senao
            se(idade>=11) e (idade<=13) entao
               escreva("A categoria do ",nome," é Juvenil 'A'")
            senao
               se(idade>=14) e (idade<=17) entao
                  escreva("A categoria do ",nome," é Juvenil 'B'")
               senao
                  escreva("A categoria do ",nome," é Sênior")
               fimse
            fimse
         fimse
      fimse
   fimse
fimalgoritmo