SlideShare une entreprise Scribd logo
1  sur  7
Télécharger pour lire hors ligne
Capítulo 6
OPERADORES E EXPRESSÕES

1. OPERADORES
       Operadores são elementos fundamentais que atuam sobre operandos e produzem um
determinado resultado. Por exemplo, a expressão 3 + 2 relaciona dois operandos (os números 3 e
2) por meio do operador (+) que representa a operação de adição.
     De acordo com o número de operandos sobre os quais os operadores atuam, os últimos
podem ser classificados em:
    binários, quando atuam sobre dois operandos. Esta operação é chamada diádica. Ex.: os
     operadores das operações aritméticas básicas (soma, subtração, multiplicação e divisão).
    unários, quando atuam sobre um único operando. Esta operação é chamada monádica.
     Ex.: o sinal de (-) na frente de um número, cuja função é inverter seu sinal.
       Outra classificação dos operadores é feita considerando-se o tipo de dado de seus
operandos e do valor resultante de sua avaliação. Segundo esta classificação, os operandos
dividem-se em aritméticos, lógicos e literais. Esta divisão está diretamente relacionada com o tipo
de expressão onde aparecem os operadores.
      Um caso especial é o dos operadores relacionais, que permitem comparar pares de
operandos de tipos de dados iguais, resultando sempre num valor lógico.


1.1. OPERADORES DE ATRIBUIÇÃO
       Um operador de atribuição serve para atribuir um valor a uma variável.
       Em Algoritmo usamos o operador de atribuição: <-
       A sintaxe de um comando de atribuição é:


       nome_da_variável <- expressão


        A expressão localizada no lado direito do sinal é avaliada e armazenado o valor resultante
na variável à esquerda. O nome da variável aparece sempre sozinho, no lado esquerdo do sinal de
igual deste comando.
1.2. OPERADORES ARITMÉTICOS
       Os operadores aritméticos se relacionam às operações aritméticas básicas, conforme as
tabelas abaixo:



Operadores unários, isto é, são aplicados a um único operando. São os operadores aritméticos de
maior precedência. Exemplos: -3, +x. Enquanto o operador unário - inverte o sinal do seu
operando, o operador + não altera em nada o seu valor.

     +        mais (positivo)

     –        menos (negativo)



Operador de divisão inteira. Por exemplo, 5  2 = 2. Tem a mesma precedência do operador de
divisão tradicional.

             divisão inteira



Operadores aritméticos tradicionais. Por convenção, * e / têm precedência sobre + e -. Para
modificar a ordem de avaliação das operações, é necessário usar parênteses como em qualquer
expressão aritmética.

     +        adição

     –        subtração

     *        multiplicação

     /        divisão



Operador de módulo (isto é, resto da divisão inteira). Por exemplo, 8 MOD 3 = 2. Tem a mesma
precedência do operador de divisão tradicional.

MOD ou %      módulo



Operador de potenciação. Por exemplo, 5 ^ 2 = 25. Tem a maior precedência entre os operadores
aritméticos binários (aqueles que têm dois operandos).

     ^        potenciação


       A prioridade entre operadores define a ordem em que os mesmos devem ser avaliados
dentro de uma mesma expressão.
Operador                   Tipo                Operação                 Prioridade

          +                    Binário                Adição                      4

          -                    Binário              Subtração                     4

          *                    Binário             Multiplicação                  3

          /                    Binário                Divisão                     3

         MOD                   Binário           Resto da Divisão                 3

                              Binário            Divisão Inteira                 3

          ^                    Binário             Potenciação                    2

          +                    Unário          Manutenção do Sinal                1

          -                    Unário            Inversão do Sinal                1



1.3. OPERADORES RELACIONAIS
      Os operadores relacionais são operadores binários que devolvem os valores lógicos
verdadeiro e falso.

     =          igual a

     <          menor que

     >          maior que

    <=          menor ou igual a

    >=          maior ou igual a

    <>          diferente de

Importante: Em alguns interpretadores, como VisuAlg, as comparações entre strings não
diferenciam as letras maiúsculas das minúsculas. Assim, "ABC" é igual a "abc". Valores lógicos
obedecem à seguinte ordem: FALSO < VERDADEIRO.


       Estes valores são somente usados quando se deseja efetuar comparações. Comparações só
podem ser feitas entre objetos de mesma natureza, isto é variáveis do mesmo tipo de dado. O
resultado de uma comparação é sempre um valor lógico.
       Por exemplo, digamos que a variável inteira escolha contenha o valor 7. A primeira das
expressões a seguir fornece um valor falso, e a segunda um valor verdadeiro:
      escolha <= 5
      escolha > 5
1.4. OPERADORES LÓGICOS
     Os operadores lógicos ou booleanos são usados para combinar expressões relacionais.
Também devolvem como resultado valores lógicos verdadeiro ou falso.

    nao        Operador unário de negação. nao VERDADEIRO = FALSO, e nao FALSO =
               VERDADEIRO. Tem a maior precedência entre os operadores lógicos. Equivale ao
               NOT do Pascal.

     ou        Operador que resulta VERDADEIRO quando um dos seus operandos lógicos for
               verdadeiro. Equivale ao OR do Pascal.

     e         Operador que resulta VERDADEIRO somente se seus dois operandos lógicos forem
               verdadeiros. Equivale ao AND do Pascal.

    xou        Operador que resulta VERDADEIRO se seus dois operandos lógicos forem
               diferentes, e FALSO se forem iguais. Equivale ao XOR do Pascal.

       Uma expressão relacional ou lógica retornará falso para o valor lógico falso e verdadeiro
para o valor lógico verdade.
       Fornecendo dois valores ou expressões lógicas, representadas por expressão1 e
expressão2, podemos descrever as quatro operações lógicas a seguir:
    expressão1 E expressão2 é verdadeiro somente se ambas, expressão1 e
     expressão2, forem verdadeiras. Se uma for falsa, ou se ambas forem falsas, a operação E
     também será falsa.
    expressão1 OU expressão2 é verdadeiro se tanto a expressão1 como a expressão2
     forem verdadeiras. As operações OU só resultam em valores falsos se ambas, expressão1 e
     expressão2, forem falsas.
    NÃO expressão1 avalia verdadeiro se expressão1 for falsa; de modo contrário, a
     expressão NÃO resultará em falso, se expressão1 for verdadeira.


1.5. OPERADORES LITERAIS
        Os operadores que atuam sobre caracteres variam muito de uma linguagem para outra. O
operador mais comum e mais usado é o operador que faz a concatenação de strings: toma-se duas
strings e acrescenta-se (concatena-se) a segunda ao final da primeira.
       O operador que faz esta operação é: +
      Por exemplo, a concatenação das strings “ALGO” e “RITMO” é representada por: “ALGO” +
”RITMO” e o resultado de sua avaliação é: “ALGORITMO”

Operador de concatenação de strings (isto é, cadeias de caracteres), quando usado com dois
valores (variáveis ou constantes) do tipo "caractere". Por exemplo: "Rio " + " de Janeiro" = "Rio de
Janeiro".

     +         concatenação de strings
2. EXPRESSÕES
        O conceito de expressão em termos computacionais está intimamente ligado ao conceito
de expressão ou fórmula matemática, onde um conjunto de variáveis e constantes numéricas
relacionam-se por meio de operadores aritméticos compondo uma fórmula que, uma vez avaliada,
resulta num valor.


2.1. EXPRESSÕES ARITMÉTICAS
        Expressões aritméticas são aquelas cujo resultado da avaliação é do tipo numérico, seja ele
inteiro ou real. Somente o uso de operadores aritméticos, variáveis numéricas e parênteses é
permitido em expressões deste tipo.


2.2. EXPRESSÕES LÓGICAS
         Expressões lógicas são aquelas cujo resultado da avaliação é um valor lógico verdadeiro ou
falso.
       Nestas expressões são usados os operadores relacionais e os operadores lógicos, podendo
ainda serem combinados com expressões aritméticas.
        Quando forem combinadas duas ou mais expressões que utilizem operadores relacionais e
lógicos, os mesmos devem utilizar os parênteses para indicar a ordem de precedência.


2.3. EXPRESSÕES LITERAIS
       Expressões literais são aquelas cujo resultado da avaliação é um valor literal (caractere).
Neste tipo de expressões só é usado o operador de literais (+).


2.4. AVALIAÇÃO DE EXPRESSÕES
        Expressões que apresentam apenas um único operador podem ser avaliadas diretamente.
No entanto, à medida que as mesmas vão tornando-se mais complexas com o aparecimento de
mais de um operando na mesma expressão, é necessária a avaliação da mesma passo a passo,
tomando um operador por vez. A seqüência destes passos é definida de acordo com o formato
geral da expressão, considerando-se a prioridade (precedência) de avaliação de seus operadores e
a existência ou não de parênteses na mesma.
         As seguintes regras são essenciais para a correta avaliação de expressões:
    1. Deve-se observar a prioridade dos operadores, conforme mostrado nas tabelas de
       operadores: operadores de maior prioridade devem ser avaliados primeiro. Se houver
       empate com relação à precedência, então a avaliação se faz da esquerda para a direita.
    2. Os parênteses usado em expressões tem o poder de “roubar” prioridade dos demais
       operadores, forçando a avaliação da subexpressão em seu interior.
    3. Entre os quatro grupos de operadores existentes, a saber, aritmético, lógico, literal e
       relacional, há uma certa prioridade de avaliação: os aritméticos e literais devem ser
       avaliados primeiro; a seguir, são avaliadas as subexpressões com operadores relacionais e,
       por último os operadores lógicos são avaliados.
EXERCÍCIOS PROPOSTOS


Questão 01:
Dados as variáveis e operações:
v1 <- 32
v2 <- 5 + v1
v1 <- v2 * 2
Como fazer para segurar e mostrar o valor inicial da variável v1 no final das operações?


Questão 02:
Como fazer para passar o valor de uma variável para outra e vice-versa?


Questão 03:
Se X possui o valor 15 e foram executadas as seguintes instruções:
X   <-   X   +   3
X   <-   X   -   6
X   <-   X   /   2
X   <-   3   *   X
Qual será o valor armazenado em X?


Questão 04:
Tendo as variáveis SALARIO, IR e SALLIQ, e considerando os valores abaixo. Informe se as
expressões são verdadeiras ou falsas.




Questão 05:
Sabendo que A=3, B=7 e C=4, informe se as expressões abaixo são verdadeiras ou falsas.
    a) (A+C) > B
    b) B >= (A + 2)
    c) C = (B –A)
    d) (B + A) <= C
    e) (C+A) > B
Questão 06:
Sabendo que A=5, B=4 e C=3 e D=6, informe se as expressões abaixo são verdadeiras ou falsas.
   a) (A > C) AND (C <= D)
   b) (A+B) > 10 OR (A+B) = (C+D)
   c) (A>=C) AND (D >= C)

Contenu connexe

Tendances

Tendances (17)

Trabalho de Equações Diferenciais Parciais
Trabalho de Equações Diferenciais ParciaisTrabalho de Equações Diferenciais Parciais
Trabalho de Equações Diferenciais Parciais
 
Cap3 icc final
Cap3 icc finalCap3 icc final
Cap3 icc final
 
Algorítmo estruturado
Algorítmo estruturadoAlgorítmo estruturado
Algorítmo estruturado
 
Prova algoritmos
Prova algoritmosProva algoritmos
Prova algoritmos
 
Apostila c++
Apostila c++Apostila c++
Apostila c++
 
Apostila da linguagem c
Apostila da linguagem cApostila da linguagem c
Apostila da linguagem c
 
Aula04
Aula04Aula04
Aula04
 
Tutorial formulas excell
Tutorial formulas excellTutorial formulas excell
Tutorial formulas excell
 
Algoritmos - capítulo 2
Algoritmos - capítulo 2Algoritmos - capítulo 2
Algoritmos - capítulo 2
 
1º introdução a lógica de programação
1º   introdução a lógica de programação1º   introdução a lógica de programação
1º introdução a lógica de programação
 
Etec ai -21- excel - menu fórmulas 3
Etec   ai -21- excel - menu fórmulas 3Etec   ai -21- excel - menu fórmulas 3
Etec ai -21- excel - menu fórmulas 3
 
Java 05
Java 05Java 05
Java 05
 
Apostila excel-avancado
Apostila excel-avancadoApostila excel-avancado
Apostila excel-avancado
 
03 expressoes
03 expressoes03 expressoes
03 expressoes
 
BD I - Aula 08 A - Algebra Relacional
BD I - Aula 08 A - Algebra RelacionalBD I - Aula 08 A - Algebra Relacional
BD I - Aula 08 A - Algebra Relacional
 
Formulas excel
Formulas excelFormulas excel
Formulas excel
 
Apostila Excel
Apostila ExcelApostila Excel
Apostila Excel
 

En vedette

Anh van tu chon 9 tron bo
Anh van tu chon 9 tron boAnh van tu chon 9 tron bo
Anh van tu chon 9 tron bogdtayninh
 
Adviento imagen texto
Adviento imagen textoAdviento imagen texto
Adviento imagen textomaurorafm
 
Happy Baby Bottoms
Happy Baby BottomsHappy Baby Bottoms
Happy Baby Bottomslalaw1917
 
Presidente do tribunal regional federal da 1ª região
Presidente do tribunal regional federal da 1ª regiãoPresidente do tribunal regional federal da 1ª região
Presidente do tribunal regional federal da 1ª regiãoInfoMidi
 
SPQC (13 sep,2012)
SPQC (13 sep,2012)SPQC (13 sep,2012)
SPQC (13 sep,2012)Aayur Kaul
 
Migração parte pronta
Migração parte prontaMigração parte pronta
Migração parte prontaAna C. Soares
 
007 conhecimento de deus - j.i.packer - espirito-vf
007   conhecimento de deus - j.i.packer - espirito-vf007   conhecimento de deus - j.i.packer - espirito-vf
007 conhecimento de deus - j.i.packer - espirito-vfairtonbatista
 
Ilustracionde las ondas
Ilustracionde las ondasIlustracionde las ondas
Ilustracionde las ondasElmer Diaz
 
D:\\Trabalhos 8º Ano\\O céu - Religiao - Guilherme Zanin - 8º Ano B.ppt
D:\\Trabalhos 8º Ano\\O céu - Religiao - Guilherme Zanin - 8º Ano B.pptD:\\Trabalhos 8º Ano\\O céu - Religiao - Guilherme Zanin - 8º Ano B.ppt
D:\\Trabalhos 8º Ano\\O céu - Religiao - Guilherme Zanin - 8º Ano B.pptMilton Panetto Junior
 
Portaria 262/2013 do Ministério das Cidades e o risco de atraso nos projetos ...
Portaria 262/2013 do Ministério das Cidades e o risco de atraso nos projetos ...Portaria 262/2013 do Ministério das Cidades e o risco de atraso nos projetos ...
Portaria 262/2013 do Ministério das Cidades e o risco de atraso nos projetos ...Mauricio Portugal Ribeiro
 
Clinical cases from infection diseases hospital part 4
Clinical cases from infection diseases hospital part 4Clinical cases from infection diseases hospital part 4
Clinical cases from infection diseases hospital part 4drandreyst-p
 
8 health information and consumers - qmed
8 health information and consumers - qmed8 health information and consumers - qmed
8 health information and consumers - qmedpatientsafetyalliance
 
CaB On Hotels &amp; Spas
CaB On Hotels &amp; SpasCaB On Hotels &amp; Spas
CaB On Hotels &amp; Spasmgwoood1
 
O Dia da Expiação_Resumo_642013
O Dia da Expiação_Resumo_642013O Dia da Expiação_Resumo_642013
O Dia da Expiação_Resumo_642013Gerson G. Ramos
 
Opção sexual
Opção sexualOpção sexual
Opção sexualPIB Penha
 

En vedette (20)

Didáctica oralidade
Didáctica oralidadeDidáctica oralidade
Didáctica oralidade
 
Sensor Novembro / 2014
Sensor Novembro / 2014Sensor Novembro / 2014
Sensor Novembro / 2014
 
Anh van tu chon 9 tron bo
Anh van tu chon 9 tron boAnh van tu chon 9 tron bo
Anh van tu chon 9 tron bo
 
Adviento imagen texto
Adviento imagen textoAdviento imagen texto
Adviento imagen texto
 
Happy Baby Bottoms
Happy Baby BottomsHappy Baby Bottoms
Happy Baby Bottoms
 
Presidente do tribunal regional federal da 1ª região
Presidente do tribunal regional federal da 1ª regiãoPresidente do tribunal regional federal da 1ª região
Presidente do tribunal regional federal da 1ª região
 
SPQC (13 sep,2012)
SPQC (13 sep,2012)SPQC (13 sep,2012)
SPQC (13 sep,2012)
 
Migração parte pronta
Migração parte prontaMigração parte pronta
Migração parte pronta
 
007 conhecimento de deus - j.i.packer - espirito-vf
007   conhecimento de deus - j.i.packer - espirito-vf007   conhecimento de deus - j.i.packer - espirito-vf
007 conhecimento de deus - j.i.packer - espirito-vf
 
Ilustracionde las ondas
Ilustracionde las ondasIlustracionde las ondas
Ilustracionde las ondas
 
D:\\Trabalhos 8º Ano\\O céu - Religiao - Guilherme Zanin - 8º Ano B.ppt
D:\\Trabalhos 8º Ano\\O céu - Religiao - Guilherme Zanin - 8º Ano B.pptD:\\Trabalhos 8º Ano\\O céu - Religiao - Guilherme Zanin - 8º Ano B.ppt
D:\\Trabalhos 8º Ano\\O céu - Religiao - Guilherme Zanin - 8º Ano B.ppt
 
Portaria 262/2013 do Ministério das Cidades e o risco de atraso nos projetos ...
Portaria 262/2013 do Ministério das Cidades e o risco de atraso nos projetos ...Portaria 262/2013 do Ministério das Cidades e o risco de atraso nos projetos ...
Portaria 262/2013 do Ministério das Cidades e o risco de atraso nos projetos ...
 
La comunicación no verbal
La comunicación no verbalLa comunicación no verbal
La comunicación no verbal
 
Destino e vida
Destino e vidaDestino e vida
Destino e vida
 
Clinical cases from infection diseases hospital part 4
Clinical cases from infection diseases hospital part 4Clinical cases from infection diseases hospital part 4
Clinical cases from infection diseases hospital part 4
 
8 health information and consumers - qmed
8 health information and consumers - qmed8 health information and consumers - qmed
8 health information and consumers - qmed
 
CaB On Hotels &amp; Spas
CaB On Hotels &amp; SpasCaB On Hotels &amp; Spas
CaB On Hotels &amp; Spas
 
O Dia da Expiação_Resumo_642013
O Dia da Expiação_Resumo_642013O Dia da Expiação_Resumo_642013
O Dia da Expiação_Resumo_642013
 
Opção sexual
Opção sexualOpção sexual
Opção sexual
 
Geo44
Geo44Geo44
Geo44
 

Similaire à Expressões e operadores em algoritmos

Curso Básico de Java - Aula 10
Curso Básico de Java - Aula 10Curso Básico de Java - Aula 10
Curso Básico de Java - Aula 10PeslPinguim
 
53297189 apostila-algoritmo-e-logica-i
53297189 apostila-algoritmo-e-logica-i53297189 apostila-algoritmo-e-logica-i
53297189 apostila-algoritmo-e-logica-iEdvan Mateó
 
Formulas excel
Formulas excelFormulas excel
Formulas excelfaby672
 
Funções reais de duas variáveis reais
Funções reais de duas variáveis reaisFunções reais de duas variáveis reais
Funções reais de duas variáveis reaisnumerosnamente
 
Linguagem de programação 2015 - aula 02
Linguagem de programação   2015 - aula 02Linguagem de programação   2015 - aula 02
Linguagem de programação 2015 - aula 02Estela Muenchen Mentges
 
Visão geral de fórmulas no excel
Visão geral de fórmulas no excelVisão geral de fórmulas no excel
Visão geral de fórmulas no excelManuel Pinto
 
Algoritmo e Complexidade - texto Aula1.docx
Algoritmo e Complexidade - texto Aula1.docxAlgoritmo e Complexidade - texto Aula1.docx
Algoritmo e Complexidade - texto Aula1.docxLdiaSilva39
 
Fórmulas (operadores e operandos
Fórmulas (operadores e operandosFórmulas (operadores e operandos
Fórmulas (operadores e operandosJudite DEfreitas
 
Técnicas de programação 1º módulo
Técnicas de programação 1º móduloTécnicas de programação 1º módulo
Técnicas de programação 1º móduloMatheus Gomes Lima
 
Apostila excel avançado
Apostila excel avançadoApostila excel avançado
Apostila excel avançadoEdusafig
 
Linguagem C/C++: Condições ou expressões lógicas
Linguagem C/C++:  Condições ou expressões lógicasLinguagem C/C++:  Condições ou expressões lógicas
Linguagem C/C++: Condições ou expressões lógicasnataferraz
 

Similaire à Expressões e operadores em algoritmos (20)

Expressões
ExpressõesExpressões
Expressões
 
Pequenas Aulas De Excel - 05
Pequenas Aulas De Excel - 05Pequenas Aulas De Excel - 05
Pequenas Aulas De Excel - 05
 
Apostila excel-avancado-senac
Apostila excel-avancado-senacApostila excel-avancado-senac
Apostila excel-avancado-senac
 
Curso Básico de Java - Aula 10
Curso Básico de Java - Aula 10Curso Básico de Java - Aula 10
Curso Básico de Java - Aula 10
 
53297189 apostila-algoritmo-e-logica-i
53297189 apostila-algoritmo-e-logica-i53297189 apostila-algoritmo-e-logica-i
53297189 apostila-algoritmo-e-logica-i
 
Formulas excel
Formulas excelFormulas excel
Formulas excel
 
Funções reais de duas variáveis reais
Funções reais de duas variáveis reaisFunções reais de duas variáveis reais
Funções reais de duas variáveis reais
 
Linguagem de programação 2015 - aula 02
Linguagem de programação   2015 - aula 02Linguagem de programação   2015 - aula 02
Linguagem de programação 2015 - aula 02
 
Visão geral de fórmulas no excel
Visão geral de fórmulas no excelVisão geral de fórmulas no excel
Visão geral de fórmulas no excel
 
02 controle de fluxo
02   controle de fluxo02   controle de fluxo
02 controle de fluxo
 
Algoritmo e Complexidade - texto Aula1.docx
Algoritmo e Complexidade - texto Aula1.docxAlgoritmo e Complexidade - texto Aula1.docx
Algoritmo e Complexidade - texto Aula1.docx
 
Fórmulas (operadores e operandos
Fórmulas (operadores e operandosFórmulas (operadores e operandos
Fórmulas (operadores e operandos
 
Aula03
Aula03Aula03
Aula03
 
Técnicas de programação 1º módulo
Técnicas de programação 1º móduloTécnicas de programação 1º módulo
Técnicas de programação 1º módulo
 
Apostila excel avançado
Apostila excel avançadoApostila excel avançado
Apostila excel avançado
 
Linguagem C/C++: Condições ou expressões lógicas
Linguagem C/C++:  Condições ou expressões lógicasLinguagem C/C++:  Condições ou expressões lógicas
Linguagem C/C++: Condições ou expressões lógicas
 
Aula 7 - Expressões Aritméticas e Lógicas
Aula 7 - Expressões Aritméticas e LógicasAula 7 - Expressões Aritméticas e Lógicas
Aula 7 - Expressões Aritméticas e Lógicas
 
PHP: operadores e variáveis (TGPSI)
PHP: operadores e variáveis (TGPSI)PHP: operadores e variáveis (TGPSI)
PHP: operadores e variáveis (TGPSI)
 
Pseudo
PseudoPseudo
Pseudo
 
Unidade06
Unidade06Unidade06
Unidade06
 

Plus de mvbahamut (20)

Cap04
Cap04Cap04
Cap04
 
Cap03
Cap03Cap03
Cap03
 
Cap02
Cap02Cap02
Cap02
 
Cap01
Cap01Cap01
Cap01
 
Cap09
Cap09Cap09
Cap09
 
Cap05
Cap05Cap05
Cap05
 
Cap09
Cap09Cap09
Cap09
 
Cap08
Cap08Cap08
Cap08
 
Cap07
Cap07Cap07
Cap07
 
Cap05
Cap05Cap05
Cap05
 
Cap04
Cap04Cap04
Cap04
 
Cap03
Cap03Cap03
Cap03
 
Cap02
Cap02Cap02
Cap02
 
Cap01
Cap01Cap01
Cap01
 
Cap06
Cap06Cap06
Cap06
 
Cap07
Cap07Cap07
Cap07
 
Cap05
Cap05Cap05
Cap05
 
Cap04
Cap04Cap04
Cap04
 
Cap03
Cap03Cap03
Cap03
 
Cap02
Cap02Cap02
Cap02
 

Expressões e operadores em algoritmos

  • 1. Capítulo 6 OPERADORES E EXPRESSÕES 1. OPERADORES Operadores são elementos fundamentais que atuam sobre operandos e produzem um determinado resultado. Por exemplo, a expressão 3 + 2 relaciona dois operandos (os números 3 e 2) por meio do operador (+) que representa a operação de adição. De acordo com o número de operandos sobre os quais os operadores atuam, os últimos podem ser classificados em:  binários, quando atuam sobre dois operandos. Esta operação é chamada diádica. Ex.: os operadores das operações aritméticas básicas (soma, subtração, multiplicação e divisão).  unários, quando atuam sobre um único operando. Esta operação é chamada monádica. Ex.: o sinal de (-) na frente de um número, cuja função é inverter seu sinal. Outra classificação dos operadores é feita considerando-se o tipo de dado de seus operandos e do valor resultante de sua avaliação. Segundo esta classificação, os operandos dividem-se em aritméticos, lógicos e literais. Esta divisão está diretamente relacionada com o tipo de expressão onde aparecem os operadores. Um caso especial é o dos operadores relacionais, que permitem comparar pares de operandos de tipos de dados iguais, resultando sempre num valor lógico. 1.1. OPERADORES DE ATRIBUIÇÃO Um operador de atribuição serve para atribuir um valor a uma variável. Em Algoritmo usamos o operador de atribuição: <- A sintaxe de um comando de atribuição é: nome_da_variável <- expressão A expressão localizada no lado direito do sinal é avaliada e armazenado o valor resultante na variável à esquerda. O nome da variável aparece sempre sozinho, no lado esquerdo do sinal de igual deste comando.
  • 2. 1.2. OPERADORES ARITMÉTICOS Os operadores aritméticos se relacionam às operações aritméticas básicas, conforme as tabelas abaixo: Operadores unários, isto é, são aplicados a um único operando. São os operadores aritméticos de maior precedência. Exemplos: -3, +x. Enquanto o operador unário - inverte o sinal do seu operando, o operador + não altera em nada o seu valor. + mais (positivo) – menos (negativo) Operador de divisão inteira. Por exemplo, 5 2 = 2. Tem a mesma precedência do operador de divisão tradicional. divisão inteira Operadores aritméticos tradicionais. Por convenção, * e / têm precedência sobre + e -. Para modificar a ordem de avaliação das operações, é necessário usar parênteses como em qualquer expressão aritmética. + adição – subtração * multiplicação / divisão Operador de módulo (isto é, resto da divisão inteira). Por exemplo, 8 MOD 3 = 2. Tem a mesma precedência do operador de divisão tradicional. MOD ou % módulo Operador de potenciação. Por exemplo, 5 ^ 2 = 25. Tem a maior precedência entre os operadores aritméticos binários (aqueles que têm dois operandos). ^ potenciação A prioridade entre operadores define a ordem em que os mesmos devem ser avaliados dentro de uma mesma expressão.
  • 3. Operador Tipo Operação Prioridade + Binário Adição 4 - Binário Subtração 4 * Binário Multiplicação 3 / Binário Divisão 3 MOD Binário Resto da Divisão 3 Binário Divisão Inteira 3 ^ Binário Potenciação 2 + Unário Manutenção do Sinal 1 - Unário Inversão do Sinal 1 1.3. OPERADORES RELACIONAIS Os operadores relacionais são operadores binários que devolvem os valores lógicos verdadeiro e falso. = igual a < menor que > maior que <= menor ou igual a >= maior ou igual a <> diferente de Importante: Em alguns interpretadores, como VisuAlg, as comparações entre strings não diferenciam as letras maiúsculas das minúsculas. Assim, "ABC" é igual a "abc". Valores lógicos obedecem à seguinte ordem: FALSO < VERDADEIRO. Estes valores são somente usados quando se deseja efetuar comparações. Comparações só podem ser feitas entre objetos de mesma natureza, isto é variáveis do mesmo tipo de dado. O resultado de uma comparação é sempre um valor lógico. Por exemplo, digamos que a variável inteira escolha contenha o valor 7. A primeira das expressões a seguir fornece um valor falso, e a segunda um valor verdadeiro: escolha <= 5 escolha > 5
  • 4. 1.4. OPERADORES LÓGICOS Os operadores lógicos ou booleanos são usados para combinar expressões relacionais. Também devolvem como resultado valores lógicos verdadeiro ou falso. nao Operador unário de negação. nao VERDADEIRO = FALSO, e nao FALSO = VERDADEIRO. Tem a maior precedência entre os operadores lógicos. Equivale ao NOT do Pascal. ou Operador que resulta VERDADEIRO quando um dos seus operandos lógicos for verdadeiro. Equivale ao OR do Pascal. e Operador que resulta VERDADEIRO somente se seus dois operandos lógicos forem verdadeiros. Equivale ao AND do Pascal. xou Operador que resulta VERDADEIRO se seus dois operandos lógicos forem diferentes, e FALSO se forem iguais. Equivale ao XOR do Pascal. Uma expressão relacional ou lógica retornará falso para o valor lógico falso e verdadeiro para o valor lógico verdade. Fornecendo dois valores ou expressões lógicas, representadas por expressão1 e expressão2, podemos descrever as quatro operações lógicas a seguir:  expressão1 E expressão2 é verdadeiro somente se ambas, expressão1 e expressão2, forem verdadeiras. Se uma for falsa, ou se ambas forem falsas, a operação E também será falsa.  expressão1 OU expressão2 é verdadeiro se tanto a expressão1 como a expressão2 forem verdadeiras. As operações OU só resultam em valores falsos se ambas, expressão1 e expressão2, forem falsas.  NÃO expressão1 avalia verdadeiro se expressão1 for falsa; de modo contrário, a expressão NÃO resultará em falso, se expressão1 for verdadeira. 1.5. OPERADORES LITERAIS Os operadores que atuam sobre caracteres variam muito de uma linguagem para outra. O operador mais comum e mais usado é o operador que faz a concatenação de strings: toma-se duas strings e acrescenta-se (concatena-se) a segunda ao final da primeira. O operador que faz esta operação é: + Por exemplo, a concatenação das strings “ALGO” e “RITMO” é representada por: “ALGO” + ”RITMO” e o resultado de sua avaliação é: “ALGORITMO” Operador de concatenação de strings (isto é, cadeias de caracteres), quando usado com dois valores (variáveis ou constantes) do tipo "caractere". Por exemplo: "Rio " + " de Janeiro" = "Rio de Janeiro". + concatenação de strings
  • 5. 2. EXPRESSÕES O conceito de expressão em termos computacionais está intimamente ligado ao conceito de expressão ou fórmula matemática, onde um conjunto de variáveis e constantes numéricas relacionam-se por meio de operadores aritméticos compondo uma fórmula que, uma vez avaliada, resulta num valor. 2.1. EXPRESSÕES ARITMÉTICAS Expressões aritméticas são aquelas cujo resultado da avaliação é do tipo numérico, seja ele inteiro ou real. Somente o uso de operadores aritméticos, variáveis numéricas e parênteses é permitido em expressões deste tipo. 2.2. EXPRESSÕES LÓGICAS Expressões lógicas são aquelas cujo resultado da avaliação é um valor lógico verdadeiro ou falso. Nestas expressões são usados os operadores relacionais e os operadores lógicos, podendo ainda serem combinados com expressões aritméticas. Quando forem combinadas duas ou mais expressões que utilizem operadores relacionais e lógicos, os mesmos devem utilizar os parênteses para indicar a ordem de precedência. 2.3. EXPRESSÕES LITERAIS Expressões literais são aquelas cujo resultado da avaliação é um valor literal (caractere). Neste tipo de expressões só é usado o operador de literais (+). 2.4. AVALIAÇÃO DE EXPRESSÕES Expressões que apresentam apenas um único operador podem ser avaliadas diretamente. No entanto, à medida que as mesmas vão tornando-se mais complexas com o aparecimento de mais de um operando na mesma expressão, é necessária a avaliação da mesma passo a passo, tomando um operador por vez. A seqüência destes passos é definida de acordo com o formato geral da expressão, considerando-se a prioridade (precedência) de avaliação de seus operadores e a existência ou não de parênteses na mesma. As seguintes regras são essenciais para a correta avaliação de expressões: 1. Deve-se observar a prioridade dos operadores, conforme mostrado nas tabelas de operadores: operadores de maior prioridade devem ser avaliados primeiro. Se houver empate com relação à precedência, então a avaliação se faz da esquerda para a direita. 2. Os parênteses usado em expressões tem o poder de “roubar” prioridade dos demais operadores, forçando a avaliação da subexpressão em seu interior. 3. Entre os quatro grupos de operadores existentes, a saber, aritmético, lógico, literal e relacional, há uma certa prioridade de avaliação: os aritméticos e literais devem ser avaliados primeiro; a seguir, são avaliadas as subexpressões com operadores relacionais e, por último os operadores lógicos são avaliados.
  • 6. EXERCÍCIOS PROPOSTOS Questão 01: Dados as variáveis e operações: v1 <- 32 v2 <- 5 + v1 v1 <- v2 * 2 Como fazer para segurar e mostrar o valor inicial da variável v1 no final das operações? Questão 02: Como fazer para passar o valor de uma variável para outra e vice-versa? Questão 03: Se X possui o valor 15 e foram executadas as seguintes instruções: X <- X + 3 X <- X - 6 X <- X / 2 X <- 3 * X Qual será o valor armazenado em X? Questão 04: Tendo as variáveis SALARIO, IR e SALLIQ, e considerando os valores abaixo. Informe se as expressões são verdadeiras ou falsas. Questão 05: Sabendo que A=3, B=7 e C=4, informe se as expressões abaixo são verdadeiras ou falsas. a) (A+C) > B b) B >= (A + 2) c) C = (B –A) d) (B + A) <= C e) (C+A) > B
  • 7. Questão 06: Sabendo que A=5, B=4 e C=3 e D=6, informe se as expressões abaixo são verdadeiras ou falsas. a) (A > C) AND (C <= D) b) (A+B) > 10 OR (A+B) = (C+D) c) (A>=C) AND (D >= C)