Introdução à Programação B (2017/2018)

Lista de exercícios

Artur Miguel Dias



Prática 06 (Semana de 09/out/2017-2)

Sumário: Primeiros problemas com a instrução for. Exercícios 17 a 20.



Algumas funções da aula teórica 2 foram copiadas para aqui, para servir de inspiração:

Solução do problema do ano bissexto

Solução do problema do fatorial (que usa um ciclo for)


  • 17a - Escreva um programa que receba do utilizador um número inteiro positivo n e que calcule a soma dos primeiros n quadrados perfeito.

    Por exemplo, para n igual a 3, o resultado deve ser 1 + 4 + 9 = 14.

    Escreva uma função com um ciclo for. Use uma variável para acumular a soma dos vários valores. A estrutura e lógica da função são parecidas com a da função fatorial. Programe, imitando o estilo e as ideias da função fatorial.


  • 17b - Escreva um programa que receba do utilizador um número inteiro positivo n e que calcule a soma de todos os quadrados perfeitos inferiores a n.

    Por exemplo, para n igual a 12, o resultado deve ser 1 + 4 + 9 = 14.


  • 18 - Escreva um programa que receba do utilizador um mês e um ano, ambos valores inteiros, e escreva a duração desse mês em dias. Repare que a duração do mês de fevereiro depende do facto do ano ser ou não bissexto.

    Para ajudar, começamos já aqui a programar a função mais importante do programa:

    Nesta função, você vai poder treinar mais um pouco o uso da instrução if.


  • F : 19 - Escreva um programa que, dado um intervalo de anos, por exemplo de 2000 a 2020, apresente uma tabela com a duração de cada ano em dias, nesse intervalo.

    Use um ciclo for dentro da função main. A tabela produzida deve ter o seguinte aspeto:

    Aproveite a função dias_do_ano, que aparece no início desta aula.
  • G : 20 - Escreva um programa que receba do utilizador uma data completa - usando três inteiros: dia (1..31), mês (1..12) e ano (1900..2100) - e responda o número de ordem dessa data dentro do respetivo ano. Para exemplificar, a data 1/1/2008 tem o número de ordem 1 e a data 31/12/2008 tem o número de ordem 366.

    Sugestão: Aproveite a função dias_do_mes do exercício 18 e escreva uma nova função, chamada ordem_no_ano, que recebe os três argumentos, dia/mês/ano, e faz as contas necessárias.