CAPÍTULO 4 - OPERADORES E EXPRESSÕES

Documentos relacionados
Aula 4 Expressões e Operadores Cleverton Hentz

Métodos para a construção de algoritmo

Linguagem Computacional

Ciência da Computação A&P

EXPRESSÕES ARITMÉTICAS PARTE 1

Programação de Computadores I Dados, Operadores e Expressões PROFESSORA CINTIA CAETANO

5. Expressões aritméticas

LÓGICA DIGITAL - CONCEITOS. * Constantes. * Expressões: Aritméticas; Lógicas; Tabela Verdade; Relacionais; Booleanas. * Portas Lógicas.

7 Operadores e Expressões

Operadores. Gustavo Queiroz Fernandes

Programação de Computadores III

Operadores. Programação aplicada à Engenharia de Alimentos. Prof. Kleber Rezende

Programação de Computadores:

Variável. Expressões. Atribuição. Tipos básicos Declaração. Aritméticas Lógicas. Professor Leandro Augusto Frata Fernandes

Introdução à Ciência da Computação

Estrutura de Condição, Escolha e Repetição

Universidade Federal de Uberlândia Faculdade de Computação. Expressões aritméticas, relacionais e lógicas Estruturas condicionais

LÓGICA DE PROGRAMAÇÃO. PROFª. M.Sc. JULIANA H Q BENACCHIO

Faculdade de Estudos Avançados do Pará Disciplina: Algoritmos Professor: Armando Hage. Introdução à Programação

Introdução à Computação

Introdução à Computação

Bacharelado em Ciência e Tecnologia Processamento da Informação. Equivalência Portugol Java. Linguagem Java

Operadores. Tipo de operadores. Aritméticos. Relacionais. Lógicos. Bit a bit. Cálculos aritméticos: soma, subtracção, multiplicação, divisão, etc.

Algoritmos e Programação I

Introdução à Programação Aula 06. Prof. Max Santana Rolemberg Farias Colegiado de Engenharia de Computação

Algoritmia e Programação APROG. Algoritmia 1. Lógica Proposicional (Noções Básicas) Nelson Freire (ISEP DEI-APROG 2013/14) 1/12

Métodos Computacionais. Operadores, Expressões Aritméticas e Entrada/Saída de Dados

ALGORITMOS 3ª Aula. 3. Introdução Tipos de dados, variáveis e operadores Tipos de dados

Curso Profissional de Gestão e Programação de Sistemas Informáticos. Programação e Sistemas de Informação. Módulo 1. 3ª Parte Prof. Sandra Pais Soares

Oficina de Python Prof. Me. José Carlos Perini

Programação Introdução

Introdução à Computação (IC) Algoritmos: Expressões lógicas

Linguagem C Operadores

Bacharelado em Ciência e Tecnologia Processamento da Informação. Equivalência Portugol Java. Linguagem Java

Oficina de Introdução de Programação usando Linguagem Python Prof. Ms. Perini

Tipos de dados, constantes e variáveis. Prof.: Jesus

Prof. José Remo / Prof. Ildeberto Rodello 1

Programação de Computadores I. Professor Ilaim Costa Junior

Informática Fundamentos em C++ Revisão 1

Oficina de Python Prof. Me. José Carlos Perini

EXPRESSÕES ARITMÉTICAS PARTE 2

Algoritmo e Programação. Capítulo 2 Tópicos Preliminares

PDF created with pdffactory trial version Elementos Básicos de Algoritmos. Elementos Básicos de Algoritmos Palavras Reservadas

Linguagem C Operadora

LO GICA E TE CNICA DE PROGRAMAC ÃO. TÁSSIO JOSÉ GONÇALVES GOMES

Programação de Computadores III

PORTUGUÊS ESTRUTURADO: INTRODUÇÃO INTRODUÇÃO À PROGRAMAÇÃO PROF. ALEXANDRO DOS SANTOS SILVA

01/08/2011. Tipos de dados Numéricos Alfanuméricos Lógicos. Numéricos. Tipos de dados. Dados Numéricos Inteiros. Dados Numéricos Reais.

SSC304 Introdução à Programação Para Engenharias

AEDI Fundamentos Revisão 1

C Operadores e Expressões

Noções de algoritmos - Aula 1

Algoritmos. Algoritmos e Linguagem de Programação - Prof Carlos Vetorazzi

Algoritmos: tipos de dados, variáveis e expressões

Algoritmos: Conceitos Fundamentais. Slides de autoria de Rosely Sanches e Simone Senger de Souza

CONDICIONAL / de SELEÇÃO / de DECISÃO

Algoritmos: Conceitos Fundamentais. Baseado nos slides de autoria de Rosely Sanches e Simone Senger de Souza

Desenvolvimento de Aplicações Desktop

Algoritmos e Estruturas de Dados I

A linguagem algorítmica utiliza o português para a definição dos comandos e tem as seguintes característica:

JavaScript (Elementos de Programação e Programação Básica)

CONCEITOS DE ALGORITMOS

A única diferença entre o difícil e o impossível é que o último demora um pouco mais de tempo para ser alcançado..

EXPRESSÕES RELACIONAIS

Matemática Discreta. Fundamentos e Conceitos da Teoria dos Números. Universidade do Estado de Mato Grosso. 4 de setembro de 2017

Prof. Leandro Tonietto Introdução a computação e suas aplicações Curso de Segurança da Informação UNISINOS jun-09

Introdução ao Fortran 90-1

Aula 9: Estouro e Representação em Ponto Flutuante

ALGORITMOS E LÓGICA DE PROGRAMAÇÃO PRÉ AULA PRÉ AULA 31/08/2015

Expressões, Atribuições, Entrada e Saída. Givanaldo Rocha

Introdução à Computação

Português Estruturado (VISUALG)

Introdução à Computação

AULA TEÓRICA 3. Tema 2. Introdução a programação em Java (Continuação)

Aula 9: Estouro e Representação em Ponto Flutuante

Roteiro para Aula 1 de laboratório. 1) Mostrar estrutura básica de um código em Fortran. algoritmo. program nome_da_codificacao.

INTRODUÇÃO À COMPUTAÇÃO - EPET006 -

Aula Teórica 8. Preparado por eng.tatiana Kovalenko

Operadores de comparação

Algoritmos Computacionais

Técnicas de Programação

Definições de Algoritmos. Algoritmos e Programação I. Conceitos Básicos de Algoritmos. Relação entre Algoritmos e Programação

Estruturas Condicionais. Tiago Alves de Oliveira

Algoritmos e Estruturas de Dados I (DCC/003) Estruturas Básicas. Aula Tópico 2

Programação de Computadores

ALGORITMOS E LÓGICA DE PROGRAMAÇÃO

Algoritmos. Prof. Jonatas Bastos Site:

ALGORITMOS E APLICAÇÕES. FATEC IPIRANGA ADS Noturno 1º semestre de 2012 Prof. Luiz Carlos de Jesus Junior

Pseudocódigo. Regras para nomear um algoritmos: Variáveis. Exemplo: Exemplo: Exemplo: O valor do dolar; O peso de uma pessoa;

Introdução a Programação. Curso: Sistemas de Informação Programação I José R. Merlin

Prof. A. G. Silva. 14 de março de Prof. A. G. Silva INE5231 Computação Científica I 14 de março de / 26

08/05/2012. Tipos de dados. Tipos de dados. Elementos Básicos. Tipos de dados. Elementos Básicos Tipos de dados. Dados e seus tipos:

Algoritmos e Programação - Engenharia da Computação -

Professora Martha Spalenza Professora de Informática da Faetec

Conceitos Básicos Linguagem C

8. Expressões lógicas

Apêndice A. Pseudo-Linguagem

Computação Eletrônica

Transcrição:

CAPÍTULO 4 - OPERADORES E EXPRESSÕES 4.1 - OPERADORES ARITMÉTICOS Os operadores aritméticos nos permitem fazer as operações matemáticas básicas, usadas no cálculo de expressões aritméticas. A notação usada para definir os operadores será um pouco diferente da notação utilizada na matemática para evitar problemas futuros de ambigüidades. Para exemplificar este tipo de problema, analise a seguinte expressão: lxb Matematicamente, poderíamos supor que está se querendo calcular o produto do conteúdo da variável l com o conteúdo da variável b. Mas computacionalmente, poderíamos interpretar como sendo uma referência ao identificador lxb. Para evitar esta ambigüidade, utilizaremos uma simbologia um pouco diferente para representar os operadores aritméticos. Operador Significado + adição - subtração / divisão real * multiplicação ** exponenciação A seguir exemplificamos a representação de algumas expressões matemáticas. Expressão matemática Expressão computacional 2. a + b 2 * a + b a. x 2 a * x **2 a + b 2 a / 2 + b Agora, se quisermos representar a expressão parênteses, ficando da seguinte forma: a / (2 + b). a, teremos que fazer uso de 2 + b Isto é devido ao fato dos operadores aritméticos terem prioridades diferentes nos cálculos de expressões. Note 2 + 3 x 4, pode fornecer dois resultados 2 + 12 = 14 (se considerarmos a prioridade da adição sobre a multiplicação, logo o segundo resultado está errado). Assim, se tivermos uma expressão com vários operadores aritméticos, a primeira parcela a ser resolvida deve ser a do operador de maior prioridade, como mostra a tabela a seguir: OPERADORES ORDEM DE PRIORIDADE ** primeira parcela a ser resolvida * e / segunda parcela a ser resolvida + e - terceira parcela a ser resolvida

CAPÍTULO 4 - OPERADORES E EXPRESSÕES 46 Isto quer dizer que, numa expressão em que haja exponenciação, divisão e adição, devemos calcular primeiro a parcela da exponenciação, depois a da divisão e finalmente a adição. b / 2 + p ** 4 R2 Rl R = resultado da parcela l, 2, 3 = seqüência de cálculo R representa o resultado produzido por cada operador, os valores de índices (1, 2, 3,...) indicam as prioridades das operações. Quando houver um empate de prioridade entre duas ou mais parcelas, a prioridade passa a ser a da parcela mais á esquerda da expressão, cujo operador está em empate de prioridade. a + b - c R1 R2 Somente o uso de parênteses pode quebrar esta ordem de prioridade. Se numa mesma expressão existir parênteses aninhados (um dentro do outro), a prioridade será do parênteses mais interno. a / (a + b) - (2 * (b + c)) R2 R1 R4 R5 4.2 - OPERADORES RELACIONAIS Os operadores relacionais são utilizados para a comparação entre dois objetos do mesmo tipo. O resultado de uma operação relacional será sempre um valor do tipo lógico (falso ou verdadeiro). Os operadores relacionais são os seguintes:

CAPÍTULO 4 - OPERADORES E EXPRESSÕES 47 Operador Significado Exemplo de uso > maior que A > B, 4 > 3 < menor que 2 * A < B ** 2 <> diferente de A + B <> C = igual a A = 0 <= menor ou igual a B * A <= 0 >= maior ou igual a 'a' >= 'h' Os operadores relacionais são binários, isto é, eles precisam, sempre ter um operando a sua esquerda e outra a sua direita. O valor da expressão relacional depende da avaliação dos valores dos operandos e da aplicação do operador. Os únicos resultados possíveis são os pertencentes ao conjunto lógico ([falso, verdadeiro], [não, sim]). Para a correta avaliação da expressão relacional devemos, primeiro avaliar o lado esquerdo da expressão, após o que avaliaremos o lado direito e em seguida aplicamos o operador sobre o resultado obtido. Assim, se tivermos a seguinte expressão: a prioridade da expressão será: A + B > D - B A + B > D - B Rl R2 O resultado representa o valor da terceira parcela da expressão, o qual deverá ser do tipo lógico, enquanto Rl e R2, deverão ser do tipo numérico (devido a aplicação de operadores aritméticos). Quanto à prioridade dos operadores relacionais, padronizamos que os operadores aritméticos têm maior prioridade, e que não existe prioridade entre os operadores relacionais. Anteriormente definimos que os operadores relacionais são utilizados para relacionar, sempre, dois objetos do mesmo tipo, assim, não é possível construirmos relações do tipo: -3 > X <= 2 Pois nela pretendemos relacionar o objeto com os valores -3 e 2, ou seja, estamos tentando relacionar três valores em uma única expressão relacional. Matematicamente isto é possível, pois existe uma semântica definida para esta expressão (queremos um valor de X que seja maior que -3 e que seja menor ou igual a 2). Note que, existe uma operação (implícita) de conjunto entre as duas relações, realizada pelo operador lógico E. Estas expressões que envolvem mais de uma relação são chamadas de expressões lógicas e serão definidas na seção 4.3.

CAPÍTULO 4 - OPERADORES E EXPRESSÕES 48 Quando avaliamos a expressão relacional: A > B Estamos perguntando: o valor de A é maior que o valor de B? Assim, se o valor de A for maior que a de B, então o resultado produzido pela expressão é verdadeiro, caso contrário (se o valor de B for maior ou igual ao valor de A) o resultado produzido será falso. Quando a relação for entre objetos numéricos, o resultado da comparação será feito considerando-se a ordem de grandeza que rege estes objetos: -1 > -2, 3.0001 > 3, 4 >= 4. Quando a relação for aplicada sobre objetos do conjunto dos caracteres, a ordem de grandeza será dada pela ordem lexicográfica (ordem alfabética) dos caracteres. Assim, 4.3 - OPERADORES LÓGICOS A < B, C < D, E < F,... Os operadores lógicos são utilizados para fazer a conjunção, ou a disjunção, ou a negação de valores lógicos. Como o próprio nome diz, os operadores lógicos devem utilizar como operandos expressões ou variáveis que produzam resultados lógicos, as expressões que se utilizam destes operadores são chamadas de expressões lógicas. Dentro de um algoritmo os operadores lógicos são largamente empregados nas tomadas de decisão e nos processos de repetições, que envolvam mais de um critério de seleção ou de repetição para ser satisfeito o aspecto lógico da solução do problema. O resultado produzido por uma expressão lógica será sempre do tipo lógico. Os operadores lógicos são os seguintes: E - usado na conjunção de proposições OU - usado na disjunção de proposições NÃO - usado na negação de proposições Uma proposição é qualquer tipo de elemento que possa produzir um resultado lógico, mas no nosso caso, ela poderá ser uma variável lógica, e/ou uma expressão relacional e/ou uma outra expressão lógica. Os operadores E e OU são operadores binários, isto é, eles necessitam ter operandos a sua esquerda e a sua direita: A E B A OU B

CAPÍTULO 4 - OPERADORES E EXPRESSÕES 49 O operador E faz a conjunção entre as proposições A e B, isto é, A e B devem produzir resultados verdadeiros, simultaneamente, para que a expressão A e B seja verdadeira, qualquer combinação entre A e B, fará com que a expressão produza o valor falso. Assim, poderíamos ter as seguintes combinações de valores entre A e B utilizando o operador E: possíveis valores de A possíveis valores de B Valores prod. A E B falso falso falso falso verdadeiro falso verdadeiro falso falso verdadeiro verdadeiro verdadeiro Já o operador OU faz a disjunção entre as proposições, isto é, ele faz uma escolha alternativa entre as proposições A e B, e esta escolha, será sempre que possível pelo valor verdadeiro. Para que o resultado de uma operação lógica que utilize este operador seja verdadeiro, basta que apenas uma das duas proposições (A ou B) produza o valor verdadeiro. Para o operador OU teríamos a seguinte tabela: possíveis valores de A possíveis valores de B Valores prod. A OU B falso falso falso falso verdadeiro verdadeiro verdadeiro falso verdadeiro verdadeiro verdadeiro verdadeiro O operador lógico NÃO é um operador unário, isto é, ele necessita de um operando à sua direita: NÃO A NÃO B E o mesmo é utilizado na negação da proposição. Se a preposição é verdadeira, o operador produz o resultado falso, e se a preposição é falsa, ele produz resultado verdadeiro. possíveis valores de A falso verdadeiro valores produzidos por NÃO A verdadeiro falso Agora, nós temos como representar expressões do tipo: y <= x < z Na seguinte forma: (x >= y) E (x < z)

CAPÍTULO 4 - OPERADORES E EXPRESSÕES 50 Ou seja, para esta expressão produzir o valor verdadeiro, o valor de x deve ser maior ou igual ao valor de y e ao mesmo tempo ter valor menor que o valor de z. Entre os operadores lógicos existe uma ordem de prioridade de cálculo em uma expressão: Operadores Ordem de prioridade NÃO lª. E 2ª. OU 3ª. Esta ordem de prioridade só pode ser quebrada com o uso de parênteses. Com relação aos outros tipos de operadores, a ordem de prioridade ficará da seguinte forma: Operadores Ordem de prioridade NÃO 1ª. ** 2ª. *, /, E 3ª. +, -, OU 4ª. <, >, =,... 5ª. Assim, a prioridade de cálculo da expressão: NÃO ((A > B) OU (A + B < C) E (C < D)) seria: NÃO ( ( A > B ) OU ( A + B < C ) E ( C < D ) ) R1 R2 R4 R5 R6 R7 Note que, apesar do operador NÃO ter a maior prioridade de cálculo, o mesmo foi aplicado por último devido ao uso de parênteses. Os operadores relacionais e lógicos serão largamente empregados nos capítulos 6 e posteriores.