# Introdução à programação/Pseudo-código

Pseudocódigo é uma forma genérica de escrever um algoritmo, utilizando uma linguagem simples (nativa a quem o escreve, de forma a ser entendido por qualquer pessoa) sem necessidade de conhecer a sintaxe de nenhuma linguagem de programação. É, como o nome indica, um pseudo-código e, portanto, não pode ser executado num sistema real (computador) — de outra forma deixaria de ser pseudo.
Os livros sobre a ciência de computação utilizam frequentemente o pseudocódigo para ilustrar os seus exemplos, de forma que todos os programadores possam entender as lógicas dos programas (independentemente da linguagem que utilizem). Entendendo-se os conceitos facilita-se depois a conversão para qualquer linguagem de programação. Aprenderemos neste curso de Lógica de Programação os elementos mais essenciais da programação utilizando o que conhecemos como Português Estruturado, isto é, um pseudo-código em português.

## Constantes e variáveis

Uma máquina computacional é essencialmente uma máquina de entrada/saída de dados. Podemos definir dois tipos de dados : constante, que é um determinado valor fixo que não se altera até o término do programa e variável que corresponde a uma posição na memória do computador que armazena um determinado dado que pode ser modificado ao longo do programa.

### Tipos de variáveis

Ao determinarmos uma variável ela aloca uma determinada posição na memória do computador. Assim há a necessidade de determinarmos o tipo da variável de modo a se ter espaço suficiente para a alocação de qualquer dado do tipo declarado.
* Numérico: variável que armazena dados de números. Alguns pseudo-códigos segmentam este tipo de variável em real e inteiro, i.e. dados numéricos reais (com casas decimais) e inteiros.
* Caractere: variável que armazena dados do jeito que são digitados- assim podem alocar letras, letras e números ou somente números, mas tratando estes números como texto e não como números em si mesmos.
* Lógico: variável que pode assumir apenas dois valores Verdadeiro ou Falso.

### Modelo de pseudo-código

Utilizaremos como padrão o seguinte modelo de pseudo-código:
* Todo programa deve ser iniciado com programa SeuNome
* O Início e Fim do programa serão limitados pelos marcadores Inicio e Fim
* As variáveis serão declaradas no início do programa como NomeVariável:tipo da variável
* Variáveis não podem ter espaço em branco e não podem ter seu nome iniciada por número
* Caracteres especiais não devem ser utilizadas nos nomes das variáveis (´,`, ~,ç ,- e afins)
* Deve-se evitar o uso de palavras-reservadas (i.e. aquelas utilizadas pelo programa para funções específicas como é o caso de Inicio e Fim até agora). Para facilitar ao estudante colocaremos estas palavras em negrito
* Consideraremos que os nomes das variáveis são case sensitive, i.e. diferencia maiúsculas e minúsculas. Desta forma, o nome declarado de uma variável deve ser exatamente o mesmo, incluindo maiúsculas e minúsculas até o final.
* Usaremos os comandos leia para receber dados do usuário e escreva para exibir dados ao usuário.
* Os textos a serem exibidos na tela ou que tenham de ser inseridos como caractere serão colocados entre "aspas".
* Os comentários sobre o código podem ser inseridos {entre chaves} servindo apenas para efeito de informação, mas não alterando o código.

### Exemplo de programa em pseudo-código

Vamos agora criar um programa em pseudo-código que defina os tipos de variáveis relacionadas ao cadastro de um livro e receba estes dados do usuário e imprima na tela.
    programa Livro {definição do nome do programa}
    Inicio
       CODIGODOLIVRO:inteiro
       TITULO, AUTOR, EDITORA:caractere {declaração de variáveis}
       escreva "Este é um programa em pseudo-código que exibe na tela os dados de um livro"
       escreva "Digite o código do livro"
       leia CODIGODOLIVRO
       escreva "Digite o título do livro"
       leia TITULO
       escreva "Digite o autor do livro"
       leia AUTOR
       escreva "Digite a editora do livro"
       leia EDITORA
       escreva "O código do livro é", CODIGODOLIVRO
       escreva "O título do livro é", TITULO
       escreva "O autor do livro é", AUTOR
       escreva "A Editora do livro é", EDITORA
    Fim

### Atribuição de valores às variáveis

As variáveis recebem valores do mesmo tipo de sua declaração no processamento do programa. No exemplo anterior associamos o valor digitado pelo usuário às variáveis. Se quisermos associar valores podemos utilizar <- que associa um valor a um identificador.
    programa Livro {definição do nome do programa}
    Inicio
       CODIGODOLIVRO:inteiro
       TITULO, AUTOR, EDITORA:caractere {declaração de variáveis}
       escreva "Este é um programa em pseudo-código que exibe na tela os dados de um livro"
       CODIGODOLIVRO <- 1
       TITULO <- "O Senhor dos Anéis"
       AUTOR <- "J.R.R.Tolkien"
       EDITORA <- " Editora Tralalá"
       escreva "O código do livro é", CODIGODOLIVRO {irá exibir 1}
       escreva "O título do livro é", TITULO {irá exibir O Senhor dos Anéis}
       escreva "O autor do livro é", AUTOR {irá exibir J.R.R.Tolkien}
       escreva "A Editora do livro é", EDITORA {irá exibir Editora Tralalá}
    Fim