MAT 146 – Introdução à Lógica de Programação

Algoritmos – Exercícios de Fixação

Estrutura de Controle Seqüencial

1. Faça um algoritmo que receba o salário-base de um funcionário, calcule e mostre o salário a receber, sabendo-se que esse funcionário tem gratificação de 5% sobre o salário-base e paga imposto de 7% sobre o total.

2. Faça um algoritmo que receba o ano de nascimento de uma pessoa e o ano atual, calcule e mostre:

  1. a idade dessa pessoa

  2. quantos anos ela terá em 2005.

Estrutura de Controle Condicional (ou de Seleção)

3. Faça um algoritmo em pseudocódigo que calcule a média ponderada de um aluno, a partir de suas 3 notas obtidas no curso, sabendo-se que a primeira avaliação tem peso 2, a segunda tem peso 4 e a terceira tem peso 4. Mostre, ao final, a mensagem : “ A MEDIA FINAL DE ... FOI ...” . Informar também se o aluno foi aprovado, mostrando a mensagem “APROVADO” caso a nota final seja maior ou superior a 7,0.

4. Elabore um algoritmo usando notação de fluxogramas que verifique se um dado número inteiro positivo é PAR ou ÍMPAR.

5. Modifique o algoritmo da média do aluno para informar:

APROVADO ............ caso a nota final esteja no intervalo [10, 7]

RECUPERAÇÃO...... caso a nota final esteja no intervalo [5, 7)

REPROVADO .......... caso a nota final esteja no intervalo [0, 5)

6. Faça um algoritmo que leia 2 valores numéricos e um símbolo. Caso o símbolo seja um dos relacionados abaixo efetue a operação correspondente com os valores. Atenção para a divisão por 0!

“+” operação de soma

“-” operação de subtração

“*” operação de multiplicação

“/” operação de divisão

7. Dados 3 valores A, B, C, verifique se podem ser valores de lados um triângulo e, se for, determine se o triângulo é equilátero, isósceles ou escaleno.

8. Sejam 3 números distintos A, B, C. Coloque-os em ordem crescente, utilizando seleção encadeada (ou aninhada).

Soluções

1.

Solução 1:

salBase, salReceber, grat, imp: real

Inicio

Leia(salBase)

Grat salBase * 5/100

SalReceber salBase +grat – imp

Imp SalReceber * 7/100

SalReceber SalReceber – imp

Escreva (salReceber)

Fim

Solução 2:

salBase, salReceber, Imp: real

Inicio

Leia(salBase)

SalReceber (salBase * 5/100 )

Imp SalReceber * 7/100

SalReceber SalReceber – imp

Escreva (salReceber)

Fi

m

2.

ano_atual, ano_nascimento, idade_atual, idade_2005: inteiro

Inicio

Leia (ano_nascimento, ano_atual)

Idade_atual ano_atual - ano_nascimento

Idade_2005 2005 - ano_nascimento

Escreva (idade_atual)

Escreva (idade_2005)

Fim

3.

aluno: caracter;

nota1, nota2, nota3, media: real;

p1, p2, p3: inteiro;

Inicio

p1 2;

p2 4;

p3 4;

Leia (aluno);

Leia (nota1, nota2, nota3);

media (nota1 *p1 + nota2 * p2 + nota3 * p3)/10

Escreva (“a media de “, aluno, “foi “, media);

Se (media >= 7,0) então

Escreva (“aprovado”);

Fim se

Fim

4.

5.

aluno: caracter;

nota1, nota2, nota3, media: real;

Inicio

Leia (aluno);

Leia (nota1, nota2, nota3);

media (nota1 *0.2 + nota2 * 0.4 + nota3 * 0.4

Escreva (“a media de “, aluno, “foi “, media);

Se (media >= 7,0) então

Escreva (“aprovado”);

senão

Se (media < 7,0 e media >= 5,0) então

Escreva (“recuperação”);

senão

Escreva (“reprovado”);

Fim se;

Fim se;

Fim

6.

num1, num2 : real;

operador: caracter;

Inicio

Leia (num1, num2);

Leia (operador);

Escolha operador

caso “+”: escreva (num1 + num2);

caso “-“: escreva (num1 – num2);

caso “*”: escreva (num1 * num2);

caso “/”: Se num2 <>0 então

escreva (num1/num2);

senão

escreva(“divisão indefinida”)

fim se

fim escolha;

Comentários