Introdução à Lógica Regis Pires Magalhães [email_address] Última atualização em 24/05/2007
Tipos de Dados Todo o trabalho realizado por um computador é baseado na manipulação das informações contidas em sua memória. Estas informações podem ser classificadas em dois tipos: As instruções, que comandam o funcionamento da máquina e determinam a maneira como devem ser tratados os dados. Os dados propriamente ditos, que correspondem à porção das informações a serem processadas pelo computador. A classificação a seguir sintetiza os padrões utilizados na maioria das linguagens. Tipos Inteiros Tipos Reais Tipos Caracteres Tipos Lógicos
Literais Alguns autores citam o tipo caracter como sinônimo de tipo literal. No entanto, discordamos dessa definição. Achamos mais apropriado dizer que literais  são as representações de quaisquer tipos de dados dentro do código fonte. Literal é, assim, uma notação para representar um valor no código fonte de uma linguagem de programação. Assim, podemos subdividir os literais em:  Literais Booleanos ou Lógicos : correspondem ao valores verdadeiro e falso.  Literais inteiros Literais reais ou fracionários (de Ponto Flutuante) : correspondem aos números racionais (fracionários).  Literais caracteres ou strings : correspondem às cadeias de caracteres. Para representá-los, escreva-os entre aspas.
Tipos de Dados Uma determinada informação armazenada na memória precisa fazer sentido. Mas o que realmente significa um conjunto específico de bits? Depende: 1000001 – pode ser a letra ‘A’ 1000001 – também pode ser o número 65. O significado vai depender do tipo. Caso 1000001 seja do tipo caractere, o seu significado é a letra ‘A’. No entando se 1000001 for do tipo for inteiro, seu valor representa 65. Assim um mesmo valor pode assumir representações diferentes dependendo do tipo escolhido. Computadores trabalham internamente com dígitos binários.
Tipos de Dados Tipos Inteiros Números inteiros positivos ou negativos. Um bit pode representar dois números inteiros  0  e  1 . Dois bits podem representar quatro números inteiros diferentes:  00 ,  01 ,  10  e  11 . Com n bits podemos representar 2 n  números inteiros. 1 bit é reservado para guardar o sinal. Ex.: 35, 0, -56, 1024. Bits Dados Sinal Bit menos significativo Bit mais significativo S 31 0
Tipos de Dados Tipos Reais Números fracionários positivos e negativos. Ex.: 35, 0, -56, 1.2, -45.987. Palavra de 32 bits: 1 bit para sinal 8 bits para expoente 23 bits para o número real (mantissa)‏ Bits Sinal Mantissa S 31 0 22 23 30 Expoente
Tipos de Dados Tipos Caracteres Seqüências contendo letras, números e símbolos especiais. Caracteres são representados por códigos binários. O código mais disseminado de todos é o ASCII (American Standard Code for Information Interchange). ASCII usa 8 bits para representar os caracteres. ASCII pode representar portanto até 2 8 =256 caracteres. Uma seqüência de caracteres deve ser indicada entre aspas (''). Este tipo de dado também é conhecido como alfanumérico, string  ou cadeia. Ex.: 'Programação', 'Rua Alfa, 52 Apto 1', 'Fone 574-9988', '04387- 030', ' ', '7'.
TABELA ASCII(American Standard Code for Information Interchange)‏
Tipos de Dados Tipos Lógicos Os dados deste tipo somente podem assumir dois valores:  verdadeiro  e  falso . Dado booleano, devido a George Boole, matemático inglês, que deu ao nome à álgebra (álgebra booleana) que manipula este tipo de dados. Computadores tomam decisões, durante o processamento de um algoritmo, baseados nestes dois valores. Normalmente se usa um byte inteiro para armazenar valores lógicos devido a dificuldade de endereçar bits.
Tipos de Dados
Expressões Expressões combinam variáveis, operadores e constantes para produzir um resultado. Variáveis  representam posições na memória onde estão dados que serão processados. Constantes  são símbolos usados para representar dados. Operadores  são usados para combinar as variáveis e constantes fornecendo um valor como resposta.
Exemplos de Expressões 0.5 * base * altura (nota1 + nota2) / 2.0 (temperatura > 0) e (quantidade < limite)‏ 4 % 3 + 5 A > B
Expressões Observar os símbolos usados para multiplicação (*) e divisão (/). Avaliar primeiro as operações de maior prioridade, por exemplo (multiplicação e divisão). Se temos de escolher entre operadores de mesma prioridade então escolher o que está mais à esquerda. Ex. 4/2*3 -- primeiro divide-se 4 por 2 e em seguida multiplica-se o resultado por 3, dando como resultado 6 Caso queira trocar a prioridade use parênteses.  Não são permitidos outros símbolos para esta função tais como { } e [ ].
Variáveis O computador possui uma área de armazenamento conhecida como memória. A memória do computador pode ser entendida como uma seqüência finita de caixas, que num dado momento, guardam algum tipo de informação, como número, uma letra, uma palavra, uma frase, etc.
Variáveis Cada posição de memória possui um endereço, ou seja, um número, que indica onde cada informação está localizada. As linguagens de computador facilitaram o manuseio das posições de memória, permitindo que, ao invés de trabalhar diretamente com os endereços de memória, fosse possível dar nomes diferentes a cada um deles. Tais nomes seriam de livre escolha do usuário. Com este recurso, os usuários ficaram livres dos endereços físicos e passaram a trabalhar com endereços lógicos. Endereço Físico Informação 3000: B712 ‘ João’ 2000: 12EC 12345 3000: 0004 ‘ H’
Variáveis Para acessar informações seria necessário saber o tipo de dado desta informação (ou seja, o número de bytes de memória por ela ocupados) e a posição inicial deste conjunto de bytes na memória. Basicamente, uma variável possui três atributos: nome tipo de dado associado à mesma informação por ela guardada. Toda variável possui um nome que tem a função de diferenciá-la das demais.
Variáveis Nos algoritmos, todas as variáveis utilizadas serão definidas no início do mesmo, por meio de um comando de uma das seguintes formas: VAR <nome_da_variavel> : <tipo_da_variavel> ou VAR <lista_de_variaveis> : <tipo_das_variaveis>
Variáveis Escolher nomes significativos para as variáveis Ex: salario, total, nota, pagamento Nomes significativos ajudam a tornar os algoritmos e os programas auto-explicativos Nomes de variáveis com mais de uma palavra podem ajudar também Ex: total_pagamentos, prova_final, totalPagamentos, provaFinal.
Variáveis Exemplos: VAR nome, sobrenome: caracter idade: inteiro salario: real tem_filhos: logico
Operadores Operadores são símbolos que indicam a operação que deve ser realizada entre os operandos (constantes e/ou variáveis), produzindo um determinado resultado. Ex: + e - 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.  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. Ex.: o sinal de (-) na frente de um número, cuja função é inverter seu sinal.
Operadores 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  caracteres . Um caso especial é o dos operadores relacionais, que permitem comparar pares de operandos de tipos de dados iguais, resultando sempre num valor lógico.
Operador 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 uma atribuição é: NomedaVariavel    expressao A expressão localizada no lado direito do sinal de igual é 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.
Operador de Atribuição Todo comando de atribuição pode ser dividido em duas etapas: Avaliação da expressão; Armazenamento do resultado da avaliação na posição de memória representada pela variável. Exemplo: a    35 * 6 + 2 O comando acima faz com que o resultado da expressão (= 212 ) seja armazenado na variável a.
Atribuição e Memória Considere x=10, y=5 e z=8. As figuras abaixo mostram a memória antes e depois do comando de atribuição  x    y + z End 0 1 2 3 4 5 x y z 13 5 8 End 0 1 2 3 4 5 x y z 10 5 8 modificado antes depois
Operadores Aritméticos Os operadores aritméticos se relacionam às operações aritméticas básicas:
Expressões Aritméticas Resultado é um valor numérico.
Expressões Aritméticas  1 / 4   – resultado 0.25 1 / 4 + 7.1   – resultado 7.35 1a. Operação: 1 / 4  = 0.25 2a. Operacão: 0.25 + 7.1 = 7.35 (2 + 4)/(3 – 1)  – resultado 3 1a. Operação: 2 + 4 = 6 2a. Operação: 3 – 1 = 2 3a. Operação: 6 / 2 = 3 10 % 3  – resultado 1 O resto da divisão de 10 por 3 é igual a 1.
Exercícios Qual é o resultado das expressões abaixo? 1 / 3 * 3   1.0 / 3 * 3 3 + 6 / 3 - 1 12 / 2 % 4
Exercícios Escreva as expressões a seguir em pseudo-código: 2( lado1+lado2 )‏
Operadores Relacionais Os operadores relacionais são operadores binários que devolvem os valores lógicos verdadeiro e falso. 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.
Operadores Relacionais Com valores string, os operadores relacionais comparam os valores ASCII dos caracteres correspondentes em cada string.  Uma string é dita &quot;menor que&quot; outra se os caracteres correspondentes tiverem os números de códigos ASCII menores. Exemplos de expressões verdadeiras no Visualg: &quot;algoritmo&quot; = &quot;ALGORITMO&quot; &quot;ABC&quot; < &quot;EFG&quot; &quot;Pascal&quot; < &quot;Pascal compiler&quot;
Operadores Relacionais Considere  a=3 ,  b=7 ,  total=200.0 ,  média=8.1  e  ano=2000 a > b -- resultado falso total = 100.0 -- resultado falso média >= 7.0 -- resultado verdadeiro ano <> 2001 -- resultado verdadeiro
Exercícios Considerando  a=3 ,  b=7 ,  t=20.0  e  m=8.1  qual o resultado das expressões? t <> 100.0 (m + b) <= 7.0 (t/(b+a)) = 2.0
Operadores Lógicos Operadores lógicos ou booleanos são usados para combinar expressões relacionais e resultam nos valores lógicos  verdadeiro  ou  falso . Existem outros operadores lógicos, como por exemplo, os operadores  ou-exclusivo ,  ne (não e) ,  nou (não ou) . Estes outros operadores podem ser  obtidos a partir dos três já definidos (e, ou e não).
Operador Lógico - E A e B tem como resultado verdadeiro somente se A e B forem iguais a verdadeiro.  a b a b
Operador Lógico - OU A ou B tem como resultado verdadeiro se A ou B for igual a verdadeiro. a b a b
Operador Lógico - NÃO
Exercícios Considerando  a=falso ,  b=verdadeiro  e  c=falso , qual é o resultado das expressões? a ou b e c (a ou b) e c  a e (b ou c)‏ não (a e b)‏ a ou b ou c
Operadores Caracteres Um exemplo de operação comum em várias linguagens é a concatenação de duas cadeias de caracteres. Símbolo  +  é usado em algumas linguagens para representar esta operação. Considere as cadeias  'dia' ,  ' ' ,  'de'  e  'semana' A operação  'dia' + ' ' + 'de' + ' ' + 'semana' Cria a cadeia 'dia de semana'
Expressões mistas É muito comum em algoritmos juntar operadores relacionais e lógicos em expressões. Estas expressões são geralmente do tipo: (nota1 > 7.0) ou (nota2 > 7.0)‏ (salario > valor) e (ano > 2001)‏ O resultado destas expressões é do tipo lógico (verdadeiro ou falso).
Prioridade dos Operadores Em expressões podemos misturar vários tipos de operadores. A tabela mostra a prioridade relativa dos operadores estudados. Binário Binário Binário Unário Tipo 3 + - ou 4 = <> >= <= > < 2 * / % \ e  1 não - + Prioridade Operador
Exercícios Considerando  l1=5.0 ,  l2=3.0 ,  l3=4.0  e  l4=7.1 :  (l1 > l3) e (l2 > l4)‏ ((l1+2) = l3) ou (l2 <= l4)   Considerando  presente=verdadeiro ,  n1=7.5  e  n2=6.5 , qual é o resultado da expressão? (((n1+n2)/2.0) >= 7.0) e presente

Logica Algoritmo 03 Tipos Expressoes Variaveis Operadores

  • 1.
    Introdução à LógicaRegis Pires Magalhães [email_address] Última atualização em 24/05/2007
  • 2.
    Tipos de DadosTodo o trabalho realizado por um computador é baseado na manipulação das informações contidas em sua memória. Estas informações podem ser classificadas em dois tipos: As instruções, que comandam o funcionamento da máquina e determinam a maneira como devem ser tratados os dados. Os dados propriamente ditos, que correspondem à porção das informações a serem processadas pelo computador. A classificação a seguir sintetiza os padrões utilizados na maioria das linguagens. Tipos Inteiros Tipos Reais Tipos Caracteres Tipos Lógicos
  • 3.
    Literais Alguns autorescitam o tipo caracter como sinônimo de tipo literal. No entanto, discordamos dessa definição. Achamos mais apropriado dizer que literais são as representações de quaisquer tipos de dados dentro do código fonte. Literal é, assim, uma notação para representar um valor no código fonte de uma linguagem de programação. Assim, podemos subdividir os literais em: Literais Booleanos ou Lógicos : correspondem ao valores verdadeiro e falso. Literais inteiros Literais reais ou fracionários (de Ponto Flutuante) : correspondem aos números racionais (fracionários). Literais caracteres ou strings : correspondem às cadeias de caracteres. Para representá-los, escreva-os entre aspas.
  • 4.
    Tipos de DadosUma determinada informação armazenada na memória precisa fazer sentido. Mas o que realmente significa um conjunto específico de bits? Depende: 1000001 – pode ser a letra ‘A’ 1000001 – também pode ser o número 65. O significado vai depender do tipo. Caso 1000001 seja do tipo caractere, o seu significado é a letra ‘A’. No entando se 1000001 for do tipo for inteiro, seu valor representa 65. Assim um mesmo valor pode assumir representações diferentes dependendo do tipo escolhido. Computadores trabalham internamente com dígitos binários.
  • 5.
    Tipos de DadosTipos Inteiros Números inteiros positivos ou negativos. Um bit pode representar dois números inteiros 0 e 1 . Dois bits podem representar quatro números inteiros diferentes: 00 , 01 , 10 e 11 . Com n bits podemos representar 2 n números inteiros. 1 bit é reservado para guardar o sinal. Ex.: 35, 0, -56, 1024. Bits Dados Sinal Bit menos significativo Bit mais significativo S 31 0
  • 6.
    Tipos de DadosTipos Reais Números fracionários positivos e negativos. Ex.: 35, 0, -56, 1.2, -45.987. Palavra de 32 bits: 1 bit para sinal 8 bits para expoente 23 bits para o número real (mantissa)‏ Bits Sinal Mantissa S 31 0 22 23 30 Expoente
  • 7.
    Tipos de DadosTipos Caracteres Seqüências contendo letras, números e símbolos especiais. Caracteres são representados por códigos binários. O código mais disseminado de todos é o ASCII (American Standard Code for Information Interchange). ASCII usa 8 bits para representar os caracteres. ASCII pode representar portanto até 2 8 =256 caracteres. Uma seqüência de caracteres deve ser indicada entre aspas (''). Este tipo de dado também é conhecido como alfanumérico, string ou cadeia. Ex.: 'Programação', 'Rua Alfa, 52 Apto 1', 'Fone 574-9988', '04387- 030', ' ', '7'.
  • 8.
    TABELA ASCII(American StandardCode for Information Interchange)‏
  • 9.
    Tipos de DadosTipos Lógicos Os dados deste tipo somente podem assumir dois valores: verdadeiro e falso . Dado booleano, devido a George Boole, matemático inglês, que deu ao nome à álgebra (álgebra booleana) que manipula este tipo de dados. Computadores tomam decisões, durante o processamento de um algoritmo, baseados nestes dois valores. Normalmente se usa um byte inteiro para armazenar valores lógicos devido a dificuldade de endereçar bits.
  • 10.
  • 11.
    Expressões Expressões combinamvariáveis, operadores e constantes para produzir um resultado. Variáveis representam posições na memória onde estão dados que serão processados. Constantes são símbolos usados para representar dados. Operadores são usados para combinar as variáveis e constantes fornecendo um valor como resposta.
  • 12.
    Exemplos de Expressões0.5 * base * altura (nota1 + nota2) / 2.0 (temperatura > 0) e (quantidade < limite)‏ 4 % 3 + 5 A > B
  • 13.
    Expressões Observar ossímbolos usados para multiplicação (*) e divisão (/). Avaliar primeiro as operações de maior prioridade, por exemplo (multiplicação e divisão). Se temos de escolher entre operadores de mesma prioridade então escolher o que está mais à esquerda. Ex. 4/2*3 -- primeiro divide-se 4 por 2 e em seguida multiplica-se o resultado por 3, dando como resultado 6 Caso queira trocar a prioridade use parênteses. Não são permitidos outros símbolos para esta função tais como { } e [ ].
  • 14.
    Variáveis O computadorpossui uma área de armazenamento conhecida como memória. A memória do computador pode ser entendida como uma seqüência finita de caixas, que num dado momento, guardam algum tipo de informação, como número, uma letra, uma palavra, uma frase, etc.
  • 15.
    Variáveis Cada posiçãode memória possui um endereço, ou seja, um número, que indica onde cada informação está localizada. As linguagens de computador facilitaram o manuseio das posições de memória, permitindo que, ao invés de trabalhar diretamente com os endereços de memória, fosse possível dar nomes diferentes a cada um deles. Tais nomes seriam de livre escolha do usuário. Com este recurso, os usuários ficaram livres dos endereços físicos e passaram a trabalhar com endereços lógicos. Endereço Físico Informação 3000: B712 ‘ João’ 2000: 12EC 12345 3000: 0004 ‘ H’
  • 16.
    Variáveis Para acessarinformações seria necessário saber o tipo de dado desta informação (ou seja, o número de bytes de memória por ela ocupados) e a posição inicial deste conjunto de bytes na memória. Basicamente, uma variável possui três atributos: nome tipo de dado associado à mesma informação por ela guardada. Toda variável possui um nome que tem a função de diferenciá-la das demais.
  • 17.
    Variáveis Nos algoritmos,todas as variáveis utilizadas serão definidas no início do mesmo, por meio de um comando de uma das seguintes formas: VAR <nome_da_variavel> : <tipo_da_variavel> ou VAR <lista_de_variaveis> : <tipo_das_variaveis>
  • 18.
    Variáveis Escolher nomessignificativos para as variáveis Ex: salario, total, nota, pagamento Nomes significativos ajudam a tornar os algoritmos e os programas auto-explicativos Nomes de variáveis com mais de uma palavra podem ajudar também Ex: total_pagamentos, prova_final, totalPagamentos, provaFinal.
  • 19.
    Variáveis Exemplos: VARnome, sobrenome: caracter idade: inteiro salario: real tem_filhos: logico
  • 20.
    Operadores Operadores sãosímbolos que indicam a operação que deve ser realizada entre os operandos (constantes e/ou variáveis), produzindo um determinado resultado. Ex: + e - 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. 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. Ex.: o sinal de (-) na frente de um número, cuja função é inverter seu sinal.
  • 21.
    Operadores Outra classificaçãodos 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 caracteres . Um caso especial é o dos operadores relacionais, que permitem comparar pares de operandos de tipos de dados iguais, resultando sempre num valor lógico.
  • 22.
    Operador de AtribuiçãoUm operador de atribuição serve para atribuir um valor a uma variável. Em Algoritmo usamos o operador de atribuição:  A sintaxe de uma atribuição é: NomedaVariavel  expressao A expressão localizada no lado direito do sinal de igual é 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.
  • 23.
    Operador de AtribuiçãoTodo comando de atribuição pode ser dividido em duas etapas: Avaliação da expressão; Armazenamento do resultado da avaliação na posição de memória representada pela variável. Exemplo: a  35 * 6 + 2 O comando acima faz com que o resultado da expressão (= 212 ) seja armazenado na variável a.
  • 24.
    Atribuição e MemóriaConsidere x=10, y=5 e z=8. As figuras abaixo mostram a memória antes e depois do comando de atribuição x  y + z End 0 1 2 3 4 5 x y z 13 5 8 End 0 1 2 3 4 5 x y z 10 5 8 modificado antes depois
  • 25.
    Operadores Aritméticos Osoperadores aritméticos se relacionam às operações aritméticas básicas:
  • 26.
    Expressões Aritméticas Resultadoé um valor numérico.
  • 27.
    Expressões Aritméticas 1 / 4 – resultado 0.25 1 / 4 + 7.1 – resultado 7.35 1a. Operação: 1 / 4 = 0.25 2a. Operacão: 0.25 + 7.1 = 7.35 (2 + 4)/(3 – 1) – resultado 3 1a. Operação: 2 + 4 = 6 2a. Operação: 3 – 1 = 2 3a. Operação: 6 / 2 = 3 10 % 3 – resultado 1 O resto da divisão de 10 por 3 é igual a 1.
  • 28.
    Exercícios Qual éo resultado das expressões abaixo? 1 / 3 * 3 1.0 / 3 * 3 3 + 6 / 3 - 1 12 / 2 % 4
  • 29.
    Exercícios Escreva asexpressões a seguir em pseudo-código: 2( lado1+lado2 )‏
  • 30.
    Operadores Relacionais Osoperadores relacionais são operadores binários que devolvem os valores lógicos verdadeiro e falso. 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.
  • 31.
    Operadores Relacionais Comvalores string, os operadores relacionais comparam os valores ASCII dos caracteres correspondentes em cada string. Uma string é dita &quot;menor que&quot; outra se os caracteres correspondentes tiverem os números de códigos ASCII menores. Exemplos de expressões verdadeiras no Visualg: &quot;algoritmo&quot; = &quot;ALGORITMO&quot; &quot;ABC&quot; < &quot;EFG&quot; &quot;Pascal&quot; < &quot;Pascal compiler&quot;
  • 32.
    Operadores Relacionais Considere a=3 , b=7 , total=200.0 , média=8.1 e ano=2000 a > b -- resultado falso total = 100.0 -- resultado falso média >= 7.0 -- resultado verdadeiro ano <> 2001 -- resultado verdadeiro
  • 33.
    Exercícios Considerando a=3 , b=7 , t=20.0 e m=8.1 qual o resultado das expressões? t <> 100.0 (m + b) <= 7.0 (t/(b+a)) = 2.0
  • 34.
    Operadores Lógicos Operadoreslógicos ou booleanos são usados para combinar expressões relacionais e resultam nos valores lógicos verdadeiro ou falso . Existem outros operadores lógicos, como por exemplo, os operadores ou-exclusivo , ne (não e) , nou (não ou) . Estes outros operadores podem ser obtidos a partir dos três já definidos (e, ou e não).
  • 35.
    Operador Lógico -E A e B tem como resultado verdadeiro somente se A e B forem iguais a verdadeiro. a b a b
  • 36.
    Operador Lógico -OU A ou B tem como resultado verdadeiro se A ou B for igual a verdadeiro. a b a b
  • 37.
  • 38.
    Exercícios Considerando a=falso , b=verdadeiro e c=falso , qual é o resultado das expressões? a ou b e c (a ou b) e c a e (b ou c)‏ não (a e b)‏ a ou b ou c
  • 39.
    Operadores Caracteres Umexemplo de operação comum em várias linguagens é a concatenação de duas cadeias de caracteres. Símbolo + é usado em algumas linguagens para representar esta operação. Considere as cadeias 'dia' , ' ' , 'de' e 'semana' A operação 'dia' + ' ' + 'de' + ' ' + 'semana' Cria a cadeia 'dia de semana'
  • 40.
    Expressões mistas Émuito comum em algoritmos juntar operadores relacionais e lógicos em expressões. Estas expressões são geralmente do tipo: (nota1 > 7.0) ou (nota2 > 7.0)‏ (salario > valor) e (ano > 2001)‏ O resultado destas expressões é do tipo lógico (verdadeiro ou falso).
  • 41.
    Prioridade dos OperadoresEm expressões podemos misturar vários tipos de operadores. A tabela mostra a prioridade relativa dos operadores estudados. Binário Binário Binário Unário Tipo 3 + - ou 4 = <> >= <= > < 2 * / % \ e 1 não - + Prioridade Operador
  • 42.
    Exercícios Considerando l1=5.0 , l2=3.0 , l3=4.0 e l4=7.1 : (l1 > l3) e (l2 > l4)‏ ((l1+2) = l3) ou (l2 <= l4) Considerando presente=verdadeiro , n1=7.5 e n2=6.5 , qual é o resultado da expressão? (((n1+n2)/2.0) >= 7.0) e presente