Você está na página 1de 2

Disciplina: Programação I

Lista de Exercícios 1 – Introdução à Programação e aos Algoritmos

1. Defina, com suas palavras, os seguintes termos:

o Algoritmo;

o Estrutura de Dados;

o Programa;

o Linguagem de Programação;

o Tradutor;

2. Qual a diferença entre linguagem de baixo nível e linguagem de alto nível?

3. Diferencie Sistema de Informação x Software x Programa.

4. Quais são os passos ideais para se construir um programa de qualidade?

5. É importante elaborar o algoritmo antes do programa? Justifique sua resposta.

6. Entre as diferentes formas de representação de algoritmo introduzidas no tópico, com qual você
acha que terá maior familiaridade? Justifique sua resposta.

Os exercícios abaixo devem ser realizados representando cada algoritmo em 3 formatos (narração
descritiva, fluxograma, Portugol). Além disso, também deve ser realizada uma simulação de execução,
descrevendo o teste de mesa.

7. Escrever um algoritmo para somar dois números e multiplicar o resultado da soma pelo primeiro
número.

8. Escrever um algoritmo para multiplicar dois números, e definir se o resultado da multiplicação é


par ou ímpar.

9. Escrever um algoritmo para resolver o seguinte problema: Um homem precisa atravessar um rio
com um barco que possui capacidade de transportar apenas ele e mais uma de suas três cargas
a cada vez, que são: um cachorro, uma galinha e um saco de milho. O que o homem deve fazer
para conseguir atravessar o rio sem perder as suas cargas, considerando que cachorro X galinha,
galinha X milho não podem ficar juntos e sozinhos?

10. Uma Torre de Hanói é formada por três discos sobrepostos transpassados por uma haste. Tendo
mais duas hastes e podendo mover um disco por vez, mas nunca deixando um disco maior sobre
um disco menor, como podemos passar os discos para outra haste?

11. Escreva um algoritmo que leia duas notas de um aluno, calcule e imprima sua média, sabendo
que a primeira nota tem peso 3 e a segunda nota tem peso 7.
Disciplina: Programação I
12. Escreva um algoritmo que leia um valor de despesa de restaurante, o valor da gorjeta (em
porcentagem) e o número de pessoas para dividir a conta, e imprima o valor que cada um deve
pagar. Assuma que a conta será dividida igualmente.

13. Escreva um algoritmo para o seguinte problema: dada uma quantia x em dinheiro, qual a menor
quantidade de notas que deve ser entregue ao cliente (considerar os valores de: 100, 50, 20, 10,
5).

14. Crie um algoritmo para o seguinte problema: calcular a conversão de uma idade fornecida em dias
para uma idades em anos, meses e dias. Considerar: ano – 365 dias; meses – 30 dias.

15. Crie um algoritmo para representar o seguinte problema: Ler a hora de início e a hora de fim de
um jogo de Xadrez (considere apenas horas inteiras, sem os minutos) e calcule a duração do jogo
em horas, sabendo-se que o tempo máximo de duração do jogo é de 24 horas e que o jogo pode
iniciar em um dia e terminar no dia seguinte.

16. Exercício desafio: Sejam 2 datas (data 1 - dia1, mes1, ano1, e data 2 - dia2, mes2, ano2). Obter a
diferença de dias entre as duas datas.

o Fase 1 (mais simples): considerar que não há anos bissextos, que cada mês tem 30 dias
e que a data 1 é sempre menor do que a data 2.
o Fase 2 (mais complexa): considerar que podem existir anos bissextos, considerar a
quantidade correta que cada mês possui (de janeiro a dezembro), bem como o fato de que
a data 1 pode ser maior, menor ou igual a data 2.

Você também pode gostar