Buscar

COM120 - Algoritmo II

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 4 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

GABARITO 
DISCIPLINA 
COM120 - Algoritmos e Programação de Computadores II 
APLICAÇÃO 
03/12/2020 
CÓDIGO 
DA PROVA P001/P002 
 
QUESTÕES OBJETIVAS 
Questão 1.1 
Dado o seguinte trecho de código em Python, considere S para as instruções que são válidas, e N para 
as que não são válidas: 
 
lista = ['abc', ['d'], ['ef']] 
 
( ) lista[0] = 'x' 
( ) lista[0][0] = 'x' 
( ) lista[1][0] = 'x' 
( ) lista[2][0] = 'x' 
( ) lista[2][0][0] = 'x' 
 
Assinale a alternativa que apresenta a sequência correta, respectivamente: 
a) S-N-S-S-N 
b) S-S-S-S-N 
c) S-S-S-N-N 
d) S-S-N-N-N 
e) S-N-N-N-N 
 
RESOLUÇÃO 
A resposta correta é: S-N-S-S-N. 
 
Justificativa 
Strings são imutáveis, então, quando tenta-se alterar um caractere dela, dá erro. Por exemplo, 
lista[0][0] irá acessar o caractere ‘a’ da primeira string da lista. Já lista[0] acessa a string inteira, 
podendo esse ponteiro ser alterado para outra string (no caso é o caractere x). 
 
 
Questão 1.2 
Considere uma classe “Fracao” em Python e dois objetos definidos como segue: 
 
class Fracao: 
 def __init__(self, num, den): 
 self.num = num 
 self.den = den 
 
 def __repr__(self): 
 return str(self.num) + '/' + str(self.den) 
 
f1 = Fracao(1, 2) 
f2 = Fracao(3, 4) 
print(f1) 
print(f2) 
 
Considere as afirmativas como verdadeiras (V) ou falsas (F): 
( ) A instrução print(f2) fará com que seja gerado um erro. 
( ) f1 e f2 são objetos da classe Fracao. 
( ) A classe Fracao possui dois atributos, f1 e f2. 
 
Assinale a alternativa que apresenta a sequência correta, respectivamente: 
a) F-V-F 
b) V-V-V 
c) V-V-F 
d) V-F-F 
e) F-F-F 
 
RESOLUÇÃO 
A resposta correta é: F-V-F. 
 
Justificativa 
A instrução print(f2) irá imprimir 3/4. 
Os atributos da classe Fracao são: num e den. 
 
 
Questão 1.3 
Assinale a alternativa que melhor representa o conceito apresentado na definição a seguir: 
“Primeiro que entra é o primeiro que sai”. 
a) Pilha. 
b) Fila. 
c) Árvore. 
d) Lista. 
e) Grafo. 
 
RESOLUÇÃO 
A resposta correta é: Fila. 
 
Justificativa 
Filas são estruturas de dados em que os primeiros elementos que são inseridos são os primeiros a 
serem removidos. Todas as outras alternativas são de estruturas que não têm relação com o conceito 
do enunciado. Em uma pilha, o último que entra é o primeiro que sai. Já em árvores, listas e grafos, não 
há uma ordem de inserção e remoção pré-definida. 
 
 
Questão 1.4 
Assinale a alternativa que melhor representa o conceito apresentado na definição a seguir: 
 
“Realiza comparações entre elementos consecutivos, de modo que a cada iteração do laço mais 
externo o maior elemento é posicionado no final do vetor”. 
a) Quicksort. 
b) Heapsort. 
c) Radixsort. 
d) Bubblesort. 
e) Mergesort. 
 
RESOLUÇÃO 
A resposta correta é: Bubblesort. 
 
Justificativa 
O algoritmo Bubblesort realiza comparações entre elementos consecutivos, de modo que a cada 
iteração do laço mais externo o maior elemento é posicionado no final do vetor. 
O Quicksort seleciona um pivô para ordenar os elementos à esquerda e à direita. O Heapsort utiliza 
uma árvore binária para ordenar. O Radixsort não é baseado em comparações, e o Mergesort é 
baseado em divisão-e-conquista. 
 
 
QUESTÕES DISSERTATIVAS 
 
Questão 2 
Implemente uma classe em Python que represente o conceito ‘Horário’, contendo os seguintes 
atributos: hora, minuto e segundo. Em seguida, crie um objeto h dessa classe, em que ao executar a 
instrução ‘print(h)’, o programa deverá imprimir uma string no formato: ‘hora:minuto:segundo’. 
 
RESOLUÇÃO 
Uma possível resolução seria: 
class Horario: 
 def __init__(self, hora, minuto, segundo): 
 self.hora = hora 
 self.minuto = minuto 
 self.segundo = segundo 
 
 def __repr__(self): 
 return str(self.hora) + ':' + str(self.minuto) + ':' + 
str(self.segundo) 
h = Horario(15, 17, 23) 
print(h) 
 
Rubricas | critérios de correção 
30% - Sintaxe. 
50% - Classe contendo todos os requisitos. 
20% - Função __repr__ implementada corretamente. 
 
 
Questão 3 
Considere o programa em Python: 
 
 
from tkinter import Tk, Button, Label, Entry, END 
 
def clicked(): 
 global entry 
 name = entry.get() 
 print('Ola', name) 
 entry.delete(0, END) 
 
root = Tk() 
label = Label(root, text='Nome:') 
label.grid(row=0, column=0) 
entry = Entry(root) 
entry.grid(row=0, column=1) 
button = Button(root, text='OK', command=clicked) 
button.grid(row=1, column=0, columnspan=2) 
root.mainloop() 
 
O que representa e para que serve a variável entry? 
 
RESOLUÇÃO 
O programa cria uma janela com alguns componentes: Label, contendo o texto ‘Nome:’; entry, que é 
uma caixa de texto para o usuário inserir algum dado; e um botão que, quando clicado pelo usuário, 
faz com que a função clicked() seja executada. Essa função obtém o texto do componente entry e 
imprime o no terminal precedido da string ‘Ola’. 
Desse modo, a variável entry representa um objeto da classe Entry, responsável por adicionar um caixa 
de texto na janela, para que o usuário possa inserir um texto pelo teclado. 
 
Rubricas | critérios de correção 
40% - Informou que é um objeto da classe Entry. 
60% - Informou que é um widget para inserção de texto na janela.

Continue navegando

Outros materiais