Aulas 7 e 8 – 04.05.2011 e 05.05.2011 Logica e Algoritmos

Aulas 7 e 8 – 04.05.2011 e 05.05.2011 Logica e Algoritmos

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

var
num,result:inteiro
inicio
escreva("Digite um numero: ")
leia(num)
result <- num mod 2
se result=0 entao
   escreva("Este numero é par!")
senao
   escreva("Este numero é 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 "exec_aula7_02"
var
nome:caracter
n1,n2,n3,m1,m2,m3,mp:real
inicio
escreva("Qual o nome do aluno: ")
leia(nome)
escreval("Escreva quanto ",nome," tirou na priemira prova: ")
leia(n1)
m1<-2
escreval("Escreva quanto ",nome," tirou na segunda prova: ")
leia(n2)
m2<-3
escreval("Escreva quanto ",nome," tirou na terceira prova: ")
leia(n3)
m3<-5
mp<-((n1*m1+n2*m2+n3*m3)/(m1+m2+m3))
se mp >=8 entao
   escreval("O ",nome," tirou A.")
fimse
se (mp >=7) e (mp <8) entao
   escreval("O ",nome," tirou B.")
fimse
se (mp >=6) e (mp <7) entao
   escreval("O ",nome," tirou C.")
fimse
se (mp >=5) e (mp <6) entao
   escreval("O ",nome," tirou D.")
fimse
se (mp <5) entao
   escreval("O ",nome," tirou F.")
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).


algoritmo "exec_aula7_03"
var
sal, ano1, ano2, ano3, ano4: real
inicio
  sal<- 1000 //valor do salario
  ano1<-((1000*1.5)/100)+sal
  ano2<-((ano1*3)/100)+ano1
  ano3<-((ano2*6)/100)+ano2
  ano4<-((ano3*12)/100)+ano3
  escreval("O salário do funcionario em 2011 será",ano4,".")
fimalgoritmo
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
[3,0 – 7,0[
Aprovado

algoritmo "exec_04_aula7"
var
nome:caracter
n1,n2,n3,media,falta:real
inicio
escreva("Qual o nome do aluno: ")
leia(nome)
escreval("Escreva quanto ",nome," tirou na priemira prova: ")
leia(n1)
escreval("Escreva quanto ",nome," tirou na segunda prova: ")
leia(n2)
escreval("Escreva quanto ",nome," tirou na terceira prova: ")
leia(n3)
media<-(n1+n2+n3)/3
se media >=7 entao
   escreva("Aprovado")
fimse
se (media >=3) e (media <=7) entao
   escreva("Exame")
falta<-(6*2)-media
 escreva("O Aluno ",nome," precisa tirar",falta," no exame.")
senao
   escreva("Reprovado")
fimse
fimalgoritmo
5. Faça um programa que receba dois números e mostre o maior.

algoritmo "exec_05_aula7"
var
primeiro,segundo:real
inicio
escreva("Escreva o algum numero :")
leia(primeiro)
escreva("Escreva o algum numero :")
leia(segundo)
se primeiro > segundo entao
   escreval("o maior foi o", primeiro)
senao
   escreval("o maior foi o", segundo)
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 "exec_06_aula7"
var
primeiro,segundo,terceiro:real
inicio
escreval("Digite o primeiro numero :")
leia(primeiro)
escreval("Digite o segundo numero :")
leia(segundo)
escreval("Digite o terceiro numero :")
leia(terceiro)
se (primeiro < segundo) e (segundo < terceiro) entao
   escreval(primeiro, segundo, terceiro)
fimse
se (segundo < primeiro) e (primeiro < terceiro) entao
   escreval(segundo,primeiro,terceiro)
fimse
se (primeiro < terceiro) e (terceiro < segundo) entao
   escreval(primeiro,terceiro,segundo)
fimse
se (segundo < terceiro) e (terceiro < primeiro) entao
   escreval(segundo,terceiro,primeiro)
fimse
se (terceiro < primeiro) e (primeiro < segundo) entao
   escreval (terceiro,primeiro,segundo)
fimse
se (terceiro < segundo) e (segundo < primeiro) entao
   escreval (terceiro,segundo,primeiro)
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 "exec_07_aula7"
var
dia1,mes1,ano1,dia2,mes2,ano2,ano_dia1,dias1,ano_dia2,dias2,dias_num1,dias_num2:inteiro
inicio
escreval("Escreva um dia, um mes, um ano, exemplo (25 12 2011) :")
leia(dia1)
leia(mes1)
leia(ano1)
se mes1=1 entao //janeiro
   dias_num1<-31
fimse
se mes1=2 entao //fevereiro
   dias_num1<-28
fimse
se mes1=3 entao //Março
   dias_num1<-31
fimse
se mes1=4 entao //Abril
   dias_num1<-30
fimse
se mes1=5 entao //Maio
   dias_num1<-31
fimse
se mes1=6 entao //junho
   dias_num1<-30
fimse
se mes1=7 entao //julho
   dias_num1<-31
fimse
se mes1=8 entao //agosto
   dias_num1<-31
fimse
se mes1=9 entao //setembro
   dias_num1<-30
fimse
se mes1=10 entao //outubro
   dias_num1<-31
fimse
se mes1=11 entao //novembro
   dias_num1<-30
fimse
se mes1=12 entao //dezembro
   dias_num1<-31
fimse
se (mes1>=13) ou (mes1<=0) entao
   escreval("Você Fez Merda!")
fimse
ano_dia1<-ano1*365
dias1<-dia1+dias_num1+ano_dia1
escreval("Escreva outro dia, outro mes, outro ano, exemplo (25 12 2011) :")
leia(dia2)
leia(mes2)
leia(ano2)
se mes2=1 entao //janeiro
dias_num2<-31
fimse
se mes2=2 entao //fevereiro
   dias_num2<-28
fimse
se mes2=3 entao //Março
   dias_num2<-31
fimse
se mes2=4 entao //Abril
   dias_num2<-30
fimse
se mes2=5 entao //Maio
   dias_num2<-31
fimse
se mes2=6 entao //junho
   dias_num2<-30
fimse
se mes2=7 entao //julho
   dias_num2<-31
fimse
se mes2=8 entao //agosto
   dias_num2<-31
fimse
se mes2=9 entao //setembro
   dias_num2<-30
fimse
se mes2=10 entao //outubro
   dias_num2<-31
fimse
se mes2=11 entao //novembro
   dias_num2<-30
fimse
se mes2=12 entao //dezembro
   dias_num2<-31
fimse
se (mes2>=13) ou (mes2<=0) entao
   escreval("ERRADOOOO”)
fimse
ano_dia2<-ano2*365
dias2<-dia2+dias_num2+ano_dia2
se dias1 > dias2 entao
   escreval("A maior data é de dia",dia1," do mes",mes1," do ano",ano1,".")
senao
   escreval("A maior data é de dia",dia2," do mes",mes2," do ano",ano2,".")
fimse
fimalgoritmo

Nessas aulas tivemos muitos exercícios difíceis e complexos para fazer, os primeiros eu consegui fazer sem problemas, mas os outros sofri muito pra fazer.
Após fazermos os exercícios, o professor os corrigiu.

Nenhum comentário:

Postar um comentário