32
UAL – (UNESA ALGORITHMIC LANGUAGE) variáveis/ expressões / funções/ atribuição/ saída / entrada página: 1 Não se esqueça que todas as palavras reservadas são escritas com letras minúsculas no UAL VARIÁVEIS Uma variável é um local na memória principal, isto é, um endereço que armazena um conteúdo. Em linguagens de alto nível, nos é permitido dar nome a este endereço para facilitar a programação. O conteúdo de uma variável pode ser de vários tipos: inteiro, real, caracter, lógico, entre outros. Normalmente, quando se ensina algoritmos, trabalhamos com os quatro tipos citados. Uma vez definidos, o nome e o tipo de uma variável não podemos alterá-los no decorrer de um algoritmo. Por outro lado, o conteúdo da variável é um objeto de constante modificação durante o decorrer do programa, de acordo com o fluxo de execução do mesmo. Em algoritmos, serão definidas no início do mesmo, por meio do comando definido: tipo da variável nome da variavel ; No UAL, declararemos assim: int a; real b; string nome; logico r; Observação: Quando formos dar nome às variáveis, se faz necessário seguirmos algumas regras. É bom ressaltar que estas regras irão variar de acordo com a linguagem porém, 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 é sensível letras maiúsculas e minúsculas. Lembre-se: media é diferente de MEDIA. 4. Nenhuma palavra usada pelo UAL, poderá ser nome de uma variável. Nomes Válidos Nomes Não Válidos media, alt, a2, PESO 2w -> começa por algarismo media_aluno -> o carcater sublinha não é permitido peso do aluno -> o caracter espaço não é permitido Um dos objetivos de se declarar de uma variável no início do programa é para que seja alocada (reservada) uma área na memória (endereço de memória) para a variável. Outro objetivo da declaração de variáveis é que, após a declaração, o

Variavel Funcoes Expressoes Comandos Basicos

  • Upload
    akira

  • View
    39

  • Download
    1

Embed Size (px)

DESCRIPTION

Comandos para C++ junto com suas variaveis

Citation preview

  • UAL (UNE SA ALGORI THM I C L ANGUAGE)

    varivei s/ expresses / funes/ atribu io/ sada / entrada pgina :1

    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 Nomes No Vlidos

    media, alt, a2, PESO 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

  • UAL (UNE SA ALGORI THM I C L ANGUAGE)

    varivei s/ expresses / funes/ atribu io/ sada / entrada pgina :2

    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 nmero inteiro positivo -12 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 nmero real positivo com duas casas decimais 144. nmero real positivo com zero casas decimais -13.3 nmero real negativo com uma casa decimal

  • UAL (UNE SA ALGORI THM I C L ANGUAGE)

    varivei s/ expresses / funes/ atribu io/ sada / entrada pgina :3

    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" string de comprimento 5 "123" string de comprimento 3 "0" string de comprimento 1 "A" 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 3o caracter : G

    C) logico

  • UAL (UNE SA ALGORI THM I C L ANGUAGE)

    varivei s/ expresses / funes/ atribu io/ sada / entrada pgina :4

    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 Valor lgico verdadeiro falso 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 sinal + e, em expresses em termos computacionais, pelo mesmo sinal. 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 Expresso que simboliza a subtrao do valor de duas variveis. 3 - 2 Nesta expresso, o valor retornado o resto, isto , 1. A3) Multiplicao - Na matemtica, representada pelos sinais x ou . e, em

  • UAL (UNE SA ALGORI THM I C L ANGUAGE)

    varivei s/ expresses / funes/ atribu io/ sada / entrada pgina :5

    expresses em termos computacionais, pelo sinal * . B * D Expresso que simboliza a multiplicao do valor de duas variveis. 3 * 2 Nesta expresso, o valor retornado o produto dos valores dados, isto , 6.

    A4) Diviso - Na matemtica, representada pelo sinal e, em expresses computacionais, pelo sinal / . A / B Expresso que simboliza a diviso do valor de duas variveis. 6 / 2 Nesta expresso, o valor retornado a diviso dos valores dados,

    que, no caso, ser equivalente a 3. 5 / 2 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 Expresso que simboliza o valor da varivel ao quadrado. 3 ^ 2 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 A resposta seria 512.00 . Radiciao pela potncia 8 ^ 3 A resposta seria 512 indiceindice radicandoradicando /1 8.5 ** 3 A resposta seria 614.125 Exemplo: 3/13 512512

  • UAL (UNE SA ALGORI THM I C L ANGUAGE)

    varivei s/ expresses / funes/ atribu io/ sada / entrada pgina :6

    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 . 5 % 2 Nesta expresso, o valor retornado o resto da diviso do primeiro

    pelo segundo nmero que, no caso, ser equivalente a 1. 7 % 4 Nesta expresso, o valor retornado o resto da diviso do primeiro

    pelo segundo nmero que, no caso, ser equivalente a 3. 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 Expresso que simboliza a inteno de achar o valor do divisor na diviso

    do valor da varivel A pelo valor da varivel B . 5 div 2 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 Matemtica UAL

    Igual Diferente Maior Menor que Maior ou Igual a Menor ou Igual a

    = > < >= < >=

  • UAL (UNE SA ALGORI THM I C L ANGUAGE)

    varivei s/ expresses / funes/ atribu io/ sada / entrada pgina :7

    A B X == 1 7 > 6 8 < 9 1 = 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 Matemtica UAL conjuno disjuno negao

    e ou nao

    && || !

    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.

  • UAL (UNE SA ALGORI THM I C L ANGUAGE)

    varivei s/ expresses / funes/ atribu io/ sada / entrada pgina :8

    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? SADA

    0 0 0 0 1 1 1 0 1 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. Lembre-se de que algumas linguagens no obedecem a estes critrios. 2. Se precisarmos alterar esta hierarquia, usaremos os parnteses.

    Hierarquia UAL primeiro segundo terceiro quarto quinto sexto

    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 Cor SADA A Azul falso B Verde 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

  • UAL (UNE SA ALGORI THM I C L ANGUAGE)

    varivei s/ expresses / funes/ atribu io/ sada / entrada pgina :9

    varivel c diferente de 1 e(&&) considera toda a expresso como verdadeira se as duas expresses relacionais foram verdadeiras.

    cor == "azul" || a * b > b 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.

  • UAL (UNE SA ALGORI THM I C L ANGUAGE)

    varivei s/ expresses / funes/ atribu io/ sada / entrada pgina :10

    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

  • UAL (UNE SA ALGORI THM I C L ANGUAGE)

    varivei s/ expresses / funes/ atribu io/ sada / entrada pgina :11

    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 2.71828182846 ** 3 exp ( 2 ) 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

  • UAL (UNE SA ALGORI THM I C L ANGUAGE)

    varivei s/ expresses / funes/ atribu io/ sada / entrada pgina :12

    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:

    Bx

    AxA

    B loglog

    log 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 24 raiz( 9 ) Neste caso, seria o mesmo que 39

    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) Neste caso, retornaria 12. realint(12.51) Neste caso, retornaria 13. realint(12.5) 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.

  • UAL (UNE SA ALGORI THM I C L ANGUAGE)

    varivei s/ expresses / funes/ atribu io/ sada / entrada pgina :13

    intreal(11) Neste caso, retornaria 11.0 . intreal(12) Neste caso, retornaria 12.0 .

  • UAL (UNE SA ALGORI THM I C L ANGUAGE)

    varivei s/ expresses / funes/ atribu io/ sada / entrada pgina :14

    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) O resultado seria a letra G. strelem(palavra,0) O resultado seria a letra A. strelem(palavra,5) O resultado seria a letra I. strelem(palavra,10) O resultado seria uma mensagem de erro indicando argumento

    invlido. 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).

  • UAL (UNE SA ALGORI THM I C L ANGUAGE)

    varivei s/ expresses / funes/ atribu io/ sada / entrada pgina :15

    B3) strprim(string) Funo que retorna o primeiro elemento da string. Suponha a varivel palavra

    strprim(palavra) O resultado seria a letra A, pois a funo reconhece

    que o primeiro caracter se encontra na posio 0(zero). B4) strnprim(string, n) Funo que retorna os n primeiros elementos da string, incluindo a posio 0(zero). Suponha a varivel palavra

    strnprim(palavra, 2) O resultado seria AL, pois a funo entende que os dois

    primeiros elementos esto nas posies 0(zero) e 1(um). strnprim(palavra, 4) 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).

    B5) strresto(string) 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).

  • UAL (UNE SA ALGORI THM I C L ANGUAGE)

    varivei s/ expresses / funes/ atribu io/ sada / entrada pgina :16

    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

  • UAL (UNE SA ALGORI THM I C L ANGUAGE)

    varivei s/ expresses / funes/ atribu io/ sada / entrada pgina :17

    "igual" se forem iguais. "menor" se string1 vier antes de string2. "maior" se string1 vier depois de string2.

    strcomp("maria", "maria") Neste caso, o valor retornado seria "igual" .

    strcomp("aline", "alex") Neste caso, o valor retornado seria "maior" . strcomp("carina" ,"simone") Neste caso, o valor retornado seria "menor" . strcomp(a, b) 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 3o 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

  • UAL (UNE SA ALGORI THM I C L ANGUAGE)

    varivei s/ expresses / funes/ atribu io/ sada / entrada pgina :18

    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

  • UAL (UNE SA ALGORI THM I C L ANGUAGE)

    varivei s/ expresses / funes/ atribu io/ sada / entrada pgina :19

    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

  • UAL (UNE SA ALGORI THM I C L ANGUAGE)

    varivei s/ expresses / funes/ atribu io/ sada / entrada pgina :20

    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++ ; equivalente : x

  • UAL (UNE SA ALGORI THM I C L ANGUAGE)

    varivei s/ expresses / funes/ atribu io/ sada / entrada pgina :21

    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 expresso ou varivel ou constantes ; Exemplo 1 : 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";

  • UAL (UNE SA ALGORI THM I C L ANGUAGE)

    varivei s/ expresses / funes/ atribu io/ sada / entrada pgina :22

    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

  • UAL (UNE SA ALGORI THM I C L ANGUAGE)

    varivei s/ expresses / funes/ atribu io/ sada / entrada pgina :23

    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

  • UAL (UNE SA ALGORI THM I C L ANGUAGE)

    varivei s/ expresses / funes/ atribu io/ sada / entrada pgina :24

    formatar usado com o comando imprima

    Exemplo 10 : : x

  • UAL (UNE SA ALGORI THM I C L ANGUAGE)

    varivei s/ expresses / funes/ atribu io/ sada / entrada pgina :25

    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

  • UAL (UNE SA ALGORI THM I C L ANGUAGE)

    varivei s/ expresses / funes/ atribu io/ sada / entrada pgina :26

    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

  • UAL (UNE SA ALGORI THM I C L ANGUAGE)

    varivei s/ expresses / funes/ atribu io/ sada / entrada pgina :27

    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

  • UAL (UNE SA ALGORI THM I C L ANGUAGE)

    varivei s/ expresses / funes/ atribu io/ sada / entrada pgina :28

    /* 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

  • UAL (UNE SA ALGORI THM I C L ANGUAGE)

    varivei s/ expresses / funes/ atribu io/ sada / entrada pgina :29

    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

  • UAL (UNE SA ALGORI THM I C L ANGUAGE)

    varivei s/ expresses / funes/ atribu io/ sada / entrada pgina :30

    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. div 4: 2 7 div 4: 1 6. div 4: 2 6 div 4: 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

  • UAL (UNE SA ALGORI THM I C L ANGUAGE)

    varivei s/ expresses / funes/ atribu io/ sada / entrada pgina :31

    /* 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

  • UAL (UNE SA ALGORI THM I C L ANGUAGE)

    varivei s/ expresses / funes/ atribu io/ sada / entrada pgina :32

    /* Os operadores ++ e -- */

    VDEO prog xx int x,y; x