Beruflich Dokumente
Kultur Dokumente
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
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
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
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;
.
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 )
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
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 )
e, em expresses
/.
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
8.5 ** 3
v ar i v ei s / ex pr es s e s / f u n e s / at r i b u i o/
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
512**(1/3)
5%2
7%4
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
==
<>
>
<
>=
<=
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.
Matemtica
e
ou
nao
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 :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++?
0
0
1
1
0
1
0
1
SADA
0
1
1
1
UAL
parnteses e funes
potncia e mdulo
multiplicao e diviso
adio e subtrao
operadores relacionais
operadores lgicos
Cor
Azul
Verde
SADA
falso
verdadeiro
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 )
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:
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.
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 )
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.
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 )
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 )
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)
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)
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)
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 )
strprim(palavra)
B4) strnprim(string, n)
strnprim(palavra, 2)
strnprim(palavra, 4)
B5) strresto(string)
strresto(palavra)
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 )
strult(palavra)
strnresto (palavra, 2)
Observao:
Neste caso, a funo reconhece que os dois primeiros elementos se encontram nas
posies 0(zero) e 1(um).
B8) strcopia(string)
a <- "UNESA";
b <- strcopia(a);
a <- "UNESA";
b <- a;
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")
strcomp("aline", "alex")
strcomp("carina" ,"simone")
strcomp(a, b)
Explicao:
Observe as figuras abaixo, cujas letras esto representadas pelos respectivos cdigos
ASCII:
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
;
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 )
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" .
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 )
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 :
Esse comando faz com que seja exibido, na tela do computador, a mensagem
entre aspas ("): Aprendendo Algoritmo!!!.
Exemplo 2 :
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 :
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 :21
UA L ( U NE S A AL G OR I T HM I C L AN G UA G E )
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;
Exemplo 9 : :
x <- 10;
imprima "Valor de x = ", x+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 :23
UA L ( U NE S A AL G OR I T HM I C L AN G UA G E )
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
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
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 )
/* 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 /
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
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 :30
UA L ( U NE S A AL G OR I T HM I C L AN G UA G E )
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
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/
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
;.
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