Você está na página 1de 2

Introdução à Programação

Engenharia Informática e de Computadores e Engenharia Eletrotécnica


2019/2020

Mini-Projecto
• Descrição do Projecto
O mini-projecto tem como objectivo aprofundar os seus conhecimentos na linguagem de
programação C, colocando em prática os conhecimentos já adquiridos, desde estruturas
condicionadas, de repetição e estruturas de múltiplas escolhas, funções, vetors, matrizes
e strings. Para tal irá desenvolver um programa em C, baseando em funções, com a
seguinte estrutura:
1- Sucessões
2- Problema dos Casais
3- Histograma
4- Campeonato de Futebol
5- Sequencia de DNA
6- Sair.
O utilizador escolhe entre uma destas opções:
(
3n + 1 se n é impar
1. Considere a seguinte sucessão de números naturais an =
n2 se n é par
para todos os valores de n naturais positivos. Escreve um programa que dado
um numero inteiro e positivo, Lista e calcula a soma dos n primeiros termos da
sucessão. De seguida pede um número inteiro e verifica se ess número é termo da
sucessão.
2. Em um bar, os homens recebem cartão de identificação com números ı́mpares e
as mulheres cartões com números pares. Um animador contratado para animar a
programação do dia deseja saber se existe uma proporção de um-para-um entre
homens e mulheres.Você deve fazer um programa para fazer esta verificação. O
programa receberá um número N (1 <= N <= 1000) com o número de cartões
distribuı́dos e uma lista com N números inteiros positivos (todos maior ou igual a
1 e menor ou igual a 500) cada um representando o número de um cartão.Como
saı́da o programa deve informar se existe uma proporção de um-para-um entre
homens e mulheres.
3. Escrever uma função que determine o histograma, média e desvio padrão de um
vector de reais. O histograma representa, num vector apropriado, o número de
ocorrências dos n elementos do vector em cada um de k intervalos de largura
(max(x) – min(x))/k. O desvio padrão, s, é uma medida de q dispersão dos ele-
Pn 2
i=1 (xi−m)
mentos de x em torno da média,m , e é definido como DP= n−1
4. Considere uma tabela com informações de um campeonato de futebol. A tabela
possui N linhas, uma linha para cada equipa participante, e M colunas, sendo
que a primeira coluna contém o total de pontos da equipa e cada coluna seguinte
contém o saldo de golos da equipa por jogo, em cada uma das M-1 jogos que
disputou (saldo de golos corresponde à diferença entre os golos marcados e os
golos sofridos no jogo). Cria uma função que receba dois parâmetros: a tabela do
campeonato (matriz) e o número N de equipas participantes. Para cada uma das
equipas, a função deverá contar quantos jogos a equipa empatou (isto é, teve saldo
de golos nulo). Se a equipa tiver 5 ou menos pontos no campeonato, a função
deverá imprimir o ı́ndice da equipa e o número de empates do mesmo.
5. O DNA é um composto orgânico cujas moléculas contêm as instruções ACCCA-
CAACA genéticas que coordenam o desenvolvimento e funcionamento de todos os
seres TGGGTGTTGT vivos e alguns vı́rus, e que transmitem as caracterı́sticas
hereditárias de cada ser vivo. As quatro bases encontradas no DNA são a adenina
(A), citosina (C), guanina (G) e timina (T). A adenina liga-se exclusivamente à
timina e a citosina liga-se sempre à guanina. Sabendo-se que o DNA é composto
por 2 lados um deles somente com adenina (A) e citosina (C), e o outro somente
com guanina (G) e timina (T), um modo de armazenar estes dados de forma al-
inhada é utilizar os ı́ndices pares para um lado da fita e os ı́ndices ı́mpares para
outro. Faça uma função que receba como parâmetro uma string. A função de-
verá verificar (1) se os ı́ndices pares contêm somente A’s e C’s e (2) se depois
de um A sempre tem um T e depois de um C sempre tem um G. Neste caso,
a função deverá imprimir na tela “SEQUENCIA CORRETO”; caso contrário,
deverá imprimir “SEQUENCIA INCORRETO”.
• Requisitos obrigatórios e funcionais /modos de realização
– Implemente os programas e introduza comentários sucintos para explicar ideias
ou passos principais.
– Deve-se criar um único projeto e uma única função main (programa principal) que
por sua vez, invocará todas as demais funções, responsabilizando-se pela execução
do seu programa (recorrer ao switch-case).
– Deve haver uma função/procedimento que ocupará pela construção do menu prin-
cipal do seu TRABALHO. Uma vez executado deve apresentar no monitor esse
menu e sempre que necessário, submenus com várias opções.
• Condições de Entrega
– O projecto deverá ser entregue até o dia 27 de Janeiro de 2019, às 18:00,
através da plataforma MOODLE.
– Não serão aceites trabalhos entregues por mail nem por qualquer outro meio não
definido nesta secção. O não envio do trabalho até a data indicada implicará 0
valores da nota do projeto.
– O Trabalho deve ser defendido na aula prática.
– O Trabalho pode ser desenvolvido em grupo de no máximo dois (2) elementos;

Você também pode gostar