1. Entrada de dados
1.1. Processamento de Dados
1.1.1. Saída de dados
2. Algoritmo
2.1. Portugol
2.1.1. Portugues
2.1.2. Resolve problemas de abstração
2.1.3. Ambiguidades
2.1.4. Falta de precisão
2.2. Estrutura
2.2.1. INICIO
2.2.2. Declaração de Variaveis
2.2.3. PROCEDA
2.2.4. Comandos, Comentários, Funçoes, Operadores
2.2.5. FIM
3. Variáveis
3.1. Reserva de espaço para utilização pelo algoritmo
3.1.1. NOME:TIPO [TAMANHO]
3.2. Declaração
3.2.1. Nome
3.2.1.1. Não_pode_ter_espaço_em_branco
3.2.1.2. Não pode iniciar com numero
3.2.1.3. Tem que ser unico
3.2.1.4. Representar o que vai ser armazenado - Opcional
3.2.1.5. Não usar acentuação e Ç
3.2.2. Tipo
3.2.2.1. Primitivos
3.2.2.1.1. Inteiro
3.2.2.1.2. Real
3.2.2.1.3. Lógico
3.2.2.1.4. Char
3.2.2.2. Agregados
3.2.2.2.1. String
3.2.2.2.2. Matriz - Mais para frente
3.2.2.2.3. Registro - Mais para frente
3.2.3. Regras para determinar variaveis são nescessárias para um algoritmo
3.2.3.1. Declarar 1 variavel para cada informação que deverá entrar no algoritmo.
3.2.3.2. Declarar 1 variavel para cada informaçã nova que me algoritmo for gerar.
3.2.3.3. Declarar as variaveis de controle para os comandos de repetição
4. Estrutura Sequencial
4.1. Inicia na primeira linha
4.2. Executa de cima para baixo
4.3. Cada linha é executada somente uma vez, sem excessão
4.4. Todas as linhas são executadas, sem excessão
4.5. Comandos Sequenciais
4.5.1. Operadores
4.5.1.1. Aritméticos
4.5.1.1.1. Soma
4.5.1.1.2. Subtração
4.5.1.1.3. Multiplicação
4.5.1.1.4. Divisão
4.5.1.1.5. Cuidado com as prioridades!!!
4.5.1.2. Relacionais
4.5.1.2.1. Maior que
4.5.1.2.2. Menor que
4.5.1.2.3. Igual
4.5.1.2.4. Diferente
4.5.1.2.5. Maior ou igual
4.5.1.2.6. Menor ou Igual
4.5.1.3. Lógicos
4.5.1.3.1. E
4.5.1.3.2. OU
4.5.1.3.3. NÃO
4.5.2. LEIA
4.5.2.1. LEIA(Variavel)
4.5.2.2. Permite que o valor informado pelo usuário seja armazenado na Variável
4.5.3. :=
4.5.3.1. Comando de atribuição
4.5.3.2. Atribui um valor para uma váriavel
4.5.3.3. Lemos como "Recebe"
4.5.4. MOSTRE
4.5.4.1. MOSTRE(Variavel)
4.5.4.1.1. Mostra o valor da variável para o usuário
4.5.4.2. MOSTRE("Expressão Literal")
4.5.4.2.1. Mostra uma mensagem para o usuário
4.5.5. Comentários
4.5.5.1. Textos para adicionar informações ao algoritmo
4.5.5.2. São para melhorar o entendimento do programador
4.5.5.3. Não fazer parte do programa
4.5.5.4. Ficam entre Chaves { }
4.5.6. Funções
4.5.6.1. permitem executar calculos mais avancados sem se preocupar como sao feitos
4.5.6.2. Conceito de caixa preta
4.5.6.2.1. Entra uma informação
4.5.6.2.2. Sai uma resposta
4.5.6.3. SQR()
4.5.6.4. ABS()
4.5.6.5. TRUNCA()
4.5.6.6. ARREDONDA()
4.5.6.7. RESTO()
5. Estrutura de Seleção
5.1. Os comandos de seleção permitem escolher quais linhas do algoritmo serão executadas e quais linhas não serão executadas
5.2. Portanto estes comandos "quebram" uma das regras da estrutura sequencial que diz que "todas as linhas do algoritmo são executadas, sem excessão"
5.3. Comando de seleção
5.3.1. SE
5.3.1.1. O Comando SE permite escolher se as linhas que estão entre o SE e o FIM_SE serão ou não executadas dependendo da resposta de uma CONDIÇÃO.
5.3.1.2. CONDIÇÃO
5.3.1.2.1. A condição usa operadores relacionais e Lógicos
5.3.1.2.2. Retorna FALSO ou VERDADEIRO
5.3.1.2.3. permite decidir de as linhas serão ou não executadas
5.3.1.3. FIM_SE
5.3.1.3.1. Serve para mostrar até aonde vai a "quebra" da reagra que o comando SE permite.
5.3.1.4. SENAO
5.3.1.4.1. Pode ou não fazer parte do SE
5.3.1.4.2. Caso seja acresentado as linhas eu posso associar linhas de programa entre o SENAO e o FIM_SE.
5.3.1.4.3. Estas linhas serão executadas se a CONDIÇÃO for FALSA
5.3.1.4.4. Não existe FIM_SENAO
5.3.2. CASO
5.3.2.1. Comando de seleção para multiplas escolhas com base em uma unica váriavel - MENU
5.3.2.2. Utiliza somente o operador relacional igual "="
6. Estrutura de Repetição
6.1. Permitem escolher quais linhas do algoritmo poderão ser executadas mais de uma vez.
6.2. Portanto "quebram" uma das regras da estrutura sequencial que diz que "Todas as linhas do algoritmo são executadas somente uma vez, sem excessão"
6.2.1. Tem que ter uma condição
6.2.2. Tem que ter um finalizador
6.2.3. Tem que ter uma váriavel de controle
6.3. 4 perguntas para montar uma estrutura de seleção
6.3.1. 1 - Qual vai ser a váriavel de controle - CONT
6.3.2. 2 - Qual vai ser o valor inicial
6.3.3. 3 - Qual vai ser o valor final
6.3.4. 4 - Qual vai ser o incremento
6.4. Cuidado com o LOOP
6.4.1. Ocorre quando a esturura de repetição não é bem montada e a fica executando sem parar.... fica em LOOP...
6.5. Comandos de repetição
6.5.1. ENQUANTO
6.5.1.1. Condição no inicio
6.5.1.2. Pode ser que não entre nenhuma vez
6.5.1.3. Mais utilizado por ser o mais gerérico
6.5.2. REPITA
6.5.2.1. Condição no final
6.5.2.2. Certeza que vai entrar pelo menos uma vez
6.5.2.3. Muito utilizado para repetir procedimentos que no final perguntam se quer executar novamente.
6.5.3. PARA
6.5.3.1. Condição no inicio
6.5.3.2. Pode ser que não entre nenbuma vez
6.5.3.3. Automatiza a inicialização e o incremento da variavel de controle
6.5.3.3.1. Usado para contagens numéricas
6.5.3.3.2. Incrementos
6.5.3.4. Muito utilizado para matrizes e vetores ou intervalos numéricos