Algorítmos para a Análise de Sequências Biológicas - Ficha nº 2
Para obter a cotação máxima nesta ficha, terá que ter no mínimo 400 pontos.
Carregue aqui para submeter.
Problema F2Ex0 (100 pontos)
Passar para Maiúsculas
Escreva um programa que leia uma cadeia e que a imprima em maiúsculas.
Exemplo de input
PATPGGTTTCA
Exemplo de output
PATPGGTTTCA
Exemplo de input
attg
Exemplo de output
ATTG
Sugestões
- Use a função input para ler uma string
- Use o método upper das strings para passar para maiúsculas
- Use a função print para imprimir.
- O seu programa só deve imprimir o que lhe é pedido, nada mais!
Problema F2Ex1 (100 pontos)
Contar Aminoácidos
Escreva um programa que leia uma cadeia e que imprima os aminoácidos existentes e a sua contagem.
Input
O input é uma cadeia de aminoácidos.
Output
-
Cada aminoácido aparece numa linha, seguido de um espaço e do nº de vezes que aparece.
-
Os aminoácidos aparecem por ordem alfabética.
Exemplo de input
PATPGGTTTCA
Exemplo de output
A 2
C 1
G 2
P 2
T 4
Sugestões
- Use a função input para ler uma string
- O seu programa só deve imprimir o que lhe é pedido, nada mais!
- Use a função sorted para ordenar as chaves do dicionário.
- Leia mais sobre dicionários
- Lembre-se que pode percorrer uma string com um for para ver uma letra de cada vez
Problema F2Ex2 (100 pontos)
Triângulos
Escreva um programa que leia o tamanho dos lados de um triângulo e que imprima:
-
INVALIDO caso o triângulo não possa existir, ou
-
Os seguintes valores, separados por um espaço:
-
O tipo, que pode ser um dos seguintes:
- EQUILATERO
- ISOSCELES
- RETANGULO
- ESCALENO
-
O perímetro
-
A sua área, com duas casas decimais
Exemplos
Input
3
2
6
Output
INVALIDO
Input
8
7
9
Output
ESCALENO 24 26.83
Sugestões
- Pode utilizar a função round para arredondar.
- O seu programa só deve imprimir o que lhe é pedido, nada mais!
Problema F2Ex3 (100 pontos)
Ordenar Proteínas
Escreva um programa que recebe uma lista de proteínas e a imprima ordenada por:
- ordem decrescente de tamanhos e,
- dentro do mesmo tamanho, por ordem alfabética.
Input
A lista de proteínas é dada numa única linha, separada por espaços.
Output
O objetivo é imprimir as proteínas separadas por espaços.
Exemplos
Input
ATYG PYTAS ARFQS FEGH HYPNQ GEFIAW
Output
GEFIAW ARFQS HYPNQ PYTAS ATYG FEGH
Sugestões
-
Existe a função sorted
-
Relembro que a função sorted pode receber no parâmetro key uma função para decidir como deve ordenar
-
Lembre-se que no exemplo final das listas, se percebe como é que os tuplos são ordenados. Se precisar corra mais alguns exemplos.
-
A maneira mais simples de separar uma string por palavras é utilizar o método split
-
A maneira mais simples de imprimir uma lista de strings com os elementos separados por espaços é usando a interpolação de listas em funções. Segue um exemplo:
L = [2, 1, 3, 5, 4]
print(*L)
- O seu programa só deve imprimir o que lhe é pedido, nada mais!
Problema F2Ex4 (200 pontos)
Anagramas
Escreva um programa que leia um dicionário e uma lista de anagramas e que,
para cada um desses anagramas, indique qual é a palavra do dicionário que lhe corresponde.
Input
O input é composto do seguinte:
-
O nº de palavras do dicionário (menor do que 1000)
-
Cada linha seguinte terá uma das palavras do dicionário
-
O nº de anagramas a procurar
-
Cada linha seguinte terá um dos anagramas a procurar no dicionário
Output
O output terá uma linha por cada anagrama a procurar. Cada linha terá o seguinte:
- O nº de palavras do dicionário que podem corresponder ao anagrama.
- A lista das palavras possíveis, por ordem alfabética, separadas por espaços.
Exemplos
Input
4
MI
ASSIM
MISSA
ASNO
2
SIMAS
CARMA
Output
2 ASSIM MISSA
0