.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
Tarefa de laboratório 03Nesta tarefa, vamos praticar comandos repetitivos fazendo desenhos com caracteres ASCII. As formas irão variar de acordo com as dimensões estabelecidas e o caractere especificado para contorno. Observe os exemplos.
Quadrado: Deve ser desenhado o contorno de um quadrado, a
partir da medida, em termos de número de caracteres, do lado
deste quadradado.
Quadrado | ||
---|---|---|
lado = 3 |
lado = 5 |
lado = 7 |
|
|
|
Retângulo: Deve ser escrito o contorno de um retângulo
a partir da medida em número de caracteres da
largura
e altura
deste retângulo.
Retângulo | |||
---|---|---|---|
largura = 4altura = 3 |
largura = 10altura = 5 |
largura = 3altura = 7 |
largura = 5altura = 5 |
|
|
|
|
Paralelogramo: Deve ser escrito o contorno de um
paralelogramo a partir da medida em número de caracteres da
largura
e altura
deste
paralelogramo. Observe que a inclinação da lateral do paralelogramo é
de 1 caractere à direita por linha.
Paralelogramo | |||
---|---|---|---|
largura = 4altura = 3 |
largura = 8altura = 4 |
largura = 4altura = 8 |
largura = 5altura = 5 |
|
|
|
|
Losango: Deve ser escrito o contorno de um losango a partir da medida em número de caracteres do lado
deste losango.
Losango | ||
---|---|---|
lado = 3 |
lado = 5 |
lado = 6 |
|
|
|
Cruz: Desenha uma cruz formada pela junção de
5 contornos de quadrados de mesmo tamanho de lado
.
Cruz | ||
---|---|---|
lado = 3 |
lado = 4 |
lado = 5 |
|
|
|
Para todos os objetos será indicado:
<tipo_do_objeto>
<caractere>
As letras que identificarão os tipos dos objetos serão as seguintes:
Q
: Quadrado
R
: Retângulo
P
: Paralelogramo
L
: Losango
C
: Cruz
Para os objetos Quadrado, Losango e Cruz deverá ser lida a medida do lado.
<medida_do_lado>
Para os objetos Retângulo e Paralelogramo deverão ser lidas as medidas da largura e da altura.
<medida_da_largura>
<medida_da_altura>
O valor para as dimensões deverá ser um número maior ou igual a 3.
Exemplo:
P
:
4
5
Caso a entrada tenha dados de acordo com a especificação, um desenho como os descritos na primeira seção deverá ser exibido. Para o exemplo de entrada fornecido, a saída será:
::::
: :
: :
: :
::::
Importante:Não acrescente caracteres em branco ao final das linhas!
Caso o tipo_do_objeto
lido não corresponda a um
dos elencados acima, deve ser emitida a mensagem Objeto
incorreto.
Caso algum número lido seja menor do que 3, deve ser emitida
a mensagem Dimensao incorreta.
(propositalmente sem
acentuação). Caso o tipo do objeto seja inválido,
não é necessário ler ou verificar a validade das
dimensões.
Esta tarefa contém 16 testes abertos que exercitam todas as possibilidades com entradas válidas e também inválidas. Esta tarefa inclui mais quatro testes fechados, que são variações de alguns dos testes abertos.
Você pode escrever vários caracteres iguais utilizando comandos como:
print(5 * "*")
Você pode escrever uma cadeia de caracteres sem imprimir uma
quebra de linha alterando o finalizador padrão:
print("*****", end='')
Você pode escrever vários elementos sem um
caractere em branco entre eles alterando o separador padrão:
print("a", "b", sep='')
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
Veja aqui
a página de submissão da tarefa. Lembre-se que o
arquivo a ser submetido deve se chamar lab03.py. No
link Arquivos
auxiliares há um arquivo aux-03.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.
Observe o limite máximo de 20 submissões.
A nota final é proporcional ao número de testes que executaram corretamente, desde que o código faça os desenhos solicitados para uma conjunto amplo de possibilidades da entrada. A submissão de um código que não implementa o algoritmo requisitado no enunciado, mas que exibe as saídas esperadas dos testes abertos a partir da comparação de trechos da entrada será considerada fraude e acarretará a atribuição de nota zero à média final da disciplina.
O peso desta tarefa é 3.
O prazo final para submissão é 09/09/2018.