Aula 11 – 17.05.2011 Logica e Algoritmos

Aula 11 – 17.05.2011 Logica e Algoritmos
Nessa aula foi passado mais 2 exercícios que seguem abaixo.

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

algoritmo "exec_06_aula11"


var
n,num,y,x:inteiro
fat:real
inicio
escreva("Número de operações fatoriais: ")
leia(n)
para x de 1 ate n faca
escreva("Escreva algum numero que deseje fatorar: ")
leia(num)
fat<-1
para y de 1 ate num faca
   fat<-fat*y
   escreval(fat)
fimpara
fimpara
fimalgoritmo
7- Foi feita uma estatística em cinco cidades brasileiras para coletar dados sobre acidentes de transito.
Foram obtidas os seguintes dados:
a)O código da cidade;
b)Número de veículos de passeio (em 2010)
c)Número de acidentes de transito com vitimas (em 2010)
Deseja-se saber:
a)Qual o maior e o menor índice de acidentes de transito e a que cidade eles pertencem;
b)Qual a média de veículos nas cinco cidades juntas;
c)Qual a média de acidentes de transito nas cidades com menos de 2000 veículos de passeio.

algoritmo "exec_07_aula11"
var

x,caros,acidentes,carosx,acidentesx,acidentesy,contador,acidentes_m,n:inteiro
city,city_a,city_m_a:caracter //variaveis onde vai o nome da cidade
media_caros,media_a:real
inicio
carosx<-0
n<-5 //número de vezes.
acidentesx<-0
acidentesy<-10000000
contador<-0
acidentes_m<-0
para x de 1 ate n faca
   escreval("Digite a cidade, o número de veiculos e o número de acidentes com         vitimas")
   escreva("Nome da cidade: ")
leia(city)
escreva("Escreva o número de caros de ",city,": ")
leia(caros)
escreva("Escreva o número de acidentes com vitimas de ",city,": ")
leia(acidentes)
carosx<-caros+carosx
se (acidentes > acidentesx) entao
   acidentesx<-acidentes
   city_a<-city
fimse
se (acidentesy = 0) entao
   acidentesy<-acidentes
fimse
se (acidentes < acidentesy) entao
   acidentesy<-acidentes
city_m_a<-city
fimse
se (caros>=2000) entao
   acidentes_m<-acidentes+acidentes_m
   contador<-contador+1
fimse
limpatela
fimpara
media_caros<-carosx/n
escreval("O maior número de acidentes ocorre em ",city_a,".")
escreval("O menor néumero de acidentes ocorre em ",city_m_a,".")
escreval("A média de caros das 5 cidades são",media_caros,".")
media_a<-acidentes_m/contador
se (contador <> 0) entao
 escreval("A média de acidentes em cidades de mais de 2000 caros é",media_a,".")
senao
  escreva("Nenhuma cidade tem mais de 2000 caros")
fimse
fimalgoritmo


Hoje teria que ter sido aula de inglês, mas como a professora não veio, o professor Jossandro substituiu ela.
Ele passou mais dois exercícios e corrigiu os da aula passada.
A aula foi boa apesar de todos ficarem surpresos com a aula de algoritmos.



Aula 10 – 18.05.2011 Logica e Algoritmos

Aula 10 – 18.05.2011 Logica e Algoritmos


Começamos a aula sem o professor Jossandro, pois ele teria ido fazer uma viajem e se atrasou, mas mandou alguns exercícios para a turma ir fazendo até a sua chegada.
A turma estava com muitas duvidas e ele chegou logo.
Segue abaixo os exercícios:

Exercicios:

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

algoritmo "exec_01_aula10"
var
n_notas,x:inteiro
nota,media,nota_soma:real
inicio
n_notas<-10
para x de 1 ate n_notas faca
   escreva("Escreva a nota",X,".")
leia(nota)
nota_soma<-nota_soma+nota
fimpara
media<-nota_soma/n_notas
escreva("A soma das notas é",nota_soma," e, sua média é",media,".")
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 "Exec_02_aula10"
var
x,num:inteiro
resposta,media:real
inicio
resposta<-0
escreval("Digite até que numero você quer que o programa conte...")
leia(num)
para x de 1 ate num faca
   resposta<-resposta+x
   media<-resposta/x
fimpara
escreva("A média é",media,".")
fimalgoritmo

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

algoritmo "exec_03_aula10"
var
o_numero,num,num_a:inteiro
inicio
o_numero<-1000
escreval("O programa continuara pedindo para você acrecentar um numero até que a soma deles seja 1000 ou mais.")
escreva("Digite um numero: ")
leia(num)
se (num >= 1000) entao
   escreva("Este numero já é maior que",o_numero,".")
fimalgoritmo
fimse
repita
  escreval("Digite um número: ")
  leia(num_a)
  num<-num+num_a
ate (num >= o_numero)
escreva("O Total é de",num,".")
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 "exec_04_aula10"
var
num,m,num_1,media:real
inicio
escreva("Escreva Algum número: ")
leia(num)
m<-1
enquanto (num <> 0) faca
num_1<-num_1+num
escreva("Acresente outro número: ")
leia(num)
m<-m+1
fimenquanto
media<-num_1/m
escreva("A soma dos números foi:",num_1," e sua média é:",media,".")
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 "exec_05_aula10"
var
opcao:inteiro
n1,n2,r,media:real
inicio
escreval("Este programa fica somando 2 notas até que escolha a opção 0 (Não)")
repita
escreval("Digite 2 notas:")
escreva("Primeira nota: ")
leia(n1)
escreva("Segunda nota: ")
leia(n2)
r<-n1+n2
media<-r/2
escreval("A média das notas é: ",media,".")
escreval("Continuar?")
escreval("ESCOLHA A OPÇÃO 0 (não) OU 1 (sim)")
repita
 leia(opcao)
ate (opcao = 0) ou (opcao = 1)
se (opcao = 1) entao
   limpatela
fimse
ate (opcao=0)
fimalgoritmo
Essa aula foi muito complicada, pois o professor mandou alguns exercícios muito complexos e difíceis.
Só foi possível terminá-los quando ele chegou, mas mesmo Assis não consegui fazê-los bem.

Aula 9 – 11.05.2011 Logica e Algoritmos

Aula 9 – 11.05.2011 Logica e Algoritmos

Iniciamos com a correção do exercício 7 da aula 07.
O professor nos passou as estruturas de repetição do português estruturados:

PARA, ENQUANTO, REPITA.

Exemplo das estruturas de repetição:
"PARA" para x=1 ate 10 faca //tabuada
escreva(x*9)
fimpara
ou outro exemplo, similar ao anterior mas para números pares.
para x=1 ate 10 faca
se(x mod 2 = 0) entao
escreva(x*9)
fimse
fimpara

"ENQUANTO"leia(dia)
enquanto(dia>31) ou (dia<1)
escreva("Dia incorreto digite novamente")
leia(dia)
fimenquanto

"REPITA" repita
leia(dia)
ate(dia<=31) e (>=1)

Foi passado DOIS exercícios que seguem abaixo:

1- Fatore um numero:

algoritmo “exec_aula09_01”
var
num,fat,x:inteiro
inicio
escreva("Digite um numero: ")
leia(num)
fat<-1
para x de 1 ate num faca
   fat<-fat*x
fimpara
escreva(fat)
fimalgoritmo


2. Faça um pregrama que leia um valor N inteiro e positivo, calcule e mostre o valor de E:

E=1+1/1+1/2+1/3+...+1/n
A fazer...

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.