A downloadable project

Aviso

Esta página serve como documentação dos mapas conceituais e dos conteúdos abordados na disciplina de fundamentos de programação e se trata de um trabalho avaliativo com fins acadêmicos direcionados à avaliação de professores contratados pela Univali, em específico, Marcelo Lopes. O Mapa Conceitual pode ser encontrado no link abaixo:

Mapa Conceitual

Introdução

Este trabalho avaliativo de documentação e confecção do mapa conceitual e slides, possui o objetivo de organizar e desenvolver uma linha de raciocínio que evidencie as conexões entre conceitos e que forneça suporte na compreensão da teoria abordada nas aulas e referências literárias indicadas pelo Professor.
Devido a natureza desse projeto, e a sua proposta, seus temas abordados ao longo de seu desenvolvimento devem aumentar conforme novos conhecimentos teóricos sejam apresentados, em aula e perante aos temas já desenvolvidos estarão sujeitos a correções. O tempo de desenvolvimento máximo de todo o projeto se limita ao final do semestre devido ao tempo em que a disciplina de "Fundamentos de programação" é desenvolvida.

Conceitos Abordados

Algoritmo

Conjunto de instruções para realizar um programa executável, com estado inicial, sequência de operações lógicas, dados de entrada, dados de saída corretos e o estado final, que é finito.

Programa Executável

Um arquivo que contém um ou mais algoritmos codificados e compilados para uma linguagem em que o sistema operacional "entenda" e execute diretamente na CPU.

Paradigmas da Programação

Modelo ou padrão de como uma realidade é compreendida e de como se interage com ela. A forma como a solução está estruturada e como será executada em um programa, incluindo técnicas, conceitos específicos e outros recursos disponibilizados. Tem diferentes tipos: imperativo, funcional, lógico e orientações a objetos

Sistema Central do Computador

É compreendido de CPU (que tem unidades de controle e aritmética e lógica) e Memória Principal (que guarda espaços acessados pelos programas).

A CPU tem acesso à Memoria principal e as unidades de memória secundárias, as unidades de entrada e de saída (que são responsáveis pela comunicação entre o usuário e o computador).

Operadores Lógicos

São símbolos da linguagem utilizados para escrever operações lógicas, como:

"E" - Quando o resultado será verdadeiro se todos os elementos forem verdadeiros.

"OU" - Quando o resultado é verdadeiro podendo ter somente um elemento verdadeiro.

"NÃO" - O Resultado se inverte. Se for verdadeiro, se torna falso, e se for falso torna-se verdadeiro.

Variáveis e Identificadores

Variáveis são espaços na memoria física ou virtual de um computador, onde diferentes tipos de dados são armazenados durante a execução de um programa. Variáveis são nomeadas por identificadores (palavras criadas pelo programador para denominar o próprio programa ou elements dentro do programa). Variáveis também são divididas em tipos: numéricas de Números reais ou Números inteiros, Alfa numéricas, Lógicas verdadeiras ou falsas e Strings de caracteres.

Tipos de Expressões

divididas entre:

Aritméticas - Expressões em que os resultados são valores numéricos, inteiros ou fracionados.

Lógicas - Aquelas em que os resultados são valores lógicos, podendo ser verdadeiro ou falso.

Strings - utilizadas em expressões que têm como resultado uma cadeia.

Linguagem de Programação

É uma forma padronizada de comunicação entre o programador e o computador. Cada linguagem tem seus próprios tipos de dados e maneiras de definir variáveis. São compostas por Unidades léxicas, ou seja, valores literais que variam entre números, valores lógicos, caracteres e Strings.

Estruturas de Controle de Fluxo

Mecanismos que determinam a ordem em que as instruções de um algoritmo são executadas, permitindo desvios ou repetições no fluxo linear do programa.

Comandos de Seleção

Estruturas condicionais utilizadas para desviar o fluxo de execução com base no resultado lógico de uma expressão, divididas em:

Seleção Simples - Avalia uma condição condicional e executa um bloco de comandos associado exclusivamente se o resultado for verdadeiro.

Seleção Dupla - Apresenta dois caminhos alternativos de execução, acionando um bloco caso a condição seja verdadeira e outro bloco caso seja falsa.

Seleção Múltipla - Permite a escolha de um bloco de comandos específico entre múltiplos caminhos possíveis, correlacionando o valor de uma expressão a diferentes alternativas textuais estruturadas.

Comandos de Repetição e Iteração

Estruturas de controle projetadas para executar um bloco de instruções de forma cíclica e automatizada, baseadas em critérios de parada específicos:

Comandos de Repetição e Contador - Estrutura de loop que faz uso de uma variável associada (contador) para rastrear quantitativamente o número de execuções do ciclo.

Comandos de Repetição por Contagem - Laço estruturado em que o número de repetições é predeterminado e fixado antes do início da execução da estrutura.

Repetição Condicional por Avaliação Prévia - Estrutura iterativa cuja condição de permanência é testada na entrada do bloco; caso a avaliação resulte em falso logo de início, as instruções internas não são executadas nenhuma vez.

Repetição Condicional por Avaliação Posterior - Estrutura iterativa cuja validação lógica ocorre após a execução do bloco de instruções, garantindo que o conjunto de comandos seja executado ao menos uma vez antes da interrupção.

Blocos e Escopo de Comandos

Conceitos voltados à organização formal das instruções dentro da sintaxe algorítmica:

Comando Composto - Agrupamento de duas ou mais instruções declarativas que passam a ser tratadas pela lógica do programa como uma única unidade conceitual.

Aninhamento de Comandos - Prática técnica que consiste em posicionar estruturas de controle (sejam de seleção ou de repetição) de forma interna e subordinada a outras estruturas pré-existentes.

Arranjos:

Estruturas de dados estáticas e homogêneas que agrupam elementos de um mesmo tipo (como inteiros ou caracteres) sob um identificador comum. Na programação, são fundamentais para o armazenamento e manipulação eficiente de grandes volumes de dados alocados na memória principal. 

Arranjos Unidimensionais e Vetores:

Também denominados como estruturas lineares de uma dimensão. Neles, os dados são sequencialmente organizados e acessados individualmente por meio de um índice numérico, representando matematicamente uma estrutura do tipo linha \(A[i]\), onde \(i\) identifica a posição absoluta ou relativa do valor \(i \in \{1, 2, ..., n\}\). 

Subfunções:

Módulos independentes de código projetados para realizar tarefas específicas e reutilizáveis. Elas recebem parâmetros (dados de entrada), executam instruções e podem ou não retornar um valor ao escopo principal do programa, promovendo a modularidade, a legibilidade e o refinamento sucessivo do algoritmo. 

Processo de Construção do Mapa

O Processo de desenvolvimento do mapa conceitual se deu nas seguintes etapas:

1. Planejamento dos principais temas abordados nas aulas.

2. Estudo e pesquisa sobre os temas, afim de revisar o conteúdo.

3. Organização das ideias baseado nos capítulos do livro.

4. Elaboração do mapa conceitual utilizando a ferramenta escolhida.

Ferramenta utilizada

Miro -> Miro

Com o objetivo de melhor compreender e dominar os assuntos compreendidos nas aulas, este projeto avaliativo foi passado pelo professor e desenvolvido pelo nosso grupo; Temos o intuito de por meio da documentação, slides e mapa conceitual clarear as relações entre os temas abordados neste projeto.

Evolução do Projeto

Está é a ultima parte do projeto, e é esperado uma visivel diferença do primeiro projeto. Temos grandes expectativas para o nosso progresso.

Equipe

Os membros que compõe este trabalho são:

  • Sora M. Bitencourte
  • Nicky M. da Silva
  • Natalia Z. Buzzi
Bibliografia
  • Minha Biblioteca - Acervo Digital Integrada - EDELWEISS, Nina; LIVI, Maria Aparecida Castro. Algoritmos e Programação com Exemplos em Pascal e C [Série Livros didáticos informática UFRGS] (Vol. 23). Porto Alegre: Bookman, 2014.

Leave a comment

Log in with itch.io to leave a comment.