Você está na página 1de 33

PORTUGOL IDE

Fonte: http://www.dei.estt.ipt.pt/portugol/

Variveis - Definio
Define um smbolo cujo valor pode ser alterado durante os seu ciclo de
vida.
As variveis so o elemento bsico de processamento. A sua declarao
permite definir que tipo de informao iro conter.
A declarao de variaveis segue as seguintes regras:
1- O nome tem de comear por uma letra ou pelo carcter undescore (_)
e no pode ser uma palavra reservada da linguagem.
2- O valor de inicializao tem de ser compativel com tipo de varivel
definido.
3- Se o valor de inicializao for omitido a variavel inicializada com os
valores por padro
4- possivel definir mais que uma variavel utilizando o caracter virgula (,)
5- possvel omitir a palavra variavel.

Variveis - Declarao

Sintaxe
variavel [tipo] [nome] <- [expresso]
variavel [tipo] [nome] <- [valor] ,[nome]
<- [expresso]
[tipo] [nome] <- [expresso]
[tipo] [nome]

Exemplos:

variavel inteiro idade <- 18


variavel real peso <- 23.14
logico repetente
texto nome <- "Antonio" , apelido <- "Sousa"
caracter sexo

Tipos Bsicos de Dados

Constantes
Sintaxe
constante [tipo] [nome] <- [valor]
constante [tipo] [nome] <- [expresso]
constante [tipo] [nome] <- [valor] ,[nome] <- [expresso]

Definio
Define um smbolo cujo valor permanece inaltervel durante os seu
ciclo de vida.
Segue as mesmas regras que a definio de variveis exceto que no
possvel omitir o valor de inicializao

Exemplos
constante inteiro meses <- 12
constante real pi <- 3.14

OPERADORES ARITMTICOS
Inteiros
Operadores disponveis para nmeros inteiros
+ Adio
- Subtrao
/ Diviso inteira
* Multiplicao
% Resto da diviso inteira
^ Potenciao
Descrio
Operadores que utilizam exclusivamente variveis ou valores inteiros

OPERADORES ARITMTICOS
Exemplo:
inicio
inteiro i1 <- 5 , i2 <- 2
escrever "operadores icom operandos do tipo inteiro"
escrever "\n" , i1 , " + " , i2 , " = " , i1 + i2
escrever "\n" , i1 , " - " , i2 , " = " , i1 - i2
escrever "\n" , i1 , " * " , i2 , " = " , i1 * i2
escrever "\n" , i1 , " / " , i2 , " = " , i1 / i2
escrever "\n" , i1 , " % " , i2 , " = " , i1 % i2
escrever "\n" , i1 , " ^ " , i2 , " = " , i1 ^ i2
fim
RESULTADO:
Operadores com operandos do tipo inteiro
5+2=7
5-2=3
5 * 2 = 10
5/2=2
5%2=1
5 ^ 2 = 25

OPERADORES ARITMTICOS
Reais
Operadores disponveis para nmeros reais
+ Adio
- Subtrao
/ Diviso
* Multiplicao
^ Potenciao
Descrio
Operadores que utilizam variveis ou valores numricos em que pelo
menos um elemento do tipo real.

OPERADORES ARITMTICOS
Exemplo
inicio
real i1 <- 5.0 , i2 <- 2.0
escrever "operadores com operandos do tipo real"
escrever "\n" , i1 , " + " , i2 , " = " , i1 + i2
escrever "\n" , i1 , " - " , i2 , " = " , i1 - i2
escrever "\n" , i1 , " * " , i2 , " = " , i1 * i2
escrever "\n" , i1 , " / " , i2 , " = " , i1 / i2
escrever "\n" , i1 , " ^ " , i2 , " = " , i1 ^ i2
fim
RESULTADO:
Operadores com operandos do tipo real
5.0 + 2.0 = 7.0
5.0 - 2.0 = 3.0
5.0 * 2.0 = 10.0
5.0 / 2.0 = 2.5
5.0 ^ 2.0 = 25.0

OPERADORES ARITMTICOS
Texto
Operadores disponveis para texto
+ Concatenao de texto
Descrio
Operadores que utilizam variveis ou valores do tipo texto
Exemplo:
inicio
texto nome1 <-Universidade
texto nome2 <-Tiradentes"
texto nome3
nome3 <- nome1 + " " + nome2
escrever nome3
fim
RESULTADO:

Universidade Tiradentes

Operadores Lgicos
E Disjuno
OU Conjuno
NAO Negao

Descrio
Os operadores lgicos fornecem como resultado um valor lgico
(verdadeiro ou falso).
Os operadores E e OU so operadores binrios e o NAO um
operador unrio.

Exemplo
inicio
logico l1 , l2
l1 <- verdadeiro
l2 <- falso
escrever "\n no " , l1 , "\t= " , nao l1
escrever "\n no " , l2 , "\t= " , nao l2
escrever "\n\n" , l1 , " e \t" , l2 , " = " , l1 e l2
escrever "\n" , l1 , " ou \t" , l2 , " = " , l1 ou l2

l1 <- verdadeiro
l2 <- verdadeiro
escrever "\n\n" , l1 , " e \t" , l2 , " = " , l1 e l2
escrever "\n" , l1 , " ou \t" , l2 , " = " , l1 ou l2

l1 <- falso
l2 <- falso
escrever "\n\n" , l1 , " e \t" , l2 , " = " , l1 e l2
escrever "\n" , l1 , " ou \t" , l2 , " = " , l1 ou l2

fim

Operadores Relacionais
=
=/=
>
>=
<
<=

Igual
Diferente
Maior
Maior ou igual
Menor
Menor ou igual

Descrio
Os operadores lgicos fornecem com resultado um valor lgico
(verdadeiro ou falso)
Se os operandos forem numricos a comparao feita com base no
seu valor
Se os operadores forem texto a comparao feita lexicograficamente
Se os operadores forem lgicos apenas esto disponveis a igualdade e
a diferena

Exemplo
Inicio
real l1 <- 5.0 , l2 <- 3
escrever "\n" , l1 , " = " , l2 , "\t= " , l1 = l2
escrever "\n" , l1 , " =/= " , l2 , "\t= " , l1 =/= l2
escrever "\n" , l1 , " > " , l2 , "\t= " , l1 > l2
escrever "\n" , l1 , " >= " , l2 , "\t= " , l1 >= l2
escrever "\n" , l1 , " < " , l2 , "\t= " , l1 < l2
escrever "\n" , l1 , " <= " , l2 , "\t= " , l1 <= l2
fim

Comando de Entrada
Ler
Sintaxe
ler varivel
ler variavel1, variavel2
Descrio
Solicita a introduo de valores para as variveis atravs do console.
possvel definir a leitura de vrias variveis desde que estas estejam
separadas por virgulas (,).
A leitura de uma varivel deve ser precedida da sua declarao. Os
valores introduzidos para cada varivel devem ser compatveis com o tipo
definido na declarao da mesma.

Exemplo
Inicio
texto nome
escrever "qual o seu nome:"
ler nome
escrever "bem-vindo ao portugol " , nome
fim

Comando de Sada
Escrever
Sintaxe
escrever varivel
escrever constante
escrever "texto"
escrever [expresso]
escrever varivel , "texto" , expresso , . . .,
Escreve texto variveis, constantes, expresses ou texto na consola.
A mesma instruo pode escrever vario elementos desde que sejam
separados por virgulas (,)
Descrio
Solicita a introduo de valores para as variveis atravs do console

Comando de Sada
Escrever
OBS:
Existem trs smbolos predefinidos no texto:
\n - mudana de linha (enter)
\t tubulao
\" - caracter aspas (")

Exemplo
Inicio
texto nome
escrever "qual o seu nome:"
ler nome
escrever "\nbem-vindo ao portugol \t\"" , nome , "\"
fim

Estrutura Condicional
Se
Sintaxe
se [condio] ento
[instrues]
seno
[instrues]
fimSe
Ou
se [condio] ento
[instrues]
fimSe

Exemplo
Inicio
inteiro numero, r
escrever " introduza um numero: "
ler numero
r <- numero % 2
se r = 0 entao
escrever "numero par"
senao
escrever "numero impar"
fimse
fim

Estrutura condicional
Escolhe
Sintaxe
Escolhe [expresso_0]
Caso [Expresso_1o],. . .,[Expresso_1n],:
[instrues]
. . . . . . . . . . .
Caso [Expresso_no],. . .,[Expresso_nn],:
[instrues]
Defeito:
[instrues]
FimEscolhe
Descrio

Esta estrutura compara a expresso_0 com as restantes expresses (expresso_1 . . .


expresso_n) e se a comparao for positiva esxecuta as instrues do Caso e sai.
A estrutura tem um caso por default (opcional) que executado quando todas
as outras condies falharem.

Estrutura de Repetio
Enquanto
Sintaxe
enquanto [condio] faz
[intrues]
fimEnquanto

Descrio
Repeta as intrues enquanto a condio for verdadeira

Exemplo
Inicio
inteiro contador
contador <- 0
enquanto contador < 10 faz
escrever contador , "\t"
contador <- contador + 1
fimenquanto
fim

Estrutura de repetio com variveis de controle


Para
Sintaxe
para [varivel numerica] de [valor inicial] ate [valor final] passo [valor
de separao]
[intrues]
prximo
para [varivel numerica] de [valor inicial] ate [valor final]
[intrues]
prximo

Descrio

Repete as instrues controlado por uma varivel numrica que percorre os


valores entre dois limites utilizando o passo definido. Caso o passo no seja
definido, o passo de mais ou menos uma unidade de forma a poder percorrer o
intervalo entre o valor inicial e o final de forma crescente ou decrescente

Exemplo

Inicio
inteiro contador
para contador de 0 ate 9 passo 1
escrever contador , "\t"
proximo
fim

Repetio com teste no final


Repete
Sintaxe
repete
[instrues]
at[condio]

Descrio
Repete as instrues at que a condio seja verdadeira.

Exemplo
Solicita a introduo de um ms at o utilizador introduzir um valor
vlido ( entre 1 e 12)
Inicio
inteiro mes
repete
escrever "introduza um mes :"
ler mes
ate mes > 0 e mes < 13
escrever "\nmes introduzido :" , mes
fim

Estrutura de dados homognea Array (Vetor)


Sintaxe
<variavel/constante> <tipo dados> nome[dimenso]
<variavel/constante> <tipo dados> nome[dim1][dim2]. . . [dimn]
<tipo dados> nome[dimenso]
<tipo dados> nome[dimenso] <- {valor_1, valor_2, . . . , valor_n}

Estruturas homogneas de dados (Arrays)


define um conjunto de dados todos do mesmo tipo que podem ser
referenciados atravs de um ndice.
Regras:
1- Se a declarao omitir o termo <variavel/constante> o array variavel
2- A definio do nome obedee s mesmas regras das variveis
3- A dimenso tem de ser um valor inteiro ou uma expresso com resultado
inteiro
4 - As dimenses esto contidas dentro de colchetes
5 - So permitidas tantas dimenses quantas as desejadas
6- Se o valor de inicializao for omitido todas o conjunto inicializado com
os valores por default
7 - A inicializao feita com os dados compreendidos entre chaves e
separados por virgulos
8 - Se o nmero de valores for insuficiente os ltimos elementos so
incializados com os valores por default

Exemplo
constante texto estacoes[4] <- {"inverno", "outono", "primavera" , "vero" }
variavel inteiro notas[3] <- {10,20}
real salarios[12]
logico bits[8]

Você também pode gostar