.o. .ooooooo. .oooooo. ooooo ooooo .o. ooooooooo. oooooooo
.ooo. .ooo' ooo .ooo ooo .oo .oo .ooo. .oo ooo. o .oo o
.ooooo. .oooo. .ooo .oo .oo .ooooo. .oo 'ooo. .oo
.oo ooo. .ooo. .ooo .oo .oo .oo ooo. .ooooooo. .oo
.ooooooooo. .oooo. .ooo .oo .oo .ooooooooo. .oo.oo. .oo
.oo ooo. ooo 'ooo. .ooo ooo .oo .oo .oo ooo. .oo ooo. .oo
oooo oooooo .ooooooo. .oooooo. ooooo ooooo oooo oooooo ooooo ooooo ooooo
Formas geométricas simplesNesta tarefa, vamos praticar comandos repetitivos fazendo desenhos com caracteres ASCII. As formas irão variar de acordo com dois parâmetros:
base
para o número de caracteres e
Triângulo Retângulo: a primeira linha contém 1 caractere, a
segunda 3 e assim por diante até atingir o valor base
.
Triângulo Retângulo | ||
---|---|---|
base = 3 |
base = 5 |
base = 7 |
|
|
|
Triângulo Retângulo Invertido: a primeira linha contém o
número base
caracteres, a segunda base
-2 e
assim por diante até atingir 1 caractere.
Triângulo Retângulo Invertido | ||
---|---|---|
base = 3 |
base = 5 |
base = 7 |
|
|
|
Triângulo Isósceles: o número de caracteres varia da mesma forma que no triângulo retângulo, mas a ponta do triângulo está centralizada com relação à base.
Triângulo Isósceles | ||
---|---|---|
base = 3 |
base = 5 |
base = 7 |
|
|
|
Triângulo Isósceles Invertido: o número de caracteres varia da mesma forma que no triângulo retângulo invertido, mas a ponta do triângulo está centralizada com relação à base.
Triângulo Isósceles Invertido | ||
---|---|---|
base = 3 |
base = 5 |
base = 7 |
|
|
|
Ampulheta: une um triângulo isósceles invertido a um
triângulo isósceles, ambos de mesma base
, sendo que os triângulos
compartilham a linha com apenas um caractere.
Ampulheta | ||
---|---|---|
base = 3 |
base = 5 |
base = 7 |
|
|
|
Estrela: uma estrela de seis pontas combina um triângulo
isósceles, duas ampulhetas e um triângulo isósceles invertido, todos
com tamanho base
. Observe os exemplos abaixo.
Estrela | ||
---|---|---|
base = 3 |
base = 5 |
base = 7 |
|
|
|
A entrada para o programa será da seguinte forma:
<tipo_do_objeto>
<base>
<caractere>
As letras que identificarão os tipos dos objetos serão as seguintes:
TR
: Triângulo Retângulo
TRI
: Triângulo Retângulo Invertido
TI
: Triângulo Isósceles
TII
: Triângulo Isósceles Invertido
A
: Ampulheta
E
: Estrela
Caso o tipo_do_objeto
lido não
corresponda a um destes, deve ser emitida a
mensagem Objeto inválido.
O valor para a base
deve ser um
número ímpar e maior ou igual a 3. Caso o número lido não
tenha estas características deve ser emitida a
mensagem Base inválida.
Entrada | Resultado | ||
---|---|---|---|
arq1.in |
TR |
|
arq1.res |
arq2.in |
TRI |
|
arq2.res |
arq3.in |
TI |
|
arq3.res |
arq4.in |
TII |
|
arq4.res |
arq5.in |
A |
|
arq5.res |
arq6.in |
E |
|
arq6.res |
arq7.in |
E |
| arq7.res |
arq8.in |
X |
| arq8.res |
arq9.in |
TI |
| arq9.res |
Atenção: Não imprima caracteres em branco ao final das linhas!
Esta tarefa inclui mais três testes fechados, que são variações de alguns dos testes já apresentados.
Você pode imprimir vários caracteres iguais utilizando comandos como:
print(5 * "*")
Você pode imprimir uma cadeia de caracteres sem imprimir uma
quebra de linha utilizando:
print("*****", end='')
Utilize o gerador de sequências range(inicio, fim,
passo)
. Veja um exemplo em ordem crescente e outro em ordem
decrescente.
>>> for i in range(1,8,2) :
print(i)
1
3
5
7
>>> for i in range(7,0,-2) :
print(i)
7
5
3
1
Como na tarefa anterior, a saída pode conter caracteres com acento. Para não ter problemas com a codificação coloque no início do seu arquivo a seguinte linha:
# -*- coding: utf-8 -*-
Veja aqui
a página de submissão da tarefa. Lembre-se que o
arquivo a ser submetido deve se chamar main.py. No
link Arquivos
auxiliares há um arquivo arqs-04.zip
que
contém todos os arquivos de testes abertos e seus respectivos
resultados compactados. Os arquivos executa-testes.py
e executa-testes-windows.py
também estão
neste pacote.
Todos os alunos matriculados até 29 de março estão inscritos. Se você entrou depois e/ou não estiver cadastrado corretamente, envie email para .
Observe o limite máximo de 20 submissões e que a nota final é proporcional ao número de testes que executaram corretamente.
O peso desta tarefa é 3.
O prazo final para submissão é 22/04/2018. Recomenda-se a realização desta tarefa antes da Prova 1.