0% acharam este documento útil (0 voto)
14 visualizações9 páginas

Algoritmos e Estruturas de Dados em Python

O documento apresenta orientações para a elaboração de relatórios sobre diversas atividades práticas em programação com Python, abordando conceitos de algoritmos, estruturas de dados e técnicas de programação. Cada atividade requer um resumo teórico, código-fonte comentado e referências, com critérios de avaliação claros. Os tópicos incluem desde lógica de programação até algoritmos de grafos e técnicas de divisão e conquista.
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
14 visualizações9 páginas

Algoritmos e Estruturas de Dados em Python

O documento apresenta orientações para a elaboração de relatórios sobre diversas atividades práticas em programação com Python, abordando conceitos de algoritmos, estruturas de dados e técnicas de programação. Cada atividade requer um resumo teórico, código-fonte comentado e referências, com critérios de avaliação claros. Os tópicos incluem desde lógica de programação até algoritmos de grafos e técnicas de divisão e conquista.
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd

Análise e Desenvolvimento de Sistemas

ALGORITMOS E ESTRUTURA
DE DADOS EM PYTHON
RELATÓRIO DE AULAS PRÁTICAS

Nome:_______________________________________

RA:_________________________________________

Polo de matrícula:______________________________

Local da realização da Aula Prática:________________

Ano da postagem______________________________
TÍTULO DA ATIVIDADE (ROTEIRO OU AULA): IMPLEMENTANDO ALGORITMOS
EM PYTHON

ORIENTAÇÕES:
Cada aluno (ou equipe) deve produzir um relatório curto (1 a 2 páginas)
contendo:

Resumo Teórico:
 Explicar, com palavras próprias, o que é lógica de programação e por
que ela é importante.
 Mencionar brevemente o que é pseudocódigo e fluxograma e como
ajudam na organização de ideias.
 Citar as vantagens de usar Python para aprender programação.
 Definição de algoritmo, variável, condicional, laço;

Código-Fonte Comentado:
 Inserir o código-fonte completo da atividade proposta.
 Comentar as principais linhas, ressaltando o uso de print(), input(),
variáveis etc.

REFERÊNCIAS: O aluno deverá colocar o nome dos livros e sites utilizados para a
realização da atividade. As regras para fazer referência ao material utilizado deverão
ser de acordo com a ABNT.

CRITÉRIOS PARA AVALIAÇÃO

Critério Peso Descrição


Clareza e correlação correta entre conceitos.
Qualidade do
2,0
Resumo Teórico

O código deve estar indentado corretamente,


Estrutura e 3,0 usar nomes de variáveis adequados e conter
Organização do comentários informativos (quando necessários).
Código
Execução sem erros, entrada e saída corretas,
Funcionamento
3,0 uso de condições e laços.
da Solução

Adição de perguntas extras, uso de strings


Criatividade e multilinha, personalização das mensagens e
2,0
Aprimoramentos outras melhorias que demonstrem domínio do
conteúdo.

Nota Final: Será a soma dos valores obtidos em cada critério. Alunos ou equipes que
não cumprirem os requisitos mínimos de funcionamento do código ou não entregarem
o relatório dentro do prazo terão sua nota diminuída proporcionalmente.
TÍTULO DA ATIVIDADE (ROTEIRO OU AULA): ESTRUTURAS DE DADOS
LINEARES EM PYTHON: LISTAS, PILHAS, FILAS E EFICIÊNCIA. NOTAÇÃO
BIG-O

ORIENTAÇÕES:
Cada aluno deve produzir um relatório sucinto (2 a 3 páginas) contendo:

Resumo Teórico
 Definição de listas, pilhas, filas e introdução à notação Big-O.
 Código-fonte comentado das soluções desenvolvidas.
 Reflexão sobre desafios encontrados e critérios para selecionar
cada estrutura;
Códigos-Fontes Comentados
 Inserir o código-fonte completo da atividade proposta.
 Comentar as principais linhas, ressaltando o uso das estruturas de
dados.

REFERÊNCIAS: O aluno deverá colocar o nome dos livros e sites utilizados para a
realização da atividade. As regras para fazer referência ao material utilizado deverão
ser de acordo com a ABNT.

CRITÉRIOS PARA AVALIAÇÃO

Critério Peso Descrição


Clareza do Clareza e correlação correta entre conceitos.
Resumo 2,0
Teórico
Organização e O código deve estar indentado corretamente, usar
Comentários do 3,0 nomes de variáveis adequados e conter comentários
Código informativos (quando necessários).
Execução sem erros, entrada e saída corretas.
Funcionalidade
2,0
do Código
Funcionalidades extras, simulações realistas
Criatividade e
3,0
Aprimoramentos

Nota Final: Será a soma dos valores obtidos em cada critério. Alunos ou equipes que
não cumprirem os requisitos mínimos de funcionamento do código ou não entregarem
o relatório dentro do prazo terão sua nota diminuída proporcionalmente.
TÍTULO DA ATIVIDADE (ROTEIRO OU AULA): ESTRUTURAS DE DADOS NÃO
LINEARES - ÁRVORES E GRAFOS EM PYTHON

ORIENTAÇÕES:
Cada aluno deve produzir um relatório curto (2 a 3 páginas), contendo:

Resumo Teórico:
 Definição de árvore e grafo, vantagens de cada estrutura.
 Comentário sobre a escolha de Python para ilustrar algoritmos de
percursos;
Códigos Desenvolvidos:
 Inserir o código-fonte completo da atividade proposta.
 Comentar as principais linhas, ressaltando criação de vértices, filas,
laços e condições de parada.
Conclusão:
 Descrever se a aula ajudou no entendimento de árvores e grafos.

REFERÊNCIAS: O aluno deverá colocar o nome dos livros e sites utilizados para a
realização da atividade. As regras para fazer referência ao material utilizado deverão
ser de acordo com a ABNT.

CRITÉRIOS PARA AVALIAÇÃO

Critério Peso Descrição


Clareza do Clareza e correlação correta entre conceitos.
Resumo 2,0
Teórico
Organização e O código deve estar indentado corretamente, usar
Comentários do 3,0 nomes de variáveis adequados e conter comentários
Código informativos (quando necessários).
Execução sem erros, entrada e saída corretas.
Funcionalidade
2,0
do Código

Criatividade e Inclusão de pesos, tratamento de exceções ou


3,0
Aprimoramentos visualização gráfica simples.

Nota Final: Será a soma dos valores obtidos em cada critério. Alunos ou equipes que
não cumprirem os requisitos mínimos de funcionamento do código ou não entregarem
o relatório dentro do prazo terão sua nota diminuída proporcionalmente.
TÍTULO DA ATIVIDADE (ROTEIRO OU AULA): ALGORITMOS DE ORDENAÇÃO
EM PYTHON (Bubble Sort, Selection Sort, Insertion Sort, Merge Sort e
Quick Sort)

ORIENTAÇÕES:
Cada aluno deve produzir um relatório sintético (2 a 3 páginas) contendo:

Resumo Teórico:
 Definir ordenação e justificar sua relevância em ciência da
computação.
 Explicar diferenças conceituais entre algoritmos quadráticos e log-
lineares.
 Comentar vantagens e limitações de cada método;
Códigos Desenvolvidos:
 Inserir as implementações completas, destacando linhas decisivas
(trocas, partições, fusões).
 Incluir tabela dos tempos obtidos nas medições.

REFERÊNCIAS: O aluno deverá colocar o nome dos livros e sites utilizados para a
realização da atividade. As regras para fazer referência ao material utilizado deverão
ser de acordo com a ABNT.

CRITÉRIOS PARA AVALIAÇÃO

Critério Peso Descrição


Clareza do
Resumo 2,0 Clareza e correlação correta entre conceitos.
Teórico
Organização e O código deve estar indentado corretamente,
Comentários do 3,0 usar nomes de variáveis adequados e conter
Código comentários informativos (quando necessários).

Funcionalidade Execução correta e apresentação dos


3,0
do Código resultados de tempo.

Criatividade e Introdução de visualização gráfica simples, pivô


2,0
Aprimoramentos aleatório ou otimizações.

Nota Final: Será a soma dos valores obtidos em cada critério. Alunos ou equipes que
não cumprirem os requisitos mínimos de funcionamento do código ou não entregarem
o relatório dentro do prazo terão sua nota diminuída proporcionalmente.
TÍTULO DA ATIVIDADE (ROTEIRO OU AULA): ALGORITMOS DE PESQUISA -
BUSCA LINEAR E BUSCA BINÁRIA EM PYTHON

ORIENTAÇÕES:
Cada aluno deve produzir um relatório (2 a 3 páginas) contendo:

Resumo Teórico:
 Explicar a diferença entre pesquisa exaustiva e pesquisa por divisão.
 Comparar custos de busca linear e binária em termos de
complexidade e de requisitos de ordenação;
Códigos Desenvolvidos:
 Inserir implementações completas de ambos os métodos.
 Apresentar tabela com tempos coletados para três tamanhos
distintos de listas.

REFERÊNCIAS: O aluno deverá colocar o nome dos livros e sites utilizados para a
realização da atividade. As regras para fazer referência ao material utilizado deverão
ser de acordo com a ABNT.

CRITÉRIOS PARA AVALIAÇÃO

Critério Peso Descrição


Clareza do Clareza conceitual e uso correto de terminologia.
Resumo 2,0
Teórico
Organização e O código deve estar indentado corretamente,
Comentários do 3,0 usar nomes de variáveis adequados e conter
Código comentários informativos (quando necessários).

Funcionalidade Execução correta e apresentação dos resultados


3,0
do Código de tempo.

Criatividade e Execução correta e apresentação dos


2,0
Aprimoramentos resultados de tempo.

Nota Final: Será a soma dos valores obtidos em cada critério. Alunos ou equipes que
não cumprirem os requisitos mínimos de funcionamento do código ou não entregarem
o relatório dentro do prazo terão sua nota diminuída proporcionalmente.
TÍTULO DA ATIVIDADE (ROTEIRO OU AULA): TABELAS DE DISPERSÃO (HASH
TABLES) E OS HEAPS EM PYTHON

ORIENTAÇÕES:
Cada aluno deve produzir um relatório (2 a 3 páginas) contendo:

Resumo Teórico:
 Definir tabelas de dispersão, explicar colisões e tratamentos.
 Descrever heaps binários e justificar eficiência em filas de
prioridade;
Códigos Desenvolvidos:
 Inserir implementações das medições solicitadas, com observações
sobre linhas-chave (cálculo de hash, heappush, heappop).
 Apresentar tabela dos tempos obtidos em cada experimento.

REFERÊNCIAS: O aluno deverá colocar o nome dos livros e sites utilizados para a
realização da atividade. As regras para fazer referência ao material utilizado deverão
ser de acordo com a ABNT.

CRITÉRIOS PARA AVALIAÇÃO

Critério Peso Descrição


Clareza do
Resumo 2,0 Precisão conceitual e clareza de exposição.
Teórico
Organização e O código deve estar indentado corretamente, usar
Comentários do 3,0 nomes de variáveis adequados e conter comentários
Código informativos (quando necessários).

Funcionalidade Execução sem erros, coleta e exibição confiável dos


do Código 3,0
tempos.

Criatividade e Implementação de heap de máx-prioridade,


Aprimoramentos 2,0
visualizações simples ou análise de fator de carga.

Nota Final: Será a soma dos valores obtidos em cada critério. Alunos ou equipes que
não cumprirem os requisitos mínimos de funcionamento do código ou não entregarem
o relatório dentro do prazo terão sua nota diminuída proporcionalmente.
TÍTULO DA ATIVIDADE (ROTEIRO OU AULA): ALGORITMOS DE GRAFOS -
DIJKSTRA, BELLMAN-FORD, KRUSKAL E PRIM EM PYTHON

ORIENTAÇÕES:
Cada aluno deve produzir um relatório (2 a 3 páginas) contendo:

Resumo Teórico:
 Explicar diferenças entre caminhos mínimos de fonte única e
árvores geradoras mínimas.
 Apontar condições de aplicabilidade (pesos negativos, denso ×
esparso);
Códigos Desenvolvidos:
 Incluir implementações completas, indicando linhas de relaxamento e
união-busca.
 Apresentar tabela de tempos e pesos totais das árvores.

REFERÊNCIAS: O aluno deverá colocar o nome dos livros e sites utilizados para a
realização da atividade. As regras para fazer referência ao material utilizado deverão
ser de acordo com a ABNT.

CRITÉRIOS PARA AVALIAÇÃO

Critério Peso Descrição


Clareza do
Resumo 2,0 Precisão conceitual e clareza de exposição.
Teórico
Organização e O código deve estar indentado corretamente,
Comentários do 3,0 usar nomes de variáveis adequados e conter
Código comentários informativos (quando necessários).

Funcionalidade Execução sem erros, resultados coerentes.


3,0
do Código

Uso de visualizações, análise de ciclos negativos


Criatividade e
2,0 ou comparação com bibliotecas externas.
Aprimoramentos

Nota Final: Será a soma dos valores obtidos em cada critério. Alunos ou equipes que
não cumprirem os requisitos mínimos de funcionamento do código ou não entregarem
o relatório dentro do prazo terão sua nota diminuída proporcionalmente.
TÍTULO DA ATIVIDADE (ROTEIRO OU AULA): TÉCNICAS DE DIVISÃO E
CONQUISTA E DE PROGRAMAÇÃO DINÂMICA EM PYTHON

ORIENTAÇÕES:
Cada aluno deve produzir um relatório (2 a 3 páginas) contendo:

Resumo Teórico:
 A explanação das diferenças estruturais entre divisão e conquista e
programação dinâmica.
 A justificativa dos ganhos obtidos com memoização ou tabulação nos
problemas escolhidos;
Descrição das Classes Criadas:
 A inclusão das três versões do algoritmo escolhido (recursiva simples,
memoizada, bottom-up).
 A apresentação dos tempos medidos em tabela.

REFERÊNCIAS: O aluno deverá colocar o nome dos livros e sites utilizados para a
realização da atividade. As regras para fazer referência ao material utilizado deverão
ser de acordo com a ABNT.

CRITÉRIOS PARA AVALIAÇÃO

Critério Peso Descrição


Clareza do A inclusão das três versões do algoritmo escolhido
Resumo 2,0 (recursiva simples, memoizada, bottom-up).
Teórico
Organização e A apresentação dos tempos medidos em tabela.
Comentários do 3,0
Código
A inclusão das três versões do algoritmo escolhido
Funcionalidade
3,0 (recursiva simples, memoizada, bottom-up).
do Código

Criatividade e Análise gráfica, discussão sobre consumo de


2,0
Aprimoramentos memória ou casos extremos..

Nota Final: Será a soma dos valores obtidos em cada critério. Alunos ou equipes que
não cumprirem os requisitos mínimos de funcionamento do código ou não entregarem
o relatório dentro do prazo terão sua nota diminuída proporcionalmente.

Você também pode gostar