ROTEIRO DE AULA PRÁTICA
NOME DA DISCIPLINA: ALGORITMOS E LÓGICA DE PROGRAMAÇÃO
Unidade: U2 ELEMENTOS DE ALGORITMOS
Aula: A2 EXECUÇÃO SEQUENCIAL E ESTRUTURAS DE DECISÃO
Tempo previsto de execução de aula prática: 2h
OBJETIVOS
- Interpretação dos requisitos e desenvolvimento correto do algoritmo, abrangendo todas as possibilidades distintas na execução do programa.
- Aplicar a estrutura de decisão (“SE” ou “ESCOLHA CASO”) no desenvolvimento de algoritmos computacionais com a pseudolinguagem Portugol.
INFRAESTRUTURA
- Instalações: Laboratório de Informática
- Materiais de consumo: NSA
- Equipamentos:
- Computador com acesso à internet, com o mínimo de 4 GB de Memória RAM.
SOLUÇÃO DIGITAL
- Ferramenta: Portugol WebStudio
- O Portugol WebStudio é uma ferramenta online de ensino e aprendizagem de algoritmos baseada no Portugol (Português Estruturado), uma pseudolinguagem de programação para fins acadêmicos.
- Tipo de Licença: GPL (GNU General Public License)
- Procedimento para instalação:
- A ferramenta não necessita de instalação, basta acessar o Portugol WebStudio pelo link:
EQUIPAMENTO DE PROTEÇÃO INDIVIDUAL (EPI)
- NSA
PROCEDIMENTOS PRÁTICOS
Procedimento/Atividade nº 1 (Virtual)
- Atividade proposta:
- O estudante assume o papel de um explorador corajoso em busca de tesouros na misteriosa Floresta Sussurrante, enfrentando obstáculos e tomando decisões que afetarão sua jornada e pontuação.
- Descrição dos Caminhos:
Caminho 1: O Caminho das Sombras
- Descrição: Um caminho cercado por árvores antigas, com raios de lua penetrando entre os galhos.
- Obstáculo: Enigma mágico – “Quem sou eu? Tenho olhos, mas não vejo. Tenho boca, mas não falo. O que sou?”
- Resposta correta: Caveira
- Premiação: Se o jogador responder corretamente, ele encontra um baú com uma gema preciosa (100 pontos).
Caminho 2: O Caminho da Luz
- Descrição: Caminho iluminado, com raios de sol filtrando entre as árvores.
- Obstáculo: Ponte quebrada sobre um rio turbulento. O jogador deve decidir se atravessa a ponte ou procura um desvio seguro.
- Premiação: Se o jogador atravessar a ponte com sucesso, ele ganha 50 pontos.
Caminho 3: O Caminho das Criaturas
- Descrição: Caminho misterioso com sons e pegadas estranhas.
- Obstáculo: Uma criatura mágica adormecida bloqueia o caminho. O jogador deve decidir se tenta contorná-la ou acordá-la.
- Premiação: Se o jogador contornar a criatura com sucesso, ele encontra uma árvore encantada que concede uma habilidade especial de camuflagem (75 pontos).
- Objetivo da Atividade:
Criar um algoritmo que implemente essas escolhas, utilizando estruturas de decisão (SE/ESCOLHA CASO) e criando uma narrativa interativa.
PROCEDIMENTOS PARA A REALIZAÇÃO DA ATIVIDADE
- Desenvolvimento do Programa:
- Utilize a linguagem Portugol no Portugol WebStudio.
- Passos:
- Criar um menu de opções onde o usuário pode escolher entre os três caminhos.
- Implementar a lógica de cada caminho, incluindo obstáculos e premiações, utilizando as estruturas de decisão.
- Exibir o texto do jogo conforme a escolha do usuário, com base nos caminhos e suas respectivas descrições, obstáculos e premiações.
Exemplo de Menu:
- Lógica de Seleção:
- Utilizar as estruturas de decisão SE ou ESCOLHA CASO para garantir que, conforme a escolha do usuário, o programa execute o código correspondente.
- Exemplo de Estrutura ESCOLHA CASO:
- Testes e Correções:
- Realizar testes do programa para garantir que todas as opções de escolha estão funcionando corretamente.
- Verificar se o programa está respondendo corretamente a cada uma das três opções (1, 2, 3) e quando o usuário insere uma opção inválida.
- Documentação e Comentários:
- Documentar o código explicando o que cada parte faz. Utilize comentários no código com
//
para descrever sua lógica. - Exemplo de comentário:
- Documentar o código explicando o que cada parte faz. Utilize comentários no código com
- Apresentação e Avaliação:
- Apresentar o programa em sala de aula, demonstrando como ele funciona e mostrando como o jogador escolhe os caminhos.
- Avaliar a pontuação de cada estudante de acordo com as escolhas feitas e a forma como estruturaram o código.
CHECKLIST
- Analisar o cenário e estruturar o código-fonte do programa.
- Desenvolver a estrutura dos três caminhos com seus obstáculos e premiações.
- Implementar a lógica utilizando Portugol na ferramenta Portugol WebStudio.
- Realizar testes e correções do código.
- Apresentar o programa em sala de aula, demonstrando seu funcionamento correto.
RESULTADOS DE APRENDIZAGEM
O estudante deverá demonstrar compreensão e desenvolvimento do programa com os requisitos exigidos, utilizando a linguagem Portugol para implementar os algoritmos com as estruturas de decisão de forma adequada. O programa deve funcionar corretamente em todas as opções e apresentar a pontuação de forma precisa.
ENTREGA DA AULA PRÁTICA
O estudante deve entregar um arquivo PDF contendo:
- Todo o código-fonte documentado.
- Para cada trecho de código, deve haver uma explicação sobre o que acontece quando o código é executado.
REFERÊNCIAS BIBLIOGRÁFICAS
- CORMEN, Thomas. Algoritmos – Teoria e Prática. 3.ed. Rio de Janeiro: LTC, 2022.
- MENÉNDEZ, Andrés. Simplificando algoritmos. 1.ed. – Rio de Janeiro: LTC, 2023.
- SILVA, Flávio Soares Corrêa D.; FINGER, Marcelo; MELO, Ana Cristina Vieira. Lógica para computação. 2.ed. São Paulo: Cengage Learning, 2017.
NOME DA DISCIPLINA: Algoritmos e Lógica de Programação
Unidade: U2 _ELEMENTOS DE ALGORITMOS
Aula: A3_ ESTRUTURAS DE REPETIÇÃO
Tempo previsto de execução da aula prática: 2h
OBJETIVOS
Objetivos da aula prática:
- Compreensão e desenvolvimento de um algoritmo correto, levando em consideração todas as possibilidades de execução do programa.
- Aplicação prática da estrutura de repetição “Enquanto-Faça” no desenvolvimento de algoritmos utilizando a pseudolinguagem Portugol.
INFRAESTRUTURA
Instalações e Equipamentos:
- Laboratório de Informática
- Equipamentos: Computador com acesso à internet e 4 GB de RAM.
- Materiais: NSA
Ferramenta Digital:
- Portugol WebStudio: Plataforma online para ensinar e aprender algoritmos na pseudolinguagem Portugol.
- Link: Portugol WebStudio.
EQUIPAMENTO DE PROTEÇÃO INDIVIDUAL (EPI)
- NSA (não se aplica)
PROCEDIMENTOS PRÁTICOS
Atividade nº 1 (Virtual)
Cenário:
Você está em uma missão para encontrar um tesouro em um labirinto perigoso. O labirinto tem corredores estreitos, bifurcações e salas ocultas. O objetivo é desenvolver um algoritmo para guiar o explorador até o tesouro, evitando armadilhas e obstáculos. O tesouro está em um local aleatório no labirinto a cada execução, e você deve criar a lógica de movimentação do explorador.
Passos para a atividade:
- Configuração da Ferramenta:
- Acesse o Portugol WebStudio e crie um novo arquivo.
- Desenvolvimento do Algoritmo:
- Defina o labirinto como uma matriz 5×5 (totalizando 25 espaços).
- Defina o local do tesouro aleatoriamente, por exemplo,
Labirinto[4][4] = tesouro
. - A posição inicial do explorador será
posX = 0
eposY = 0
.
- Estrutura de Repetição “Enquanto-Faça”:
- Utilize a estrutura de repetição
Enquanto-Faça
para mover o explorador através do labirinto. - O movimento será feito com base na análise de células do labirinto:
- Células com valor
0
representam caminhos livres. - Células com valor
1
são paredes. - Células com valor
2
indicam o tesouro.
- Células com valor
- Utilize a estrutura de repetição
- Testes e Correções:
- Teste o programa com diferentes configurações de labirinto.
- Garanta que o explorador consiga encontrar o tesouro corretamente.
- Documentação e Comentários:
- Comente o código explicando o que cada parte faz.
RESULTADOS DE APRENDIZAGEM
Os estudantes irão praticar a aplicação do comando “Enquanto-Faça” em um contexto prático e desafiador, melhorando suas habilidades de resolução de problemas e raciocínio lógico.
NOME DA DISCIPLINA: Algoritmos e Lógica de Programação
Unidade: U3_ CONCEITOS DE PROGRAMAÇÃO
Aula: A3_ ESTRUTURAS CONDICIONAIS EM LINGUAGEM C
Tempo previsto de execução da aula prática: 2h
OBJETIVOS
Objetivos da aula prática:
- Desenvolvimento de algoritmos utilizando a estrutura condicional
if
na Linguagem C. - Análise e aplicação da lógica de programação em um contexto real de aprovação de empréstimos em uma instituição financeira.
INFRAESTRUTURA
Instalações e Equipamentos:
- Laboratório de Informática
- Equipamentos: Computador com acesso à internet e 4 GB de RAM.
- Materiais: NSA
Ferramenta Digital:
- Visual Studio Code com a extensão para C/C++.
- Link para Download: Visual Studio Code
EQUIPAMENTO DE PROTEÇÃO INDIVIDUAL (EPI)
- NSA (não se aplica)
PROCEDIMENTOS PRÁTICOS
Atividade nº 1 (Virtual)
Cenário:
Você é um desenvolvedor de software responsável por criar um sistema de aprovação de empréstimos para uma instituição financeira. O sistema deve analisar as informações financeiras de clientes e determinar se um empréstimo pode ser aprovado ou não com base em critérios específicos.
Passos para a atividade:
- Solicitação de Dados:
- Solicite as seguintes informações do cliente:
- Renda mensal
- Valor do empréstimo
- Histórico de crédito
- Estabilidade no emprego
- Valor da entrada
- Solicite as seguintes informações do cliente:
- Critérios de Aprovação:
- Critério 1: O valor do empréstimo não pode exceder 30% da renda mensal.
- Critério 2: O cliente deve ter um bom histórico de crédito.
- Critério 3: O cliente deve ter estabilidade no emprego e um valor suficiente de entrada.
- Estrutura Condicional
if
:- Utilize estruturas
if
para validar cada critério e determinar se o empréstimo é aprovado. - Caso todos os critérios sejam atendidos, o empréstimo será aprovado, caso contrário, será rejeitado.
- Utilize estruturas
- Exibição do Resultado:
- Exiba se o empréstimo foi aprovado ou rejeitado, explicando o motivo no caso de reprovação.
- Testes e Correções:
- Teste o programa com diferentes dados de entrada para garantir que a aprovação do empréstimo funcione corretamente.
- Documentação e Comentários:
- Comente o código explicando o que cada parte faz, para garantir que outros desenvolvedores possam entender sua lógica.
RESULTADOS DE APRENDIZAGEM
O estudante será capaz de aplicar a estrutura condicional if
para resolver um problema real de análise de crédito, utilizando a lógica de programação para tomar decisões baseadas em dados financeiros.
ENTREGA
O estudante deve entregar um arquivo PDF contendo:
- O código-fonte do programa desenvolvido.
- Comentários explicativos para cada trecho do código.
- Descrição da lógica de programação aplicada no exercício.
REFERÊNCIAS BIBLIOGRÁFICAS
- CORMEN, Thomas. Algoritmos – Teoria e Prática. 3.ed. Rio de Janeiro: LTC, 2022.
- MENÉNDEZ, Andrés. Simplificando algoritmos. 1.ed. Rio de Janeiro: LTC, 2023.
- SILVA, Flávio Soares Corrêa D.; FINGER, Marcelo; MELO, Ana Cristina Vieira. Lógica para computação. 2.ed. São Paulo: Cengage Learning, 2017.
NOME DA DISCIPLINA: ALGORITMOS E LÓGICA DE PROGRAMAÇÃO
Unidade: U4_APLICAÇÕES DE PROGRAMAÇÃO
Aula: A4_REGISTROS E ARQUIVOS
Tempo previsto de execução de aula prática: 2h (CAMPO OBRIGATÓRIO – NÃO APARECER EM NENHUM RAP)
OBJETIVOS
Definição dos objetivos da aula prática:
- Interpretação dos requisitos e desenvolvimento correto do algoritmo abrangendo todas as possibilidades distintas na execução do programa.
- Aplicar conceitos de manipulação de “arquivos”, além da criação e acesso a registros “Structs” na Linguagem de Programação “C”.
INFRAESTRUTURA
Instalações – Materiais de consumo – Equipamentos:
- Laboratório de Informática
- Materiais de consumo: NSA
- Equipamentos:
- Computador com acesso à internet, e com o mínimo de 4 GB de Memória RAM.
- Instalação do Visual Studio Code + extensões:
- C/C++ for Visual Studio Code;
- C/C++ Compile Run extension.
SOLUÇÃO DIGITAL
Visual Studio Code (VS Code):
O VS Code é um editor de código-fonte desenvolvido pela Microsoft para Windows, Linux e macOS. Conta com a instalação de extensões para programação em diversas linguagens de programação.
- Tipo de Licença: Código-fonte: Licença MIT; Binários: Freeware
- Link: https://code.visualstudio.com/download
EQUIPAMENTO DE PROTEÇÃO INDIVIDUAL (EPI)
NSA
PROCEDIMENTOS PRÁTICOS
Procedimento/Atividade nº 1 (Virtual)
Atividade proposta:
Você foi designado pela sua instituição de ensino para desenvolver um programa de classificação dos alunos. O programa deverá solicitar alguns dados, inclusive as médias das disciplinas de cada aluno para que ele possa fazer o cálculo da média do aluno. Deverá solicitar também o nome do aluno.
Descrição do Problema:
Para realização da atividade você deve utilizar os recursos de Structs e Arquivos. A Struct armazenará os dados do aluno como: Nome, média da primeira disciplina, média da segunda disciplina, média geral por aluno e sua classificação.
Um arquivo do tipo “.txt” deve ser utilizado para armazenar as informações no final da execução do programa. O layout do arquivo deve conter:
- Nome do Aluno:
- Média Disciplina 1:
- Média Disciplina 2:
- Média Geral:
- Classificação:
Procedimentos para a realização da atividade:
Faça uma análise detalhada de todas as ações que o programa deve executar, bem como, as estruturas algorítmicas necessárias para o desenvolvimento do código. Aplique os fundamentos da lógica de programação e algoritmos na criação de uma solução para o cenário apresentado utilizando a Linguagem de Programação “C” tendo como apoio o editor de código “VS Code”.
Passo 1: Definição das estruturas de dados:
- Criar a estrutura (Struct) “Aluno” com os campos necessários (nome, médias das disciplinas, média geral, classificação).
Você pode optar pelo nome da Struct ser “Aluno”, ou outro nome qualquer desde que respeite as regras para nomenclatura de variáveis: evitando acentuação, sem utilização de espaços em branco, não podendo utilizar palavras reservadas à linguagem, exemplo: “void” e não começar com caractere numérico. Aqui optei pelo nome “Aluno”.
Passo 2: Implementação das funções de cálculo:
- Implementar uma função para calcular a média geral de um aluno com base nas médias das disciplinas.
Exemplo de função para calcular a média de um aluno:
Passa-se por parâmetro as médias das disciplinas e depois retorna o cálculo da média. - Implementar uma função de comparação para ser utilizada na ordenação da turma.
Essa função (compararMedias) é chamada dentro de outra função que salva o arquivo .txt que tem o objetivo de ordenar o aluno dentro do arquivo de acordo com sua classificação por nota.
Passo 3: Entrada de dados:
- Pedir ao usuário que informe quantos alunos serão registrados.
Isso é feito dentro da função main(). Uma sugestão de como resolver está logo a seguir: - Usar um loop para solicitar o nome, médias das disciplinas 1 e 2 de cada aluno e armazenar esses dados na estrutura Aluno.
Dentro de um laço qualquer na linguagem de programação C, solicite do usuário esses dados.
Passo 4: Cálculo das médias e classificação:
- Calcular a média geral de cada aluno utilizando uma função.
A função que faz esse cálculo é acalcularMediaGeral()
já exibida no item 2. - Ordenar a turma em ordem decrescente de acordo com as médias dos alunos.
Você deve comparar as médias gerais de cada aluno e colocar a classificação de cada um dentro do arquivo .txt ao lado dos dados do aluno. - Atribuir as classificações aos alunos com base na ordem da turma.
Inserir dentro do arquivo um campo para a classificação do aluno. Utilizar o campo classificação da Struct.
Passo 5: Saída de dados:
- Para cada aluno, escrever no arquivo seu nome, médias das disciplinas, média geral e classificação.
- Calcular e escrever no arquivo a média geral da turma.
Exemplo de saída do arquivo texto:
Passo 6: Finalização:
- Fechar o arquivo.
Utilizar a classe “FILE” da linguagem C para manipular dados no arquivo.
Passo 7: Execução do Programa:
Apresentar o programa, demonstrando o seu funcionamento.
Exemplo do programa sendo executado:
Checklist:
- Analisar o cenário para criação do código-fonte do programa;
- Instalar o VS Code em seu dispositivo. Baixe a IDE escolhendo o sistema operacional por meio do link: https://code.visualstudio.com/download
- Desenvolver o algoritmo na Linguagem de Programação C;
- Considerar todos os critérios solicitados para construção do algoritmo;
- Executar testes e possíveis correções;
- Apresentar o programa e verificar seu correto funcionamento.
RESULTADOS
Resultados de Aprendizagem:
O objetivo da atividade é aplicar conceitos das “estruturas de seleção”, “laços de repetições”, “funções”, “Structs” e “arquivos”, para coletar os dados, realizar os cálculos e fazer a classificação dos alunos. Diante do cenário apresentado, ser capaz de aplicar os conceitos de lógica de programação desenvolvendo o raciocínio lógico de forma prática em um contexto do mundo real.
ESTUDANTE, VOCÊ DEVERÁ ENTREGAR
Descrição orientativa sobre a entrega da comprovação da aula prática:
O estudante deve entregar um arquivo em PDF contendo toda a codificação do exercício documentada, ou seja, para cada trecho do código-fonte, o estudante deve anexar um texto explicando o que acontece quando o trecho do código é executado.
REFERÊNCIAS BIBLIOGRÁFICAS
Descrição (em abnt) das referências utilizadas:
- CORMEN, Thomas. Algoritmos – Teoria e Prática. 3.ed. Rio de Janeiro: LTC, 2022.
- MENÉNDEZ, Andrés. Simplificando algoritmos. 1. ed. – Rio de Janeiro: LTC, 2023.
- SILVA, Flávio Soares Corrêa D.; FINGER, Marcelo; MELO, Ana Cristina Vieira. Lógica para computação. 2. ed. São Paulo: Cengage Learning, 2017.