algoritmo "nome do algoritmo"
/* variáveis globais */
/* funções e procedimentos */
inicio
fimalgoritmo
algoritmo "nome do algoritmo"
/* variáveis globais */
var
i: inteiro
/* Inicio do algoritmo */
inicio
escreva("Digite a sua idade: ")
leia(i)
escreval("Você tem " + i + "anos.")
fimalgoritmo
As declarações devem ser realizadas após a palavra reservada var. Para declarar uma variável deve-se utilizar a seguinte sintaxe:
<nome_variável>: <tipo_dado>
algoritmo "nome do algoritmo"
/* variáveis globais */
var
i: inteiro
/* Inicio do algoritmo */
inicio
fimalgoritmo
Caso exista mais de uma varíavel com mesmo tipo é possível declará-las em uma única linha com o uso da vírgula (,).
algoritmo "nome do algoritmo"
/* variáveis globais */
var
i, numero: inteiro
nome, endereco: texto
sexo: caractere
/* Inicio do algoritmo */
inicio
fimalgoritmo
Para declarar vetores deve-se especificar o número de dimensões e o tamanho de cada dimensão além do tipo de dado que o vetor irá armazenar. Para isto, deve-se utilizar a seguinte sintaxe:
<nome_variável>: vetor [<tamanho_dimensão>][<tamanho_dimensão>]... de <tipo_dado>
Exemplo da declaração de um vetor com 2 dimensões para armazenar números inteiros, onde a primeira possui tamanho 5 e a segunda tamanho 4:
nump: vetor [1..5][1..4] de inteiro
Neste segundo exemplo mostro como declarar um vetor com apenas uma dimensão de tamanho 5:
nomes: vetor [1..5] de texto
Para atribuir valores a uma variável utiliza-se o operador <-.
algoritmo "nome do algoritmo"
/* variáveis globais */
var
i, numero: inteiro
nome, endereco: texto
sexo: caractere
/* Inicio do algoritmo */
inicio
i <- 5
numero <- 2001
nome <- "Fulando da silva"
endereco <- "Rua X"
sexo <- 'M'
fimalgoritmo
Para atribuir valores em um vetor é necessário especificar os índices de cada uma das dimensões.
algoritmo "nome do algoritmo"
/* variáveis globais */
var
numeros: vetor [1..5][1..4] de inteiro
nomes: vetor [1..5] de texto
/* Inicio do algoritmo */
inicio
numeros[1][1] <- 55
numeros[1][2] <- 5801
nomes[1] <- "Fulano de tal"
fimalgoritmo
Precendência:
1. Parênteses
2. Funções Matemáticas
3. Operadores Matemáticos
4. Operadores Relacionais
5. Operadores Lógicos
Precedência:
1. Parênteses
2. Exponenciação
3. Multiplicação e divisão
4. Soma e subtração
Precedência:
1. O que aparecer primeiro da esquerda para a direita.
Precedência:
1. nao
2. e
3. ou
A estrutura condicional Se verifica uma expressão lógica e executa um conjunto de comandos caso o resultado da expressão lógica seja Verdadeiro. Este conjunto de comandos é encerrado com a instrução fimse
se (<expressão>) entao
/* comandos... */
fimse
É possível inserir a instrução senao antes do fimse para agrupar um outro conjunto de comandos que serão executados caso o resultado da expressão lógica seja Falso.
se (<expressão>) entao
/* comandos caso verdadeiro... */
senao
/* comandos caso falso... */
fimse
O programa abaixo informa se um número solicitado ao usuário é par ou ímpar.
algoritmo "par ou impar"
var
n: inteiro
inicio
escreva("Digite um número: ")
leia(n)
se (n%2 = 0) entao
escreval("O número digitado é par.")
senao
escreval("O número digitado é ímpar.")
fimse
fimalgoritmo
A estrutura de repetição para é utilizada para repetir uma quantidade de vezes um conjunto de comandos.
para <variável> de <inicio> ate <fim> [passo <pvalor>] faca
/* comandos... */
fimpara
O conjunto de comandos será repetido enquanto o valor da variável especificada em <variável> não alcançar o valor final especificado em <fim>. Por padrão a variável aumenta em passos de 1 se <inicio> for maior que <fim> ou em passos de -1, caso contrário. Opcionalmente é possível especificar o tamanho do passo com a opção passo.
algoritmo "para"
var
r: real
inicio
para r de 1 ate 2 passo 0.1 faca
escreval(r)
fimpara
fimalgoritmo
A estrutura de repetição enquanto é utilizada para repetir um conjunto de comandos enquanto uma expressão booleana for Verdadeira.
enquanto (<expressão>) faca
/* comandos... */
fimenquanto
O programa abaixo é uma reescrita do programa anterior utilizando o comando enquanto. O resultado é o mesmo.
algoritmo "enquanto"
var
r: real
inicio
r <- 1
enquanto(i <= 2) faca
escreval(r)
r <- r + 0.1
fimenquanto
fimalgoritmo
A estrutura de repetição repita irá repetir um conjunto de comandos até uma expressão booleana ser falsa. A única diferença entre o repita e o enquanto é que o primeiro garante repetir pelo menos uma vez o conjunto de comandos.
repita
/* comandos... */
ate (<expressão>)
O programa abaixo apresenta o mesmo resultado do anterior quando utilizado o enquanto.
algoritmo "enquanto"
var
r: real
inicio
r <- 1
repita
escreval(r)
r <- r + 0.1
ate (i < <=span style="color:purple">2)
fimalgoritmo
O comando interrompa pode ser utilizado para parar um laço de repetição.
algoritmo "enquanto"
var
r: real
inicio
enquanto(verdadeiro) faca
escreva("Digite um número: ")
leia(r)
se (r < 0) entao
Interrompa
fimse
fimenquanto
fimalgoritmo
procedimento <nome>(<parametros>)
var
/* declaração de variáveis locais */
inicio
/* comandos... */
fimprocedimento
funcao <nome>(<parametros>): <tipo_retorno>
var
/* declaração de variáveis locais */
inicio
/* comandos... */
fimfuncao
algoritmo "fibonacci"
/* variáveis globais */
var
i, n: inteiro
/* função fibonacci */
funcao fibonacci(n: inteiro): inteiro
inicio
se (n = 1 ou n = 2) entao
retorne 1
senao
retorne fibonacci(n-1) + fibonacci(n-2)
fimse
fimfuncao
/* Inicio do algoritmo */
inicio
escreva("Digite a quantidade de termos: ")
leia(n)
escreva("A sequência de Fibonacci é: ")
para i de 1 ate n faca
escreva(fibonacci(i) + " ")
fimpara
escreval()
fimalgoritmo