Algoritmos e Programação de Computadores Prof.: Wyllian Fressatti.

Post on 18-Apr-2015

107 views 3 download

Transcript of Algoritmos e Programação de Computadores Prof.: Wyllian Fressatti.

Algoritmos e Algoritmos e Programação de Programação de ComputadoresComputadores

Algoritmos e Algoritmos e Programação de Programação de ComputadoresComputadores

Prof.: Wyllian FressattiProf.: Wyllian Fressatti

• Hardware: parte física do computador. Formada pelos circuitos eletrônicos, dispositivos mecânicos, magnéticos e etc.

• Software: os programas que executam sobre o hardware.

HARDWARE + SOFTWARE = COMPUTADOR

O Computador

Conceitos Iniciais

• Lógica de programação: é a técnica de encadear pensamentos para atingir determinado objetivo. O aprendizado desta técnica é necessário, para quem deseja trabalhar com desenvolvimento de sistemas e programas.

• Algoritmo: é uma seqüência de passos finitos com o objetivo de solucionar um problema.

(Lopes, Garcia)

• Quando nós temos um problema, nosso objetivo é solucioná-lo. Algoritmo não é a solução de um problema, pois, se assim fosse, cada problema teria um único algoritmo. Algoritmo é um conjunto de passos (ações) que levam à solução de um determinado problema, ou então, é um caminho para a solução de um problema e, em geral, os caminhos que levam a uma solução são muitos.

(Lopes, Garcia)

Algoritmo• Frequentemente nos deparamos com vários

problemas. Muitas vezes já vimos um algoritmo e não sabíamos que, à aquela seqüência de passos damos o nome de algoritmo. Um exemplo bem freqüente é quando queremos falar em algum telefone público. Aquilo que está escrito no telefone é um algoritmo. Veja a seguir um exemplo de um algoritmo do cotidiano.

1 – Retirar o telefone do gancho2 – Esperar o sinal3 – Colocar o cartão4 – Discar o número5 – Falar no telefone6- Colocar o telefone no gancho

Algoritmo

Outro exemplo clássico é um algoritmo para resolver o problema de fritar um ovo

• 1 Pegar frigideira, ovo, óleo e sal• 2 Colocar óleo na frigideira• 3 Acender o fogo• 4 Colocar a frigideira no fogo• 5 Esperar o óleo aquecer• 6 Colocar o ovo• 7 Retirar quando pronto

Cada linha do algoritmo podemos chamar de uma instrução, logo, podemos dizer que um algoritmo é um conjunto de instruções.

Instrução indica a um computador uma ação elementar a ser executada.

Algoritmo para trocar lâmpada

• 1 Se (lâmpada estiver fora do alcance) pegar escada;

• 2 Se (lâmpada estiver quente) pegar pano;

• 3 Pegar lâmpada;• 4 Tirar lâmpada queimada;• 5 Colocar lâmpada boa;

Exemplo Hipotético do funcionamento de um computador

Conjunto de

EscaninhosOperad

or

Operador - só faz o que for ordenado, não toma decisões

Conjunto de escaninhos - com capacidade para um cartão cada

Máquina de calcular - executa as operações

Caixa de entrada - para receber cartões de fora

Máquina de escrever - para dar saída às informações / resultados

Exemplo Hipotético do funcionamento de um computador

• Para que este modelo funcione, deve existir em cada cartão uma INSTRUÇÃO. O operador segue de escaninho em escaninho, fazendo exatamente o que está escrito em cada cartão, até encontrar um cartão contendo uma instrução que manda que ele PARE.

Exemplo Hipotético do funcionamento de um computador

EXERCÍCIO Obs.: Utilizaremos a notação (E10) significando "o conteúdo do escaninho E10", isto é, o valor que está agora armazenado no

escaninho E10 (ou, mais formalmente, o valor corrente daquela posição de memória).

• E1 : leia o conteúdo de E10 (através de meio externo - caixa de entrada)

• E2 : leia o conteúdo de E11 (através de meio externo - caixa de entrada)

• E3 : Somar E10 com E11 (usando a máquina de calcular) e armazene o resultado em E12

• E4 : imprima o conteúdo de E12 (usando a máquina de escrever)

• E5 : PARE

A partir de um sinal externo do tipo COMECE, este modelo inicia do E1 daí por diante prossegue até E5 (o final).

EXERCÍCIO 2Faça um algoritmo que imprima os números de 1 a 5

• E1 : armazene o valor 0 no E10• E2 : E10 recebe o conteúdo de E10

mais 1• E3 : Imprima o valor de E10• E4 : Se E10 menor que 5 vá para E2• E5 : PARE

A partir de um sinal externo do tipo COMECE, este modelo inicia do E1 daí por diante prossegue até E5 (o final).

EXERCÍCIO 2Faça um algoritmo que imprima os números de 1 a 5

Execução

• E1 : armazene o valor 0 no E10• E2 : E10 recebe o conteúdo de E10

mais 1• E3 : Imprima o valor de E10• E4 : Se E10 menor que 5 vá para E2• E5 : PARE

A partir de um sinal externo do tipo COMECE, este modelo inicia do E1 daí por diante prossegue até E5 (o final).

0

EXERCÍCIO 2Faça um algoritmo que imprima os números de 1 a 5

Execução

• E1 : armazene o valor 0 no E10• E2 : E10 recebe o conteúdo de E10

mais 1• E3 : Imprima o valor de E10• E4 : Se E10 menor que 5 vá para E2• E5 : PARE

A partir de um sinal externo do tipo COMECE, este modelo inicia do E1 daí por diante prossegue até E5 (o final).

000011

EXERCÍCIO 2Faça um algoritmo que imprima os números de 1 a 5

Execução

• E1 : armazene o valor 0 no E10• E2 : E10 recebe o conteúdo de E10

mais 1• E3 : Imprima o valor de E10• E4 : Se E10 menor que 5 vá para E2• E5 : PARE

A partir de um sinal externo do tipo COMECE, este modelo inicia do E1 daí por diante prossegue até E5 (o final).

1

11

EXERCÍCIO 2Faça um algoritmo que imprima os números de 1 a 5

Execução

• E1 : armazene o valor 0 no E10• E2 : E10 recebe o conteúdo de E10

mais 1• E3 : Imprima o valor de E10• E4 : Se E10 menor que 5 vá para E2• E5 : PARE

A partir de um sinal externo do tipo COMECE, este modelo inicia do E1 daí por diante prossegue até E5 (o final).

1

11

EXERCÍCIO 2Faça um algoritmo que imprima os números de 1 a 5

Execução

• E1 : armazene o valor 0 no E10• E2 : E10 recebe o conteúdo de E10

mais 1• E3 : Imprima o valor de E10• E4 : Se E10 menor que 5 vá para E2• E5 : PARE

A partir de um sinal externo do tipo COMECE, este modelo inicia do E1 daí por diante prossegue até E5 (o final).

1

11

2

EXERCÍCIO 2Faça um algoritmo que imprima os números de 1 a 5

Execução

• E1 : armazene o valor 0 no E10• E2 : E10 recebe o conteúdo de E10

mais 1• E3 : Imprima o valor de E10• E4 : Se E10 menor que 5 vá para E2• E5 : PARE

A partir de um sinal externo do tipo COMECE, este modelo inicia do E1 daí por diante prossegue até E5 (o final).

2

1212

EXERCÍCIO 2Faça um algoritmo que imprima os números de 1 a 5

Execução

• E1 : armazene o valor 0 no E10• E2 : E10 recebe o conteúdo de E10

mais 1• E3 : Imprima o valor de E10• E4 : Se E10 menor que 5 vá para E2• E5 : PARE

A partir de um sinal externo do tipo COMECE, este modelo inicia do E1 daí por diante prossegue até E5 (o final).

2

1212

EXERCÍCIO 2Faça um algoritmo que imprima os números de 1 a 5

Execução

• E1 : armazene o valor 0 no E10• E2 : E10 recebe o conteúdo de E10

mais 1• E3 : Imprima o valor de E10• E4 : Se E10 menor que 5 vá para E2• E5 : PARE

A partir de um sinal externo do tipo COMECE, este modelo inicia do E1 daí por diante prossegue até E5 (o final).

2

1212

3

EXERCÍCIO 2Faça um algoritmo que imprima os números de 1 a 5

Execução

• E1 : armazene o valor 0 no E10• E2 : E10 recebe o conteúdo de E10

mais 1• E3 : Imprima o valor de E10• E4 : Se E10 menor que 5 vá para E2• E5 : PARE

A partir de um sinal externo do tipo COMECE, este modelo inicia do E1 daí por diante prossegue até E5 (o final).

3

123

123

EXERCÍCIO 2Faça um algoritmo que imprima os números de 1 a 5

Execução

• E1 : armazene o valor 0 no E10• E2 : E10 recebe o conteúdo de E10

mais 1• E3 : Imprima o valor de E10• E4 : Se E10 menor que 5 vá para E2• E5 : PARE

A partir de um sinal externo do tipo COMECE, este modelo inicia do E1 daí por diante prossegue até E5 (o final).

3

123

123

EXERCÍCIO 2Faça um algoritmo que imprima os números de 1 a 5

Execução

• E1 : armazene o valor 0 no E10• E2 : E10 recebe o conteúdo de E10

mais 1• E3 : Imprima o valor de E10• E4 : Se E10 menor que 5 vá para E2• E5 : PARE

A partir de um sinal externo do tipo COMECE, este modelo inicia do E1 daí por diante prossegue até E5 (o final).

3

123

123

4

EXERCÍCIO 2Faça um algoritmo que imprima os números de 1 a 5

Execução

• E1 : armazene o valor 0 no E10• E2 : E10 recebe o conteúdo de E10

mais 1• E3 : Imprima o valor de E10• E4 : Se E10 menor que 5 vá para E2• E5 : PARE

A partir de um sinal externo do tipo COMECE, este modelo inicia do E1 daí por diante prossegue até E5 (o final).

4

1234

1234

EXERCÍCIO 2Faça um algoritmo que imprima os números de 1 a 5

Execução

• E1 : armazene o valor 0 no E10• E2 : E10 recebe o conteúdo de E10

mais 1• E3 : Imprima o valor de E10• E4 : Se E10 menor que 5 vá para E2• E5 : PARE

A partir de um sinal externo do tipo COMECE, este modelo inicia do E1 daí por diante prossegue até E5 (o final).

4

1234

1234

EXERCÍCIO 2Faça um algoritmo que imprima os números de 1 a 5

Execução

• E1 : armazene o valor 0 no E10• E2 : E10 recebe o conteúdo de E10

mais 1• E3 : Imprima o valor de E10• E4 : Se E10 menor que 5 vá para E2• E5 : PARE

A partir de um sinal externo do tipo COMECE, este modelo inicia do E1 daí por diante prossegue até E5 (o final).

4

1234

1234

5

EXERCÍCIO 2Faça um algoritmo que imprima os números de 1 a 5

Execução

• E1 : armazene o valor 0 no E10• E2 : E10 recebe o conteúdo de E10

mais 1• E3 : Imprima o valor de E10• E4 : Se E10 menor que 5 vá para E2• E5 : PARE

A partir de um sinal externo do tipo COMECE, este modelo inicia do E1 daí por diante prossegue até E5 (o final).

5

12345

12345

EXERCÍCIO 2Faça um algoritmo que imprima os números de 1 a 5

Execução

• E1 : armazene o valor 0 no E10• E2 : E10 recebe o conteúdo de E10

mais 1• E3 : Imprima o valor de E10• E4 : Se E10 menor que 5 vá para E2• E5 : PARE

A partir de um sinal externo do tipo COMECE, este modelo inicia do E1 daí por diante prossegue até E5 (o final).

5

12345

12345

EXERCÍCIO 2Faça um algoritmo que imprima os números de 1 a 5

Execução

• E1 : armazene o valor 0 no E10• E2 : E10 recebe o conteúdo de E10

mais 1• E3 : Imprima o valor de E10• E4 : Se E10 menor que 5 vá para E2• E5 : PARE

A partir de um sinal externo do tipo COMECE, este modelo inicia do E1 daí por diante prossegue até E5 (o final).

5

12345

12345

Algoritmos

• Sintaxe: dita as regras de como as sentenças e cada um de seus elementos devem ser construídos corretamente;

• Semântica: se preocupa com o significado de uma sentença construída.

• Todo algoritmo deve ser descrito em alguma linguagem;

• Assim, o algoritmo deve respeitar um padrão sintático;

• Primeira linguagem: LPE (Linguagem em Português Estruturado);

Algoritmos

• Estrutura básica do algoritmo em LPE:

Programa teste;

{ //Início programa

int x, y, soma;

soma = x + y; Imprima (“\soma”, soma);

} //Fim programa

Identificação do algoritmo

Bloco de declarações: variáveis

Bloco de comandos

Algoritmos

• Um primeiro algoritmo em LPE:

Prog primeiro;{ imprima (“\n Oi Mundo!”);

}

Algoritmos

Comando Imprima. Gera uma saída no

vídeo. Será visto mais adiante

• Algoritmos geralmente descrevem algum processamento de dados:

• Estes dados precisam ser representados (descritos) nos algoritmos;

Dados de Entrada

Dados de Saída

Processamento(Computador)

Algoritmos

• Um algoritmo para fins computacionais é a descrição de ações que manipulam objetos em função do tempo.

– Objetos descrevem o estado computacional;* Objetos frequentemente serão

chamados de variáveis.

Algoritmos

• A cada objeto é associado um nome que identifica este objeto ao longo da programação. Este nome é chamado identificador.

• De forma geral, podemos dizer que um identificador está associado à uma célula de memória.

• O termo variável é freqüentemente utilizado como sinônimo de identificador.

Algoritmos

• Regras para nomes de Variáveis:

– Use somente letras e números;– O primeiro caracter do nome deve ser uma letra;– Não é permitido o uso de caracteres especiais.

• Exemplos válidos: ImpostoDeRenda, F1, soma, produto, desconto, SalarioHora.

• Exemplos inválidos: 1f, Imposto-renda, salario hora.

Algoritmos

• Atributos (características) de um objeto:– Nome;– Célula de memória;– Valor associado;– Tipo: define a categoria dos dados que

podem ser armazenados no objeto.

conteúdo (valor armazenado na célula de memória)

Nome identificador do objeto

célula de memória

Algoritmos

• Atributos de um objeto:– O tipo:

• especifica uma classe de valores que podem ser armazenados na célula de memória associada ao identificador;

• define as operações válidas sobre o identificador;

Algoritmos

• Tipo de Dado

– Um identificador armazena um único dado num instante, mas este dado não pode ser qualquer um;

– As células de memória do computador precisam ser compatíveis com o tipo de dado que vão armazenar;

Algoritmos

• Devemos informar ao computador qual o tipo de dado que vamos armazenar;

• Esta informação determina quantas células de memória serão necessárias para armazenar o dado;

• Esta informação define quais serão as operações possíveis de se aplicar sobre os dados;– Exemplo: em um dado numérico pode-se aplicar

uma operação aritmética.

Algoritmos

• Os tipos de dados podem variar de uma linguagem para outra. No entanto, existem dois tipos básicos:– Tipos simples;– Tipos estruturados (estudados mais

adiante);Tipos de Dados Simples

Numérico Nulo (Void)Caracter

Inteiro Real

Algoritmos

• Declaração do tipo do identificador (objeto): em LPE.

tipo identificador;

Algoritmos

Esta é uma seção obrigatória e todas as variáveis devem

ser declaradas antes de serem

referenciadas

• Os Tipos de Dados Numéricos são divididos basicamente em dois grandes conjuntos:– Inteiros;– Reais;

• Os inteiros podem ser positivos, negativos ou nulos, mas não possuem um componente decimal;

Algoritmos

• Os inteiros são compatíveis com os reais, mas os reais não são compatíveis com os inteiros;

• Assim, um objeto real pode receber um valor inteiro, mas um objeto inteiro não pode receber um valor real;

• Declaração de uma variável do tipo inteiro:

LPE Pascal C int x x:integer int x

Algoritmos

• Os reais podem ser positivos, negativos ou nulos, e possuem sempre um componente decimal;

• Exemplos: 2,34; 0,0; -214,123;

• Computacionalmente, existem muitas diferenças entre o armazenamento de números inteiros e números reais;

Algoritmos

• Os números inteiros consomem menos espaço de armazenamento em memória que o tipo real;

• Declaração de variáveis do tipo real:Exemplo

LPE Pascal C real x x: real float x

Algoritmos

• Os tipos de dados não numéricos:– Caracter: formado pelas letras (de A a Z, e

de a a z), dígitos (de 0 a 9) e caracteres especiais (~, ., ?, >, <, ...);

– A diferença entre caracteres e dados numéricos estão na forma de armazenamento, e nas operações legais permitidas sobre os mesmos;• Exemplo: operações aritméticas sobre os

dados numéricos.

Algoritmos

• Para diferenciar um caracter de um identificador ou de um dado numérico, utilizaremos apóstrofes (aspas simples). . Assim:

– 8 é um dado numérico;– ‘8’ é um caracter;– A é um identificador;– ‘A’ é um caracter;

Algoritmos

• Objetos declarados como do tipo caracter poderão armazenar um único caracter;

• Para armazenar uma seqüência de caracteres será utilizada a estrutura cadeia de caracteres, que consiste num tipo de dado estruturado;– Exemplo:

• ‘Z’ é um caracter;• “ANA” é uma cadeia de caracteres;

Algoritmos

•Declaração:

LPE Pascal C

char x x: char char x

Algoritmos

• Tipo Lógico: os valores lógicos podem assumir uma entre duas possibilidades (verdadeiro ou falso);– Só poderá armazenar um destes dois valores;

• Muito utilizados em controle do fluxo lógico do algoritmo;

LPE Pascal C logico x x:boolean não existe

Algoritmos

• Caso haja mais de uma variável do mesmo tipo:

variaveis tipo identificador1, identificador2;• Se houver identificadores de tipos

diferentes (inteiro,real, lógico):variaveis int i1, i2, i3, i; real r1, r2;

Algoritmos

• Escolha do tipo de um identificador: deve-se conhecer bem a solução do problema.– Exemplos de inteiros:

• número de pessoas;• um número par ou ímpar;• idade de uma pessoa;• quantidade de objetos;

– Exemplos de reais:• o peso de uma pessoa;• um percentual;• nota de uma avaliação;• média;• preço de um produto;

Algoritmos

• Situações de dúvida– Exemplos:

• raíz quadrada de um número;• divisão entre dois números inteiros;

• Quando houver alguma possibilidade de um identificador numérico receber um valor não inteiro, deve ser declarado como real.

Inteiros

Reais

Algoritmos

• Valores dos dados– os dados são valores que são armazenados em

células de memória e que são acessados (ao longo do algoritmo) por referência aos identificadores;

– assim, se tivermos os identificadores i, r e l, para objetos do tipo inteiro e real respectivamente, e atribuírmos os valores 100 e 3,14; teríamos a seguinte configuração:

– Estes são os valores exibidos quando se utiliza a instrução Imprima.

100 3,14

i r

Algoritmos

• Tipos de dados serão necessários na declaração de objetos (variáveis);

• Tipos disponíveis em LPE:

TIPO DE DADO DESCRIÇÃO

CharTipo de dado caracter – Todos os caracteres, desde que escrito

entre aspas simples: Ex: ‘a’, ‘A’;

int Tipo de dado numérico de valores inteiros: Ex: 54

real Tipo de dado numérico de valores reais: Ex:0,56

Char[numero]String

Conjunto de caracteres “Olá Mundo”;

Algoritmos

Operadores Aritméticos

Os operadores aritméticos são utilizados na construção de expressões matemáticas, que podem ser formadas por números, constantes de valor numérico ou variáveis numéricas. São eles:

OPERADOR DESCRIÇÃO

+ Adição

- Subtração

* Multiplicação

/ Divisão

% (mod) Resto da divisão

div Quociente da divisão

Algoritmos

Algoritmos

<variável> <- <expressão>;//Exemploresultado <- 5*86;

Comandos

Comandos simplesOs comandos simples ou não estruturados caracterizam-se por não

possuírem comandos relacionados ou dependentes. Todos os comandos são separados por ponto e vírgula.

Exemplo Comando de AtribuiçãoComando utilizado para atribuir um valor à uma variável e definido pelo

operador de atribuição “<-“. Consiste pelo nome de uma variável seguido do operador de atribuição “<-“, depois por uma expressão válida e ponto e vírgula. Por exemplo:

Comandos

Entrada de dados (leia)leia(<variável>);

EX: leia(total1);

Comando onde o usuário especifica um valor para uma variável em tempo de interpretação. O valor digitado deve ser correspondente ao tipo de dado da variável definida como parâmetro ao comando. Só permite ler valores para uma variável por comando. Sua sintaxe é:

Algoritmos

leia(Nome da variável);

//Exemploleia(total1);

Saída de dados (ìmprima)

Comando de saída de dados para o monitor. Imprime na tela o valor de cada parâmetro. Caso haja mais de um parâmetro, o comando efetua a concatenação de todos e imprime o resultado. São permitidas expressões de qualquer tipo como parâmetro. Os parâmetros são separados por vírgula. Exemplo:

Imprima (<expressões>);

Exemploimprima(‘Resultado: ‘, a+b-5);

Algoritmos

imprima(expressão ou variável);

//Exemploimprima(“Resultado: “, a+b-5);

• Exemplo:considerando a figura mostrada acima (um retângulo), faça um algoritmo que calcule a área da mesma.

• Neste problema existem três valores (estados) a serem representados:– Altura do retângulo (h);– Largura (ou base) do retângulo (b);– Área do retângulo.

h

b

Dados de Entrada

Dados de Saída

Algoritmos

• Nesta solução, os valores de a e de h só serão conhecidos em tempo de execução, e deverão ser fornecidos pela pessoa que executa o algoritmo.

• Assim, a preocupação não é com o valor do resultado produzido, e sim com a produção de resultados corretos.

Algoritmos

• Exemplo: no algoritmo para calcular a área de um triângulo retângulo, descrito abaixo, os objetos base e altura são argumentos de entrada, enquanto o objeto area é argumento de saída.

Programa Retangulo;

{ real base, altura, area real;

Imprima (“Digite um valor para a altura do retângulo: “); leia (altura); Imprima (“Digite um valor para a base do retângulo: “); leia (base); area <- altura*base; Imprima (“Valor da área: “, area);}

123456789

101112

Algoritmos

• Teste de mesa: tabela que demonstra os resultados obtidos ao longo da execução de um algoritmo.– Exemplo: execução do algoritmo do slide anterior para

entrada dos valores 3 para o objeto base e 5 para o objeto altura;

Linha Base Altura Area

7 - 5 -

9 3 5 -

10 3 5 15

12 3 5 15

Algoritmos

• Escreva um algoritmo que calcule o diâmetro, a área e a circunferência de um círculo, sabendo que o único dado disponível é o seu raio.

– Diâmetro = 2 * Raio– Área = Pi * Raio * Raio– Circunferência= 2 * Pi * Raio

• Ler dois números inteiros e imprimir a soma.• Entrar com dois números inteiros e imprimir a média aritmética.• Criar um algoritmo que solicite e imprima os valores da diagonal

maior, diagonal menor e calcule a área de um losango. – Fórmula: (diagonal maior * diagonal menor) dividido por 2

• Elaborar um algoritmo para calcular e apresentar o volume de uma lata de óleo, utilizando a fórmula: VOLUME = 3.14159 * (R*R) * ALTURA.

Algoritmos

• Escreva um programa em LPE que pergunte o nome a altura (em metros) e a massa (em Kg) do usuário. Em seguida o programa deverá exibir uma mensagem dizendo o nome do usuário e a sua densidade corporal.– Densidade = peso / altura2

Algoritmos

• Operadores Aritméticos

• As operações são realizadas em uma expressão de acordo com a ordem de prioridade. Quando houver empate entre operações, elas serão realizadas da esquerda para a direita.

+

divisão

adição

- subtração II

II

I

I*

/

Operador PrioridadeSignificado

multiplicação

Algoritmos

• Os parênteses quebram o ordem de prioridade natural.

a

Expressão Matemática Expressão Algoritmica

2.a+b 2*a+b

a/2+b

a*x^2a.x2

2+b

a2+b

a/2+b

a/(2+b)

errado

certo

Expressões Aritméticas

Algoritmos

• Quando houverem parênteses aninhados, a prioridade será do mais interno.

a / (a + b) - (2 * (b + c))1 2

34

5

Algoritmos

• Operadores Relacionais– Comparação entre objetos (ou entre um

objeto e um valor) do mesmo tipo;– O resultado será sempre do tipo lógico (V ou

F);Operador Exemplo de usoSignificado

> A>B, 4>3, C>3

= =

Diferente de

Igual a

<= Menor ou igual a B*A<=0

A= =0

A+B != C

Menor que 2*A<B

Maior que

<

!=

>= Maior ou igual a ‘a’>=‘b'

Algoritmos

• O operador relacional perde em prioridade para os operadores aritméticos;

• O operador relacional é binário, isto é, ele deve envolver um operando a sua esquerda e um a sua direita.

• Assim, a expressão -3 < X <=2 não é válida, pois nela X está relacionando-se com outros dois operandos.

Algoritmos

• Exercício: qual o resultado da expressão relacional A+3 > B quando:– A tem valor igual a 5 e B igual a 8;– A tem valor igual a 0 e B igual a -3;– A tem valor igual a 1 e B igual a 1;– A tem valor igual a -3 e B igual a 1;

Algoritmos

• Operadores Lógicos– Constrói expressão lógica que envolve operandos

lógicos;– Utilizados no processo de tomada de decisão e em

controles de repetição;– Operadores:

• 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

– Proposição é qualquer elemento que possa produzir valor lógico (variável lógica, expressão relacional ou expressão lógica);

Algoritmos

• Os operadores e e ou são binários;• O operador não é unário;• Ordem de prioridade:

– não I– e II– ou III

Algoritmos

• A expressão A e B será verdadeira quando o operando A e o operando B produzirem resultados verdadeiros simultaneamente. Qualquer outra combinação de valores destes operandos produzirá resultado falso;

• A expressão A ou B será verdadeira quando uma das proposições (operando A e B) produzir resultado verdadeiro;

Algoritmos

• Tabela do operador e:

A B A e B

V VV

V F F

F V F

F F F

Algoritmos