Na aula de hoje nos foi passado mais uma matéria nova. Começamos a estudar agora também as matrizes, o professor Jossandro passou a teoria em slides que disponibilizarei abaixo e passou também dois execicios para melhor compreensão na prática, disponibilizarei todos resolvidos.
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 "prova1"
var
not: vetor [1..10, 1..3] de real
cont1, cont2, cont3, l, c: inteiro
inicio
PARA l de 1 ate 10 FACA
PARA c de 1 ate 3 FACA
escreval("Digite a nota da prova ",c," do aluno ",l,": ")
leia(not[l,c])
FIMPARA
FIMPARA
cont1<-0
cont2<-0
cont3<-0
PARA l de 1 ate 10 FACA
SE (not[l,1] <= not[l,2]) e (not[l,1] <= not[l,3]) ENTAO
cont1<- cont1 + 1
escreval("A menor nota do aluno ",l," é ", not[l,1])
SENAO
SE (not[l,2] <= not[l,1]) e (not[l,2] <= not[l,3]) ENTAO
cont2<- cont2 + 1
escreval("A menor nota do aluno ",l," é ", not[l,2])
SENAO
SE (not[l,3] <= not[l,2]) e (not[l,3] <= not[l,1]) ENTAO
cont3<- cont3 + 1
escreval("A menor nota do aluno ",l," é ", not[l,3])
FIMSE
FIMSE
FIMSE
FIMPARA
escreval(cont1," alunos tiveram a menor nota na prova 1")
escreval(cont2," alunos tiveram a menor nota na prova 2")
escreval(cont3," alunos tiveram a menor nota na prova 3")
fimalgoritmo
Download arquivo alg.
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 "soma2"
var
som: vetor [1..5, 1..5] de inteiro
cont, l, c: inteiro
inicio
PARA l de 1 ate 5 FACA
PARA c de 1 ate 5 FACA
escreval("Digite o número referente a linha ",l," e coluna ",c,":")
leia(som[l,c])
FIMPARA
FIMPARA
cont<- 0
PARA l de 1 ate 5 FACA
PARA c de 1 ate 5 FACA
SE (som[l,c] > 50) ENTAO
cont<- cont +1
escreval("O número referente a linha ",l," e coluna ",c," é maior do que 50")
FIMSE
FIMPARA
FIMPARA
SE (cont = 0) ENTAO
escreval("Nenhum número digitado foi maior do que 50")
FIMSE
fimalgoritmo
Download arquivo alg.
Hoje no inicio da explicação achei que teria mais dificuldade com o conteudo, mas depois da explicação do professor vi que a materia não era nem um bicho de sete cabeças, com escessão da matriz tridimensional, na pratica foi bem melhor compreendida, ja que tudo na pratica se é mais entendido, a dificuldade fica por conta da tão falada lógica que as vezes acaba nos traindo, mas consegui resolver os exercicios numa boa.
Webfólio sobre as aulas de Lógica e Algoritmo do Técnico em Informática - T10 - UNISC-RS
quinta-feira, 30 de junho de 2011
domingo, 26 de junho de 2011
AULA 19 - 22/06/2011 - Vetores
Na aula de hoje começamos a utilizar vetores nos algoritmos, o professor Jossandro nos passou toda a teoria que disponibilizarei no slide abaixo, e passou e corrigiu 5 exercícios para começarmos a praticar já que na pratica tudo se entende melhor.
1 - Faça um programa que leia 10 nomes de alunos, guarde em uma lista e mostre.
algoritmo "nome_alunos"
var
nomes: vetor[1..10] de caractere
i: inteiro
inicio
PARA i de 1 ate 10 FACA
escreval ("Digite o nome ",i," :")
leia(nomes[i])
FIMPARA
PARA i de 1 ate 10 FACA
escreval ("O nome ",i," e ", nomes[i])
FIMPARA
fimalgoritmo
Download arquivo alg.
2 - Faça um programa que leia 10 nomes de alunos e sua media final e guarde em listas. Ao final listar o nome dos aluno e sua media, mostrando "aprovado" se a media for maior ou igual a 7 ou "reprovado" caso contrario.
algoritmo "nomes_media"
var
nomes: vetor [1..10] de caracter
medias: vetor [1..10] de real
i: inteiro
inicio
PARA i de 1 ate 10 FACA
escreval("Digite o nome ",i,":")
leia(nomes[i])
escreval("Digite a mmedia do aluno ",i,":")
leia(medias[i])
FIMPARA
PARA i de 1 ate 10 FACA
escreva("Aluno(a) ",nomes[i]," tem media ",medias[i]," e esta ")
SE (medias[i]>=7) ENTAO
escreval("aprovado")
SENAO
escreval("reprovado")
FIMSE
FIMPARA
fimalgoritmo
Download arquivo alg.
3 - Faça um programa que leia 50 valores reais e guarde em um vetor. Ao final mostrar a soma e a media dos valores lidos.
algoritmo "soma_media"
var
num: vetor[1..50] de real
i: inteiro
media, soma: real
inicio
soma<- 0
PARA i de 1 ate 50 FACA
escreval("Digite um numero: ")
leia(num[i])
soma<- soma+num[i]
FIMPARA
media<- soma/50
escreval("A soma dos 50 numeros digitados e: ", soma)
escreval("A media dos 50 numeros digitados e: ", media)
fimalgoritmo
Download arquivo alg.
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 "media_geral"
var
medias: vetor [1..10] de real
i: inteiro
media_tot, nota1, nota2, geral: real
inicio
PARA i de 1 ate 10 FACA
escreval("Digite a primeira nota do aluno ",i," :")
leia(nota1)
escreval("Digite a segunda nota do aluno ",i," :")
leia(nota2)
medias[i]<- ((nota1+nota2)/2)
FIMPARA
limpatela
geral<-0
PARA i de 1 ate 10 FACA
escreval("A media do aluno(a) ",i," e: ",medias[i])
geral<- geral+medias[i]
FIMPARA
media_tot<- geral/50
escreval("A media do turno e: ", media_tot)
fimalgoritmo
Download arquivo alg.
5 - Faça um programa que mostre o mês dos ano de acordo com o numero (de 1 a 12) informado pelo usuário.
algoritmo "mes"
var
mes: vetor[1..12] de caractere
num: 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"
REPITA
escreval("Digite o numero equivalente ao mes desejado: ")
leia(num)
ATE (num>=1) e (num <=12)
escreval("O mes digitado e: ", mes[num])
fimalgoritmo
Download arquivo alg.
Não tive grandes dificuldades, consegui entender com facilidade o novo conteúdo, a minha maior dificuldade nem foi em relação ao conteúdo foi uma falha no meu pensamento logico na questão 5, onde eu deveria apenas utilizar a variável que era utilizada para ler o numero digitado pelo usuário como índice do vetor, mas fora isso achei o conteúdo bem fácil.
1 - Faça um programa que leia 10 nomes de alunos, guarde em uma lista e mostre.
algoritmo "nome_alunos"
var
nomes: vetor[1..10] de caractere
i: inteiro
inicio
PARA i de 1 ate 10 FACA
escreval ("Digite o nome ",i," :")
leia(nomes[i])
FIMPARA
PARA i de 1 ate 10 FACA
escreval ("O nome ",i," e ", nomes[i])
FIMPARA
fimalgoritmo
Download arquivo alg.
2 - Faça um programa que leia 10 nomes de alunos e sua media final e guarde em listas. Ao final listar o nome dos aluno e sua media, mostrando "aprovado" se a media for maior ou igual a 7 ou "reprovado" caso contrario.
algoritmo "nomes_media"
var
nomes: vetor [1..10] de caracter
medias: vetor [1..10] de real
i: inteiro
inicio
PARA i de 1 ate 10 FACA
escreval("Digite o nome ",i,":")
leia(nomes[i])
escreval("Digite a mmedia do aluno ",i,":")
leia(medias[i])
FIMPARA
PARA i de 1 ate 10 FACA
escreva("Aluno(a) ",nomes[i]," tem media ",medias[i]," e esta ")
SE (medias[i]>=7) ENTAO
escreval("aprovado")
SENAO
escreval("reprovado")
FIMSE
FIMPARA
fimalgoritmo
Download arquivo alg.
3 - Faça um programa que leia 50 valores reais e guarde em um vetor. Ao final mostrar a soma e a media dos valores lidos.
algoritmo "soma_media"
var
num: vetor[1..50] de real
i: inteiro
media, soma: real
inicio
soma<- 0
PARA i de 1 ate 50 FACA
escreval("Digite um numero: ")
leia(num[i])
soma<- soma+num[i]
FIMPARA
media<- soma/50
escreval("A soma dos 50 numeros digitados e: ", soma)
escreval("A media dos 50 numeros digitados e: ", media)
fimalgoritmo
Download arquivo alg.
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 "media_geral"
var
medias: vetor [1..10] de real
i: inteiro
media_tot, nota1, nota2, geral: real
inicio
PARA i de 1 ate 10 FACA
escreval("Digite a primeira nota do aluno ",i," :")
leia(nota1)
escreval("Digite a segunda nota do aluno ",i," :")
leia(nota2)
medias[i]<- ((nota1+nota2)/2)
FIMPARA
limpatela
geral<-0
PARA i de 1 ate 10 FACA
escreval("A media do aluno(a) ",i," e: ",medias[i])
geral<- geral+medias[i]
FIMPARA
media_tot<- geral/50
escreval("A media do turno e: ", media_tot)
fimalgoritmo
Download arquivo alg.
5 - Faça um programa que mostre o mês dos ano de acordo com o numero (de 1 a 12) informado pelo usuário.
algoritmo "mes"
var
mes: vetor[1..12] de caractere
num: 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"
REPITA
escreval("Digite o numero equivalente ao mes desejado: ")
leia(num)
ATE (num>=1) e (num <=12)
escreval("O mes digitado e: ", mes[num])
fimalgoritmo
Download arquivo alg.
Não tive grandes dificuldades, consegui entender com facilidade o novo conteúdo, a minha maior dificuldade nem foi em relação ao conteúdo foi uma falha no meu pensamento logico na questão 5, onde eu deveria apenas utilizar a variável que era utilizada para ler o numero digitado pelo usuário como índice do vetor, mas fora isso achei o conteúdo bem fácil.
quarta-feira, 22 de junho de 2011
AULAS 17 e 18 - 08/06/2011 e 15/06/2011 - Exercicios de recuperação...
Na aula 17 o professor Jossandro passou um trabalho para recuperar as notas da prova, contendo ele três questões que deveriam ser resolvidas e enviadas por email a ele, com o prazo de entrega sendo até dia 13/06/2011 as 23:59 h. Ja na aula 18 foi então corrigidas as três questões e foi passada mais uma apenas para exercitar.
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 "Questão_1"
var
voto, cand1, cand2, cand3, cand4, cand5, cand6, cont_total: inteiro
porc_nulos, porc_branco: real
inicio
escreval("Digite seu voto: ")
leia(voto)
SE (voto<0) ou (voto>6) ENTAO
REPITA
escreval("Essa opção de voto não existe. Digite o voto novamente: ")
leia(voto)
ATE (voto>0) e (voto<7)
FIMSE
cand1<- 0
cand2<- 0
cand3<- 0
cand4<- 0
cand5<- 0
cand6<- 0
cont_total<- 0
porc_nulos<- 0
porc_branco<- 0
SE (voto<>0) ENTAO
REPITA
SE (voto=1) ENTAO
cand1<- cand1+1
FIMSE
SE (voto=2) ENTAO
cand2<- cand2+1
FIMSE
SE (voto=3) ENTAO
cand3<- cand3+1
FIMSE
SE (voto=4) ENTAO
cand4<- cand4+1
FIMSE
SE (voto=5) ENTAO
cand5<- cand5+1
FIMSE
SE (voto=6) ENTAO
cand6<- cand6+1
FIMSE
cont_total<- cont_total+1
porc_nulos<- cand5*100/cont_total
porc_branco<- cand6*100/cont_total
escreval("Digite o seu voto: ")
leia(voto)
SE (voto<0) ou (voto>6) ENTAO
REPITA
escreval("Essa opção de voto não existe. Digite o voto novamente: ")
leia(voto)
ATE (voto>0) e (voto<=6)
FIMSE
ATE (voto=0)
FIMSE
escreval("A votação foi encerrada")
escreval("O candidado 1 teve: ",cand1," votos")
escreval("O candidado 2 teve: ",cand2," votos")
escreval("O candidado 3 teve: ",cand3," votos")
escreval("O candidado 4 teve: ",cand4," votos")
escreval("Tiveram ",cand5," votos nulos")
escreval("Tiveram ",cand6," votos em branco")
escreval("A porcentagem de votos nulos sobre o total de votos foi de ", porc_nulos," %")
escreval("A porcentagem de votos em branco sobre o total de votos foi de ", porc_branco,"%")
fimalgoritmo
var
voto, cand1, cand2, cand3, cand4, cand5, cand6, cont_total: inteiro
porc_nulos, porc_branco: real
inicio
escreval("Digite seu voto: ")
leia(voto)
SE (voto<0) ou (voto>6) ENTAO
REPITA
escreval("Essa opção de voto não existe. Digite o voto novamente: ")
leia(voto)
ATE (voto>0) e (voto<7)
FIMSE
cand1<- 0
cand2<- 0
cand3<- 0
cand4<- 0
cand5<- 0
cand6<- 0
cont_total<- 0
porc_nulos<- 0
porc_branco<- 0
SE (voto<>0) ENTAO
REPITA
SE (voto=1) ENTAO
cand1<- cand1+1
FIMSE
SE (voto=2) ENTAO
cand2<- cand2+1
FIMSE
SE (voto=3) ENTAO
cand3<- cand3+1
FIMSE
SE (voto=4) ENTAO
cand4<- cand4+1
FIMSE
SE (voto=5) ENTAO
cand5<- cand5+1
FIMSE
SE (voto=6) ENTAO
cand6<- cand6+1
FIMSE
cont_total<- cont_total+1
porc_nulos<- cand5*100/cont_total
porc_branco<- cand6*100/cont_total
escreval("Digite o seu voto: ")
leia(voto)
SE (voto<0) ou (voto>6) ENTAO
REPITA
escreval("Essa opção de voto não existe. Digite o voto novamente: ")
leia(voto)
ATE (voto>0) e (voto<=6)
FIMSE
ATE (voto=0)
FIMSE
escreval("A votação foi encerrada")
escreval("O candidado 1 teve: ",cand1," votos")
escreval("O candidado 2 teve: ",cand2," votos")
escreval("O candidado 3 teve: ",cand3," votos")
escreval("O candidado 4 teve: ",cand4," votos")
escreval("Tiveram ",cand5," votos nulos")
escreval("Tiveram ",cand6," votos em branco")
escreval("A porcentagem de votos nulos sobre o total de votos foi de ", porc_nulos," %")
escreval("A porcentagem de votos em branco sobre o total de votos foi de ", porc_branco,"%")
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 "questao2"
var
num, maior, menor: inteiro
inicio
escreval("Digite um número inteiro e positivo: ")
leia(num)
SE (num<>0) ENTAO
ENQUANTO (num<0) FACA
escreval("Você digitou um número inválido")
leia(num)
FIMENQUANTO
SE (num<>0) ENTAO
maior<- num
menor<- num
REPITA
SE (maior<num) ou (maior = num) ENTAO
maior<- num
FIMSE
SE (menor>num) ou (menor=num) ENTAO
menor<- num
FIMSE
escreval("Digite um número inteiro e positivo: ")
leia(num)
ENQUANTO (num<0) FACA
escreval("Você digitou um número inválido")
leia(num)
FIMENQUANTO
ATE (num=0)
FIMSE
FIMSE
SE (maior=0) e (menor=0) ENTAO
escreval("Você não digitou nenhum número")
SENAO
escreval("O maior número é: ", maior)
escreval("O menor número é: ", menor)
FIMSE
fimalgoritmo
var
num, maior, menor: inteiro
inicio
escreval("Digite um número inteiro e positivo: ")
leia(num)
SE (num<>0) ENTAO
ENQUANTO (num<0) FACA
escreval("Você digitou um número inválido")
leia(num)
FIMENQUANTO
SE (num<>0) ENTAO
maior<- num
menor<- num
REPITA
SE (maior<num) ou (maior = num) ENTAO
maior<- num
FIMSE
SE (menor>num) ou (menor=num) ENTAO
menor<- num
FIMSE
escreval("Digite um número inteiro e positivo: ")
leia(num)
ENQUANTO (num<0) FACA
escreval("Você digitou um número inválido")
leia(num)
FIMENQUANTO
ATE (num=0)
FIMSE
FIMSE
SE (maior=0) e (menor=0) ENTAO
escreval("Você não digitou nenhum número")
SENAO
escreval("O maior número é: ", maior)
escreval("O menor número é: ", menor)
FIMSE
fimalgoritmo
Download arquivo alg.
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 do seguro.
- O total dos impostos (somando impostos de todos os produtos).
algoritmo "questao3"
var
prec_unit, pais, trans2, prec_total, seguro, porc_impos, imp, imp_total: real
trans, carga: caracter
inicio
imp_total<-0
escreval("Digite o preço unitário: ")
leia(prec_unit)
ENQUANTO (prec_unit<0) FACA
escreva("Valor inválido. Digite novamente: ")
leia(prec_unit)
FIMENQUANTO
SE (prec_unit<>0) ENTAO
REPITA
escreval("Digite o país de origem (1- Brasil, 2- Portugal e 3- outros):")
leia(pais)
ENQUANTO (pais<1) ou (pais>3) FACA
escreval("Pais inválido. Digite novamente: ")
leia(pais)
FIMENQUANTO
escreval("Digite o meio de transporte (T - terrestre, F - fluvial e A - aéreo): ")
leia(trans)
ENQUANTO (trans<>"T") e (trans<>"F") e (trans<>"A") FACA
escreval("Você digitou um meio de transporte inválido. Digite novamente: ")
leia(trans)
FIMENQUANTO
escreval("É carga perigosa (S - sim, N - não): ")
leia(carga)
ENQUANTO (carga<>"S") e (carga<>"N") FACA
escreval("Você digitou uma tipo de carga inválido. Digite novamente: ")
leia(carga)
FIMENQUANTO
SE (prec_unit<280) ou (prec_unit=280) ENTAO
porc_impos<- prec_unit*5/100
SENAO
SE (prec_unit>280) ENTAO
porc_impos<- prec_unit*10/100
FIMSE
FIMSE
SE (carga="s") ENTAO
SE (pais=1) ENTAO
trans2<- 140
FIMSE
SE (pais=2) ENTAO
trans2<- 59
FIMSE
SE (pais=3) ENTAO
trans2<- 67
FIMSE
SENAO
SE (carga="n") ENTAO
SE (pais=1) ENTAO
trans2<- 34
FIMSE
SE (pais=2) ENTAO
trans2<- 59
FIMSE
SE (trans=3) ENTAO
trans2<- 168
FIMSE
FIMSE
FIMSE
SE (pais=2) ou (trans="a") ENTAO
seguro<- prec_unit/2
SENAO
SE (pais<>2) ou (trans<>"a") ENTAO
seguro<-0
FIMSE
FIMSE
prec_total<- prec_unit+porc_impos+seguro+trans2
imp<- porc_impos
imp_total<- imp_total+imp
prec_total<- prec_unit+porc_impos+seguro+trans2
limpatela
escreval("")
escreval("O imposto unitário custa: ",porc_impos," reais")
escreval("O transporte custa: ",trans2," reais")
escreval("O seguro custa: ",seguro," reais")
escreval("O preço final é: ",prec_total," reais")
escreval("")
escreval("Digite o proximo valor unitário: ")
leia(prec_unit)
ENQUANTO (prec_unit<0) FACA
escreva("Valor inválido. Digite novamente: ")
leia(prec_unit)
FIMENQUANTO
ATE (prec_unit=0)
SENAO
escreval("Você não digitou nenhum valor válido.")
FIMSE
escreval("O total dos impostos é: ",imp_total," reais")
fimalgoritmo
var
prec_unit, pais, trans2, prec_total, seguro, porc_impos, imp, imp_total: real
trans, carga: caracter
inicio
imp_total<-0
escreval("Digite o preço unitário: ")
leia(prec_unit)
ENQUANTO (prec_unit<0) FACA
escreva("Valor inválido. Digite novamente: ")
leia(prec_unit)
FIMENQUANTO
SE (prec_unit<>0) ENTAO
REPITA
escreval("Digite o país de origem (1- Brasil, 2- Portugal e 3- outros):")
leia(pais)
ENQUANTO (pais<1) ou (pais>3) FACA
escreval("Pais inválido. Digite novamente: ")
leia(pais)
FIMENQUANTO
escreval("Digite o meio de transporte (T - terrestre, F - fluvial e A - aéreo): ")
leia(trans)
ENQUANTO (trans<>"T") e (trans<>"F") e (trans<>"A") FACA
escreval("Você digitou um meio de transporte inválido. Digite novamente: ")
leia(trans)
FIMENQUANTO
escreval("É carga perigosa (S - sim, N - não): ")
leia(carga)
ENQUANTO (carga<>"S") e (carga<>"N") FACA
escreval("Você digitou uma tipo de carga inválido. Digite novamente: ")
leia(carga)
FIMENQUANTO
SE (prec_unit<280) ou (prec_unit=280) ENTAO
porc_impos<- prec_unit*5/100
SENAO
SE (prec_unit>280) ENTAO
porc_impos<- prec_unit*10/100
FIMSE
FIMSE
SE (carga="s") ENTAO
SE (pais=1) ENTAO
trans2<- 140
FIMSE
SE (pais=2) ENTAO
trans2<- 59
FIMSE
SE (pais=3) ENTAO
trans2<- 67
FIMSE
SENAO
SE (carga="n") ENTAO
SE (pais=1) ENTAO
trans2<- 34
FIMSE
SE (pais=2) ENTAO
trans2<- 59
FIMSE
SE (trans=3) ENTAO
trans2<- 168
FIMSE
FIMSE
FIMSE
SE (pais=2) ou (trans="a") ENTAO
seguro<- prec_unit/2
SENAO
SE (pais<>2) ou (trans<>"a") ENTAO
seguro<-0
FIMSE
FIMSE
prec_total<- prec_unit+porc_impos+seguro+trans2
imp<- porc_impos
imp_total<- imp_total+imp
prec_total<- prec_unit+porc_impos+seguro+trans2
limpatela
escreval("")
escreval("O imposto unitário custa: ",porc_impos," reais")
escreval("O transporte custa: ",trans2," reais")
escreval("O seguro custa: ",seguro," reais")
escreval("O preço final é: ",prec_total," reais")
escreval("")
escreval("Digite o proximo valor unitário: ")
leia(prec_unit)
ENQUANTO (prec_unit<0) FACA
escreva("Valor inválido. Digite novamente: ")
leia(prec_unit)
FIMENQUANTO
ATE (prec_unit=0)
SENAO
escreval("Você não digitou nenhum valor válido.")
FIMSE
escreval("O total dos impostos é: ",imp_total," reais")
fimalgoritmo
algoritmo "primo"
var
x, num, soma_prim, divid, z: inteiro
inicio
soma_prim<- 0
PARA x de 1 ate 10 FACA
escreval("Digite o ",x," numero: ")
leia(num)
divid<- 0
PARA z de 1 ate num FACA
SE (num mod z=0) ENTAO
divid<- divid+1
FIMSE
FIMPARA
SE (divid<2) ou (divid=2) ENTAO
soma_prim<- soma_prim+1
FIMSE
FIMPARA
escreval("Entre os numeros digitados", soma_prim," eram primos")
fimalgoritmo
Download arquivo alg.
No inicio achei um pouco complicado resolver aquelas três questões mas mesmo assim optei por resolve-las sozinho, estou no aguardo da correção mas acredito que me sai muito bem, recuperando boa parte da nota perdida na prova. Ja na ultima questão passada pelo professor apenas para exercitar tive muita dificuldade já que ali teria que calcular os números primos, conta a qual em sempre me complico, mas como disse para o professor agora ela pode vir ate na próxima prova com certeza não me complicarei mais.
quarta-feira, 1 de junho de 2011
AULA 16 - 01/06/2011 - Exercícios
Na aula de hoje foi acordado com o professor e continuamos fazendo exércicios sobre estruturas de repetição, resolvendo duas questões, sendo corrigido apenas a primeira.
algoritmo "preco"
var
media_men, preco_atu, porc_a, porc_a2, porc_d: real
inicio
escreval("Digite a média mensal do produto")
leia(media_men)
escreval("Digite o preço atual do produto")
leia(preco_atu)
SE (media_men<500) ou (preco_atu<30.00) ENTAO
porc_a<- ((preco_atu*10/100)+preco_atu)
escreval("O novo preço é:", porc_a)
FIMSE
SE ((media_men>=500) e (media_men<1200)) ou ((preco_atu>=30.00) e (preco_atu<80.00)) ENTAO
porc_atu2<- ((preco_atu*15/100)+preco_atu)
escreval("O novo preço é:", porc_a2)
FIMSE
SE (media_men>=1200) ou (preco_atu>=80.00) ENTAO
porc_d<- preco_atu-(preco_atu*20/100)
escreval("O novo preço é:", porc_d)
FIMSE
fimalgoritmo
Download arquivo alg.
O professor acabou conversando com a turma, e pedindo sugestões de como nos poderiamos melhorar as esplicações e etc, pois recebemos os resultados da prova, não sendo muito agradavel, ja que apenas 5 alunos passaram, mas no final da aula o Jossandro acabou reforçando as teorias sobre as estruturas dos comandos de repetições, que foram vistos inicialmente na aula 09. Em relação aos exercícios desta aula, não tive muita dificuldade, apenas na segunda questão que precisei olhar a lógica no livro, mas depois consegui resolver.
1 - Um supermercado deseja reajustar os preços de seus produtos usando o seguinte critério, o produto poderá ter o preço aumentado ou diminuído. Para o preço ser alterado, o produto deve preencher pelo menos um dos requisitos a seguir
VENDA MEDIA | PREÇO ATUAL | % DE AUMENTO | % DE DIMINUIÇÃO |
<500 | <R$30,00 | 10 | - |
>=500 e <1.200 | >=R$30,00 e <R$ 80,00 | 15 | - |
>=1200 | >=R$80,00 | - | 20 |
Faça um programa que receba o preço atual e a venda media mensal do produto, caucule e mostre o novo preço.
algoritmo "preco"
var
media_men, preco_atu, porc_a, porc_a2, porc_d: real
inicio
escreval("Digite a média mensal do produto")
leia(media_men)
escreval("Digite o preço atual do produto")
leia(preco_atu)
SE (media_men<500) ou (preco_atu<30.00) ENTAO
porc_a<- ((preco_atu*10/100)+preco_atu)
escreval("O novo preço é:", porc_a)
FIMSE
SE ((media_men>=500) e (media_men<1200)) ou ((preco_atu>=30.00) e (preco_atu<80.00)) ENTAO
porc_atu2<- ((preco_atu*15/100)+preco_atu)
escreval("O novo preço é:", porc_a2)
FIMSE
SE (media_men>=1200) ou (preco_atu>=80.00) ENTAO
porc_d<- preco_atu-(preco_atu*20/100)
escreval("O novo preço é:", porc_d)
FIMSE
fimalgoritmo
Download arquivo alg.
2 - Faça um programa que monte os oito primeiros termos da sequencia de Fibonacci.
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ...
algoritmo "fibonacci"
var
res, cont, n1, n2:real
inicio
cont<-0
n1<-0
n2<-1
escreval(n1)
escreval(n2)
ENQUANTO (cont<8) FACA
cont<- cont+1
res<- n1+n2
escreval(res)
n1<-n2
n2<-res
FIMENQUANTO
fimalgoritmo
Download arquivo alg.
var
res, cont, n1, n2:real
inicio
cont<-0
n1<-0
n2<-1
escreval(n1)
escreval(n2)
ENQUANTO (cont<8) FACA
cont<- cont+1
res<- n1+n2
escreval(res)
n1<-n2
n2<-res
FIMENQUANTO
fimalgoritmo
Download arquivo alg.
O professor acabou conversando com a turma, e pedindo sugestões de como nos poderiamos melhorar as esplicações e etc, pois recebemos os resultados da prova, não sendo muito agradavel, ja que apenas 5 alunos passaram, mas no final da aula o Jossandro acabou reforçando as teorias sobre as estruturas dos comandos de repetições, que foram vistos inicialmente na aula 09. Em relação aos exercícios desta aula, não tive muita dificuldade, apenas na segunda questão que precisei olhar a lógica no livro, mas depois consegui resolver.
domingo, 29 de maio de 2011
AULAS 14 e 15 - 25/05/2011 e 26/05/2011 - Prova e correção dos exercícios.
Na aula 14 fizemos a prova, nela continha 3 questões e na aula 15 foram todas corrigidas pelo professor Jossandro.
algoritmo "triangulo"
var
x, y, z:inteiro
inicio
escreval("Digite a medida dos 3 lados do triangulo")
leia(x, y, z)
se (x >= y+z) ou (y >= x+z) ou (z >= x+y) entao
escreval("As medidas informadas nao formam um triangulo")
senao
se (x=y) e (y=z) entao
escreval("Triangulo equilatero - todos os lados iguais")
senao
se (x=y) ou (x=z) ou (y=z) entao
escreval("Triangulo isoceles - 2 lados iguais")
senao
se (x<>y) e (x<>z) e (y<>z) entao
escreval("Triangulo escaleno - todos os lados diferentes")
fimse
fimse
fimse
fimse
fimalgoritmo
Download arquivo alg.
algoritmo "calculos"
var
num, prim, soma_prim, soma, qtd, z, maior, menor, qtd_par, soma_par, qtd_impar: inteiro
media_par, media, perc : real
inicio
qtd <- 0
qtd_par<-0
soma_par <-0
soma_prim <- 0
qtd_impar <-0
escreval("Digite um numero")
leia(num)
repita
se (qtd=0) entao
maior <- num
menor <- num
senao
se (num > maior) entao
maior <- num
fimse
se (num < menor ) entao
menor <- num
fimse
fimse
soma <- soma + num
qtd <- qtd + 1
se (num mod 2 = 0) entao
soma_par <- soma_par + num
qtd_par <- qtd_par + 1
senao
qtd_impar <- qtd_impar + 1
fimse
prim <- 0
para z de 1 ate num faca
se (num mod z = 0) entao
prim <- prim + 1
fimse
fimpara
se (prim <= 2)entao
soma_prim <- soma_prim + num
fimse
leia(num)
ate(num=99999)
se (qtd = 0) entao
escreval("Nenhum numero digitado")
senao
escreval("A soma e ",soma)
escreval("A quantidade e ",qtd)
media <- soma / qtd
escreval("A media e ", media)
escreval("O maior e ", maior)
escreval("O menor e ", menor)
se (qtd_par = 0 ) entao
escreval("Nenhum numero par foi digitado")
senao
media_par <- soma_par / qtd_par
escreval("A media dos pares e ", media_par)
fimse
perc <- qtd_impar * 100 / qtd
escreval("O percentual de impares e ", perc)
escreval("A soma dos primos e ",soma_prim)
fimse
fimalgoritmo
Download arquivo alg.
A prova não estava difícil, mas eu acabei me enrolando em um questão fácil como a 1, a dois tive mais dificuldade pois a parte onde o angulo poderia dar mais de uma volta, eu teria de ter usado o comando mod para saber a qual quadrante o angulo pertenceria, já na questão três eu consegui fazer quase toda, faltando apenas a parte dos números primos.
1 - Dados três valores x, y e z, faça um algoritmo para verificar se eles podem ser os comprimentos dos lados de um triângulo e, se forem, verifique se é um triângulo eqüilátero, isóscele ou escaleno. Se eles não formarem um triângulo escreva uma mensagem de alerta. Considere que:
* O comprimento de cada lado de um triângulo é menor do que a soma dos outros dois lados;
* Um triângulo eqüilátero tem os seus três lados iguais;
* Um triângulo isóscele tem o comprimento de dois lados iguais; e
* Um triângulo escaleno tem os três lados diferentes.
algoritmo "triangulo"
var
x, y, z:inteiro
inicio
escreval("Digite a medida dos 3 lados do triangulo")
leia(x, y, z)
se (x >= y+z) ou (y >= x+z) ou (z >= x+y) entao
escreval("As medidas informadas nao formam um triangulo")
senao
se (x=y) e (y=z) entao
escreval("Triangulo equilatero - todos os lados iguais")
senao
se (x=y) ou (x=z) ou (y=z) entao
escreval("Triangulo isoceles - 2 lados iguais")
senao
se (x<>y) e (x<>z) e (y<>z) entao
escreval("Triangulo escaleno - todos os lados diferentes")
fimse
fimse
fimse
fimse
fimalgoritmo
Download arquivo alg.
2 - Faça um programa que receba a medida de um ângulo em graus. Calcule e mostre o quadrante em que se localiza esse ângulo. Considere os quadrantes da trigonometria e, no caso de ângulos maiores que 360º ou menores que -360º, reduzi-los, mostrando também o número de voltas e o sentido da volta (horário ou anti-horário).
algoritmo "angulo"
var
a: inteiro
voltas: real
inicio
escreval("Digite um angulo")
leia(a)
se (a>360) ou (a < -360) entao
voltas <- a / 360
a <- a mod 360
senao
voltas <- 0
fimse
se (a=0) ou (a=90) ou (a=180) ou (a=270) ou (a=360) ou (a=-90) ou (a=-180) ou (a=-270) ou (a=-360) entao
escreval("Esta sobre um dos eixos")
senao
se ((a >0) e (a < 90)) ou ((a < -270) e (a > -360)) entao
escreval("1 quadrante")
fimse
se ((a >90) e (a < 180)) ou ((a < -180) e (a > -270)) entao
escreval("2 quadrante")
fimse
se ((a >180) e (a < 270)) ou ((a < -90) e (a > -180)) entao
escreval("3 quadrante")
fimse
se ((a >270) e (a < 360)) ou ((a < 0) e (a > -90)) entao
escreval("4 quadrante")
fimse
escreva(" ", voltas," voltas no sentido ")
se (a<0) entao
escreval(" horario")
senao
escreval(" anti-horario")
fimse
fimse
fimalgoritmo
Download arquivo alg.
var
a: inteiro
voltas: real
inicio
escreval("Digite um angulo")
leia(a)
se (a>360) ou (a < -360) entao
voltas <- a / 360
a <- a mod 360
senao
voltas <- 0
fimse
se (a=0) ou (a=90) ou (a=180) ou (a=270) ou (a=360) ou (a=-90) ou (a=-180) ou (a=-270) ou (a=-360) entao
escreval("Esta sobre um dos eixos")
senao
se ((a >0) e (a < 90)) ou ((a < -270) e (a > -360)) entao
escreval("1 quadrante")
fimse
se ((a >90) e (a < 180)) ou ((a < -180) e (a > -270)) entao
escreval("2 quadrante")
fimse
se ((a >180) e (a < 270)) ou ((a < -90) e (a > -180)) entao
escreval("3 quadrante")
fimse
se ((a >270) e (a < 360)) ou ((a < 0) e (a > -90)) entao
escreval("4 quadrante")
fimse
escreva(" ", voltas," voltas no sentido ")
se (a<0) entao
escreval(" horario")
senao
escreval(" anti-horario")
fimse
fimse
fimalgoritmo
Download arquivo alg.
3 - Faça um programa que receba vários números, calcule e mostre:
- a soma dos números digitados;
- a quantidade de números digitados;
- a média dos números digitados;
- o maior número digitado;
- o menor número digitado
- a média dos números pares;
- a porcentagem de números ímpares entre todos os números digitados;
- a soma dos números primos digitados;
Finalize a entrada de dados com a digitação do número 99999. Este número não pode considerado nos cálculos.
algoritmo "calculos"
var
num, prim, soma_prim, soma, qtd, z, maior, menor, qtd_par, soma_par, qtd_impar: inteiro
media_par, media, perc : real
inicio
qtd <- 0
qtd_par<-0
soma_par <-0
soma_prim <- 0
qtd_impar <-0
escreval("Digite um numero")
leia(num)
repita
se (qtd=0) entao
maior <- num
menor <- num
senao
se (num > maior) entao
maior <- num
fimse
se (num < menor ) entao
menor <- num
fimse
fimse
soma <- soma + num
qtd <- qtd + 1
se (num mod 2 = 0) entao
soma_par <- soma_par + num
qtd_par <- qtd_par + 1
senao
qtd_impar <- qtd_impar + 1
fimse
prim <- 0
para z de 1 ate num faca
se (num mod z = 0) entao
prim <- prim + 1
fimse
fimpara
se (prim <= 2)entao
soma_prim <- soma_prim + num
fimse
leia(num)
ate(num=99999)
se (qtd = 0) entao
escreval("Nenhum numero digitado")
senao
escreval("A soma e ",soma)
escreval("A quantidade e ",qtd)
media <- soma / qtd
escreval("A media e ", media)
escreval("O maior e ", maior)
escreval("O menor e ", menor)
se (qtd_par = 0 ) entao
escreval("Nenhum numero par foi digitado")
senao
media_par <- soma_par / qtd_par
escreval("A media dos pares e ", media_par)
fimse
perc <- qtd_impar * 100 / qtd
escreval("O percentual de impares e ", perc)
escreval("A soma dos primos e ",soma_prim)
fimse
fimalgoritmo
Download arquivo alg.
A prova não estava difícil, mas eu acabei me enrolando em um questão fácil como a 1, a dois tive mais dificuldade pois a parte onde o angulo poderia dar mais de uma volta, eu teria de ter usado o comando mod para saber a qual quadrante o angulo pertenceria, já na questão três eu consegui fazer quase toda, faltando apenas a parte dos números primos.
domingo, 22 de maio de 2011
AULAS 12 e 13 - 18/05/2011 e 19/05/2011 - Revisão para prova .
Nestas aulas foram aplicadas 8 questões, uma especie de simulado, para a prova que será dia 25/05/2011. Na primeira aula foi passada as questões e na segunda foram corrigidas.
1 - Faça um programa que recebe um número positivo e maior que zero, calcule e mostre:
a) o número digitado ao quadrado;
b) o número digitado ao cubo;
c) a raiz quadrada do número digitado;
d) a raiz cúbica do número digitado.
algoritmo "quest_1"
var
n, nq, cubo, rq, rc: real
inicio
leia(n)
se (n<=0) entao
escreval("Digite um nro maior que zero")
senao
nq <- n^2
escreval("O nro ao quadrado e ",nq)
cubo <- n^3
escreval("O nro ao cubo e ",cubo)
rq <- RaizQ(n)
escreval("A raiz quadrada e ",rq)
rc <- n^(1/3)
escreval("A raiz cubica e ", rc)
fimse
fimalgoritmo
n, nq, cubo, rq, rc: real
inicio
leia(n)
se (n<=0) entao
escreval("Digite um nro maior que zero")
senao
nq <- n^2
escreval("O nro ao quadrado e ",nq)
cubo <- n^3
escreval("O nro ao cubo e ",cubo)
rq <- RaizQ(n)
escreval("A raiz quadrada e ",rq)
rc <- n^(1/3)
escreval("A raiz cubica e ", rc)
fimse
fimalgoritmo
2 - Faça um programa para verificar se um inteiro positivo lido é par ou ímpar (mostre por escrito se é par ou ímpar). Se o número for ímpar, multiplique por 2 e mostre o resultado, caso contrário multiplique por ½ e mostre o resultado. (OBS: Par: x mod 2 = 0)
algoritmo "parimpar"
var
result:real
n:inteiro
inicio
leia(n)
se (n mod 2 = 0) entao
escreval("o numero lido é par")
result <- n * 1/2
senao
escreval("o numero lido é impar")
result <- n * 2
fimse
escreval(result)
fimalgoritmo
result:real
n:inteiro
inicio
leia(n)
se (n mod 2 = 0) entao
escreval("o numero lido é par")
result <- n * 1/2
senao
escreval("o numero lido é impar")
result <- n * 2
fimse
escreval(result)
fimalgoritmo
3 - Faça um programa que receba o custo total de um espetáculo teatral e o preço do convite desse espetáculo. Esse programa deverá calcular e mostrar a quantidade de convites que devem ser vendidos para que pelo menos o custo do espetáculo seja alcançado.
algoritmo "teatro"
var
total, ingresso, qtd:real
inicio
escreval("Digite o custo total do espetaculo")
leia(total)
escreval("Digite o custo do ingresso")
leia(ingresso)
qtd <- total/ingresso
escreval("Voce deve vender no minimo ",qtd, " ingressos")
fimalgoritmo
total, ingresso, qtd:real
inicio
escreval("Digite o custo total do espetaculo")
leia(total)
escreval("Digite o custo do ingresso")
leia(ingresso)
qtd <- total/ingresso
escreval("Voce deve vender no minimo ",qtd, " ingressos")
fimalgoritmo
4 - Faça um programa que receba três números e mostre-os em ordem decrescente.
algoritmo "decrescente"
var
A, B, C : inteiro
inicio
escreval("Digite 3 numeros para ordenar descrescente")
leia (A, B, C)
se (A > B) e (A > C) entao
se (B > C) entao
escreval (A, B, C)
senao
escreval (A, C, B)
fimse
senao
se (B > A) e (B > C) entao
se( A > C) entao
escreval (B, A, C)
senao
escreval (B, C, A)
fimse
senao
se (C > A) e (C > B) entao
se ( A > B) entao
escreval (C, A, B)
senao
escreval (C, B, A)
fimse
fimse
fimse
fimse
fimalgoritmo
A, B, C : inteiro
inicio
escreval("Digite 3 numeros para ordenar descrescente")
leia (A, B, C)
se (A > B) e (A > C) entao
se (B > C) entao
escreval (A, B, C)
senao
escreval (A, C, B)
fimse
senao
se (B > A) e (B > C) entao
se( A > C) entao
escreval (B, A, C)
senao
escreval (B, C, A)
fimse
senao
se (C > A) e (C > B) entao
se ( A > B) entao
escreval (C, A, B)
senao
escreval (C, B, A)
fimse
fimse
fimse
fimse
fimalgoritmo
5 - Faça um programa que receba a hora do início de um jogo e a hora final (cada hora é composta por duas variáveis inteiras: hora e minuto). Calcule e mostre a duração do jogo (horas e minutos), sabendo-se que o tempo máximo de duração do jogo é de 24 horas e que ele pode iniciar-se em um dia e terminar no dia seguinte.
algoritmo "horaJogo"
var
horaIni, minIni, horaFim, minFim, minDif, horaDif:inteiro
inicio
escreval("Digite hora e minutos do inicio do jogo ")
leia(horaIni, minIni)
escreval("Digite hora e minutos do fim do jogo ")
leia(horaFim, minFim)
se (minIni > minFim) entao
minFim <- minFim + 60
horaFim <- horaFim - 1
fimse
se (horaIni > horaFim) entao
horaFim <- horaFim + 24
fimse
minDif <- (minFim - minIni)
horaDif <- (horaFim - horaIni)
escreval("O jogo durou", horaDif, " horas e ", minDif, " minutos")
fimalgoritmo
horaIni, minIni, horaFim, minFim, minDif, horaDif:inteiro
inicio
escreval("Digite hora e minutos do inicio do jogo ")
leia(horaIni, minIni)
escreval("Digite hora e minutos do fim do jogo ")
leia(horaFim, minFim)
se (minIni > minFim) entao
minFim <- minFim + 60
horaFim <- horaFim - 1
fimse
se (horaIni > horaFim) entao
horaFim <- horaFim + 24
fimse
minDif <- (minFim - minIni)
horaDif <- (horaFim - horaIni)
escreval("O jogo durou", horaDif, " horas e ", minDif, " minutos")
fimalgoritmo
6 - Faça um programa que receba cem números, calcule e mostre a soma dos números pares e a média dos números primos.
algoritmo "soma"
var
x,y,nro,primo:inteiro
cont,media,soma,parcial:real
inicio
soma<-0
PARA x de 1 ATE 100 FACA
escreval("DIGITE UM NUMERO")
leia(nro)
SE (nro mod 2=0) entao
escreval("VC DIGITOU UM NUMERO PAR!")
soma<-soma+nro
FIMSE
primo<-0
PARA y de 1 ATE nro FACA
SE (nro mod y =0) ENTAO
primo<-primo+1
FIMSE
FIMPARA
cont<-0
SE primo<=2 ENTAO
escreval("VC DIGITOU UM NUMERO PRIMO")
cont<-cont+1
parcial<-parcial+primo
FIMSE
FIMPARA
media<-parcial/cont
escreval(" A SOMA DOR NUMEROS PARES É", soma)
escreval("A MEDIA DOS NUMERO PRIMOS É", media)
fimalgoritmo
7 - Faça um programa que receba a idade e o peso de 75 pessoas, e que calcule e mostre as médias dos pesos das pessoas da mesma faixa etária. As faixas etárias são: de 1 a 10 anos, de 11 a 20 anões de 21 a 30 anos e de 31 anos para cima.
algoritmo "cidades"
var
cont, cod, num_vei, num_acid, maior, cid_maior, menor, cid_menor: inteiro
media_vei, media_acid: real
soma_vei, soma_acid, cont_acid:inteiro
inicio
soma_vei <-0
soma_acid <-0
cont_acid <- 0
para cont <- 1 ate 5 faca
escreval("Digite o codigo da cidade, o numero de veiculos e o numero de acidentes" )
leia(cod, num_vei, num_acid)
se (cont=1) entao
maior <- num_acid
cid_maior <- cod
menor <- num_acid
cid_menor <- cod
senao
se (num_acid > maior) entao
maior <- num_acid
cid_maior <- cod
fimse
se (num_acid < menor) entao
menor <- num_acid
cid_menor <- cod
fimse
fimse
soma_vei <- soma_vei + num_vei
se (num_vei < 2000) entao
soma_acid <- soma_acid + num_acid
cont_acid <- cont_acid + 1
fimse
fimpara
escreval("O maior indice e ",maior," na cidade ",cid_maior)
escreval("O menor indice e ",menor," na cidade ",cid_menor)
media_vei <- soma_vei / 5
escreval("A media de veiculos e ",media_vei)
se (cont_acid = 0) entao
escreval("Nao foi digitada nenhuma cidade com menos de 2000 veiculos" )
senao
media_acid <- soma_acid / cont_acid
escreval("A media de acidentes em cidades com menos de 2.000 veiculos e ", media_acid)
fimse
fimalgoritmo
8 - Cada espectador de um cinema respondeu a um questionário no qual constava sua idade e sua opinião em relação ao filme: ótimo – 3, bom – 2, regular – 1. Faça um programa que receba a idade e a opinião de 75 espectadores, calcule e mostre:
− a média das idades das pessoas que responderam ótimo;
− a quantidade de pessoas que responderam regular;
− a percentagem de pessoas que responderam bom, entre todos os espectadores analisados.
algoritmo "8"
var
x,idade,opcao:inteiro
contador1,contador2,contador3,idade_o,media_o,media_b:real
inicio
para x de 1 ate 75 faca
escreval("Ola, digite sua idade e opinição do filme.")
escreva("Digite sua idade: ")
leia(idade)
limpatela
escreval("Para Ótimo digite 3, para Bom digite 2 e para Regular digite 1.")
repita
escreva("Digite a opcao desejada: ")
leia(opcao)
se (opcao<>1) ou (opcao<>2) ou (opcao<>3) entao
escreva("Digitou opção errada, redigite sua opção!")
fimse
ate(opcao=1)ou(opcao=2)ou(opcao=3)
limpatela
se (opcao = 1) entao
contador1<-contador1+1
fimse
se (opcao = 3) entao
contador3<-contador3+1
idade_o<-idade+idade_o
fimse
se (opcao = 2) entao
contador2<-contador2+1
fimse
fimpara
media_o<-idade_o/contador3
escreval("A média das pessoas que acharam ótimo foi de",media_o,".")
escreval(contador1," pessoas responderam Regular.")
media_b<-75/contador2
escreval(media_b,"% das pessoas responderam Bom.")
fimalgoritmo
Download arquivo alg.
var
x,idade,opcao:inteiro
contador1,contador2,contador3,idade_o,media_o,media_b:real
inicio
para x de 1 ate 75 faca
escreval("Ola, digite sua idade e opinição do filme.")
escreva("Digite sua idade: ")
leia(idade)
limpatela
escreval("Para Ótimo digite 3, para Bom digite 2 e para Regular digite 1.")
repita
escreva("Digite a opcao desejada: ")
leia(opcao)
se (opcao<>1) ou (opcao<>2) ou (opcao<>3) entao
escreva("Digitou opção errada, redigite sua opção!")
fimse
ate(opcao=1)ou(opcao=2)ou(opcao=3)
limpatela
se (opcao = 1) entao
contador1<-contador1+1
fimse
se (opcao = 3) entao
contador3<-contador3+1
idade_o<-idade+idade_o
fimse
se (opcao = 2) entao
contador2<-contador2+1
fimse
fimpara
media_o<-idade_o/contador3
escreval("A média das pessoas que acharam ótimo foi de",media_o,".")
escreval(contador1," pessoas responderam Regular.")
media_b<-75/contador2
escreval(media_b,"% das pessoas responderam Bom.")
fimalgoritmo
Download arquivo alg.
Nestas aulas tive muita dificuldade em algumas questões como 5 e 8, principalmente em relação a lógica, mas estou estudando bastante para a prova, que será muito difícil, e espero depois poder comemorar uma aprovação ao menos nesta prova.
Assinar:
Postagens (Atom)