Cap06

398
-1

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
398
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Cap06

  1. 1. Capítulo 6OPERADORES E EXPRESSÕES1. OPERADORES Operadores são elementos fundamentais que atuam sobre operandos e produzem umdeterminado resultado. Por exemplo, a expressão 3 + 2 relaciona dois operandos (os números 3 e2) 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 últimospodem 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 seusoperandos e do valor resultante de sua avaliação. Segundo esta classificação, os operandosdividem-se em aritméticos, lógicos e literais. Esta divisão está diretamente relacionada com o tipode expressão onde aparecem os operadores. Um caso especial é o dos operadores relacionais, que permitem comparar pares deoperandos 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 resultantena variável à esquerda. O nome da variável aparece sempre sozinho, no lado esquerdo do sinal deigual deste comando.
  2. 2. 1.2. OPERADORES ARITMÉTICOS Os operadores aritméticos se relacionam às operações aritméticas básicas, conforme astabelas abaixo:Operadores unários, isto é, são aplicados a um único operando. São os operadores aritméticos demaior precedência. Exemplos: -3, +x. Enquanto o operador unário - inverte o sinal do seuoperando, 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 dedivisão tradicional. divisão inteiraOperadores aritméticos tradicionais. Por convenção, * e / têm precedência sobre + e -. Paramodificar a ordem de avaliação das operações, é necessário usar parênteses como em qualquerexpressão aritmética. + adição – subtração * multiplicação / divisãoOperador de módulo (isto é, resto da divisão inteira). Por exemplo, 8 MOD 3 = 2. Tem a mesmaprecedência do operador de divisão tradicional.MOD ou % móduloOperador de potenciação. Por exemplo, 5 ^ 2 = 25. Tem a maior precedência entre os operadoresaritméticos binários (aqueles que têm dois operandos). ^ potenciação A prioridade entre operadores define a ordem em que os mesmos devem ser avaliadosdentro de uma mesma expressão.
  3. 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 11.3. OPERADORES RELACIONAIS Os operadores relacionais são operadores binários que devolvem os valores lógicosverdadeiro e falso. = igual a < menor que > maior que <= menor ou igual a >= maior ou igual a <> diferente deImportante: Em alguns interpretadores, como VisuAlg, as comparações entre strings nãodiferenciam as letras maiúsculas das minúsculas. Assim, "ABC" é igual a "abc". Valores lógicosobedecem à 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. Oresultado de uma comparação é sempre um valor lógico. Por exemplo, digamos que a variável inteira escolha contenha o valor 7. A primeira dasexpressões a seguir fornece um valor falso, e a segunda um valor verdadeiro: escolha <= 5 escolha > 5
  4. 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 verdadeiropara o valor lógico verdade. Fornecendo dois valores ou expressões lógicas, representadas por expressão1 eexpressã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. Ooperador mais comum e mais usado é o operador que faz a concatenação de strings: toma-se duasstrings 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 doisvalores (variáveis ou constantes) do tipo "caractere". Por exemplo: "Rio " + " de Janeiro" = "Rio deJaneiro". + concatenação de strings
  5. 5. 2. EXPRESSÕES O conceito de expressão em termos computacionais está intimamente ligado ao conceitode expressão ou fórmula matemática, onde um conjunto de variáveis e constantes numéricasrelacionam-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 eleinteiro 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 oufalso. Nestas expressões são usados os operadores relacionais e os operadores lógicos, podendoainda serem combinados com expressões aritméticas. Quando forem combinadas duas ou mais expressões que utilizem operadores relacionais eló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 demais 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 formatogeral da expressão, considerando-se a prioridade (precedência) de avaliação de seus operadores ea 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. 6. EXERCÍCIOS PROPOSTOSQuestão 01:Dados as variáveis e operações:v1 <- 32v2 <- 5 + v1v1 <- v2 * 2Como 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 + 3X <- X - 6X <- X / 2X <- 3 * XQual será o valor armazenado em X?Questão 04:Tendo as variáveis SALARIO, IR e SALLIQ, e considerando os valores abaixo. Informe se asexpressõ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. 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)

×