sexta-feira, 13 de maio de 2011

aula 10

1. Faça um programa que leia 10 números, e no final calcula e mostre a média.
 algoritmo "numeros10"

var
 num,x,soma:inteiro
 smedia:real
inicio
 escreval("digite a quantia de numeros a serem lidos:")
 leia(num)
   para x de 1 ate num faca
   escreval("Numero",x,":")
   leia (x)
       soma <- soma+x
   fimpara
 smedia <- soma/num
 escreval("a media é: " ,smedia )
fimalgoritmo

2. Faça um programa em que o usuário informe a quantidade de números a serem lidos, e no final, calcule e mostre a média dos números lidos.
algoritmo "numeros"

var
  x,soma,num:inteiro
  media:real
inicio
escreval("digite a quantia de numeros para o calculo do problema: ")
leia(num)
   para x de 1 ate num faca
     leia (num)
        soma<- num + soma
        escreval("Média no momento é : ",soma)
   fimpara
 media<-soma/num
 escreval("A média dos numeros digitados é: ", media)
fimalgoritmo


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

algoritmo "numeros_ate"
var
  x:inteiro
  soma:real
inicio
  escreval("Digite os numeros: ")
  soma<- 0
  enquanto (soma<1000) faca
     leia(x)
     soma<-soma+x
     escreva(soma," +")
   fimenquanto

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!
algoritmo "0 para"

var
 x,soma:inteiro
inicio
 escreval("Digite um um numero seguido de enter,seguidamente, quando desejar parar,pressione 0")

 x<-1
  enquanto x&gt;0 faca
  leia(x)
   soma<-x+soma
   escreval("+",x, "=",soma)
   escreval("Prescionando a tecla 0 você pode parar o programa.")
    se x=0 entao
     escreval("Tecla 0 pressionada:sessão encerrada pelo usuário")
    fimse
  fimenquanto
  
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.

algoritmo "medianotas05"
// Função :
// Autor :
// Data : 13/5/2011
// Seção de Declarações
var
x,z,y:inteiro
media:real
inicio

 repita

    escreval("Digite uma nota pressione enter e em seguida a segunda nota e pressione enter novamente para mostrar a media")
    leia(x,y)
    escreval("Digite 1 e pressione enter para obter a media das 2 notas ou 0 para sair")
    leia(z)
     se z<=1 entao
        media<-(x+y)/2
        escreval("A media das duas notas digitadas é: ",media)
        fimse
      enquanto   (z&gt;2)  ou (z<0)faca
        escreval("Opção não cadastrada!")
        escreval("Pressione 1  mostrar a média das notas ou")
        escreval("0 ver a media das notas e encerrar a sessão")
        leia(Z)
        se (z=1)  ou (z=0)  entao
        media<-(x+y)/2
        escreval("A media das duas notas digitadas é: ",media)
        fimse
      fimenquanto
  ate  z=0
  se z = 0 entao
  escreval( "Sessão terminada pelo usuário" )
  fimse
fimalgoritmo

Reflexão: Novos comandos de repetição que aprendemos durante a aula tem muitas funções as quais ainda não fixsei bem ainda, nescessitando de mais exercicios para melhor intendimento, principalmente na hora de fazer os exerciícios no papel,pois não tendo a opção de tentativa e erro pra o teste de mesa, pois fazer o teste de mesa através da analise do algoritmo é muito difícil, ao menos no meu caso, é notável a grande dificuldade na hora da análise.

aula 9

Comandos -> para, enquanto,repita.


Comando para-> qualquer variável at´pe outra
Ex: n de 1 ate 10 faca
 escreva(x*9)
fimpara

Coimando enquanto->   
Ex: enquanto (dia>31) ou(dia<1)
   escreva("Dia incorreto, digite novamente:")
    leia(dia)

Comando repita->
Ex:
 repita
  leia (dia)
ate (dia<=31)  e (dia>0)
 Exercicio:
 algoritmo "aula9"

 var
 num,fat,x:inteiro
 inicio
  escreva("digite o numero para resolução do fatorial do mesmo:")
  leia(num)
fat<-1
 para x de 1 ate num faca
   fat<-fat*x
   escreva("x=", x , "Fatorial=", fat)
   fimpara
 escreva("Fatorial de ," num, "é: " , fat )
 fimalgoritmo

Reflexão: Além da dificuldade da lógica imposta pelo problema, ainda temos a dificuldade matemática, onde acontece muitos erros ,assim fazendo com que o programa não funcione. Nescessito de mais atenção e mais concentração durante as aulas para conseguir resolver os exercícios.

aula 7 e 8


1. Faça um programa que receba um número inteiro e verifique se é par ou ímpar.

algoritmo "parimpar"
var
x:inteiro
inicio
  escreval("digiteum numero")
   leia(x)
  se x mod 2=0 entao
   escreval("Número" , x , " é par")
  senao
   escreval("Numero" , x , " é impar ")
 fimse
fimalgoritmo

2. A nota final de um estudante é calculada a partir de três notas atribuídas, respectivamente , a um trabalho de laboratório, a uma avaliação semestral e a um exame final. A média das três notas mencionadas obedece aos pesos a seguir:
Nota
Peso
Trabalho de laboratório
2
Avaliação semestral
3
Exame final
5

Faça um programa que receba as três notas, calcule e mostre a média ponderada e o conceito que segue a tabela:
Média Ponderada
Conceito
[8,0 – 10,0]
A
[7,0 – 8,0[
B
[6,0 – 7,0[
C
[5,0 – 6,0[
D
[0,0 – 5,0[
E


algoritmo "Média e Conceito"

var
  n1,n2,n3,mediaponderada:real
inicio
  escreva("Digite a nota do aluno no trabalho de laboratório:")
  leia (n1)
  escreva("Digite a nota de avaliação semestral:")
  leia(n2)
  escreva("Digite a nota do aluno no exame final:")
  leia(n3)

  mediaponderada <-(n1*2+n2*3+n3*5)/(2+3+5)
     se (mediaponderada >= 8) e (mediaponderada <= 10) entao
       escreva("Conceito do aluno é A.")
     fimse
     se (mediaponderada >=7) e (mediaponderada < 8) entao
       escreva("Conceito do aluno é B. ")
     fimse
     se (mediaponderada >=6) e (mediaponderada <7) entao
       escreva("Conceito do alino é C.")
     fimse
     se (mediaponderada >=5) e (mediaponderada<6) entao
       escreva("Conceito dp aluno é D.")
     fimse
     se (mediaponderada >0) e (mediaponderada < 5) entao
        escreva("Conceito do aluno é E.")
     fimse
fimalgoritmo

3. Um funcionário de uma empresa recebe aumento salarial anualmente. Sabe-se que:
a) Esse funcionário foi contratado em 2007, com salário inicial de R$ 1.000,00.
b) Em 2008, ele recebeu aumento de 1,5% sobre seu salário inicial.
c) A partir de 2009 (inclusive), os aumentos salariais sempre corresponderam ao dobro do percentual do ano anterior.
Faça um programa que determine o salário atual desse funcionário. (o ano atual deve ser digitado pelo usuário
4. Faça um programa que receba três notas de um aluno, calcule e mostre a média aritmética e a mensagem constante na tabela a seguir. Aos alunos que ficaram para exame, calcule e mostra a nota que deverão tirar para serem aprovados, considerando que a média exigida é 6,0.

Média Aritmética
Mensagem
[0,0 – 3,0[
Reprovado
[3,0 – 7,0[
Exame
[7,0 – 10,0]
Aprovado
algoritmo "nota media"

var
      n1,n2,n3,media,notaexame,mediaexame,falta:real
inicio
  escreva("Digite a 1ºnota  do aluno:")
  leia(n1)
  escreva("Digite a 2ºnota  nota do aluno:")
  leia(n2)
  escreva("Digite a 3º nota do alno:")
  leia(n3)
  media<-(n1+n2+n3) / 3
   se (media >7) e (media<= 10) entao
    escreva("Aluno aprovado.")
   fimse
   se (media >3) e (media < 7) entao
    escreval(" Aluno com exame.")
falta <-(6*2)- media
        escreval("nescessita tirar:",falta)
    fimse
fimalgoritmo




5. Faça um programa que receba dois números e mostre o maior.

algoritmo "maior"

var
x,y:real
inicio
  escreval("Digite um número:")
  leia(x)
  escreval("Digite o outro numero:")
  leia(y)
   se x>y entao
   escreval(x)
   senao
   escreval(y)
   fimse
fimalgoritmo
 
6. Faça um programa que receba três números e mostre-os em ordem crescente. Suponha que o usuários digitará três números diferentes.
algoritmo "maior"
var
n1, n2, n3 :real
inicio
escreval ("Digite três números diferentes")
escreval ("Digite o primeiro número")
leia (n1)
escreval ("Digite o segundo número")
leia (n2)
escreval ("Digite o terceiro número")
leia (n3)
se (n1 < n2) e (n1 < n3) entao
   escreval (n1)
   se (n2 < n3 ) entao
      escreval (n2)
      escreval (n3)
   senao
      escreval (n3)
      escreval (n2)
   fimse
fimse
se (n2 < n1) e (n2 < n3) entao
   escreval (n2)
   se (n1 < n3 ) entao
      escreval (n1)
      escreval (n3)
   senao
      escreval (n3)
      escreval (n1)
   fimse
fimse
se (n3 < n1) e (n3 < n2) entao
   escreval (n3)
   se (n1 < n2 ) entao
      escreval (n1)
      escreval (n2)
   senao
      escreval (n2)
      escreval (n1)
   fimse
fimse
fimalgoritmo
7. Faça um programa que determine a data cronologicamente maior entre duas datas fornecidas pelo usuário. Cada data deve ser composta por três valores inteiros, em que o primeiro representa o dia, o segundo, o mês e o terceiro, o ano.
algoritmo "data"
var
dia, mes, ano, dia1, mes1, ano1:inteiro
inicio
escreval ("Escreva duas datas diferentes")
escreval ("Escreva a primeira data")
escreval ("Digite o dia")
leia (dia)
escreval ("Digite o mes")
leia (mes)
escreval ("Digite o ano")
leia (ano)
escreval ("Escreva a segunda data")
escreval ("Digite o dia")
leia (dia1)
escreval ("Digite o mes")
leia (mes1)
escreval ("Digite o ano")
leia (ano1)

se (ano > ano1) entao
   escreval (dia, mes, ano)
senao
   se (mes > mes1) entao
      escreval (dia, mes, ano)
   senao
      se (dia > dia1) entao
         escreval (dia, mes, ano)
      senao
         escreval (dia1, mes1, ano1 )
      fimse
   fimse
fimse
fimalgoritmo







Reflexão:
Exercícios muito dificeis,nescessitam de muita concentração, tenho dificuldade de achar a lógica correta , dificuldade de fazer apenas no papel, é dificil achar o erro depois que a logica está pronta.


 

domingo, 1 de maio de 2011

Postagem aula 5 e 6

Faça um algoritmo que receba 3 notas,mostre a média e se o aluno foi aprovado ou reprovado sendo que a média é 7:


algoritmo "Média de notas"
Var:


    n1,n2,n3,media:real


Inicio
   Escreva( "Por favor digite a 1º nota do aluno: " )


   Leia (n1)
   Escreva( "Por favor digite a 2º nota do aluno:" )


   Leia(n2)


   Escreva( "Por favor digite a 3º nota do aluno:")


   Leia(n3)


   media <- (n1+n2+n3)/3


      Se media >= 7  entao
           Escreva(" Aluno aprovado.    ")
       senao
          Escreva(" Aluno reprovado.    ")
       Fimse
      Escreva(" A média do aluno é:",media )
      se media = 10 entao
        Escreva( "    Parabéns  aluno muito dedicado.")
      fimse
      se media >7     entao
       escreva("Aluno precisa de mais dedicação.")
       fimse
       se media =7 entao
         escreva("     Bom, Aluno pode melhorar.")
       fimse
       se media =8 entao
         escreva("      Muito bom .")
       fimse
       se media =9 entao
         escreva("    Excelente")
       fimse
     fimalgoritmo


Reflexão aula 5:
A partir dessa nova tarefa (o se e senao), podemos notar que o aprofundamento nos algoritmos os torna mais difíceis e com inúmeras possibilidades e diferentes caminhos, assim dependendo da necessidade do contratante do serviço(no nosso caso o exercício).

Postagem aula 4

Exercícios para aula 4 – Fazer no software visualg.


1) Sabendo-se que:


1 pé = 12 polegadas


1 jarda = 3 pés


1 milha = 1.760 jardas


Faça um programa que receba uma medida em pés, faça as


conversões a seguir e mostre os resultados em:


a) polegadas b) jardas c) milhas




algoritmo "Converte_Pes"


 Converter Pes em (polegadas, jardas e milhas)


var
 pes, polegadas, jardas, milhas: real
inicio
 escreva ("Digite a quantidade de pes a ser convertidos: ")
 leia (pes)
 polegadas <- pes * 12
 jardas <- pes / 3
 milhas <- pes / 1760
 escreva ("Polegadas:", polegadas, "  Jardas:", jardas, ")   Milhas:", milhas)
fimalgoritmo








2) Faça um programa que receba o ano de nascimento de uma


pessoa e o ano atual, calcule e mostre:


a) a idade dessa pessoa;


b) quantos anos essa pessoa terá em 2010.








algoritmo "Sua_Idade"


var
  ano_nacimento, ano_atual, idade_futura, idade_atual :real
inicio
      escreva ("Digite o ano que você naceu: ")
      leia (ano_nacimento)
      escreva ("Digite o ano atual: ")
      leia (ano_atual)
      idade_atual <- ano_atual - ano_nacimento
      idade_futura <- 2010 - ano_nacimento
      escreva ("Você tem :", idade_atual, "  Você tinha :",         idade_futura )
fimalgoritmo




3) O custo ao consumidor de um carro novo é a soma do preço


de fábrica com o percentual de lucro do distribuidor e dos


impostos aplicados ao preço de fábrica. Faça um programa que


receba o preço de fábrica de um veículo, o percentual de


lucro do distribuidor e o percentual de imposto.Calcule e


mostre:


a) o valor corespondente ao lucro do distribuidor;
b) o valor correspondente aos impostos;
c) o preço final do veículo.




inicio
 escreva ( "digite o preço de fábrica seguido do lucro e do   imposto:")
 leia( pf, plucro, p_imp )
 lucroD <- (pf*plucro)/100;
 Vimp <- (pf*p_imp)/100;
 custoC <- pf+lucroD+Vimp;
 escreva(" lucro do revendedor ", lucroD, " valor do imposto    sobre o preço de fabrica ", Vimp , " Valor Final do       veículo ", custoC)
fimalgoritmo






4) Pedro comprou um saco de ração com peso em quilos. Pedro


possui dois gatos para os quais fornece a quantidade de


ração em gramas. Faça um programa que receba o peso do saco


de ração e a quantidade de ração fornecida para cada gato.


Calcule e mostre quanto restará de ração no saco após cinco


dias.


algoritmo "gatos"
var
 rac5,racsobra,g1,g2,racsaco:real
inicio
escreva ("digite kg saco,em seguida digite quantia do 1ºgato e após digite quantia 2ºgato:")
leia(racsaco,g1,g2)
rac5 <- (g1/1000 + g2/1000)*5;
racsobra <- racsaco-rac5;
escreva( "ração restante será:",racsobra,"kg")
fimalgoritmo








5) Cada degrau de uma escada tem X de altura. Faça um


programa que receba essa altura e a altura que o usuário


deseja alcançar subindo a escada. Calcule e mostre quantos


degraus o usuário deverá subir para atingir seu objetivo,


sem se preocupar com a altura do usuário.


algoritmo "escadas"
var
  hdeg,hdes,qntdegr:real
 inicio
  escreva("digite a altura que deseja subir e após a altura     do degrau há ser subido:")
  leia(hdes,hdeg,)
  hdeg<-hdeg/100;
  qntdegr<- (hdes/hdeg);
  escreva("deverá subir",qntdegr, "degraus")
 fimalgoritmo






6) Faça um programa que calcule e mostre a área de um


losango.Sabe-se que A = (diagonal maior * diagonal menor)/2


algoritmo "Area do losango"


var
 diagM,diagmenor,A:real
inicio
  escreva("digite a diagonal maior do losango e em seguida a    diagonal menor:")
  leia(diagM,diagmenor)
  A<-(diagM*diagmenor)/2
  escreva("A área do losango será:",A)
fimalgoritmo






7) Faça um programa que receba o ano de nascimento de uma


pessoa e o ano atual, calcule e mostre:


a) a idade dessa pessoa em anos;
b) a idade dessa pessoa em meses;
c) a idade dessa pessoa em dias;
d) a idade dessa pessoa em semanas.




algoritmo "idade"


var:
idadan,idademes,idadedias,idadesemanas,anoatual,anonasc:real
inicio
  escreva("Digite o ano de nascimento e em seguida o ano    atual:")
  leia(anonasc,anoatual)
  idadan <- anoatual-anonasc;
  idademes <- (anoatual-anonasc)*12;
  idadedias <- (anoatual-anonasc)*365;
  idadesemanas <- (anoatual-anonasc)*12*4;
  escreva("essa pessoa tem",idadan,"anos", idademes,"meses    de vida", idadedias,"dias de vida",idadesemanas ,"    semanas de vida")
fimalgoritmo








8) Faça um programa que receba a quantidade de dinheiro em


reais e converta esse valor em dólar, marco alemão e libras


esterlinas. Sabe-se que a cotação do dólar é de R$ 1,66, do


marco alemão é de R$ 2,00 e da libra esterlina é de R$ 1,57.


O programa deve fazer a conversão e mostrá-las.






algoritmo "conversor de moeda"


var
 dolar,reais,marcoalemao,libraesterlina:real
inicio
  escreva("digite o valor em reais a ser convertido:")
  leia(reais)
  dolar<- reais*(166/100)
  marcoalemao<-reais*2
  libraesterlina<-reais*(157/100)
  escreva(dolar ,  " dólares," , marcoalemao, " marcos e "     libraesterlina, " libras. ")
fimalgoritmo






Reflexão da aula: Nessa aula aprendi que não basta apenas saber lógica e algoritmo tem de se praticar muito
para poder resolver os problemas com mais facilidade.