Prévia do material em texto
Painel Meus cursos 32010001906-T01-2024-2 📚 Módulo 2
✅ [A2] Avaliação do Módulo 2 – Pilhas, filas e arquivos
Iniciado em segunda, 2 dez 2024, 00:30
Estado Finalizada
Concluída em segunda, 2 dez 2024, 01:20
Tempo
empregado
50 minutos 8 segundos
Avaliar 9,00 de um máximo de 10,00(90%)
Comentários
Questão 1
Correto
Atingiu 1,00 de 1,00
Em relação às operações que podem ser realizadas com uma pilha, escolha a alternativa que contenha uma
afirmação correta.
a. A operação de empilhar manipula o topo da pilha e a operação de desempilhar manipula a base da
pilha.
b. As operações permitidas em uma pilha são: insere no topo, insere na base e remove do topo.
c. O conceito de pilhas não possui aplicações, servindo apenas para praticar conceitos de programação.
d. Se uma pilha for implementada utilizando uma lista com alocação sequencial, a operação de
empilhamento pode levar à necessidade de um redimensionamento do vetor usado para armazenar
a lista.
e. A operação de desempilha em uma lista duplamente encadeada não funciona corretamente.
https://ava.ufms.br/my/
https://ava.ufms.br/course/view.php?id=60732
https://ava.ufms.br/course/view.php?id=60732#section-3
https://ava.ufms.br/mod/quiz/view.php?id=846578
Questão 2
Correto
Atingiu 1,00 de 1,00
Questão 3
Correto
Atingiu 1,00 de 1,00
Questão 4
Correto
Atingiu 1,00 de 1,00
Tanto a operação de empilhar quanto a operação de desempilhar possuem a mesma complexidade, pois
ambas manipulam o topo da pilha.
Escolha uma opção:
Verdadeiro
Falso
Filas e pilhas podem ser implementadas
listas lineares . O uso de listas lineares encadeadas nessas
implementações vai otimizar o gerenciamento de memória
, dado que não será necessário se preocupar com o redimensionamento de um
vetor . Em um cenário onde a quantidade de valores
é mais previsível , o uso de listas lineares com alocação sequencial
pode ser uma boa opção.
A hipótese de underflow acontece em uma pilha quando:
a. Um elemento negativo é inserido na pilha.
b. Ela está com dois elementos.
c. Duas operações de desempilha são invocadas sucessivamente.
d. A operação desempilha é invocada quando a pilha está vazia.
e. Essa possibilidade não existe em pilhas.
Questão 5
Correto
Atingiu 1,00 de 1,00
Questão 6
Correto
Atingiu 1,00 de 1,00
Considerando o código abaixo (escrito na linguagem Python), escolha a alternativa que apresenta uma
afirmação correta.
Soma = 0
Cont = 0
arq = open(“Inteiros.txt”, “r”)
S = arq.readline()
while S != “”:
N = int(S)
Soma = Soma + N
Cont = Cont + 1
print(“Elemento {0} = {1}”.format(Cont, N))
S = arq.readline()
arq.close()
print(“\nSoma = {0}”.format(Soma))
a. Esse programa lê um arquivo e totaliza os valores encontrados. Essa é a única maneira de implementar
um programa com esse objetivo.
b. O programa lê um arquivo binário contendo uma sequência de valores binários em cada linha.
c. A implementação desse mesmo código utilizando um iterador de arquivo ficaria mais enxuta. Entretanto,
códigos enxutos não fazem parte do estilo de programação em Python.
d. Esse programa lê um arquivo e totaliza os valores encontrados. Seria possível implementar um
programa com o mesmo objetivo utilizando o conceito de iterador de arquivo.
e. Se esse mesmo código fosse implementado usando um iterador de arquivo, o programa ficaria menos
enxuto e mais pesado.
Em relação ao conceito de arquivos, escolha a sentença INCORRETA:
a. Uma vez gravado em disco, o arquivo pode ser entendido como um conjunto de bytes ao qual é
atribuído um nome.
b. Arquivos de imagem, áudio e vídeo são exemplos de arquivos binários.
c. Os arquivos são utilizados para armazenar dados de maneira permanente.
d. As linguagens de programação contam com recursos para escrita e leitura de arquivos.
e. O gerenciamento do armazenamento de um arquivo fica a cargo do usuário, e o sistema operacional
instalado no dispositivo não interfere.
Questão 7
Correto
Atingiu 1,00 de 1,00
Questão 8
Correto
Atingiu 1,00 de 1,00
A codificação em que se deseja escrever um arquivo é importante para manter
a coerência de arquivos . Um código que está manipulando arquivos deve manter a
coerência entre a codificação do arquivo salvo e a maneira com que os Bytes do
arquivo são interpretados no código.
Considerando o código abaixo (escrito na linguagem Python), escolha a alternativa que apresenta uma
afirmação correta.
arqreais = open(“ValsReais.txt”, “w”)
x = float(input(“Digite um númeor real”))
while x != 0:
arqreais.write(“{0:.3f}\n”.format(x))
x = float(input(“Digite um número real”))
arqreais.close()
a. Seria impossível reescrever esse programa utilizando a função writelines.
b. A conversão utilizando float é desnecessária, pois a função input já lê a informação do teclado como um
valor numérico.
c. O programa escreve números reais em um arquivo até que o número 0 seja digitado.
d. O caractere “\n” é necessário para garantir o correto fechamento do arquivo.
e. O arquivo foi aberto no formato de leitura.
Questão 9
Correto
Atingiu 1,00 de 1,00
Considere o código abaixo (escrito na linguagem Python).
1. fp = open(“a.txt", "w”)
2. linhas = fp.readlines()
3. fp.write(“May the force be with you”)
4. fp.close()
Escolha a alternativa que apresenta uma afirmação correta em relação ao código acima.
a. Mesmo após o fechamento do arquivo (linha 4), é possível realizar as operações de leitura e escrita no
arquivo apontado por fp sem a necessidade de chamar a função open novamente.
b. A função write escreve em um arquivo, mesmo quando ele não foi aberto utilizando a função open.
c. O segundo parâmetro da função open representa o formato de abertura do arquivo. Nesse caso, será
para leitura.
d. A variável fp funciona como um ponteiro para o arquivo “a.txt”, e deve ser utilizada para realizar as
operações de leitura e escrita nesse arquivo.
e. O código acima está conceitualmente incorreto, pois não fecha o arquivo, o que pode ocasionar
inconsistências de armazenamento.
Questão 10
Incorreto
Atingiu 0,00 de 1,00
Projete e implemente um programa em Python que permitirá as operações empilhar e desempilhar em uma
pilha P de caracteres. Seu programa receberá entradas que terão um dos três formatos a seguir:
1. E X, onde E representa o caractere “E” e X representa um caractere qualquer. Essa operação deve empilhar
o caractere X na pilha P;
2. D, onde D representa o caractere “D”. Essa operação deve executar um desempilhamento em P;
3. S, onde S representa o caractere “S”. Seu programa deve esvaziar a pilha, imprimir seu conteúdo e encerrar.
Para realizar a leitura de uma linha de entrada, você pode usar o código a seguir:
1. linha = input()
2. valores = linha.split(“ “)
Por exemplo, se o conteúdo digitado na variável linha for E T, a variável valores será um vetor cuja primeira
posição será “E” e o segundo valor será “T”. Se o conteúdo digitado na variável linha for D, a variável valores será
um vetor com apenas uma posição contendo o valor “D”.
Por exemplo:
Teste Entrada Resultado
1 E T
E E
E O
D
D
E A
S
A T
Resposta: (regime de penalidade: 0%)
def main():
pilha = [] # Inicializa a pilha como uma lista vaz
while True:
entrada = input("Digite a operação (E X, D ou S
if entrada.startswith("E "): # Operação de emp
_, caractere = entrada.split(maxsplit=1) #
pilha.append(caractere)
print(f"Empilhado: {caractere}")
elif entrada == "D": # Operação de desempilhar
if pilha:
removido = pilha.pop()
print(f"Desempilhado: {removido}")
else:
print("A pilha está vazia. Não é possív
elif entrada == "S": # Operação de esvaziar e
print("Esvaziando a pilha:")
while pilha:
print(pilha pop())
Teste Entrada Esperado
1 E T
E E
E O
D
D
E A
S
A T
1 ▼
2
3
4 ▼
5
6
7 ▼
8
9
10
11
12 ▼
13 ▼
14
15
16 ▼
1718
19 ▼
20
21 ▼
22
Alguns casos de teste ocultos também falharam.
Seu código deve passar em todos os testes para receber qualquer nota. Tente novamente.
Incorreto
Notas para este envio: 0,00/1,00.
Atividade anterior
◄ 📍 [Checkout de Presença] Módulo 2 – Pilhas, filas e arquivos
Seguir para...
Próxima atividade
▶ [Videoaula] Apresentação do Módulo 3 ►
Manter contato
Suporte Técnico ao Usuário
https://suporteagetic.ufms.br
(67) 3345-7613
suporte.agead@ufms.br
https://ava.ufms.br/mod/quiz/view.php?id=846576&forceview=1
https://ava.ufms.br/mod/url/view.php?id=846579&forceview=1
https://suporteagetic.ufms.br/
tel:(67) 3345-7613
mailto:suporte.agead@ufms.br
https://api.whatsapp.com/send?phone=556733457613