A downloadable project

Introdução

Este mapa conceitual tem como objetivo representar de maneira simples e clara alguns conceitos presentes na disciplina até o momento, servindo de auxílio para estudo não só em sua produção mas em seu uso.

Conceitos Abordados

Nesta seção será apresentada uma breve explicação de conceitos apresentados no mapa.

M1

Algoritmos: Sequência finita de instruções para serem executadas na ordem estabelecida. Avaliados por eficiência e eficácia.

Paradigmas de Programação: Formas diferentes de organizar e estruturar programas, como programação procedural, orientada a objetos e funcional.

Formas de Representação: Maneiras de representar algoritmos, incluindo pseudocódigo, fluxogramas e texto.

Unidades Léxicas: Elementos básicos que formam a estrutura de uma linguagem de programação, como identificadores, palavras reservadas, símbolos e literais.

Identificadores: Nomes utilizados para representar variáveis, constantes, funções e outros elementos do programa.

Literais: Valores escritos diretamente no código-fonte, como números, caracteres, textos e valores lógicos.

Palavras Reservadas: Termos que possuem significado específico na linguagem e não podem ser usados livremente como identificadores.

Símbolos Especiais: Caracteres utilizados para estruturar comandos e expressões, como parênteses, operadores e delimitadores.

Comentários: Trechos do código destinados à documentação e explicação do programa, ignorados durante a execução.

Variáveis: Espaços na memória ocupados por um tipo de dado. Pode ter seu valor substituído ao decorrer do algoritmo. Fundamental para organização e praticidade na programação.

Constantes: Valores armazenados que não devem ser modificados ao longo da execução do algoritmo.

Tipos de Dados: Definem quais valores uma variável ou constante pode armazenar. 

Inteiro: Representa números inteiros, positivos ou negativos, sem casas decimais.

Real: Representa números com casas decimais, positivos ou negativos.

Caractere: Representa um único símbolo, como letras, números ou sinais.

Lógico: Representa valores booleanos, podendo ser verdadeiro ou falso.

String: Representa uma sequência de caracteres, geralmente palavras ou frases.

Expressões: Combinação de valores e operadores para realizar diversas tarefas na programação, incluindo cálculos e atribuição de valores de variáveis.

M2

Estruturas de Controle: Conjunto de estruturas responsáveis por controlar o fluxo de execução de um algoritmo, permitindo que o programa tome decisões ou repita ações conforme determinadas condições.

Estruturas Condicionais: Permitem alterar o caminho de execução do programa com base no resultado de expressões lógicas.

Seleção Simples: Executa uma ação apenas quando uma condição é verdadeira.

Seleção Dupla: Define dois caminhos possíveis: um para condição verdadeira e outro para falsa.

Seleção Aninhada: Utiliza estruturas condicionais dentro de outras estruturas condicionais para representar múltiplas decisões.

Seleção Múltipla: Permite escolher entre várias alternativas com base no valor de uma expressão.

Estruturas de Repetição: Permitem executar um bloco de comandos várias vezes, evitando repetição desnecessária de código.

para/faça: Usada quando a quantidade de repetições é conhecida previamente.

enquanto/faça: Executa enquanto uma condição permanecer verdadeira.

repita/até: Executa o bloco ao menos uma vez antes de verificar a condição.

Laços Aninhados: Estruturas de repetição dentro de outras repetições, muito utilizadas em mapas, matrizes e tabuleiros.

Contadores: Variáveis utilizadas para registrar quantas vezes um laço foi executado.

Valor Sentinela: Valor especial utilizado para indicar encerramento de uma repetição ou entrada de dados.

M3

Arranjos Unidimensionais (Vetores): Variáveis estruturadas utilizadas para armazenar múltiplos valores relacionados do mesmo tipo, acessados por meio de índices.

Índices: Valores inteiros que identificam a posição de cada elemento dentro de um vetor.

Inicialização: Processo de atribuir valores iniciais aos elementos de um vetor.

Pesquisa em Vetores: Processo de localizar um elemento específico em um vetor, podendo utilizar pesquisa linear ou binária.

Ordenação: Reorganização dos elementos de um vetor em determinada ordem, como crescente ou decrescente.

Subprogramas: Blocos de código reutilizáveis que permitem dividir um programa em partes menores e mais organizadas.

Procedimentos: Subprogramas responsáveis por executar ações, sem retornar um valor.

Funções: Subprogramas responsáveis por calcular e retornar um valor.

Parâmetros: Valores recebidos por um subprograma para realizar determinada tarefa, podendo ser de entrada, saída, por valor ou por referência.

Escopo: Define onde variáveis e identificadores podem ser acessados dentro do programa.

Variáveis Locais: Existem apenas durante a execução do subprograma onde foram declaradas.

Variáveis Globais: Podem ser acessadas por diferentes partes do programa.

Processo de Construção do Mapa

M1 - Versão Inicial

  1.  Determinar conceitos mais importantes do conteúdo até então.
  2. Sintetizar informações relacionadas ao conceito, escolhendo palavras e tópicos relevantes.
  3.  Construir rascunho do mapa conceitual na ferramenta app.diagrams.net.
  4.  Reavaliar e polir mapa até chegar na versão final apresentada.

M2 - Versão com Feedback

  1. Ler e compreender as sugestões do professor.
  2. Adequar o mapa com base no feedback recebido, ainda na ferramenta app.diagrams.net.
  3. Ajustar o site conforme as melhorias indicadas no feedback.

M3 - Finalização

  • Identificar os conceitos centrais de Arranjos Unidimensionais e Subprogramas.
  • Integrar esses conceitos ao mapa existente, preservando a organização visual.
  • Estabelecer novas conexões entre conceitos antigos e novos, mantendo a consistência do mapa.

Evolução do Projeto

M1 - Versão Inicial

Nesta versão o mapa apresenta apenas alguns conceitos do conteúdo apresentados até o momento, com o foco nos seguintes aspectos:

  • Apresentar de forma simples os conceitos, como de auxílio para estudo.
  • Estabelecer relações relevantes entre conceitos e suas definições.
  • Montar o mapa de uma forma que possa ser expandido no futuro.

M2 - Implementação de Feedback

Nesta etapa, o mapa conceitual passou por uma ampliação significativa tanto em conteúdo quanto em organização. Em relação à versão anterior, foram incorporados conceitos fundamentais da disciplina que haviam faltado e adição dos conteúdo novos.

Além da expansão do conteúdo, esta fase também contemplou a implementação das melhorias sugeridas pelo professor na primeira versão do projeto como melhor relações entre os conceitos centrais e melhor documentação no site dos conceitos apresentados no mapa.

M3 - Ampliação e Finalização do Projeto

Nesta etapa foram adicionados os conteúdos de Arranjos Unidimensionais (Vetores) e Subprogramas, ampliando o mapa conceitual para incluir estruturas de dados e modularização de programas.

Também foram feitas conexões com conteúdos já existentes, como Variáveis e Estruturas de Controle, tornando o mapa mais integrado. Com essa etapa, o projeto foi finalizado, reunindo todos os principais conceitos da disciplina em uma estrutura única.

Dificuldades Encontradas

Guilherme de Freitas Dauer

M1

  • A ferramenta ocasionalmente não era tão responsiva, dificultando a criação do mapa.
  • Organização dos conceitos de forma clara, sem complicar nem simplificar muito nenhum deles.

M2

  • Estabelecer conexões coerentes entre os conceitos principais, mantendo a clareza visual que já era um ponto forte da M1.
  • Reorganização da seção de Conceitos Abordados no site, devido a quantidade de conteúdos que estavam ausentes e que foram adicionados.

M3

  • Integrar os novos conceitos ao mapa sem comprometer sua organização visual.
  • Definir relações simples e intuitivas entre Vetores, Subprogramas e os conceitos já existentes, evitando excesso de conexões e informações.

Referências

EDELWEISS,  Nina.  Algoritmos  e  Programação  com Exemplos em Pascal e C. 1. Porto Alegre, RS: Bookman, 2014. (e-book)

Documentação do Portugol: https://portugol.dev/

Leave a comment

Log in with itch.io to leave a comment.