Você está na página 1de 5

Folha Prática – Desenho de Algoritmos 1

Desenho de algoritmos

Resolver as questões que se seguem usando fluxogramas ou uma outra linguagem para
algoritmos.

A. Instruções/acções de atribuição e leitura/escrita

1. Construa um algoritmo que introduza um número inteiro e depois mostre-o.

2. Construa um algoritmo que introduza dois números inteiros, calcule a soma e a


diferença entre eles e mostre os dois resultados.

3. Construa um algoritmo que introduza um número inteiro e um número real, calcule o


produto entre estes dois números e mostre o resultado.

4. Construa um algoritmo que introduza os valores dos lados de um rectângulo, calcule a


área deste e depois mostre-o.

5. Construa um algoritmo que introduza dois valores reais (para x e y), calcule e mostre o
valor da seguinte função matemática: F(x,y) = 2 sen(x) + cos(y) – tg(x+y).

6. Construa um algoritmo que introduza o preço base de um produto (valor real) e uma
taxa de IVA (valor inteiro), calcule o preço final do produto e depois mostre-o.

7. Construa um algoritmo que introduza dois números inteiros, associados às notas de


duas disciplinas de um aluno, calcule a média destas notas e depois mostre-a.

8. Construa um algoritmo que introduza um valor real (em Kg), converta-o num outro
valor real (em gramas) e depois mostre o valor em gramas.

9. Construa um algoritmo que introduza um valor real (em graus Celsius) e o converta
num outro valor real (em graus Fahreneit). A fórmula de conversão é a seguinte:
F = 9/5 x C + 32, em que C é o valor em Celsius e F é o valor em Fahreneit.

10. Construa um algoritmo que introduza um número inteiro, associado a um tempo em


segundos, e o converta no formato HH:MM:SS (HH horas, MM minutos e SS
segundos). Mostrar os 3 números em separado.

11. Construa um algoritmo que mostre as seguintes mensagens:


1 - Alunos
2 - Licenciaturas
3 - Departamentos
4 - Sair

Programação/Introdução à Programação
Folha Prática – Desenho de Algoritmos 2

12. Construa um algoritmo que peça ao utilizador o seu número de aluno, introduza este
número e depois mostre a seguinte mensagem: “Bemvindo à aula de programação
aluno número num_aluno. Vamos divertir-nos imenso!”.

13. Construa um algoritmo que peça ao utilizador e introduza o seu número de aluno, a
sua idade e o seu peso (um número real em Kg) e depois mostre a seguinte
mensagem: “Olá! Tu és o aluno número NUMERO, tens IDADE anos e pesas PESO Kg.”

14. Construa um algoritmo que mostre a mensagem “Boa Tarde!”, peça ao utilizador e
introduza um número inteiro e um número real, para depois calcular o produto entre
os dois números introduzidos e mostrar o resultado.

15. Construa um algoritmo que peça ao utilizador e introduza um número real, determine
as partes inteira e fraccionária deste número real e depois mostre os resultados.

16. Construa um algoritmo que peça ao utilizador e introduza um número natural com três
dígitos e mostre os dígitos que o formam. Por exemplo, 937 é composto pelos dígitos 9
(centenas), 3 (dezenas) e 7 (unidades). O dígito 9 é obtido a partir da divisão de 937
por 100; os dígitos 3 e 7 são obtidos a partir, respectivamente, da divisão inteira e do
resto da divisão inteira de 37 por 10, em que 37 foi obtido através do resto da divisão
inteira de 937 por 100.

B. Instruções/acções condicionais

17. Construa um algoritmo que peça ao utilizador um número inteiro, verifique se ele é par
ou ímpar e mostre uma mensagem com esta informação.

18. Construa um algoritmo que peça ao utilizador três números inteiros, determine o maior
deles e o mostre.

19. Construa um algoritmo que receba dois números inteiros, calcule o resto da divisão
inteira do número maior pelo número menor e mostre o valor obtido.

20. Construa um algoritmo que receba dois números reais, X e Y, e mostre uma
mensagem de ERRO (se Y = 0) ou o valor real |X/Y| (caso contrário).

21. Construa um algoritmo que receba dois números inteiros, N e M, verifique se N é


múltiplo de M e mostre uma mensagem a informar esta situação (por exemplo: 20 é
múltiplo de 5).

Programação/Introdução à Programação
Folha Prática – Desenho de Algoritmos 3

22. Construa um algoritmo que simule um classificador de produtos de forma a identificar


um produto num conjunto de 3 possíveis, medindo a concentração de 3 elementos
constituintes, A, B e C, de acordo com as concentrações dadas na seguinte tabela:

Produto 1 Produto 2 Produto 3 Produto 4 Produto 5


A 0.1 0.1 0.2 0.2 0.2
B 0.5 0.3 0.5 0.3 0.5
C 0.6 0.7 0.7 0.1 0.6

Se as concentrações fornecidas pelo utilizador não corresponderem a nenhum produto


da tabela, o classificador deverá escrever: “Produto desconhecido”; caso contrário,
deverá escrever o número do produto identificado.

23. Construa um algoritmo que resolva o seguinte problema: o índice de massa corporal
(IMC) relaciona a altura com o peso duma pessoa através da fórmula
IMC=peso/altura2; a unidade de peso é o kg (quilo) e a unidade de altura é o m
(metro). A tabela de classificação é a seguinte:

Variação Categoria
IMC < 19 Magreza
19 <= IMC <= 25 Normal
25 < IMC <= 30 Excesso de peso
30 < IMC <= 40 Obesidade
> 40 Obesidade Mórbida

Pretende-se uma aplicação que calcule os seguintes indicadores corporais:


 IMC
 Categoria
 Peso mínimo (PMI=19 x altura2) para uma pessoal pertencer à categoria normal
 Peso máximo (PMA=25 x altura2) para uma pessoal pertencer à categoria normal
A aplicação deverá fornecer depois estes dados ao utilizador.

C. Instruções/acções de repetição

24. Construa um algoritmo para mostrar 20 vezes o seu nome no écran.

25. Construa um algoritmo para mostrar os 100 primeiros números naturais.

26. Construa um algoritmo para calcular a soma dos 100 primeiros números naturais.

27. Construa um algoritmo para calcular a soma e o produto dos números naturais ímpares
e dos números naturais pares até 1000.

Programação/Introdução à Programação
Folha Prática – Desenho de Algoritmos 4

28. Construa um algoritmo que permita determinar a soma de N números. O algoritmo


deverá mostrar uma mensagem de ERRO se N for inferior a 2 e voltar a pedir o seu
valor até ser inserido um valor válido.

29. Construa um algoritmo para ler uma sequência de inteiros positivos (ou seja, termina
com a introdução de um valor negativo) e calcule a sua soma.

30. Construa um algoritmo para ler dois valores reais (ex: a e b) e um caracter (‘+’, ‘-‘,
‘*’,’/’) e calcular o resultado da expressão (ex: a+b).

31. Construa um algoritmo que permita determinar o produto dos números inteiros entre
N1 e N2. A aplicação deverá dar erro se N2  N1 e voltar a pedir novos valores.

32. Construa um algoritmo para determinar o produto e a soma dos números inteiros
pares entre N1 e N2. A aplicação deverá dar erro se N2  N1 e voltar a pedir estes
valores. Deverá no final apresentar o produto e a soma calculados.

33. Construa um algoritmo que permita determinar o maior e o menor número de uma
sequência de N (N  2) números inteiros dados pelo utilizador. Se N < 2 deverá ser
pedido novamente até obter um valor válido. A introdução de números deverá terminar
quando forem inseridos N números. Nessa altura a aplicação deverá mostrar o valor
máximo e mínimo de entre os valores introduzidos.

34. Construa um algoritmo que, dado um número inteiro k e um número real x, determine
o valor de xk (se k ≠ 0) e 1 (se k=0), sem usar a função predefinida para x k, e mostre
o valor calculado.

35. Construa um algoritmo que permita determinar o maior e o menor número duma
sequência de números inteiros dados pelo utilizador. A introdução de números deverá
terminar quando for inserido o valor zero e nessa altura a aplicação deverá mostrar o
valor máximo e mínimo de entre os valores introduzidos.

36. Construa um algoritmo que permita determinar a média aritmética duma sequência de
N (N  2) números inteiros. e N < 2 deverá ser pedido novamente até obter um valor
válido. A introdução de números deverá terminar quando forem inseridos N números e
nessa altura a aplicação deverá mostrar o valor da média.

37. Construa um algoritmo para calcular o factorial de um número inteiro positivo. (Nota: o
programa só deverá aceitar números positivos.)

38. Construa um algoritmo para determinar a média aritmética de uma sequência de


números inteiros. A introdução de números deverá terminar quando for inserido o valor
zero. Nessa altura a aplicação deverá mostrar o valor da média. Deverão ter sido
introduzidos pelo menos dois números, caso contrário deverá ser mostrado um erro.

Programação/Introdução à Programação
Folha Prática – Desenho de Algoritmos 5

39. Construa um algoritmo para determinar a soma dos dígitos de um número inteiro
positivo.

40. Construa um algoritmo para mostrar os primeiros N números da sequência de


Fibonacci. A sequência de Fibonacci é a seguinte: 1, 1, 2, 3, 5, 8, 13, 21, … (a seguir
ao primeiro 1 cada número na sequência é a soma dos dois números anteriores).

41. Construa um algoritmo para converter um número binário em número decimal. Por

exemplo, 100102 = 1 x 24 + 0 x 23 + 0 x 22 + 1 x 21 + 0 x 20 = 1810 .

42. Construa um algoritmo para converter um número decimal num número binário.

43. Construa um algoritmo para determinar se um dado número inteiro positivo é primo.
Um número é primo se for divisível por ele próprio e pela unidade (por exemplo: 13).
Caso o número introduzido for negativo, a aplicação deverá pedir outro número até
que seja introduzido um número válido.

44. Construa um algoritmo para determinar se um número inteiro positivo é capicua. Um


número é capícua se for o mesmo número quando lido da esquerda para a direita ou
vice-versa (por exemplo: 202).

Programação/Introdução à Programação

Você também pode gostar