Alterar o exercício deste post usando uma função para calcular a média e um procedimento para escrever a classificação qualitativa.
Cada aluno coloca a resolução num comentário a este post.
Blogue de Programação de Sistemas Informáticos da Turma TGP2, 2014/2015
quinta-feira, 27 de novembro de 2014
terça-feira, 25 de novembro de 2014
Exercício no VisuAlg
Fazer um algoritmo no VisuAlg para ler 3 notas (entre 0 e 20) de um aluno, calcular a média das 3 notas e apresentar a classificação qualitativa:
- média entre 0 e 4: Mau
- média entre 5 e 9: Medíocre
- média entre 10 e 13: Suficiente
- média entre 14 e 17: Bom
- média entre 18 e 20: Muito Bom
Algoritmos no VisuAlg
Instalar o ambiente de desenvolvimento em Português Estruturado VisuAlg.
Converter para o VisuAlg as três resoluções (com os ciclos enquanto, repita e para) do exercício que está resolvido neste post.
Ver um tutorial em A Linguagem de Programação do VisuAlg.
Etiquetas:
português estruturado,
visualg
quinta-feira, 20 de novembro de 2014
Módulo 3 - Exercício 3 (Resolução)
Resolução com ciclo para:
programa sequencia
declaracoes
inteiro x, n, p, max
inicio
escreva ("\nInsira um número inteiro: ")
leia (x)
escreva ("\nInsira o número de valores a gerar: ")
leia (max)
para n<-1 ate max passo 1
se (x mod 2 = 0) entao
x<-x div 2
senao
x<-3*x+1
fimse
escreva( "\n", x )
fimpara
fim
programa sequencia
declaracoes
inteiro x, n, p, max
inicio
escreva ("\nInsira um número inteiro: ")
leia (x)
escreva ("\nInsira o número de valores a gerar: ")
leia (max)
para n<-1 ate max passo 1
se (x mod 2 = 0) entao
x<-x div 2
senao
x<-3*x+1
fimse
escreva( "\n", x )
fimpara
fim
Etiquetas:
instruções cíclicas,
webportugol
Módulo 3 - Exercício 3
O conjunto de regras seguintes permite gerar uma sequência de números:
1. Ler um número inteiro;
2. Se for ímpar, multiplica-se por 3 e soma-se 1;
3. Se for par, divide-se por 2.
Repetir os passos 2 e 3 para cada número obtido.
Fazer um programa no WebPortugol que leia o primeiro número inteiro (passo 1) e o número de vezes que os passos 2 e 3 são repetidos.
Descobrir o que é que as sequências de números gerados têm de especial. Responder com um comentário a este post, colocando também o programa resolvido.
Etiquetas:
instruções cíclicas,
webportugol
Resolução Módulo 3 - Exercício 2
Com um ciclo para:
programa tabuada
declaracoes
inteiro x, n, p
inicio
escreva("Insira o número (entre 1 e 9):")
leia( x )
se (x >= 1 e x <= 9) entao
para n<-1 ate 10 passo 1
p<-x*n
escreva( "\n", x, " x ", n, " = ", p )
fimpara
senao
escreva( "\nNúmero inválido." )
fimse
fim
Com um ciclo enquanto:
programa tabuada
declaracoes
inteiro x, n, p
inicio
escreva ("Insira um número entre 1 e 9: ")
leia (x)
se (x>0 e x<10) entao
n<-1
enquanto (n<=10) faca
p<-x*n
escreva( "\n", x, " x ", n, " = ", p )
n<-n+1
fimenquanto
senao
escreva( "\nNúmero inválido." )
fimse
fim
Com um ciclo repita:
programa tabuada
declaracoes
inteiro x, n, p
inicio
escreva ("Insira um número entre 1 e 10: ")
leia (x)
se (x>0 e x<=10) entao
n<-1
repita
p<-x*n
escreva( "\n", x, " x ", n, " = ", p )
n<-n+1
enquanto(n<=10)
senao
escreva( "\nNúmero inválido." )
fimse
fim
NOTAS:
programa tabuada
declaracoes
inteiro x, n, p
inicio
escreva("Insira o número (entre 1 e 9):")
leia( x )
se (x >= 1 e x <= 9) entao
para n<-1 ate 10 passo 1
p<-x*n
escreva( "\n", x, " x ", n, " = ", p )
fimpara
senao
escreva( "\nNúmero inválido." )
fimse
fim
Com um ciclo enquanto:
programa tabuada
declaracoes
inteiro x, n, p
inicio
escreva ("Insira um número entre 1 e 9: ")
leia (x)
se (x>0 e x<10) entao
n<-1
enquanto (n<=10) faca
p<-x*n
escreva( "\n", x, " x ", n, " = ", p )
n<-n+1
fimenquanto
senao
escreva( "\nNúmero inválido." )
fimse
fim
Com um ciclo repita:
programa tabuada
declaracoes
inteiro x, n, p
inicio
escreva ("Insira um número entre 1 e 10: ")
leia (x)
se (x>0 e x<=10) entao
n<-1
repita
p<-x*n
escreva( "\n", x, " x ", n, " = ", p )
n<-n+1
enquanto(n<=10)
senao
escreva( "\nNúmero inválido." )
fimse
fim
NOTAS:
- Os três ciclos (para, repita e enquanto) são equivalentes;
- Qualquer ciclo para pode ser convertido num ciclo repita ou enquanto;
- Nem todos os ciclos repita ou enquanto podem ser convertidos em ciclos para.
Etiquetas:
instruções cíclicas,
webportugol
terça-feira, 18 de novembro de 2014
Módulo 3 - Exercício 2 (continuação)
Alterar o exercício anterior de forma a que sejam apresentadas todas as tabuadas dos números pares, compreendidos entre 2 e 20 (inclusive).
A resolução é individual. Cada aluno coloca a sua resolução num comentário a este post.
Etiquetas:
instruções cíclicas,
webportugol
Módulo 3 - Exercício 2
Elabore um algoritmo em WebPortugol que leia um número inteiro entre 1 e 9 a apresenta a tabuada de multiplicação respetiva.
Por exemplo, se o programa ler o número 5, deverá escrever,
5 x 1 = 5
5 x 2 = 10
5 x 3 = 15
5 x 4 = 20
5 x 5 = 25
5 x 6 = 30
5 x 7 = 35
5 x 8 = 40
5 x 9 = 45
5 x 10 = 50
A resolução é individual. Cada aluno coloca a sua resolução num comentário a este post.
Por exemplo, se o programa ler o número 5, deverá escrever,
5 x 1 = 5
5 x 2 = 10
5 x 3 = 15
5 x 4 = 20
5 x 5 = 25
5 x 6 = 30
5 x 7 = 35
5 x 8 = 40
5 x 9 = 45
5 x 10 = 50
A resolução é individual. Cada aluno coloca a sua resolução num comentário a este post.
Etiquetas:
instruções cíclicas,
webportugol
Módulo 3 - Resolução Exercício 1
Resolução do exercício 1 em WebPortugol
programa p
declaracoes
inteiro n, soma
inicio
soma<-0
para n<-2 ate 100 passo 3
soma <- soma + n
fimpara
escreva( "SOMA = ", soma )
fim
programa p
declaracoes
inteiro n, soma
inicio
soma<-0
para n<-2 ate 100 passo 3
soma <- soma + n
fimpara
escreva( "SOMA = ", soma )
fim
Etiquetas:
instruções cíclicas,
webportugol
quinta-feira, 13 de novembro de 2014
terça-feira, 11 de novembro de 2014
Exercício Módulo 2 - Instruções Condicionais (2)
Escreva um algoritmo que calcule o valor do prémio de um seguro automóvel em função dos seguintes parâmetros:
- Preço base do seguro = 50,00€
- Idade da viatura (acréscimo ao preço base):
- Entre 6 e 10 anos = 40,00€
- Até 5 anos = 25,00€
- Entre 11 anos e 15 anos = 50,00€
- 16 ou mais anos = 80,00€
- Até 5 anos = 25,00€
- Entre 11 anos e 15 anos = 50,00€
- 16 ou mais anos = 80,00€
- Se a idade do condutor for inferior a 25 anos ou maior ou igual a 60 anos, haverá um agravamento adicional de 25€.
O algoritmo, lê a idade da viatura e a idade do condutor e apresenta o valor total do prémio do seguro.
Representar o algoritmo em:
1. Fluxograma (resolver em papel)
2. Português Estruturado - WebPortugol (colocar na plataforma - Módulo 2, Exercício Instruções Condicionais 2)
Este exercício é para ser resolvido individualmente.
Etiquetas:
Fluxogramas,
instruções condicionais,
webportugol
quinta-feira, 6 de novembro de 2014
Exercício Módulo 2 - Trabalho para Avaliação
Considere o exercício seguinte:
1. Um posto de combustíveis vende os seus produtos, com a seguinte tabela de descontos:
Gasóleo
|
Até 10 litros, desconto de 1% |
10 litros ou mais e menos de 20 litros, desconto de 2% | |
20 litros ou mais, desconto de 3% | |
Gasolina 95
|
Até 10 litros, desconto de 1,5% |
10 litros ou mais e menos de 20 litros, desconto de 3% | |
20 litros ou mais, desconto de 4% |
Escreva um algoritmo que leia o número de litros vendidos e o tipo de combustível (utilizar o carácter D para gasóleo e G para gasolina), calcule e escreva o valor a ser pago pelo cliente sabendo-se que o preço do litro do gasóleo é de 1,197€ e o da gasolina é de 1,378€.
Apresentar o algoritmo em fluxograma.
2. Fazer o algoritmo anterior no WebPortugol, acrescentando o seguinte:
- O programa deve ler repetidamente os dados de entrada (número de litros vendidos e o tipo de combustível) para vários clientes, até ser lido um número de litros igual a 0. Por cada cliente, o programa apresenta uma mensagem com o número de litros, o tipo de combustível e o valor a pagar, por exemplo, 35 litros de gasóleo pelo preço de 40,64€.
- Se o quantidade total de combustível, de qualquer tipo, atingir os 500 litros, o programa termina.
- Se for lido um número de litros negativo, o programa apresenta uma mensagem de erro e pede para inserir um novo valor.
- Se for inserido para o tipo de combustível um carácter diferente de D ou G, o programa apresenta uma mensagem de erro e pede para inserir um novo valor.
As respostas (fluxograma + programa) deverão ser colocadas num só
ficheiro (em formato PDF ou doc) e submetidas na plataforma da escola (Módulo 2 - Exercício Instruções Cíclicas).
O nome do ficheiro tem de conter o nome do grupo.
Deve ser submetida uma resposta por grupo.
Etiquetas:
Fluxogramas,
instruções cíclicas,
instruções condicionais,
webportugol
terça-feira, 4 de novembro de 2014
Continuação Exercício Módulo 2 - Instruções Cíclicas (3)
Alterar o exercício do post anterior de forma a que no início do programa seja pedido o número de valores inteiros que serão lidos. Ou seja, em vez de serem 20 valores inteiros, é o utilizador que indica quantos valores devem ser lidos.
Etiquetas:
instruções cíclicas,
webportugol
Resolução Exercício Módulo 2 - Instruções Cíclicas (3)
programa numeros
declaracoes
inteiro numero, soma, maior, menor, contador
real
media
inicio
//
inicializacao de variáveis
contador <- 0
soma
<- 0
//
leitura do primeiro número
escreva( "Insira um número inteiro:
" )
leia( numero )
//
inicializa o contador em 1
contador <- 1
//
inicializa as variáveis maior e menor
//
como sendo iguais ao primeiro número lido
soma
<- numero
maior <- numero
menor <- numero
//
inicia a leitura dos restantes números
// (segundo número até ao vigésimo número)
enquanto ( contador < 20 ) faca
// pede para inserir um novo número
escreva( "\nInsira um número inteiro:
" )
leia(
numero )
// aumenta o contador por cada numero lido
contador <- contador + 1
// acrescenta à soma o numero lido
soma
<- soma + numero
// verifica se o numero lido é o maior
se ( numero > maior ) entao
maior <- numero
senao
// senao, verifica se é o menor
se ( numero < menor ) entao
menor <- numero
fimse
fimse
fimenquanto
//
calcula a média dos 20 números
media <- soma / 20
//
escreve os resultados pretendidos
escreva( "\nMaior numero lido: ",
maior )
escreva( "\nMenor numero lido: ",
menor )
escreva( "\nSoma dos números lidos :
", soma )
escreva( "\nMédia dos números lidos:
", media )
fim
Etiquetas:
instruções cíclicas,
webportugol
Exercício Módulo 2 - Instruções Cíclicas (3)
Resolver no WebPortugol o exercício seguinte:
Ler uma sequência de 20 números inteiros. Após a leitura dos 20 números, apresentar os resultados seguintes:
Ler uma sequência de 20 números inteiros. Após a leitura dos 20 números, apresentar os resultados seguintes:
- Maior número lido;
- Menor número lido;
- Soma de todos os números lidos;
- Média dos 20 números lidos.
Etiquetas:
instruções cíclicas,
webportugol
Subscrever:
Mensagens (Atom)