Pseudocódigo
A escrita de programas em pseudocódigo tem dois objetivos no curso: primeiro eliminar totalmente a sintaxe e os detalhes técnicos da linguagem. Segundo, se concentrar na lógica e na ordem das operações dos algoritmos. Quem já escreveu programas antes não terá maiores dificuldades com isso, mas quem nunca escreveu um programa antes e não tem nenhuma noção de como as operações são processadas num computador, terá no pseudocódigo uma oportunidade de não se preocupar com detalhes técnicos de uma linguagem de programação. O pseudocódigo serve apenas para ganhar familiaridade com a ordem das operações e com a entrada e saída dos dados na memória do computador.
Com pseudocódigo não existe preocupação com memória ou com desempenho, no máximo entende-se que quanto mais complicadas e maior o número de operações para resolver um problema, pior é a solução.
Nas provas você pode escrever em pseudocódigo se o professor abrir essa possibilidade nos enunciados das questões.
Uma pequena observação: não entenda pseudocódigo literalmente como uma linguagem de programação. Se você escreve um algoritmo qualquer em linguagem de programação e não tem dificuldades quanto a isso, não precisa escrever em pseudocódigo então.
- Inteiro e real. Numa aula dada em pseudocódigo o professor não declara variáveis explicitamente, mas costuma dizer "precisamos de um inteiro" ou "precisamos de uma variável real". É apenas uma maneira mais simples e evasiva de lidar com a memória de um computador real. Real no caso é o equivalente a ponto flutuante ou float, com precisão hipoteticamente infinita já que não estaremos nos preocupando com quanta memória será gasta neste estágio.
- leia variável. É o equivalente à função scanf(). Serve para guardar um valor numa variável que está ocupando um espaço na memória. O comando é dito "destrutivo" ou que ele sobrescreve o que estava na memória naquela posição. O professor costuma explicar aqui uma pequena diferença: quando uma variável utiliza um espaço na memória, o espaço da memória não precisa estar livre no sentido de não ter qualquer valor, mas livre no sentido de não haver conflito entre duas variáveis ou programas "disputando" o mesmo espaço na memória. Isso é algo que o sistema operacional se encarrega de gerenciar.
- imprima variável ou escreva mensagem. É o equivalente à função printf(). A diferença é que no pseudocódigo o comando ignora totalmente o que é uma função e a sintaxe. O comando é dito "não destrutivo" ou que ele não grava nada na memória, apenas mostra na tela o valor da variável.
- leitura vs impressão. É uma mera convenção, leitura quer dizer entrada na memória, enquanto impressão quer dizer saída da memória. Em linguagem normal leitura seria saída e impressão, literalmente gravar no papel. É trivial, mas ainda assim alguns podem se confundir com isso.
- ← (seta para a esquerda). É o equivalente ao sinal de igual, ou a operação de atribuição. Isso serve para que, mesmo quem não tenha noção nenhuma de como funcionam algoritmos e programas, não confunda o sinal de igual da atribuição com o sinal de igual da matemática. Na atribuição a leitura é da direita para a esquerda, pois é o valor da direita sendo "jogado" para a esquerda. Na matemática a leitura é da esquerda para a direita, o valor ou variável da esquerda é igual ao da direita. É trivial, mas ainda assim alguns podem se confundir com isso.
- se, senão, senão se e então. É o equivalente ao comando IF ... ELSE IF ... ELSE. Costuma ser idêntico à uma frase comum em linguagem normal, portanto não precisa de maiores explicações. O comando ENTÃO é equivalente ao THEN, mas nos programas escritos em C, THEN não é usado. Como os programas são escritos em blocos e lidos de cima para baixo, o comando "THEN" fica implícito.
- operações aritméticas. Não há nenhuma diferença em relação à aritmética elementar da matemática. A única diferença é o operador % (porcentagem) que significa resto da divisão, que não é muito usado no dia a dia.
- operações de comparação. Os sinais de maior, menor, maior ou igual e menor ou igual são idênticos aos da matemática. As únicas exceções são o sinal de diferente != e igual ==, que usam uma notação não usada na matemática.
- comparações compostas. Para fins de simplificação, a pseudolinguagem não possui comparações compostas, com duas ou mais comparações numa mesma expressão.
- início e fim. Os professores costumam omitir isso, basta usar um par de chaves { ... } para indicar onde começa e onde termina um bloco de código.
- enquanto. É o equivalente ao WHILE. Também costuma ser idêntico à uma frase em linguagem normal, portanto não precisa de maiores explicações.
- para e até. É o equivalente ao FOR. Também costuma ser idêntico à uma frase em linguagem normal, portanto não precisa de maiores explicações.
- funções, vetores, matrizes e ponteiros. Não há nenhuma notação em pseudocódigo para isso. Geralmente quando o professor já esta nesses tópicos os programas passam a ser escritos já em linguagem de programação.