Prévia do material em texto
Disciplina: Algoritmos de Programação
Professor: Luiz Reginaldo Almeida Fleury Curado
Email: luiz.curado@ucb.br
Atividades da Unidade 2 (resolvidas no segundo chat)
Aula 3, Atividade 1)
Faça um algoritmo que leia o ano de nascimento de uma pessoa e o ano atual, depois calcule e
escreva o número de dias aproximados já vividos por essa pessoa.
Solução:
algoritmo NumeroDias;
principal
// Declarações
inteiro anoNascimento, anoAtual ;
inteiro numDias ;
// Pedimos os valores das variáveis
escreva( "Entre com o ano de nascimento: " );
leia( anoNascimento );
escreva( "Entre com o ano atual: " );
leia( anoAtual );
// Calcula número de dias
numDias = (anoAtual - anoNascimento) * 365 ;
escreva( "Você viveu ", numDias, " dias" );
fimPrincipal
Aula 3, Atividade 2)
Faça um algoritmo que leia dois valores para as variáveis A e B, efetue a troca dos valores de
forma que a variável A passe a ter o valor da variável B e que a variável B passe a ter o valor da
variável A. Apresentar os valores trocados. Não é para apenas apresentar em ordem trocada, é
para efetivamente trocar os valores!
Solução com aux:
aux = a ;
a = b ;
b = aux ;
Solução sem aux:
algoritmo Troca;
principal
// Declarações
inteiro a, b ;
// Pedimos os valores das variáveis
escreva( "Entre com o valor de a: ");
leia( a );
escreva( "Entre com o valor de b: ");
leia( b );
// Faz a troca
a = a + b ;
b = a - b ;
a = a - b ;
escreva( "Depois da troca a = ", a, " b = ", b );
fimPrincipal
Aula 3, Atividade 3)
Faça um algoritmo que receba o peso e a altura de uma pessoa e informe o valor do seu IMC
(Índice de Massa Corporal). Sabe-se que IMC é dado pela divisão do peso pela altura ao
quadrado.
Solução:
algoritmo CalculoIMC;
principal
// Declarações
real peso, altura, imc ;
// Pede valores das variáveis
escreva( "Entre com o peso: ");
leia( peso );
escreva( "Entre com a altura: ");
leia( altura );
// Calcula o imc
imc = peso / (altura*altura) ;
escreva( "O imc = ", imc );
fimPrincipal
Aula 3, Atividade 4)
Faça um algoritmo que leia o valor de uma determinada mercadoria de uma loja. Sabendo que
o desconto para pagamento à vista é de 10% sobre o valor total, calcule o valor a ser pago à
vista. Escreva o valor total, o valor do desconto e o valor a ser pago à vista. Os valores devem
aparecer como real (R$), com apenas duas casas depois da vírgula.
Solução:
algoritmo Compras;
principal
// Declarações
real valorMercadoria, desconto, valorDesconto, valorVista ;
// Pede valor da mercadoria
escreva( "Entre com o valor da mercadoria: " );
leia( valorMercadoria );
// Calcula valores
desconto = 0.1 ;
valorDesconto = valorMercadoria * desconto ;
valorVista = valorMercadoria - valorDesconto ;
escreval( "Valor mercadoria: R$", valorMercadoria:2:2 );
escreval( "Valor desconto: R$", valorDesconto:2:2 );
escreval( "Valor pago à vista: R$", valorVista:2:2 );
fimPrincipal
Aula 4, Atividade 1)
Faça um algoritmo que leia um número, verifique e imprima se este é par ou ímpar.
Solução:
algoritmo ParImpar;
principal
// Declarações
inteiro numero ;
// Pede número
escreva( "Entre com o numero: " );
leia( numero );
// Verifica se é par ou impar
se ( (numero mod 2) == 0 ) entao
escreva( "O numero é par" );
senao
escreva( "O numero é impar" );
fimSe
fimPrincipal
Aula 4, Atividade 2)
Foi realizado um concurso de piadas na cidade de Fortaleza e você foi contratado para fazer
um algoritmo que leia o nome e a nota dos três candidatos finalistas, determine e imprima
quem foi o vencedor e a sua nota. Considere que nenhuma nota será igual a qualquer outra.
Solução:
algoritmo Concurso;
principal
// Declarações
inteiro nota1, nota2, nota3 ;
// Pede notas
escreva( "Entre com a nota 1: " );
leia( nota1 );
escreva( "Entre com a nota 2: " );
leia( nota2 );
escreva( "Entre com a nota 3: " );
leia( nota3 );
// Calcula valores
se ( (nota1 > nota2) e (nota1 > nota3)) entao
escreva( "O vencedor foi o primeiro, com ", nota1 );
senao se(nota2 > nota3) entao
escreva( "O vencedor foi o segundo, com ", nota2 );
senao
escreva( "O vencedor foi o terceiro, com ", nota3 );
fimSe
fimSe
fimPrincipal
Aula 4, Atividade 3)
Escreva um algoritmo que leia um código telefônico de DDD. Então, classifique o código,
conforme a tabela abaixo. Finalmente, apresente qual a cidade correspondente ao DDD. Caso
o usuário informe um código que não está na tabela, informe que o código não existe.
DDD Cidade
31 Belo Horizonte
61 Brasília
41 Curitiba
48 Florianópolis
51 Porto Alegre
21 Rio de Janeiro
11 São Paulo
Solução:
algoritmo MostraDDD;
principal
// Declarações
inteiro ddd ;
// Pede o ddd
escreva( "Entre com o ddd: " );
leia( ddd );
// Mostra a cidade que possui o ddd
escolha(ddd)
caso 31 escreval("Belo Horizonte"); interrompa;
caso 61 escreval("Brasília"); interrompa;
caso 41 escreval("Curitiba"); interrompa;
caso 48 escreval("Florianópolis"); interrompa;
caso 51 escreval("Porto Alegre"); interrompa;
caso 21 escreval("Rio de Janeiro"); interrompa;
caso 11 escreval("São Paulo"); interrompa;
outroCaso escreval("DDD informado inválido.");
fimEscolha
fimPrincipal
Aula 4, Atividade 4)
Numa fábrica de peças, o salário base de um operário da linha de fabricação é R$ 240,00. Além
do salário base, o operário tem um adicional de produtividade baseado na quantidade de
peças que ele fabrica por mês que é pago segundo o critério a seguir:
a. Se o número de peças é inferior, ou, 500: apenas o salário base.
b. Se o número de peças é superior a 500 e inferior, ou, 750: R$ 0,50 por peça fabricada acima
das 500.
c. Se o número de peças for superior a 750: recebe R$ 350,00 (fixo) mais R$ 0,75 por peça
fabricada acima das 750.
Desenvolva um algoritmo que permita entrar com o número de peças fabricadas por um
operário e imprima seu salário.
algoritmo Fabrica;
principal
// Declarações
real salarioBase, salario ;
inteiro numPecas ;
// Solicita o numero de pecas
escreva( "Entre com o número de pecas: " );
leia( numPecas );
// Calcula o salário
salarioBase = 240 ;
se ( numPecas <= 500 ) entao
salario = salarioBase ;
senao se ( (numPecas > 500) e (numPecas <= 750) ) entao
salario = salarioBase + (numPecas -500) * 0.50 ;
senao
salario = 350 + (numPecas - 750) * 0.75 ;
fimSe
fimSe
escreval("Salario = ", salario );
fimPrincipal