Sie sind auf Seite 1von 32

UA L ( U NE S A AL G OR I T HM I C L AN G UA G E )

No se esquea que todas as palavras reservadas so escritas com letras minsculas no UAL

VARIVEIS
Uma varivel um local na memria principal, isto , um endereo que
armazena um contedo. Em linguagens de alto nvel, nos permitido dar nome a este
endereo para facilitar a programao.
O contedo de uma varivel pode ser de vrios tipos: inteiro, real, caracter,
lgico, entre outros. Normalmente, quando se ensina algoritmos, trabalhamos com os
quatro tipos citados.
Uma vez definidos, o nome e o tipo de uma varivel no podemos alter-los no
decorrer de um algoritmo. Por outro lado, o contedo da varivel um objeto de
constante modificao durante o decorrer do programa, de acordo com o fluxo de
execuo do mesmo.
Em algoritmos, sero definidas no incio do mesmo, por meio do comando
definido:
tipo da varivel nome da variavel ;
No UAL, declararemos assim:
int a;
real b;
string nome;
logico r;
Observao:
Quando formos dar nome s variveis, se faz necessrio seguirmos algumas regras.
bom ressaltar que estas regras iro variar de acordo com a linguagem porm,
adotaremos as regras do interpretador UAL:
1. O primeiro caracter uma letra.
2. Se houver mais de um caracter, s poderemos usar : letra ou algarismo.
3. O UAL sensvel letras maisculas e minsculas. Lembre-se: media diferente
de MEDIA.
4. Nenhuma palavra usada pelo UAL, poder ser nome de uma varivel.
Nomes Vlidos
media, alt, a2, PESO

Nomes No Vlidos
2w -> comea por algarismo
media_aluno -> o carcater sublinha no permitido
peso do aluno -> o caracter espao no permitido
Um dos objetivos de se declarar de uma varivel no incio do programa para
que seja alocada (reservada) uma rea na memria (endereo de memria) para a
varivel. Outro objetivo da declarao de variveis que, aps a declarao, o
v ar i v ei s / ex pr es s e s / f u n e s / at r i b u i o/

s a da / e nt ra da

p g i na :1

UA L ( U NE S A AL G OR I T HM I C L AN G UA G E )

algoritmo sabe os tipos de operaes que cada varivel pode realizar, explicando:
algumas operaes s podem ser realizadas com variveis do tipo inteiro, outras s
podem ser realizadas com variveis dos tipos inteiro ou real, outras s com variveis
caracter, etc.
TIPOS DE VARIVEIS:
A) NUMRICA:
Variveis numricas so aquelas que armazenam dados numricos, podendo ser
divididas em duas classes:
A.1) int
Os nmeros inteiros so aqueles que no possuem componentes decimais ou
fracionrios, podendo ser positivos ou negativos.
As variveis compostas com estes nmeros so chamadas de VARIVEIS
INTEIRAS. Os elementos pertencentes aos conjuntos N e Z, apesar de serem
representveis na classe dos nmeros reais, so classificados como variveis
numricas inteiras por no possurem parte fracionria.
Como exemplo de nmeros inteiros temos:
12
-12

nmero inteiro positivo


nmero inteiro negativo

Observao:
Normalmente, uma varivel do tipo inteira poder ocupar 1, 2 ou 4 bytes na MP.
A.2) real
Os nmeros reais so aqueles que podem possuir componentes decimais ou
fracionrios, podendo tambm ser positivos ou negativos.
As variveis compostas com estes nmeros pertencentes aos conjuntos dos
nmeros reais so chamadas de VARIVEIS REAIS.
Como exemplos de nmeros reais temos:
24.01
144.
-13.3

nmero real positivo com duas casas decimais


nmero real positivo com zero casas decimais
nmero real negativo com uma casa decimal

v ar i v ei s / ex pr es s e s / f u n e s / at r i b u i o/

s a da / e nt ra da

p g i na :2

UA L ( U NE S A AL G OR I T HM I C L AN G UA G E )

0.0

nmero real com uma casa decimal

Observao:
Normalmente, uma varivel do tipo inteira poder ocupar, 4 ou 8 bytes na MP.
B) string
Tambm conhecidas como caracter, alfanumrica ou literal. Este tipo de
varivel armazena dados que contem letras, dgitos e/ou smbolos especiais.
Como exemplos de constantes string temos:
"Maria"
"123"
"0"
"A"

string de comprimento 5
string de comprimento 3
string de comprimento 1
string de comprimento 1

Observao:
O nmero de bytes possveis para armazenamento de uma varivel string depender
da linguagem mas, o mais importante entender que uma varivel string armazenada
na MP como sendo uma matriz linha. Observe o trecho de programa abaixo e suponha
que,na entrada de dados, foi digitado: ALGORITMOS.
.
string palavra;
leia palavra;
.

Em algumas linguagens, o a numerao poder comear em 1.


Observao:
No confundir: caracter que se encontra na posio 3 com 3o caracter:
No exemplo acima, temos:
caracter que se encontra na posio 3 :
O
o
3 caracter
:
G
C) logico

v ar i v ei s / ex pr es s e s / f u n e s / at r i b u i o/

s a da / e nt ra da

p g i na :3

UA L ( U NE S A AL G OR I T HM I C L AN G UA G E )

Tambm conhecido como booleano. representada no algoritmo pelo dois nicos


valores lgicos possveis: verdadeiro ou falso. Porm comum encontrar-se em outras
referncias outros tipos de pares de valores lgicos como: sim/nao, 1/0, true/false,
verdadeiro / falso.
Como exemplos de constantes lgicas temos:
verdadeiro
falso

Valor lgico verdadeiro


Valor lgico Falso

Observao : As variveis quando so declaradas no tm nenhum valor atribudo


portanto, no UAL, todas as variveis precisam ter valores atribudos.

EXPRESSES
O conceito de expresso em termos computacionais est intimamente ligado ao
conceito de expresso(ou frmula ) matemtica, onde um conjunto de variveis e
constantes numricas relacionam-se por meio de operadores compondo uma frmula
que, uma vez avaliada, resulta num valor. As expresses dividem-se em:
A) ARITMTICAS:
Expresses aritmticas so aquelas cujo resultado da avaliao do tipo
numrico, seja ele inteiro ou real. Somente o uso de operadores aritmticos e
variveis numricas permitido em expresses deste tipo.
Como exemplo de operadores e expresses aritmticas temos:
A1) Soma - Na matemtica, representada pelo
em termos computacionais, pelo mesmo sinal.

sinal

e, em expresses

A+B
Expresso que simboliza a soma do valor de duas variveis.
2 +3
Nesta expresso, o valor retornado a soma dos valores dados, isto , 5.
A2) Subtrao - Na matemtica, representada
pelo
sinal
e, em
expresses em termos computacionais, pelo mesmo sinal.
A-B
3 -2

Expresso que simboliza a subtrao do valor de duas variveis.


Nesta expresso, o valor retornado o resto, isto , 1.

A3) Multiplicao - Na matemtica, representada pelos sinais

v ar i v ei s / ex pr es s e s / f u n e s / at r i b u i o/

s a da / e nt ra da

x ou

. e, em
p g i na :4

UA L ( U NE S A AL G OR I T HM I C L AN G UA G E )

expresses em termos computacionais, pelo sinal * .


B*D
3*2

Expresso que simboliza a multiplicao do valor de duas variveis.


Nesta expresso, o valor retornado o produto dos valores dados, isto , 6.

A4) Diviso - Na matemtica, representada pelo sinal


computacionais, pelo sinal
A/B
6 /2
5 / 2

e, em expresses

/.

Expresso que simboliza a diviso do valor de duas variveis.


Nesta expresso, o valor retornado a diviso dos valores dados,
que, no caso, ser equivalente a 3.
Nesta expresso,, o valor retornado a diviso dos valores dados, que
no caso ser equivalente a 2,5.

Observao:
Normalmente, as linguagens de programao assumem que a diviso uma operao
que retorna um valor REAL. Ateno especial, portanto, para variveis que recebero
o resultado de uma diviso.
Em algumas linguagens, quando se divide dois nmeros inteiros, o resultado ser um
inteiro.
A5) Exponenciao - Na matemtica, representada pela base e por um expoente e em
expresses em termos computacionais pelo sinal ( ** ou ^ ) mais o nmero que se quer
elevar.
A ** 2
3^2

Expresso que simboliza o valor da varivel ao quadrado.


Nesta expresso, o valor retornado o resultado da exponenciao
do valor 3 ao quadrado(2) que no caso, ser equivalente a 9 .
2 ** 3
Nesta expresso, o valor retornado o resultado da exponenciao do
valor 2 ao cubo(3), que no caso ser equivalente a 8.00 .
Observao:
Normalmente, as linguagens oferecem um dos operadores citados mas, o UAL oferece
os dois e a diferena no uso ser explicada abaixo:
** - exponenciao com resultado Real
^ - exponenciao com resultado Inteiro, fazendo arredondamento.
8 ** 3
8^3

A resposta seria 512.00 .


A resposta seria 512

8.5 ** 3

A resposta seria 614.125

v ar i v ei s / ex pr es s e s / f u n e s / at r i b u i o/

Radiciao pela potncia


radicando radicando1 / indice

indice

Exemplo:

s a da / e nt ra da

512 5121 / 3

p g i na :5

UA L ( U NE S A AL G OR I T HM I C L AN G UA G E )

8.5 ^ 3

A resposta seria 614

512**(1/3)

A resposta seria 8.00

A6) % - Resto ( em outras linguagens, conhecido como mod). usado em expresses


em termos computacionais quando se deseja encontrar o resto da diviso de dois
nmeros inteiros.
K% Y

Expresso que simboliza a inteno de achar o valor do resto da diviso do


valor da varivel K pelo valor da varivel Y .
Nesta expresso, o valor retornado o resto da diviso do primeiro
pelo segundo nmero que, no caso, ser equivalente a 1.
Nesta expresso, o valor retornado o
resto da diviso do primeiro
pelo segundo nmero que, no caso, ser equivalente a 3.

5%2
7%4

A7) div - Diviso inteira usado em expresses em termos computacionais quando


se deseja encontrar o quociente da diviso de dois nmeros inteiros.
A div B
5 div 2

Expresso que simboliza a inteno de achar o valor do divisor na diviso


do valor da varivel A pelo valor da varivel B .
Nesta expresso, o valor retornado o coeficiente da diviso do primeiro
pelo segundo nmero, que no caso ser equivalente a 2.

Observao:
No se esquea de pressionar a barra de espao, antes e depois de .div
B) RELACIONAL
Uma expresso relacional, ou simplesmente relao, uma comparao realizada
entre dois valores de mesmo tipo bsico. Estes valores so representados na relao
atravs de constantes, variveis ou expresses aritmticas.
Como exemplos de operadores relacionais, matematicamente conhecidos temos:
Operador
Igual
Diferente
Maior
Menor que
Maior ou Igual a
Menor ou Igual a

Matemtica
=
<>
>
<
>=
<=

UAL
==
<>
>
<
>=
<=

Como exemplos de Expresses relacionais temos:


v ar i v ei s / ex pr es s e s / f u n e s / at r i b u i o/

s a da / e nt ra da

p g i na :6

UA L ( U NE S A AL G OR I T HM I C L AN G UA G E )

A <> B
X == 1
7>6
8< 9
1 <= Y
4 >= W

A diferente de B
X igual a 1
7 maior que 6
8 menor que 9
1 menor ou igual ao valor da varivel Y
4 maior ou igual ao valor da varivel W

C) LOGICA ou BOOLEANA
Denomina-se de expresso lgica, a expresso cujos operadores so lgicos e
cujos operandos so relaes, constantes e/ou variveis do tipo lgico.

Como exemplo de operadores lgicos, matematicamente conhecidos temos:


Operador
conjuno
disjuno
negao

Matemtica
e
ou
nao

UAL
&&
||
!

TABELA VERDADE DO OPERADOR &&


Suponha duas perguntas feitas a quatro pessoas. Se a resposta do candidato for
negativa, dever falar 0, caso contrrio, falar 1.
Suponha tambm que s ser chamado para entrevista o candidato que dominar as
duas linguagens.
Voc conhece a linguagem C?
Voc conhece a linguagem PASCAL?
SADA
0
0
0
0
1
0
1
0
0
1
1
1
Neste exemplo, somente o quarto candidato seria chamado para a entrevista , pois o
operador && (e), s considera a expresso como verdadeira se todas as expresses
testadas forem verdadeiras.
TABELA VERDADE DO OPERADOR ||
Suponha duas perguntas feitas a quatro pessoas. Se a resposta do candidato for
negativa, dever falar 0, caso contrrio, falar 1.

v ar i v ei s / ex pr es s e s / f u n e s / at r i b u i o/

s a da / e nt ra da

p g i na :7

UA L ( U NE S A AL G OR I T HM I C L AN G UA G E )

Suponha tambm que ser chamado para entrevista o candidato que dominar pelo
menos uma linguagem.
Voc conhece a linguagem C++?

Voc conhece a linguagem JAVA?

0
0
1
1

0
1
0
1

SADA
0
1
1
1

Neste exemplo, somente o primeiro candidato no seria chamado para a entrevista ,


pois o operador || (ou), considera a expresso como verdadeira se, pelo menos uma
expresso testada for verdadeira.
Observaes:
1. Abaixo, relacionamos os critrios de precedncia dos operadores no UAL. Lembrese de que algumas linguagens no obedecem a estes critrios.
2. Se precisarmos alterar esta hierarquia, usaremos os parnteses.
Hierarquia
primeiro
segundo
terceiro
quarto
quinto
sexto

UAL
parnteses e funes
potncia e mdulo
multiplicao e diviso
adio e subtrao
operadores relacionais
operadores lgicos

TABELA VERDADE DO OPERADOR !


Observe a tabela abaixo e as afirmativas:
- A cor da camisa A no azul.
- A cor da camisa B no amarela.
Camisa
A
B

Cor
Azul
Verde

SADA
falso
verdadeiro

O operador ! (no ) inverte a sada.


Como exemplos de Expresses lgicas temos:
a + b == 0 && c <> 1

Esta expresso verifica se o resultado da soma dos


valores das variveis a e b igual a 0; se o valor da

v ar i v ei s / ex pr es s e s / f u n e s / at r i b u i o/

s a da / e nt ra da

p g i na :8

UA L ( U NE S A AL G OR I T HM I C L AN G UA G E )

cor == "azul" || a * b > b

varivel c diferente de 1 e(&&) considera toda a


expresso como verdadeira se as duas expresses
relacionais foram verdadeiras.
Esta expresso verifica se o contedo armazenado na
varivel c azul;e b igual a 0; se o resultado do produto
dos valores variveis a e b maior do que o valor
armazenado na varivel b; considerando toda a expresso
como verdadeira se, pelo menos uma das expresses
relacionais, for verdadeira.

Onde a, b, c so variveis numricas e cor uma varivel string.


O resultado obtido de uma avaliao de uma expresso lgica sempre um valor
lgico, isto , falso ou verdadeiro. Por este motivo, pode-se considerar uma nica
relao como sendo uma expresso lgica.

FUNES
O conceito de Funo em termos computacionais est intimamente ligado ao
conceito de funo(ou frmula ) matemtica, onde um conjunto de variveis e
constantes numricas relacionam-se por meio de operadores compondo uma frmula
que, uma vez avaliada, resulta num valor. As expresses se dividem em:

A) NUMRICAS
FUNES NUMRICAS so aquelas cujo resultado da avaliao do tipo
numrico, seja ele inteiro ou real. Somente podem ser efetuadas entre nmeros
propriamente apresentados ou variveis numricas.
Como exemplos de funes numricas temos:
A1) sen(x) Funo que resulta no valor do seno de um ngulo qualquer em radianos.

v ar i v ei s / ex pr es s e s / f u n e s / at r i b u i o/

s a da / e nt ra da

p g i na :9

UA L ( U NE S A AL G OR I T HM I C L AN G UA G E )

Observao:
Antes de aplicar a funo sen(ang), deve-se transformar o ngulo em Graus em Angulo
Radiano com a seguinte frmula matemtica: ang * 3.14159265 / 180 (ngulo
multiplicado por 3.14159265 e o resultado dividido por 180). E logo depois se pode
aplicar a funo.
No UAL, a constante 3.14159265 j definida : pi.
Logo, teremos:

angrad <- ang * pi / 180;


imprima sen(angrad);

Desta forma, podemos observar que somente usamos a funo sen(x) depois de
transformar o angulo dado em graus, em angulo radiano.
Observao:
Normalmente, as linguagens de programao assumem que a funo sen( ) uma
funo que retorna um valor REAL. Ateno especial, portanto, para variveis que
recebero como contedo expresses que envolvam esta funo.

A2) cos(x) Funo que resulta no valor do co-seno de um de um ngulo qualquer em


radianos.
Observao:
Antes de aplicar a funo cos(ang), deve-se transformar o ngulo em Graus em Angulo
Radiano com a seguinte formula matemtica: ang * pi / 180 (ngulo multiplicado por
3.14159265 e o resultado dividido por 180). E logo depois se pode aplicar a funo.
Logo, teremos:

angrad <- ang * pi / 180;


imprima cos(angrad);

Desta forma, podemos observar que somente usamos a funo cos(x) depois de
transformar o angulo dado em graus, em angulo radiano.
Observao:
Normalmente, as linguagens de programao assumem que a funo cos( ) uma
funo que retorna um valor REAL. Ateno especial, portanto, para variveis que
recebero como contedo expresses que envolvam esta funo.
A3) tan(x) Funo que resulta no valor da tangente de um ngulo qualquer em radianos.
Observao:
v ar i v ei s / ex pr es s e s / f u n e s / at r i b u i o/

s a da / e nt ra da

p g i na :10

UA L ( U NE S A AL G OR I T HM I C L AN G UA G E )

Antes de aplicar a funo tan(ang), deve-se transformar o ngulo em Graus em Angulo


Radiano com a seguinte formula matemtica: ang * pi / 180 (ngulo multiplicado por
3.14159265 e o resultado dividido por 180). E logo depois se pode aplicar a funo.
Logo, teremos:

angrad <- ang * pi / 180;


imprima tan(angrad);

Desta forma, podemos observar que somente usamos a funo tan(x) depois de
transformar o angulo dado em graus, em angulo radiano.
Observao:
Normalmente, as linguagens de programao assumem que a funo tan( ) uma
funo que retorna um valor REAL. Ateno especial, portanto, para variveis que
recebero como contedo expresses que envolvam esta funo.

A4) abs(x) Funo que resulta no valor absoluto de um nmero qualquer.


abs( 7 )
Neste caso, a resposta fornecida seria 7
abs ( - 7 ) Neste caso, a resposta fornecida seria 7
Desta forma, podemos observar que a funo abs(x) sempre fornece o
resultado absoluto do argumento que sempre ser positivo.
A5) exp(x) Funo que resulta no valor do nmero e (base do logaritmo neperiano)
elevado a um nmero qualquer.
exp ( 3 )
exp ( 2 )

Neste caso, seria o mesmo que e -> 2.71828182846 ** 3


Neste caso, seria o mesmo que e -> 2.71828182846 ** 2

Desta forma, podemos observar que a funo exp(x) se refere a base e (base
do logaritmo neperiano - 2.71828182846) elevada ao nmero citado entre os
parnteses da funo exp(x).
Observao:
Normalmente, as linguagens de programao assumem que a funo exp( ) uma
funo que retorna um valor REAL. Ateno especial, portanto, para variveis que
recebero como contedo expresses que envolvam esta funo.
A6) log(x) Funo que resulta no valor do logaritmo neperiano de um nmero qualquer.
log(3 )

Neste caso, seria: 1.09861

v ar i v ei s / ex pr es s e s / f u n e s / at r i b u i o/

s a da / e nt ra da

p g i na :11

UA L ( U NE S A AL G OR I T HM I C L AN G UA G E )

Desta forma, podemos observar que o logaritmo no qual a funo log(x) se


refere sempre denominado pela base e.
Observao:
Na prtica, poder ser necessrio calcular o logaritmo em outra base e, para isto,
voc dever fazer a converso entre bases logartmicas, usando a seguinte expresso:

log xA
log
log Bx
A
B

isto :

log(A) / log(B)

Observao:
Normalmente, as linguagens de programao assumem que a funo log( ) uma funo
que retorna um valor REAL. Ateno especial, portanto, para variveis que recebero
como contedo expresses que envolvam esta funo.
A7) raiz(x) Funo que resulta no valor da raiz quadrada de um nmero positivo.
raiz( 4 )
Neste caso, seria o mesmo que 4 2
raiz( 9 )
Neste caso, seria o mesmo que 9 3
Desta forma, podemos observar que a funo raiz(x) sempre fornece a raiz
quadrada do argumento que sempre ser positivo.
Observao:
Normalmente, as linguagens de programao assumem que a funo raiz( ) uma
funo que retorna um valor REAL. Ateno especial, portanto, para variveis que
recebero como contedo expresses que envolvam esta funo.
A8) pi Funo que resulta no valor 3.14159265. Sem argumentos.
Funes de Converso de Tipos:
1) realint( ) Funo que converte um nmero real em inteiro.
realint(11.5)
realint(12.51)
realint(12.5)

Neste caso, retornaria 12.


Neste caso, retornaria 13.
Neste caso, retornaria 12. ** Esta verso est com um pequeno bug.
Todo nmero cuja parte inteira par, e a parte fracionria
exatamente 0.5, est truncando.

2) intreal( ) Funo que converte um nmero inteiro em real.

v ar i v ei s / ex pr es s e s / f u n e s / at r i b u i o/

s a da / e nt ra da

p g i na :12

UA L ( U NE S A AL G OR I T HM I C L AN G UA G E )

intreal(11)
intreal(12)

Neste caso, retornaria 11.0 .


Neste caso, retornaria 12.0 .

v ar i v ei s / ex pr es s e s / f u n e s / at r i b u i o/

s a da / e nt ra da

p g i na :13

UA L ( U NE S A AL G OR I T HM I C L AN G UA G E )

B) CARACTER:
Funes caracter so aquelas cujo resultado da avaliao do tipo caracter.
Somente podem ser efetuadas entre caracteres propriamente apresentados ou
variveis literais do tipo caracter.
Como exemplo de funes caracter temos:
B1) strtam(string) Funo que retorna nmero de caracteres de uma string.
strtam("rio") O resultado seria 3.
strtam(nome) Nesse caso o resultado vai ser o tamanho do contedo da varivel nome.
Desta forma, podemos observar que a funo strtam(x) sempre nos devolve o
nmero de caracteres de uma string ou varivel string.
Observao:
Se o tamanho de uma varivel string for ser armazenado em uma varivel, o tipo desta
varivel dever ser int.
B2) strelem(string, pos)

Funo que retorna o elemento da string que se


encontra na posio indicada na funo.

Suponha a varivel palavra

strelem(palavra,2)
strelem(palavra,0)
strelem(palavra,5)
strelem(palavra,10)

O resultado seria
O resultado seria
O resultado seria
O resultado seria
invlido.

a letra G.
a letra A.
a letra I.
uma mensagem de erro indicando argumento

Observao:
A varivel ou constante pos, presente na funo, representa a posio do caracter
dentro da varivel porm no se esquecendo, que a primeira posio 0(zero).

v ar i v ei s / ex pr es s e s / f u n e s / at r i b u i o/

s a da / e nt ra da

p g i na :14

UA L ( U NE S A AL G OR I T HM I C L AN G UA G E )

B3) strprim(string) Funo que retorna o primeiro elemento da string.

Suponha a varivel palavra

strprim(palavra)

B4) strnprim(string, n)

O resultado seria a letra A, pois a funo reconhece


que o primeiro caracter se encontra na posio 0(zero).

Funo que retorna os n primeiros elementos da string,


incluindo a posio 0(zero).

Suponha a varivel palavra

strnprim(palavra, 2)
strnprim(palavra, 4)

B5) strresto(string)

O resultado seria AL, pois a funo entende que os dois


primeiros elementos esto nas posies 0(zero) e 1(um).
O resultado seria ALGO, pois a funo entende que os quatro
primeiros elementos esto nas posies 0(zero), 1(um),
2(dois) e 3(trs).
Funo que retorna todos os elementos da string, exceto o
primeiro.

Suponha a varivel palavra

strresto(palavra)

O resultado seria LGORITMOS.

Observao:
Neste caso, a funo reconhece que o primeiro elemento se encontra na posio
0(zero).

v ar i v ei s / ex pr es s e s / f u n e s / at r i b u i o/

s a da / e nt ra da

p g i na :15

UA L ( U NE S A AL G OR I T HM I C L AN G UA G E )

B6) strult(string) Funo que retorna o ltimo elemento da string.

Suponha a varivel palavra

strult(palavra)

O resultado seria a letra S.

B7) strnresto(string, n) Funo que retorna os elementos da string aps os n


primeiros.
Suponha a varivel palavra

strnresto (palavra, 2)

O resultado seria GORITMOS.

Observao:
Neste caso, a funo reconhece que os dois primeiros elementos se encontram nas
posies 0(zero) e 1(um).
B8) strcopia(string)

Funo que copia a string. Dever ser usada com comando de


atribuio.

a <- "UNESA";
b <- strcopia(a);

A string UNESA armazenada na varivel a .


O contedo da varivel a copiado para varivel b.

a <- "UNESA";
b <- a;

O resultado seria idntico ao anterior.

Observao:
Em algumas linguagens de programao, no permitido usar o comando de
atribuio abaixo:
b <- a ;
mas, em compensao, strcopiateria uma outra sintaxe que possibilitasse uma
varivel string receber o contedo de outra varivel string:
strcopia(string1,string2):
strcopia( b, a );
B9) strcomp(string1,string2) Funo que resulta na comparao por ordem alfabtica
de duas strings(string1 e string2) retornando:
v ar i v ei s / ex pr es s e s / f u n e s / at r i b u i o/

s a da / e nt ra da

p g i na :16

UA L ( U NE S A AL G OR I T HM I C L AN G UA G E )

"igual"
"menor"
"maior"

se forem iguais.
se string1 vier antes de string2.
se string1 vier depois de string2.

strcomp("maria", "maria")

Neste caso, o valor retornado seria "igual" .

strcomp("aline", "alex")
strcomp("carina" ,"simone")
strcomp(a, b)

Neste caso, o valor retornado seria "maior" .


Neste caso, o valor retornado seria "menor" .
Neste caso, seria comparado os contedos das
variveis a e b . O resultado poderia ser : "maior",
"igual"ou "menor".

Explicao:
Observe as figuras abaixo, cujas letras esto representadas pelos respectivos cdigos
ASCII:

quando se usa: ... strcomp("aline", "alex") ... , na verdade, compara-se o 1o cdigo de


aline com o 1o cdigo de alex: como so iguais, compara-se o 2o cdigo de aline com o
2o cdigo de alex: como so iguais, compara-se o 3 o cdigo de aline com o 3o cdigo
de alex mas, nesta comparao (105 101), o resultado deu maior do que zero (0),
logo entende-se que aline,na ordem alfabtica, vem depois de alex.
Observao:
Normalmente, esta funo ser usada com estruturas de teste que sero vistas mais
adiante.
B10) strconcat(string1, string2) Funo que resulta na cpia do valor contido em uma
string2 para o final da string1.
a <- "MARIA & ";
b <- "REGINA";

A string MARIA & armazenada na varivel a .


A string REGINA armazenada na varivel b.

c<- strconcat(a, b);


A varivel c recebe o contedo: MARIA&REGINA .
Observao:
Os argumentos das funes strings devero ser variveis ou constantes. Funes
no so permitidas.

v ar i v ei s / ex pr es s e s / f u n e s / at r i b u i o/

s a da / e nt ra da

p g i na :17

UA L ( U NE S A AL G OR I T HM I C L AN G UA G E )

COMANDO DE ATRIBUIO
a principal forma de se armazenar um dado em uma varivel. Este comando
permite que voc fornea um valor a uma varivel, onde o tipo deste valor tem que ser
compatvel com a varivel.
identificador

<-

expresso

Legenda :
identificador
<expresso
;

o nome da varivel que est sendo atribudo um valor.


o smbolo de atribuio.
pode ser uma expresso aritmtica, uma expresso lgica, ou literal
cuja avaliao (resultado) atribudo ao identificador (varivel)
finaliza o comando.

Exemplo 1 : x <- 1 ;
Como se l ?
A varivel x recebe o valor 1, ou, x recebe o valor 1, ou ainda, x recebe 1.
O que faz o computador ?
Nesse momento, na memria do computador, onde j estava alocado um espao
para a varivel x (realizado na declarao de variveis), esta varivel recebe o
valor 1.

Exemplo 2 : x <- a + b ;
Como se l ?
A varivel x recebe o resultado do contedo da varivel somado com o
contedo da varivel b ou x recebe o valor de a somado com b, ou ainda, x
recebe a + b. Lembre-se que as operaes aritmticas so realizadas pela
UAL.

v ar i v ei s / ex pr es s e s / f u n e s / at r i b u i o/

s a da / e nt ra da

p g i na :18

UA L ( U NE S A AL G OR I T HM I C L AN G UA G E )

O que faz o computador ?


Nesse momento, na memria do computador, onde j estava alocado espao
para as variveis a, b e x, o contedo da varivel x vai receber a soma do
contedo de a somado com b.
Observao:
No comando de atribuio em que o valor representado por uma expresso
aritmtica, lgica ou literal, estas devem ser avaliadas em primeiro lugar para que,
ento, o resultado obtido seja armazenado na varivel.

Exemplo 3 :
y <- 1;
x <- y;
sal <- 256.98;
nome <- "GUTO";
chr <- "g";
str <- chr;

y recebe o valor 1.
x recebe o contedo que est em y mas como y vale 1, x
vai receber 1 que o contedo de y.
sal recebe o valor 256.98 .
a varivel nome recebe a string "GUTO".
a varivel chr vai receber o caracter "g". str recebe o
contedo de chr que "g" .

Ento podemos resumir o exemplo acima como : x e y duas variveis inteiras,


sal uma varivel do tipo real, nome uma varivel do tipo caracter, ch e str
variveis do tipo char e chave uma varivel do tipo lgica.
O mapa da memria nesse momento est assim. Podemos verificar que vai
depender do tipo de varivel, o tamanho do seu espao na memria.

Concluso:
O comando de atribuio um comando muito importante nos algoritmos. O prximo
exemplo nos mostra isto.
Exemplo 4:

v ar i v ei s / ex pr es s e s / f u n e s / at r i b u i o/

s a da / e nt ra da

p g i na :19

UA L ( U NE S A AL G OR I T HM I C L AN G UA G E )

Qual o objetivo do algoritmo acima ?


O contedo das variveis A e B so trocadas, isto , no final do algoritmo a
varivel A est com o valor 20 e a varivel B est com o valor 10. Tivemos que
utilizar uma varivel auxiliar ( AUX ) que guarda o valor da varivel A.
O que aconteceria se o algoritmo fosse :

Como pode ser visto, quando a varivel A recebe o valor de B, a varivel A


perde o seu valor 10, recebendo o valor 20 e depois quando B recebe o valor de
A, B vai receber o valor 20 ( novo valor de a ). No final as variveis A e B vo
ficar mesmo valor 20.
Exemplo 5:

Observao:
Os operadores ++ e -- so operadores de incremento e decremento. Usados para
realizar operaes de adio e subtrao e similares atribuio para variveis
inteiras.
x++ ;
y-- ;

equivalente : x <- x +1 ;
equivalente : y <- y -1 ;

v ar i v ei s / ex pr es s e s / f u n e s / at r i b u i o/

s a da / e nt ra da

p g i na :20

UA L ( U NE S A AL G OR I T HM I C L AN G UA G E )

COMANDO DE SADA
o comando responsvel em enviar um resultado, uma informao ao usurio. O
valor de cada varivel buscado na memria e colocado em um dispositivo de sada.
Atravs deste comando o computador pode emitir os resultados e outras mensagens
para o usurio atravs da tela do computador ou uma impressora.
imprima
Exemplo 1 :

expresso ou varivel ou constantes ;

imprima "Aprendendo Algoritmo!!!";

Esse comando faz com que seja exibido, na tela do computador, a mensagem
entre aspas ("): Aprendendo Algoritmo!!!.
Exemplo 2 :

imprima "Aprendendo Algoritmo !!!";


imprima " Com Anita e Guto";

Embora tenhamos duas linhas de comandos, o que nos levaria a pensar que
teramos duas linhas no vdeo, o interpretador UAL s alimenta linha se assim
especificarmos atravs do smbolo: \n. Este smbolo uma string e dever vir
entre aspas.
Exemplo 3 :

imprima "Aprendendo Algoritmo !!!";


imprima "\n Com Anita e Guto";

Exemplo 4 :

imprima "Aprendendo Algoritmo !!! \n ";


imprima " Com Anita e Guto";

v ar i v ei s / ex pr es s e s / f u n e s / at r i b u i o/

s a da / e nt ra da

p g i na :21

UA L ( U NE S A AL G OR I T HM I C L AN G UA G E )

Observe que o smbolo \n poder ser colocado ao final da linha anterior ou no


incio da prxima linha que produzir o mesmo efeito mas, lembre-se, sempre
entre aspas.
Exemplo 5 :
imprima "Aprendendo Algoritmo \n Com Anita e Guto\n\n E implementando no
UAL\n Fica muito mais fcil!! ";

Observe que podemos, usando um nico comando imprima e fazendo uso do


smbolo \n, mostrar vrias mensagens em vrias linhas, inclusive deixando linha
em branco quando colocamos \n\n.
Exemplo 6 :

imprima "PR1\tPR2\tMDIA\tSITUAO\tFIM";

Observe que a tela est "dividida" em 10 reas, contendo cada uma, oito
colunas. O smbolo \t levar a impresso para o incio da prxima rea desde
que j no se encontre l como foi o caso do exemplo acima, pois o cursor, aps
a impresso da palavra SITUAO(por ter 8 letras), se posicionou na coluna
33 que incio de uma nova rea. Desta forma, a palavra FIM foi deslocada
para a coluna 41. permitido o uso de vrios \t.

Exemplo 7 :

x <- 10;
imprima x ;

v ar i v ei s / ex pr es s e s / f u n e s / at r i b u i o/

s a da / e nt ra da

p g i na :22

UA L ( U NE S A AL G OR I T HM I C L AN G UA G E )

Esse trecho de muita importncia pois x recebe o valor 10. Como j vimos, na
memria do computador, existe uma varivel chamada x e o valor 10 seria
armazenado dentro da varivel. Quando o comando imprima executado, o
valor de x, que est na memria do computador, exibido pelo comando
imprima no vdeo.

Exemplo 8 :

x <- 10;
imprima "Valor de x = ", x;

Esse trecho permite a exibio de uma mensagem e do contedo de uma


varivel na tela do computador.

Exemplo 9 : :

x <- 10;
imprima "Valor de x = ", x+1;

Esse trecho bem parecido com o anterior. O contedo da varivel x copiado


da memria e acrescido de um, sendo impresso, aps a string, sem alterar o
valor de x na MP.

v ar i v ei s / ex pr es s e s / f u n e s / at r i b u i o/

s a da / e nt ra da

p g i na :23

UA L ( U NE S A AL G OR I T HM I C L AN G UA G E )

formatar usado com o comando imprima


Exemplo 10 : :

x <- 200.13567;
imprima "Valor de x = ", formatar(x,2);

Observao:
Este comando trunca a parte fracionria e converte o nmero real em string.

COMANDO DE ENTRADA
o comando que permite que o usurio digite dados, possibilitando um
"dilogo com o computador". O dado digitado armazenado temporariamente em um
registrador e, depois, copiado para a posio de memria indicada no comando.
Lembre-se de que o nome de uma varivel representa uma posio de memria.
Sintaxe :
leia

nome de uma varivel

Exemplo 1 : leia nome;


Como se l ?
Leia valor para a varivel nome.
O que faz o computador ?
O computador fica esperando o usurio digitar um dado, nesse exemplo, um
nome: Maria. A varivel nome, tendo sido declarada como string, recebe o valor
Maria. Para facilitar, o dado digitado sempre mostrado na tela.

v ar i v ei s / ex pr es s e s / f u n e s / at r i b u i o/

s a da / e nt ra da

p g i na :24

UA L ( U NE S A AL G OR I T HM I C L AN G UA G E )

Observaes :
O UAL no permite a leitura de mais de uma varivel num comando leia.
Exemplo: leia a, b ; -> NO PERMITIDO
Na entrada de dados para uma varivel REAL, digite sempre ao final do
nmero, um ponto ( . ).
Observe o programa abaixo que envolve a maioria das funes numricas
prog teste
imprima "raiz: ",raiz(64);
imprima "\nraiz com exp e log e realint: ",realint(exp(1/2*log(64)));
imprima "\nraiz com exp e log sem realint: ",exp(1/2*log(64));
imprima "\n", formatar(sen(45*pi/180)+0.0001,3);
imprima "\npotencia com exp e log e formatar: ",formatar(exp(3*log(8))+0.001,3);
imprima "\npotencia com exp e log sem formatar: ",exp(3*log(8));
imprima "\npotencia com operador ** e formatar: ",formatar(8**3,3);
imprima "\nraiz cubica: ",exp(1/3*log(8));
imprima "\nabsoluto: ",abs(-8);
imprima "\nabsoluto: ",abs(8);
imprima "\nconvertendo para inteiro 5.5: ",realint(5.5);
imprima "\nconvertendo para inteiro 6.5: ",realint(6.5);
imprima "\nconvertendo para inteiro 6.5 + 0.0001: ",realint(6.5+0.0001);
imprima "\nconvertendo para inteiro 5.45: ",realint(5.45);
imprima "\nconvertendo para inteiro 5.51: ",realint(5.51);
imprima "\nconvertendo para real 87: ",intreal(87);
imprima "\nconvertendo para int 3/4: ",realint(3/4),"\n";
fimprog

VDEO
raiz: 8.0
raiz com exp e log e realint: 8
raiz com exp e log sem realint: 7.999999999999998
0.707
potencia com exp e log e formatar: 512.000
potencia com exp e log sem formatar: 511.9999999999995
potencia com operador ** e formatar: 512.000
raiz cubica: 1.9999999999999998
absoluto: 8
absoluto: 8
convertendo para inteiro 5.5: 6
convertendo para inteiro 6.5: 6
convertendo para inteiro 6.5 + 0.0001: 7
convertendo para inteiro 5.45: 5
convertendo para inteiro 5.51: 6
convertendo para real 87: 87.0
convertendo para int 3/4: 1

Observe o programa abaixo que envolve a maioria das funes strings

v ar i v ei s / ex pr es s e s / f u n e s / at r i b u i o/

s a da / e nt ra da

p g i na :25

UA L ( U NE S A AL G OR I T HM I C L AN G UA G E )

prog funcoes
int a;
real b;
string c,c1,d,d1;
imprima "\ndigite palavra 1:";
leia c;
imprima "\ndigite palavra 2:";
leia c1;
imprima"\n",strtam(c);
imprima "\nconcatenando:",strconcat(c,c1);
d <- strcopia(c);
imprima "\nE O CONTEUDO DE D: ",d;
d1<-strconcat(c,c1);
imprima "\nconcatenacao:",d1;
imprima "\nprimeiro caracter:",strprim(c);
imprima "\nultimo caracter:",strult(c);
imprima "\ntodos menos o primeiro:",strresto(c);
imprima "\no terceiro elemento:",strelem(c,3); # sair o 4o caracter
imprima "\nos tres primeiros elementos:",strnprim(c,3);
imprima "\nos tres ultimos elementos:",strnresto(c,3);
imprima "\n";
fimprog

VDEO
digite palavra:TESTANDO
digite palavra2:UAL
tamanho da 1 palavra: 8
concatenando sem armazenar:TESTANDOUAL
o conteudo de d(variavel que teve valor copiado de c: TESTANDO
o conteudo de e(variavel que teve valor atribuido de c: TESTANDO
concatenacao com armazenamento:TESTANDOUAL
primeiro caracter:T
ultimo caracter:L
todos menos o primeiro:ESTANDOUAL
o terceiro elemento:S
os tres primeiros elementos:TES
os tres ultimos elementos:UAL

v ar i v ei s / ex pr es s e s / f u n e s / at r i b u i o/

s a da / e nt ra da

p g i na :26

UA L ( U NE S A AL G OR I T HM I C L AN G UA G E )

CONCLUSES E DICAS
CONCLUSES e DICAS
O UAL (UNESA ALGORITHMIC LANGUAGE) resultado do projeto final da
Andra T. Medeiros e Adriana S.Spallanzani, sob a orientao do Prof. Juarez A.
Muylaert Filho.
Est sendo usado, neste semestre pela primeira vez, por todos os alunos do
Curso de Informtica da UNESA. Desta forma, podero surgir pequenos bugs, o que
super normal.
Nesta parte, gostaramos de reforar alguns conceitos e dar algumas dicas para
que voc possa utilizar o UAL como uma ferramenta para seu aprendizado de
algoritmos.
/* Se voc declarar uma varivel como real, precisa digitar o ponto aps o
nmero caso ele no tenha parte fracionriaria */
VDEO
prog teste2
real a;
imprima "\nnumero:";
leia a;
imprima "\n",a;
imprima "\n";
fimprog

numero:12
Fail: Tipo incorreto na leitura da
varivel a.
[root@localhost anita]#
root@localhost anita]# ual exp3.ual
numero:12.
12.0

/* Voc precisa converter para real um nmero inteiro para poder armazenar em
uma varivel declarada como real*/
VDEO
prog teste1
int a;
real b;
imprima "\nnumero:";
leia a;
b<-intreal(a);
imprima "\n",b;
imprima "\n";
fimprog

v ar i v ei s / ex pr es s e s / f u n e s / at r i b u i o/

numero:12
12.0

s a da / e nt ra da

p g i na :27

UA L ( U NE S A AL G OR I T HM I C L AN G UA G E )

/* Observe que quando a parte inteira do nmero PAR E a parte fracionria


for 0.5, o nmero truncado. */
VDEO
prog converte
int c,a;
real b;
imprima "\ndigite um numero real,
colocando ponto";
leia b;
imprima "convertendo para inteiro:
",realint(b),"\n";
imprima "\n";
fimprog

digite um numero real, colocando ponto:


12.5
convertendo para inteiro: 12
[root@localhost anita]#
[root@localhost anita]# ual
converte.ual
digite um numero real, colocando ponto:
12.51
convertendo para inteiro: 13
digite um numero real, colocando ponto:
13.5
convertendo para inteiro: 14

/* Testando Hierarquia */
prog teste
imprima "\nTESTANDO HIERARQUIA\n";
imprima "\n12 + 5 /2 igual a: ", 12+5/2;
imprima "\n DIFERENTE DE (12 + 5) /2 que igual a:", (12+5)/2," , logo / tem
HIERARQUIA MAIOR do que + ou -";
imprima "\n\n64**1/4 igual a: ",64**1/4 ;
imprima "\n DIFERENTE de 64**(1/4)que igual a: ",64**(1/4)," logo ** tem
HIERARQUIA MAIOR do que * ou / " ;
imprima "\n\n3*7 % 5 igual a: ", 3*7 % 5;
imprima "\n DIFERENTE de (3 * 7) % 5 que igual a: ",(3*7) % 5, " logo % tem
HIERARQUIA MAIOR do que * " ;
imprima "\n\n3 * 7 div 5 igual a: ", 3*7 div 5;
imprima "\n IGUAL a (3 * 7) div 5 : ",(3 * 7) div 5," logo div tem a MESMA
HIERARQUIA da * ou / ";
imprima "\n";
fimprog

v ar i v ei s / ex pr es s e s / f u n e s / at r i b u i o/

s a da / e nt ra da

p g i na :28

UA L ( U NE S A AL G OR I T HM I C L AN G UA G E )

VDEO
TESTANDO HIERARQUIA
12 + 5 /2 igual a: 14.5
DIFERENTE DE (12 + 5) /2 que igual a:8.5 , logo / tem HIERARQUIA MAIOR do
que + ou 64**1/4 igual a: 16.0
DIFERENTE de 64**(1/4)que igual a: 2.8284271247461903 logo ** tem HIERARQUIA
MAIOR do que * ou /
3*7 % 5 igual a: 6
DIFERENTE de (3 * 7) % 5 que igual a: 1 logo % tem HIERARQUIA MAIOR do que *
3 * 7 div 5 igual a: 4
IGUAL a (3 * 7) div 5 : 4 logo div tem a MESMA HIERARQUIA da * ou /

/* Uma operao de diviso no pode ser um dos operandos de uma expresso


com %, pois o operador % tem hierarquia maior do que a diviso. Logo, 6%2
executado primeiro e quando for feita a diviso, o divisor ser zero(0).
Um nmero Real pode ser usado como operando de div porm ser feito
arredondamento.Isto desaconselhvel pois acaba com a filosofia de div.*/
prog teste
imprima "\nTESTANDO HIERARQUIA";
imprima "\n\n18/6 % 2 igual a: ", 18/6 % 2;
imprima "\nUma operao de diviso no pode ser um dos operandos de uma
expresso com %.";
imprima "\n\n20 / 4 div 2 igual a: ", 20/4 div 2;
imprima "\n IGUAL a (20 / 4) div 2 : ",(20 / 4) div 2," logo div tem a MESMA
HIERARQUIA ";
imprima " da /. ";
imprima "\n\n30 / 4 div 2 igual a: ", 30/4 div 2;
imprima "\n IGUAL a (30 / 4) div 2 : ",(30 / 4) div 2," logo div tem a MESMA
HIERARQUIA ";
imprima " da / ";
imprima "\n\n7. div 4: ",7. div 4;
imprima "\n7 div 4: ",7 div 4;
imprima "\n6. div 4: ",6. div 4;
imprima "\n6 div 4: ",6 div 4;
imprima "\n";
fimprog

v ar i v ei s / ex pr es s e s / f u n e s / at r i b u i o/

s a da / e nt ra da

p g i na :29

UA L ( U NE S A AL G OR I T HM I C L AN G UA G E )

VDEO
TESTANDO HIERARQUIA
18/6 % 2 igual a: Infinity
Uma operao de diviso no pode ser um dos operandos de uma expresso com
20 / 4 div 2 igual a: 2
IGUAL a (20 / 4) div 2 : 2 logo div tem a MESMA HIERARQUIA

da

30 / 4 div 2 igual a: 4
IGUAL a (30 / 4) div 2 : 4 logo div tem a MESMA HIERARQUIA

da /

7.
7
6.
6

div
div
div
div

4:
4:
4:
4:

%.

/.

2
1
2
1

/* Muita ateno para o uso dos operadores % e div numa expresso


Se % vier antes, no tem problema. */
VDEO
prog teste
int a,d;
imprima "\nDigite numero de tres
casas:";
leia a;
d<-a%100 div 10;
imprima "\nalgarismo da casa das
dezenas: ",d;
imprima "\n";
fimprog

Digite numero de tres casas:135


algarismo da casa das dezenas: 3

/* Se a idia e efetuar a operao com div antes, teremos problema, pois o


operador % tem hierarquia maior que div, logo primeiro ser operado 10%10 cujo
o resultado zero(0), impossibilitando a operao com div, uma vez que no se
pode dividir por 0*/
VDEO
prog teste
int a,d;
imprima "\nDigite numero de tres
casas:";
leia a;
d<-a div 10 % 10;
imprima "\nalgarismo da casa das
dezenas: ",d;
imprima "\n";
fimprog

v ar i v ei s / ex pr es s e s / f u n e s / at r i b u i o/

Digite numero de tres casas:135


Floating point exception (core dumped)

s a da / e nt ra da

p g i na :30

UA L ( U NE S A AL G OR I T HM I C L AN G UA G E )

/* Agora que voc colocou parnteses para priorizar a operao de hierarquia


menor, deu certo. Lembre-se sempre disto: quando voc montar uma expresso
com div e %, se div vier antes de %, coloque parnteses*/

VDEO
prog teste
int a,d;
imprima "\nDigite numero de tres
casas:";
leia a;
d<-(a div 10) % 10;
imprima "\nalgarismo da casa das
dezenas: ",d;
imprima "\n";
fimprog

Digite numero de tres casas:135


algarismo da casa das dezenas: 3

/* Algumas aplicaes com % e div */


VDEO
prog L118
int data,dia,mes,ano;
imprima "\nDigite data no formato
DDMMAA:";
leia data;
dia<-data div 10000;
mes<-data % 10000 div 100;
ano<-data %100;
imprima "\nDIA:",dia;
imprima "\nMES:",mes;
imprima "\nANO:",ano;
imprima "\n";
fimprog

Digite data no formato DDMMAA:230389


DIA:23
MES:3
ANO:89

VDEO
prog L1181
int data,dia,mes,ano,ndata;
imprima "\nDigite data no formato
DDMMAA:";
leia data;
dia<-data div 10000;
mes<-data % 10000 div 100;
ano<-data %100;
ndata<-mes *10000 +dia*100+ano;
imprima "\nDIA:",dia;
imprima "\nMES:",mes;
imprima "\nANO:",ano;
imprima "\n\nDATA NO FORMATO
MMDDAA:",ndata;
imprima "\n";
fimprog

v ar i v ei s / ex pr es s e s / f u n e s / at r i b u i o/

Digite data no formato DDMMAA:251201


DIA:25
MES:12
ANO:1
DATA NO FORMATO

s a da / e nt ra da

MMDDAA:122501

p g i na :31

UA L ( U NE S A AL G OR I T HM I C L AN G UA G E )

/* Os operadores ++ e -- */
VDEO
prog xx
int x,y;
x<-2;
y<-5;
imprima "\nx = ",x;
x++;
imprima "\n\ny = ",y;
y--;
imprima "\n\nnovo valor de x = ",x;
imprima "\n\nnovo valor de y = ",y;
imprima "\n\n";
fimprog

y = 5
novo valor de x = 3
novo valor de y = 4

/* S REFORANDO */
Todas as palavras reservadas so escritas com letras minsculas.
O operador de atribuio dever ser formado pelo sinal < seguido do sinal de -,
ficando: <- .
Os identificadores (nome do programa e das variveis devero comear por uma
letra e, os demais caracteres, letra ou algarismo).
Os comandos: imprima, leia, atribuio e as declaraes de variveis,terminam
com

x = 2

;.

Os comandos prog e fimprog no tm ; .

v ar i v ei s / ex pr es s e s / f u n e s / at r i b u i o/

s a da / e nt ra da

p g i na :32

Das könnte Ihnen auch gefallen