Mapa mental
Linguagens Procedurais

Contenido del mapa
Linguagens Procedurais
São linguagens imperativas: eu dou um comando, o computador executa
Sao chamadas "procedurais" pois tem como características a criação de procedimentos e funções
- Procedimentos: não retornam nada
- Funções: retornam alguma coisa
Procedimentos vs Funções
- Ambos são tipos de sub-rotinas
- Procedimentos
- Normalmente chamados para executar uma tarefa atômica, sem retorno
- Exemplos: ordene essa lista, limpe o cache, envie um e-mail, feche os streams abertos...
- Funções
- Realizam operações cujo resultado é relevante para minha lógica de aplicação
- Exeplos: Calcule o fatorial de X, me diga qual o item que tem ID 10, quais são os itens ativos na minha lista...
- Passagem de Parâmetros
- Por valor:
- Passa uma cópia do valor
- Alterações no valor não alteram o valor da variável original
- Por referência
- Passa uma referência para a variável original
- Alterações no valor alteram a variável original
- Por valor:
Tipos Elementares e Estruturados
- Tipos Elementares
- São tipos nativos da linguagem
- Normalmente "tipos atômicos"
- Exemplos mais comuns: Inteiro, Ponto Flutuante, Booleano, Caracteres, Texto
- Tipos Estruturados
- São tipos "derivados", formados a partir de outros tipos (primitivos ou estruturados) para mapear entidades mais complexas
- Podem também ser nativos da linguagem, ou criados pelos usuários
- A referência para essas estruturas é feita pelo ponteiro (endereço de memória)
- Exemplos comuns: Texto, Vetores, Listas, Entidade Pessoa, Registros, etc...
- Tipos Elementares
Em loops pode-se usar o Break e Continue
- Break: interrompe o loop e vai para a próxima linha depois do loop, tanto faz se é while ou For
- Cointinue: Interrompe do loop e volta para o teste
Um programa estruturado nos seguintes blocos básicos
- Sequência
- Seleção: If, Case
- Interação: while e for
Mediante a utilização da técnica de programação estruturada, é possível obter programas mais legíveis e consequentemente, menos suscetíveis a erros, e também definir e melhorar o grau de coesão entre as funções de um programa.
Para desenvolvimento de programas grandes e complexos é altamente indicado a utilização de linguagens funcionais e orientadas a objeto, quando comparado à linguagens estruturadas.
