Algoritmos e Programação de Computadores Prof.: Wyllian Fressatti.
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