Você está na página 1de 2

Programação I

2º Semestre 2021/2022
1º Trabalho individual a entregar em 10 / 4 / 2022

Neste trabalho, os alunos adquirem prática de utilização de elementos essenciais da linguagem C, nomeadamente
variáveis, expressões, instruções de entrada/saída de dados e instruções de decisão.

Cada grupo entregará no site da sua turma um documento em formato pdf que descreva a solução encontrada para
cada exercício, assim como os ficheiros fonte das respetivas soluções, escrito devidamente indentados e comentados,
comprimidos num ficheiro (com extensão zip, rar, gz, etc).

Recomendações

É valorizada a simplicidade das soluções que cumpram o enunciado. A compilação dos programas não deve gerar
warnings, os nomes das variáveis utilizadas devem descrever o propósito das mesmas, todos os programas devem
verificar se os valores lidos do teclado são válidos.

Em todas as questões deve validar se os valores lidos estão no intervalo de valores admissíveis no contexto do programa
e em caso de valor inválido terminar o programa com a respetiva mensagem de erro.

Questões

1. Pretendemos realizar um programa que lê do standard input (teclado) dois intervalos de horas disponíveis para uma
reunião. Cada intervalo tem dois inteiros que representam hora início e hora final (pertencentes ao intervalo [0, 23]).
A hora inicial tem de ser inferior à hora final. Caso haja erro de leitura o programa termina de imediato com a
mensagem "ERRO de leitura". Tendo os dois intervalos válidos pretende-se que o programa escreva no standard
output (terminal) o intervalo de horas em que é possível ser realizada a reunião.

Exemplos:
Indique 2 períodos para reunião: Indique 2 períodos para reunião:
12 17 9 11 15 18 17 20
A reunião não é possível A reunião é possível no intervalo horário [17, 18]

2. Elabore um programa que leia, do standard input (teclado), um valor inteiro positivo, que significa o total de números
a serem gerados num serie com a seguinte regra ilustrada na figura 1 e deverão ser escritos em standard output (terminal)
como se apresenta na figura 2.
1º termo = 1,
2º termo = 3,
3º termo = 4,
4º termo = 1º termo + 2º termo + 3º termo,
5º termo = 2º termo + 3º termo + 4º termo,
6º termo = 3º termo + 4º termo + 5º termo,
---,
---.
figura 1
Exemplos:

Digite um valor inteiro positivo: 0 Digite um valor inteiro positivo: 2


Serie Vazia!.. 1, 3
Digite um valor inteiro positivo: 10
1, 3, 4, 8, 15, 27, 50, 92, 169, 311
figura 2

1/2
3. Realize um programa que lê uma frase standard input (teclado) (caractere a caractere até fim de linha '\n') e
contabiliza a ocorrência de cada vogal (não distinguir entre maiúscula e minúscula) que existe na frase lida com a
finalidade de escrever em um gráfico de ocorrência com a seguinte apresentação (veja o exemplo seguinte).

Input: Digite uma frase:


na pergunta 4 do primeiro trabalho fazemos um grafico de ocorrencia de vogais
Output:

|
| * *
| * *
| * * *
| * * * *
| * * * *
| * * * *
| * * * * *
| * * * * *
+---------------------------------->
A E I O U
Qt: 8 6 5 8 2

4. Elabore um programa que leia do standard input (teclado) uma sequência de 2 ou mais valores inteiros (negativos ou
positivos), indicando primeiro a dimensão da sequência a ser introduzida. Após ler toda a sequência, o programa escreve
no standard output (terminal) uma das seguintes informações: “Sequência crescente”, “Sequência decrescente” ou
“Sequência não ordenada”. No caso de a sequência estar ordenada (podem existir elementos consecutivos repetidos),
ainda pode escrever: “Progressão aritmética com fator n.” (cada elemento é obtido do anterior mais a soma de um valor
constante n) ou “Progressão geométrica com fator n.” (cada elemento é obtido do anterior vezes um valor constante n).
nota: não pode usar variável array.

Exemplos:
Dimensão da sequência: 5 Dimensão da sequência: 5
Sequência: 1 2 3 4 5 Sequência: 5 4 3 2 1
A sequência é crescente. A sequência é decrescente.
Progressão aritmética com fator 1. Progressão aritmética com fator -1.
Dimensão da sequência: 5 Dimensão da sequência: 5
Sequência: 1 5 4 3 2 Sequência: 1 3 9 27 81
A sequência não está ordenada. A sequência é crescente.
Progressão geométrica com fator 3.
Dimensão da sequência: 5 Dimensão da sequência: 2
Sequência: 1 2 3 4 4 ERRO – Dimensão inferior a 2
A sequência é crescente.

Bom trabalho,
Manuel Carvalho
Mário Pinheiro

2/2

Você também pode gostar