Aula 21 – 29.06.2011 Logica e Algoritmos

Aula 21 – 29.06.2011 Logica e Algoritmos

A aula foi para praticar, foi dado 3 exercicios.
Segue os exercícios...

1- Faça um programa que preencha dois vetores de cinco elementos numéricos cada um e mostre o vetor resultante da multiplicação dos valores destes vetores.
Vetor 1:


3
5
4
2
2

1
2
3
4
5
Vetor 2:
7
15
20
0
18

1
2
3
4 

5


Vetores resultantes da multiplicação:
21
75
80
0
36

1
2
3
4

5


algoritmo "exec_01_aula21"
var
x:inteiro
vet1,vet2,vet3:vetor[1..5] de real
inicio
para x de 1 ate 5 faca
escreva("Digite o valor da coluna",x," da linha 1: ")
leia(vet1[x])
escreva("Digite o valor da coluna",x," da linha 2: ")
leia(vet2[x])
fimpara
limpatela
para x de 1 ate 5 faca
vet3[x]<-vet1[x]*vet2[x]
escreval("A multiplicação dos vetores da",x,"ª coluna é",vet3[x],".")
fimpara
fimalgoritmo
2- Uma pequena loja de artesanato possui apenas um vendedor e comercializa dez tipos de objetos. O vendedor recebe, mensalmente, salário de R$ 400,00, acrescido de 5% do valor total de suas vendas. O valor unitário dos objetos deve ser informado e armazenado em uma matriz; a quantidade vendida de cada peça deve ficar na mesma matriz, em outra coluna.
Crie um programa que receba os preços e as quantidades vendidas e armazenando-os na matriz.
Depois determine e mostre:
-um relatório contendo quantidade vendida, valor unitário e valor total de cada objeto. Ao final deverá ser mostrado um valor geral das vendas e o valor da comissão que será paga ao vendedor.
-o valor do objeto mais vendido e sua posição na matriz (mostre linha e coluna. Não se preocupe com empates).
algoritmo "aula21_02"
var
x,posi:inteiro
maior,comisao:real
vet:vetor[1..3,1..10] de real
inicio
para x de 1 ate 10 faca
escreva("Digite a quantidade do",x,"º item: ")
leia(vet[1,x])
se x =1 entao
maior<-vet[1,x]
posi<-x
fimse
se vet[1,x] > maior entao
maior<-vet[1,x]
posi<-x
fimse
escreva("Digite o valor do",x,"º item: ")
leia(vet[2,x])
vet[3,x]<-vet[2,x]*vet[1,x]
fimpara
limpatela
para x de 1 ate 10 faca
escreval("Foi vendido",vet[1,x]," Unidades, a $",vet[2,x],", totalizando $",vet[3,x],".")
comisao<-(vet[3,x]/100)*5
fimpara
escreval("O bonus do vendedor foi $",comisao,".")
escreval("O item mais vendido foi",vet[1,posi],".")
fimalgoritmo
3- Faça um programa que preencha uma matriz 10 x 3 com as notas de dez alunos em três provas. O programa deverá mostrar um relatório com o número dos alunos (número da linha) e a média do aluno nas 3 provas. Ao final do relatório, deverá mostrar a média geral de todos os alunos.
algoritmo "aula21_03"
var
x,y:inteiro
soma:real
notas:vetor[1..10,1..3] de real
media:vetor[1..10] de real
inicio
soma<-0
para x de 1 ate 10 faca
para y de 1 ate 3 faca
escreva("Digite a",y,"º nota do",x,"º aluno: ")
leia(notas[x,y])
soma<-soma + notas[x,y]
fimpara
media[x]<-(notas[x,1]+notas[x,2]+notas[x,3])/3
fimpara
limpatela
escreval("No total 10 alunos tiveram a média de",((soma/10)/3),".")
para x de 1 ate 10 faca
se (media[x] <> 0)entao
escreval("O aluno",x," obteve a média de",media[x],".")
senao
escreval("O aluno tirou zero!")
fimse
fimpara
fimalgoritmo

Achei os exercícios tranqüilos, mas não fiz a 3, pois achei um pouco complicada.

Aula 20 – 29.06.2011 Logica e Algoritmos

Aula 20 – 29.06.2011 Logica e Algoritmos

Hoje começamos a estudar MATRIZES, praticamente a mesma coisa que Vetores, o bom é que como eu não tinha entendido vetores, com MATRIZES da pra aprender a fazer vetores também.
Foi passado 2 exercícios para praticar.

1- Faça um programa que preencha uma matriz 10 x 3 com as notas de dez alunos em três provas. O programa deverá mostrar um relatório com o número dos alunos (numero da linha) e a prova em que cada aluno obteve menor nota. Ao final do relatório, deverá mostrar quantos alunos tiveram menor nota em cada uma das provas: na prova 1, na prova 2 e na prova 3.
algoritmo "aula20_01"
var
x,y:inteiro
nota:vetor[1..10,1..3] de real
inicio
para x de 1 ate 10 faca
para y de 1 ate 3 faca
escreva("Escreva a NOTA Nº",y," do aluno",x,": ")
leia(nota[x,y])
limpatela
fimpara
fimpara
para x de 1 ate 10 faca
se (nota[x,1] < nota[x,2]) e (nota[x,1] < nota[x,3]) entao
escreval("Aluno",x," teve a pior nota na prova nº 1.")
senao
se (nota[x,2] < nota[x,1]) e (nota[x,2] < nota[x,3]) entao
escreval("Aluno",x," teve a pior nota na prova nº 2.")
senao
se (nota[x,3] < nota[x,1]) e (nota[x,3] < nota[x,2]) entao
escreval("Aluno",x," teve a pior nota na prova nº 3.")
senao
escreval("Ele teve notas iguais.")
fimse
fimse
fimse
fimpara
fimalgoritmo

2- Faça um programa que preencha uma matriz de 5 x 5 com números inteiros, calcule e mostre os números superiores a cinquenta e suas respectivas posições (linha e coluna). O programa deverá mostrar mensagem se não existir nenhum número nessa condição.
algoritmo "aula20_02"
var
num:vetor [1..5,1..5] de inteiro
maiores:vetor[1..5,1..5] de inteiro
x,y:inteiro
inicio
para x de 1 ate 5 faca
para y de 1 ate 5 faca
escreva("Escreva um número inteiro: ")
leia(num[x,y])
se (num[x,y] > 50) entao
maiores[x,y]<-num[x,y]
fimse
fimpara
fimpara
limpatela
para x de 1 ate 5 faca
para y de 1 ate 5 faca
se (maiores[x,y] > 50) entao
escreval("O Número",maiores[x,y]," é maior que 50.")
senao
escreval("O numero da linha",x," e coluna",y," é menore que 50...")
fimse
fimpara
fimpara
fimalgoritmo

Aula 19 – 22.06.2011 Logica e Algoritmos


Aula 19 – 22.06.2011 Logica e Algoritmos
 

Vetores, Hoje a aula seria sobre VETORES, não entendi nada, pois acabei chegando atrasado na aula, e pedi para o professor me dar uma breve explicada, e ele disse para eu sentar então com um colega que teria entendido do assunto.
Acabei não entendo nada.


1- Faça um programa que leia 10 nomes de alunos e guarde em uma lista.

algoritmo "aula19_01"
var
n:vetor [1..10] de caracter
x:inteiro
inicio
para x de 1 ate 10 faca
escreva("Digite o nome do aluno",x,": ")
leia(n[x])
fimpara
fimalgoritmo

2- Faça um programa que leia 10 nomes de alunos e suas medias finais, e guarde em listas. Ao final, listar o nome do aluno e sua media mostrando "Aprovado" se a média for maior ou igual a 7, ou "Reprovado" caso contrario.


algoritmo "aula19_02"
var
x:inteiro
nome,r:vetor[1..10] de caracter
media:vetor[1..10] de real
inicio
para x de 1 ate 10 faca
escreva("Digite o nome do aluno",x,": ")
leia(nome[x])
escreva("Digite a média do ",nome[x],": ")
leia(media[x])
se (media[x] >= 7) entao
r[x]<-"Aprovado"
senao
r[x]<-"Reprovado"
fimse
limpatela
fimpara
para x de 1 ate 10 faca
escreval("O aluno ",nome[x]," tirou",media[x],", ele foi ",r[x],".")
fimpara
fimalgoritmo

3- Faça um programa que leia 50 valores reais e guarde os em um vetor. Ao final mostre a soma e a média dos valores lidos.


algoritmo "aula19_03"
var
x,soma:inteiro
v:vetor[1..50] de real
media:real
inicio
soma<-0
para x de 1 ate 50 faca
escreva("Digite um valor real: ")
leia(v[x])
soma<-soma+v[x]
fimpara
limpatela
media<-soma/50
escreva("A soma total foi",soma," e a média foi",media,".")
fimalgoritmo



4- Faça um programa que calcule a media ((nota1+nota2)/2) de 10 alunos e guarde em um vetor, percorra o vetor e mostre as medias. Ao final mostre a media geral do turno.


algoritmo "aula19_04"
var
n1,n2,soma,media_t:real
media:vetor[1..10] de real
x:inteiro
inicio
soma<-0
para x de 1 ate 10 faca
escreval("Digite as notas do aluno",x)
leia(n1)
leia(n2)
media[x]<-((n1+n2)/2)
escreval("Média do aluno",x," é",media[x],".")
soma<-soma+media[x]
fimpara
media_t<-soma/10
escreval("******************************")
escreva("Média da turma é",media_t,".")
fimalgoritmo

5- Faça um programa que mostre o mês do ano de acordo com o número (de 1 a 12) informado pelo usuário.

algoritmo "aula19_05"
var
mes:vetor [1..12] de caracter
m:inteiro
inicio
mes[1]<-"Janeiro"
mes[2]<-"Fevereiro"
mes[3]<-"Março"
mes[4]<-"Abril"
mes[5]<-"Maio"
mes[6]<-"Junho"
mes[7]<-"Julho"
mes[8]<-"Agosto"
mes[9]<-"Setembro"
mes[10]<-"Outubro"
mes[11]<-"Novembro"
mes[12]<-"Dezembro"
escreva("Digite um numero que representa o mês: ")
leia(m)
escreva(mes[m])
fimalgoritmo

Aula 18 – 15.06.2011 Logica e Algoritmos


Aula 18 – 15.06.2011 Logica e Algoritmos

Nessa aula foi feita a correção do trabalho anterior

1- Faça um programa que receba dez números inteiros e mostre a quantidade de números primos dentre os números que foram digitados.

algoritmo "aula16_01"
var
primos,num,prim,x,z:inteiro
inicio
primos<-0
para x de 1 ate 10 faca
escreva("Digite um número: ")
leia(num)
prim<-0
para z de 1 ate num faca
se (num mod z=0) entao
prim<-prim+1
fimse
fimpara
se (prim<=2) entao
primos<-primos+1
fimse
fimpara
escreva("Nos números digitados",primos," eram primos...")
fimalgoritmo

Aula 17 – 08.06.2011 Logica e Algoritmos


Aula 17 – 08.06.2011 Logica e Algoritmos

Hoje, mais uma vez a aula foi de exercícios.
Porem foi dado um trabalho para amenizar a nota da prova.

1- Em uma eleição presidencial existem quatro candidatos. Os votos são informados por meio de código. Os códigos utilizados são:


1, 2, 3, 4
Votos para os respectivos candidatos
5
Voto nulo
6
Voto em branco
Faça um programa que calcule e mostre:
o total de votos para cada candidato;
o total de votos nulos;
o total de votos em branco;
a percentagem de votos nulos sobre o total de votos;
a percentagem de votos em branco sobre o total de votos.
Para finalizar o conjunto de votos, tem-se o valor ZERO e, para códigos inválidos, o programa deverá mostrar uma mensagem.

algoritmo " aula17_01"
var
c1,c2,c3,c4,c5,c6,votos,voto,x:inteiro
porc_n,porc_b:real
inicio
c1<-0
c2<-0
c3<-0
c4<-0
c5<-0
c6<-0
votos<-0
repita
escreva("Digite 1, 2, 3, 4, 5, 6, para votar: ")
leia(voto)
votos<-votos+1
se (voto <> 0) e (voto <> 6) e (voto <> 1) e (voto <> 2) e (voto<>3) e (voto<>4) e (voto<>5)entao
repita
escreva("Digite novamente seu voto: ")
leia(voto)
ate (voto > 0) e (voto < 6)
fimse
se (voto=1) entao
c1<-c1+1
senao
se (voto=2) entao
c2<-c2+1
senao
se (voto=3) entao
c3<-c3+1
senao
se (voto=4) entao
c4<-c4+1
senao
se (voto=5) entao
c5<-c5+1
senao
se (voto=6) entao
c6<-c6+1
fimse
fimse
fimse
fimse
fimse
fimse
ate (voto=0)
escreval("O candidato 1 recebeu",c1,".")
escreval("O candidato 2 recebeu",c2,".")
escreval("O candidato 3 recebeu",c3,".")
escreval("O candidato 4 recebeu",c4,".")
escreval("O total de votos nulos é",c5,".")
escreval("O total de votos em branco é",c6,".")
se (c5 <> 0) entao
porc_n<-((votos/100)*c5)
escreval("A porcetagem de nulos é",porc_n,"%.")
senao
escreval("Nenhum voto nulo.")
fimse
se (c6<>0) entao
porc_b<-((votos/100)*c6)
escreval("A porcentagem de brancos é",porc_b,"%.")
senao
escreval("Ninguém votou em branco.")
fimse
fimalgoritmo

2- Faça um programa que receba um conjunto de valores inteiros e positivos, calcule e mostre o maior e o menor valor do conjunto. Considere que:
para encerrar a entrada de dados, deve ser digitado valor zero;
para valores negativos, deve ser enviada uma mensagem;
os valores negativos ou iguais a zero não entram nos cálculos.

algoritmo "aula17_02"
var
top,less,n:inteiro
inicio
top<-0
less<-0
repita
escreva("Digite um número: ")
leia(n)
se (n<0) entao
repita
escreva("Digitou negativo! Digite novamente: ")
leia(n)
ate (n>=0)
fimse
se (top = 0) entao
top<-n
fimse
se (less = 0) entao
less<-n
fimse
se (n > top) e (n <> 0) entao
top <- n
fimse
se (n < less) e (n <> 0) entao
less <- n
fimse
ate (n=0)
se (n=0) e (top=0) entao
escreval("Nenhum número foi digitado")
senao
escreval ("O maior número é",top,".")
escreval ("O menor número é",less,".")
fimse
fimalgoritmo


3- Faça um programa que receba os dados a seguir de vários produtos: preço unitário, país de origem (1- Brasil, 2- Portugal e 3 – outros), meio de transporte (T – terrestre F – fluvial e A – aéreo), carga perigosa (S- sim, N – não), finalize a entrada de dados com um preço inválido, ou seja, menor ou igual a zero e que calcule e mostre:

O valor do imposto, usando a tabela a seguir.







Preço unitário






Percentual de imposto sobre o preço unitário
Até R$ 280,00
5.00%
Maior que R$ 280,00
10.00%

O valor do transporte usando a tabela a seguir






Carga Perigosa




País de Origem




Valor do Transporte


S
1
R$ 140,00
2
R$ 59,00
3
R$ 67,00


N
1
R$ 34,00
2
R$ 59,00
3
R$ 168,00

O valor do seguro, usando a regra a seguir:

Os produtos que vêm de Portugal e os produtos que utilizam transporte aéreo pagam metade do valor do seu preço unitário como seguro.

O preço final, ou seja, preço unitário mais imposto mais valor do transporte mais valor doseguro.

O total dos impostos (somando impostos de todos os produtos).

algoritmo "aula17_03"
var
p,imposto:real
cod_p:inteiro
t,c:caracter
inicio
imposto<-0
repita
escreva("Valor do produto: ")
leia(p)
escreva("Digite (1- Brasil, 2- Portugal e 3 - outros): ")
leia(cod_p)
escreva(" Digite meio de Transporte (T - terrestre, F - fluvial e A - aéreo): ")
leia(t)
escreva("Digite se é Carga perigosa (S- sim, N - não): ")
leia(c)
se (p <= 280) entao
p<-p+((p/100)*5)
senao
p<-p+((p/100)*10)
fimse
se (cod_p = 1) e (c = "n") e ((t="t") ou (t="f")) entao
p<-p+34
imposto<-imposto+34
fimse
se (cod_p = 1) e (c = "n") e (t="a") entao
p<-p+34
p<-p+(p/2)
imposto<-imposto+34
fimse
se (cod_p = 1) e (c = "s") e ((t="t") ou (t="f")) entao
p<-p+140
imposto<-imposto+140
fimse
se (cod_p = 1) e (c = "s") e (t="a") entao
p<-p+140
p<-p+(p/2)
imposto<-imposto+140
fimse
se (cod_p = 2) entao
p<-p+59
imposto<-imposto+59
fimse
se (cod_p = 3) e (c = "s") e ((t="t") ou (t="f")) entao
p<-p+67  
imposto<-imposto+67
fimse
se (cod_p = 3) e (c = "n") e ((t="t") ou (t="f")) entao
p<-p+168
imposto<-imposto+168
fimse
se (cod_p = 3) e (c = "n") e (t="a") entao
p<-p+168
p<-p+(p/2)
imposto<-imposto+168
fimse
se (cod_p = 3) e (c = "s") e (t="a") entao
p<-p+67
p<-p+(p/2)
imposto<-imposto+67
fimse
escreval("Valor total",p,".")
ate (p<=0)
escreval("Total dos impostos é",imposto,".")
fimalgoritmo