Você está na página 1de 7

Portugus Estruturado

Portugus Estruturado

Portugus Estruturado

Para que o algoritmo possa ser executado por


uma mquina importante que as instrues
sejam corretas e sem ambigidades.
O portugus estruturado , na verdade, uma
simplificao extrema do Portugus, limitada a
umas poucas palavras e estruturas que tm um
significado muito bem definido.
Ao conjunto de palavras e regras que definem o
formato das sentenas vlidas chamamos
sintaxe da linguagem.

Forma Geral ALGORITMO

Apesar do Portugus Estruturado ser uma


linguagem bastante simplificada, ela possui
todos os elementos bsicos e uma estrutura
semelhante de uma linguagem tpica para
programao de computadores.
Para praticar nossa sintaxe e testar nossos
problemas, utilizaremos o software Visualg.

Primeiro algoritmo
Faa um algoritmo para escrever na tela a frase:
Meu primeiro Algoritmo
Dica: Comando para sada de dados: escreva()

Palavras reservadas so palavras que fazem


parte da sintaxe da linguagem e no podem ser
usadas para outro propsito em um algoritmo que
no seja aquele previsto nas regras de sintaxe.
Tambm so chamadas de palavras chaves.

Segundo Algoritmo
Escreva um algoritmo para calcular a mdia de
um aluno, sabendo que foram aplicadas quatro
provas.

Analise o seguinte algoritmo e


descreva o que ele faz.

Linearizao de Expresses
Para a construo de algoritmos que realizam
clculo matemticos, todas as expresses
aritmticas devem ser linearizadas, ou seja,
colocadas em linhas, devendo tambm ser feito o
mapeamento dos operadores da aritmtica
tradicional para os do Portugus Estruturado.

Linearizao de Expresses

Exerccios
Escreva as expresses abaixo na forma
na sintaxe do Portugus Estruturado.

Operadores Aritmticos

Exerccios
Escreva as Expresses da forma
convencional.
A. a + b + ((34+e*9)/u-89 ^ (1/2)) =
B. 12+1/((4*a)/45) ^ (1/2) =
C. ((a+x) ^ (2+w)-3a)/2 =
D. (12*x)/(36-9 ^ y) =

Operadores Relacionais
Os operadores relacionais realizam a
comparao entre dois operandos ou duas
expresses e resultam em valores lgicos
(VERDADEIRO ou FALSO).

Tabela-Verdade

Operadores Lgicos
Os operadores lgicos atuam sobre expresses e
tambm resultam em valores lgicos
VERDADEIRO ou FALSO.

Tabela-Verdade

Mostra os resultados das aplicaes dos


operadores lgicos conforme os valores dos
operadores envolvidos.
De acordo com a necessidade, as expresses
podem ser unidas pelos operadores lgicos.
Exemplo:
(2+5>4) e (3<>3) resulta FALSO, pois
VERDADEIRO e FALSO resulta FALSO.

Exerccio
Resolva as expresses lgicas,
determinando se a expresso
verdadeira ou falsa:
A. 2>3=
B. (6<8)ou(3>7)=
C. no (2<3)=
D. (5>=6 ou 6<7 ou no(a+5-6=8) {onde a = 5}
E. (34>9 e 5+u = 34) ou (5=15/3 e 8>12) = ((u =
29) e 8>12) {onde u = 29}

Modularizao de expresses
a diviso de uma expresso em partes,
proporcionando maior compreenso e definindo
prioridades para a resoluo da mesma.
Utilizaremos somente parnteses "()" para
modularizao.
Podemos ter parnteses dentro de parnteses,
como seriam os colchetes e as chaves na
matemtica.

Modularizao de expresses
Os parnteses indicam quais sub-expresses,
dentro de uma expresso, sero executados
primeiro.
A princpio, a execuo da esquerda para
direita, mas alm dos parnteses, existem
prioridades entre os operadores envolvidos na
expresso.

Tabela de Prioridade

Tabela de Prioridade

Exemplo:
(2 + 2)/2
2 + 2/2

Tabela de Prioridade
Entre as categorias de operadores tambm h
prioridades, conforme mostrado na tabela
abaixo.

Exemplo
(2>3) ou (3<2) e (2<3)
(2>3) e (3<2) ou (2<3)

Variveis
Uma varivel pode ser vista como uma caixa
com um rtulo ou nome colado a ela, que num
dado instante guarda um determinado objeto.
O contedo desta caixa no algo fixo,
permanente, seu contedo pode ser alterado
diversas vezes, contudo, o contedo deve ser
sempre do mesmo tipo.

Variveis
Essa caixa poder conter qualquer valor
numrico (inteiro ou fracionrio; positivo,
negativo ou zero). Entretanto, em um
determinado instante, ela conter um, e somente
um, valor.

Palavras Reservadas

Declarao de variveis
Utilizaremos a palavra reservada VAR

onde <identificador i> o nome (identificador) de uma


varivel e <tipo das variveis> determina que tipo de
valor as variveis podero receber.
Os identificadores das variveis so usados para referencilas dentro do algoritmo. Tais identificadores devem ser claros
e precisos, dando uma idia do papel da varivel no
algoritmo.

Regras para nomeao de variveis


a. nomes de variveis no podem ser iguais a palavras
reservadas;
b. nomes de variveis devem possuir como primeiro
caractere uma letra ou sublinhado '_' (os outros
caracteres podem ser letras, nmeros e sublinhado);
c. nomes de variveis devem ter no mximo 127
caracteres;
d. Nomes de variveis no podem conter espaos em
branco;
e. na sintaxe do Portugus Estruturado, no h diferena
entre letras maisculas de minsculas (NOME o
mesmo que noMe).

Exerccio
Assinale com um X os nomes de variveis
vlidos.
( ) abc
( ) 3abc
()a
( ) 123a
( ) a
( ) acd1
( ) -_ad
( ) A&a
( ) guarda-chuva
( ) A123
( ) Aa
( ) guarda_chuva
( ) ABC DE
( ) etc.
( ) b316
( ) leia
( ) enquanto ( ) escreva

Regras para nomeao de variveis


Exemplo
Identificadores vlidos:
NOME, TELEFONE, IDADE_FILHO, IdadeFilho,
NOTA1, Est_Civil

Identificadores invlidos:
3Endereco, Estado Civil, PARA, algoritmo,
numero/complemento

Tipos de Dados
Podemos declarar variveis em portugus
estruturado com os seguintes tipos:

Exerccio

Operador de Atribuio

Classifique os contedo das variveis abaixo de


acordo com seu tipo, assinalando com N os
dados numricos, com L os lgicos, com C os
literais.

Para colocar um valor em uma varivel dentro de um


algoritmo, utilizamos o operador de atribuio.

Exemplo

()0
( ) "abc"
( ) "Joo"
( ) 5.7
( ) 1012
( ) FALSO
( ) -49
( ) +342
( ) 569
( ) "Lucas"
( ) "VERDADEIRO" ( ) 0.00001
( ) VERDADEIRO ( ) -545
( ) " 444 "

Operador de Atribuio
S se pode atribuir s variveis valores do mesmo tipo da varivel.
Exemplo (errado)

VAR
salario: REAL
INICIO
salario <- "Insuficiente

Sempre esquerda do comando de atribuio deve haver um (e


somente um) identificador de varivel.
Exemplo so incorretos

2060 <- NumeroConta


NumeroAgencia+digitoControle <- 2345 + 0
NomeCliente+sobrenome <- Joo + Silva

Linhas de Comentrio
Os comentrios so declaraes no compiladas que
podem conter qualquer informao textual que voc
queira adicionar ao cdigo-fonte para referncia e
documentao de seu programa.
So representados por duas barras normais ( // ).
Todo o texto que voc digitar aps as duas barras
ser comentrio.
Exemplo 7.1
// Este mtodo calcula o fatorial de n
...x <- y;
// Inicializa a varivel x com o valor de y

O operador de atribuio representado por uma seta


(<-) apontando para a esquerda.
Peso <- 78.7 // Este comando atribui varivel Peso o valor
78.7.
Nome <- "Joo da Silva" // Este comando atribui varivel
Nome o valor "Joo da Silva".
Achei <- FALSO // Este comando atribui varivel Achei o
valor FALSO.

Assinalar os comandos de atribuio


considerados invlidos:
NOME, COR, TESTE, DIA: caracter
SOMA, NUM: inteiro
Salario: real
X: lgico
a. ( ) NOME <- 5
b. ( ) SOMA <- NUM + 2 * X
c. ( ) TESTE <- SOMA
d. ( ) NUM <- SOMA
e. ( ) COR <- "PRETO"
f. ( ) X <- X + 1
g. ( ) NUM <- "*ABC*"
h. ( ) DIA <- "seGUNDA"
i. ( ) SOMA + 2 <- NUM
j. ( ) X <- (NOME = COR)
k. ( ) salrio <- 5.000
l. ( ) salrio <- 150
m. ( ) salrio <- insuficiente

Comandos de E/S (Entrada/Sada)


Em algum ponto do algoritmo geralmente deve
ocorrer exibio de valores, e todas as
linguagens de programao tm comandos para
este fim.
Em Portugus Estruturado usamos o comando
escreva para isto.
A sintaxe desse comando tem a seguinte forma:

Comando de Sada
Exemplo

X <- 3.5
Y <- 4
Escreva ("O valor de X ", X)
Escreva (" E o valor de Y ", Y)
Escreval (" A soma de X e Y ", X+Y)
Escreval ("O valor de X ", X)
Escreval ("E o valor de Y ", Y)
Escreval ("A soma de X e Y ", X+Y)

Comando de Entrada de Dados


Assim, deve haver um meio para que sejam
digitados (ou fornecidos de outra maneira)
dados para o algoritmo. Todas as linguagens de
programao permitem isto.
No Portugus Estruturado usamos o comando
leia. A sintaxe deste comando :

Faria com que aparecesse na tela:

O valor de X 3.5 E o valor de Y 4 A soma de X e Y 7.5


O valor de X 3.5
E o valor de Y 4
A soma de X e Y 7.5

Comando de Entrada de Dados


Exemplo

leia (NumeroConta)
leia (NumeroAgencia)
leia (NomeCliente)

Voc pode mandar uma mensagem antes para o usurio,


assim ele sabe qual o contedo que deve ser colocado, ou
seja, digitado.
Exemplo
Escreva ("Digite seu nome: ")
Leia (nome)
Escreva ("Digite sua agencia: ")
Leia (NumeroAgencia)
Escreva ("Digite sua conta: ")
Leia (NumeroConta)

No seguinte algoritmo existem erros?


Em caso afirmativo, onde?

Comando de Entrada de Dados


Deve estar claro que sempre direita do
comando leia haver um identificador de
varivel. Assim, so incorretos os seguintes
comandos:
Exemplo so incorretos
leia (NumeroConta+60)
leia (12345)
leia (NomeCliente+Sobrenome)

Exerccio
Quais os valores armazenados em SOMA,
NOME e TUDO, supondo-se que NUM, X, COR,
DIA, TESTE e TESTE2 valem, respectivamente,
5, 2, "AZUL", "TERA", FALSO e
VERDADEIRO?
a) NOME <- DIA
b) SOMA <- (NUM^2/X) + (X + 1)
c) TUDO <- NO ((TESTE OU TESTE2) E (X <> NUM))

Você também pode gostar