ALGORITMOS – AULA 3 Operadores Relacionais, Lógicos e comandos de condição.
Transcript of ALGORITMOS – AULA 3 Operadores Relacionais, Lógicos e comandos de condição.
![Page 1: ALGORITMOS – AULA 3 Operadores Relacionais, Lógicos e comandos de condição.](https://reader035.fdocument.pub/reader035/viewer/2022070311/552fc13d497959413d8dd1eb/html5/thumbnails/1.jpg)
ALGORITMOS – AULA 3Operadores Relacionais, Lógicos e comandos de condição
![Page 2: ALGORITMOS – AULA 3 Operadores Relacionais, Lógicos e comandos de condição.](https://reader035.fdocument.pub/reader035/viewer/2022070311/552fc13d497959413d8dd1eb/html5/thumbnails/2.jpg)
Expressões Lógicas
Denomina-se expressão lógica aquela cujos operadores são lógicos e/ou relacionais e cujos operandos são relações e/ou variáveis e/ou constantes do tipo lógico.
operando lógico
operador lógico
constante lógicavariável lógica
expressão relacional
não
expressão lógica
operando lógico
![Page 3: ALGORITMOS – AULA 3 Operadores Relacionais, Lógicos e comandos de condição.](https://reader035.fdocument.pub/reader035/viewer/2022070311/552fc13d497959413d8dd1eb/html5/thumbnails/3.jpg)
Operadores Relacionais
Os operadores relacionais são utilizados para realizar comparações entre dois valores (constantes, variáveis ou expressões aritméticas) de mesmo tipo primitivo.
O resultado obtido de uma expressão relacional é sempre um valor lógico.
![Page 4: ALGORITMOS – AULA 3 Operadores Relacionais, Lógicos e comandos de condição.](https://reader035.fdocument.pub/reader035/viewer/2022070311/552fc13d497959413d8dd1eb/html5/thumbnails/4.jpg)
Operadores Lógicos
Os operadores lógicos mais utilizados são:
![Page 5: ALGORITMOS – AULA 3 Operadores Relacionais, Lógicos e comandos de condição.](https://reader035.fdocument.pub/reader035/viewer/2022070311/552fc13d497959413d8dd1eb/html5/thumbnails/5.jpg)
Comando de Atribuição
Permite-nos fornecer um valor a uma certa variável, onde o tipo dessa informação deve ser compatível com o tipo da variável.
O comando da atribuição possui a seguinte sintaxe:
identificador
expressão
;
expressão aritmética
expressão lógica
atribuição
expressão
Exemplo:lógico: A, B;inteiro: X;A verdadeiro;X 8 + 13 div 5;B 5 = 3;
![Page 6: ALGORITMOS – AULA 3 Operadores Relacionais, Lógicos e comandos de condição.](https://reader035.fdocument.pub/reader035/viewer/2022070311/552fc13d497959413d8dd1eb/html5/thumbnails/6.jpg)
Comandos de Entrada e Saída
Sintaxe do comando da entrada de dados:
entrada de dados
leia
variável( )
,
;
Exemplos: leia (X); leia (A, XPTO, NOTA);
![Page 7: ALGORITMOS – AULA 3 Operadores Relacionais, Lógicos e comandos de condição.](https://reader035.fdocument.pub/reader035/viewer/2022070311/552fc13d497959413d8dd1eb/html5/thumbnails/7.jpg)
Saída de Dados
Sintaxe do comando da saída de dados:
saída de dados
escreva
variável( )
,
;
Exemplos: escreva (Y); escreva (B, XPTO, MEDIA); escreva (“Bom Dia ”, NOME); escreva (“Você pesa ”, X*2, “quilos.”);
constanteexpressão
![Page 8: ALGORITMOS – AULA 3 Operadores Relacionais, Lógicos e comandos de condição.](https://reader035.fdocument.pub/reader035/viewer/2022070311/552fc13d497959413d8dd1eb/html5/thumbnails/8.jpg)
Blocos
Um bloco é definido como um conjunto de ações com uma função definida.
Algoritmo seria um bloco !? Serve também para definir os limites nos quais as
variáveis declaradas em seu interior são conhecidos.
Para delimitar um bloco, utiliza-se os delimitadores: inicio e fim, como segue:
blocos
inicio ação
fim
;
,
![Page 9: ALGORITMOS – AULA 3 Operadores Relacionais, Lógicos e comandos de condição.](https://reader035.fdocument.pub/reader035/viewer/2022070311/552fc13d497959413d8dd1eb/html5/thumbnails/9.jpg)
Exemplo de Bloco
inicio {início do bloco (algoritmo)}
|| {declaração de variáveis} | {seqüência de ações}||fim. {bloco (algoritmo)}
![Page 10: ALGORITMOS – AULA 3 Operadores Relacionais, Lógicos e comandos de condição.](https://reader035.fdocument.pub/reader035/viewer/2022070311/552fc13d497959413d8dd1eb/html5/thumbnails/10.jpg)
Estrutura Sequencial
O Fluxo de Controle segue a mesma sequência linear da nossa escrita, ou seja: De cima para baixo; Da esquerda para direita
Cada ação é seguida de um ; Objetiva separar uma ação da outra Indica que a próxima ação da sequência deve ser
executada
![Page 11: ALGORITMOS – AULA 3 Operadores Relacionais, Lógicos e comandos de condição.](https://reader035.fdocument.pub/reader035/viewer/2022070311/552fc13d497959413d8dd1eb/html5/thumbnails/11.jpg)
Estrutura sequencial
início
// declaração de variáveis
// corpo do algoritmoação 1;ação 2;ação 3;
. .
ação n;
fim. // fim do algoritmo
Algoritmo 3.1 – Modelo geral
![Page 12: ALGORITMOS – AULA 3 Operadores Relacionais, Lógicos e comandos de condição.](https://reader035.fdocument.pub/reader035/viewer/2022070311/552fc13d497959413d8dd1eb/html5/thumbnails/12.jpg)
Estrutura sequencial
início// declaração de variáveisreal: N1, N2, N3, N4, // notas bimestrais
MA; // média anual// entrada de dadosleia (N1, N2, N3, N4);// processamentoMA ¬ (N1 + N2 + N3 + N4) / 4;// saída de dadosescreva (MA);
fim.
Algoritmo 3.2 - Média Aritmética
![Page 13: ALGORITMOS – AULA 3 Operadores Relacionais, Lógicos e comandos de condição.](https://reader035.fdocument.pub/reader035/viewer/2022070311/552fc13d497959413d8dd1eb/html5/thumbnails/13.jpg)
Estruturas de Seleção
São aquelas que permitem alterar o Fluxo de Execução, de forma a selecionar qual parte deve ser executada
Essa “decisão” de execução é tomada a partir de uma condição, que pode resultar apenas em Verdade ou Falsidade
Uma condição é representada por expressões relacionais ou lógicas
As estruturas de seleção podem ser classificadas em simples, compostas ou encadeadas
![Page 14: ALGORITMOS – AULA 3 Operadores Relacionais, Lógicos e comandos de condição.](https://reader035.fdocument.pub/reader035/viewer/2022070311/552fc13d497959413d8dd1eb/html5/thumbnails/14.jpg)
Seleção Simples
Quando a <condição> for verdadeira o “bloco verdade” é executado
Quando a <condição> for falsa o “bloco verdade” não é executado
se <condição> entãoinício // início do bloco verdade
comando 1;comando 2;...comando n;
fim; // fim do bloco verdadefimse;
![Page 15: ALGORITMOS – AULA 3 Operadores Relacionais, Lógicos e comandos de condição.](https://reader035.fdocument.pub/reader035/viewer/2022070311/552fc13d497959413d8dd1eb/html5/thumbnails/15.jpg)
Seleção Simples
início// declaração de variáveisreal: N1, N2, N3, N4, // notas bimestrais
MA; // média anual// entrada de dadosleia (N1, N2, N3, N4);// processamentoMA ¬ (N1 + N2 + N3 + N4) / 4;// saída de dadosescreva (MA);se (MA >= 7) então
escreva (“Aluno Aprovado !”);fimse;
fim.
Algoritmo 3.3 - Média Aritmética com Aprovação
![Page 16: ALGORITMOS – AULA 3 Operadores Relacionais, Lógicos e comandos de condição.](https://reader035.fdocument.pub/reader035/viewer/2022070311/552fc13d497959413d8dd1eb/html5/thumbnails/16.jpg)
Seleção Composta
Quando a <condição> for verdadeira o “bloco verdade” é executado
Quando a <condição> for falsa o “bloco falsidade” é executado
se <condição> entãoinício // início do bloco verdade
comando 1;comando n;
fim; // fim do bloco verdadesenão
início // início do bloco falsidadecomando 1;comando n;
fim; // fim do bloco falsidadefimse;
![Page 17: ALGORITMOS – AULA 3 Operadores Relacionais, Lógicos e comandos de condição.](https://reader035.fdocument.pub/reader035/viewer/2022070311/552fc13d497959413d8dd1eb/html5/thumbnails/17.jpg)
Seleção Composta
início// declaração de variáveisreal: N1, N2, N3, N4, // notas bimestrais
MA; // média anualleia (N1, N2, N3, N4);MA ¬ (N1 + N2 + N3 + N4) / 4;escreva (MA);se (MA >= 7) então
inícioescreva (“Aluno Aprovado !”); escreva (“Parabéns !”);
fim;senão
inícioescreva (“Aluno Reprovado !”);escreva (“Estude mais !”);
fim;fimse;
fim.
Algoritmo 3.4 - Média Aritmética com aprovação e reprovação
![Page 18: ALGORITMOS – AULA 3 Operadores Relacionais, Lógicos e comandos de condição.](https://reader035.fdocument.pub/reader035/viewer/2022070311/552fc13d497959413d8dd1eb/html5/thumbnails/18.jpg)
Seleção Encadeada
Ocorre quando uma seleção tem como ação uma outra seleção
Uma seleção encadeada pode ser: Heterogênea: Quando não é possível
identificar padrão de comportamento Homogênea: Quando é possível identificar
padrão de comportamento se – então – se: quando depois de cada então
ocorre outro se se – senão – se: quando depois de cada senão
ocorre outro se
![Page 19: ALGORITMOS – AULA 3 Operadores Relacionais, Lógicos e comandos de condição.](https://reader035.fdocument.pub/reader035/viewer/2022070311/552fc13d497959413d8dd1eb/html5/thumbnails/19.jpg)
Seleção Encadeada
Dados três valores A, B, C, verificar se eles podem ser os comprimentos dos lados de um triângulo
Caso positivo, verificar se compõem Triângulo equilátero Triângulo isósceles Triângulo escaleno
A B
C
![Page 20: ALGORITMOS – AULA 3 Operadores Relacionais, Lógicos e comandos de condição.](https://reader035.fdocument.pub/reader035/viewer/2022070311/552fc13d497959413d8dd1eb/html5/thumbnails/20.jpg)
Seleção Encadeada
Dados três valores A, B, C, verificar se eles podem ser os comprimentos dos lados de um triângulo
Caso positivo, verificar se compõem Triângulo equilátero – três lados iguais Triângulo isósceles – dois lados iguais Triângulo escaleno – todos os lados
diferentes A B
C
![Page 21: ALGORITMOS – AULA 3 Operadores Relacionais, Lógicos e comandos de condição.](https://reader035.fdocument.pub/reader035/viewer/2022070311/552fc13d497959413d8dd1eb/html5/thumbnails/21.jpg)
Seleção Encadeada
Triângulo: (A<B+C) e (B<A+C) e (C<A+B) Equilátero: (A=B) e (B=C) Isósceles: (A=B) ou (B=C) ou (A=C) Escaleno: (A<>B) e (B<>C) e (A<>C)
É triângulo?
É equilátero?
É isósceles?
É escaleno?
Ações
V V F F “Equilátero”
V F V - “Isósceles”
V F F V “Escaleno”
F - - - “Não é triângulo”
![Page 22: ALGORITMOS – AULA 3 Operadores Relacionais, Lógicos e comandos de condição.](https://reader035.fdocument.pub/reader035/viewer/2022070311/552fc13d497959413d8dd1eb/html5/thumbnails/22.jpg)
Seleção Encadeada Heterogênea
iníciointeiro: A, B, C; // tamanho dos ladosleia (A, B, C);se (A<B+C) e (B<A+C) e (C<A+B) então
se (A=B) e (B=C) entãoescreva (“Triangulo Equilátero”);
senãose (A=B) ou (B=C) ou (A=C) então
escreva (“Triângulo Isósceles”);senão
escreva (“Triangulo Escaleno”);fimse;
fimse;senão
escreva (“Estes valores não formam um triângulo”);fimse;
fim.
Algoritmo 3.5 – Tipos de Triângulo
![Page 23: ALGORITMOS – AULA 3 Operadores Relacionais, Lógicos e comandos de condição.](https://reader035.fdocument.pub/reader035/viewer/2022070311/552fc13d497959413d8dd1eb/html5/thumbnails/23.jpg)
Seleção Encadeada Homogênea
se – então – se se <Cond1> então
se <Cond2> então se <Cond3> então
se <Cond4> então W;fimse;
fimse; fimse;
fimse;
É equivalente a:se <Cond1> e <Cond2> e <Cond3> e <Cond4> então W;fimse;
Cond1 Cond2 Cond3 Cond4 Ação
V V V V W
![Page 24: ALGORITMOS – AULA 3 Operadores Relacionais, Lógicos e comandos de condição.](https://reader035.fdocument.pub/reader035/viewer/2022070311/552fc13d497959413d8dd1eb/html5/thumbnails/24.jpg)
Seleção Encadeada Homogênease X=V1 então
C1;fimse;se X=V2 então
C2;fimse;se X=V3 então
C3;fimse;se X=V4 então
C4;fimse;
X=V1 X=V2 X=V3 X=V4 Ação
V F F F C1
F V F F C2
F F V F C3
F F F V C4
se X=V1 então C1;senão se X=V2
então C2; senão se X=V3
então C3; senão se X=V4
então C4; fimse;
fimse;fimse;
fimse;
X=V1 X=V2 X=V3 X=V4 Ação
V - - - C1
F V - - C2
F F V - C3
F F F V C4
se – senão – se
![Page 25: ALGORITMOS – AULA 3 Operadores Relacionais, Lógicos e comandos de condição.](https://reader035.fdocument.pub/reader035/viewer/2022070311/552fc13d497959413d8dd1eb/html5/thumbnails/25.jpg)
Seleção de Múltipla Escolha
Seleções encadeadas homogêneas se-senão-se são bastante frequentes para o tratamento de listas de valor
Para simplificar a escrita, pode-se utilizar o comando escolha.
Adaptando o algoritmo anterior:escolha X
caso V1: C1;caso V2: C2;caso V3: C3;caso V4: C4;
fimescolha;
![Page 26: ALGORITMOS – AULA 3 Operadores Relacionais, Lógicos e comandos de condição.](https://reader035.fdocument.pub/reader035/viewer/2022070311/552fc13d497959413d8dd1eb/html5/thumbnails/26.jpg)
Seleção de Múltipla Escolha Construa um algoritmo que, tendo como dados de
entrada o preço de um produto e seu código de origem, mostre o preço junto de sua procedência
Caso o código não seja nenhum dos especificados, o produto deve ser encarado como importado
Siga a tabela de códigos abaixoCódigo de origem Procedência
1 Sul
2 Norte
3 Leste
4 Oeste
5 ou 6 Nordeste
7, 8 ou 9 Sudeste
10 até 20 Centro-oeste
25 até 30 Nordeste
![Page 27: ALGORITMOS – AULA 3 Operadores Relacionais, Lógicos e comandos de condição.](https://reader035.fdocument.pub/reader035/viewer/2022070311/552fc13d497959413d8dd1eb/html5/thumbnails/27.jpg)
Seleção de Múltipla Escolha
inícioreal: Preço;inteiro: Origem;leia (Preço, Origem);escolha Origem
caso 1: escreva (Preço, “ – produto do Sul”);caso 2: escreva (Preço, “ – produto do Norte”);caso 3: escreva (Preço, “ – produto do Leste”);caso 4: escreva (Preço, “ – produto do Oeste”);caso 7, 8, 9: escreva (Preço, “ – produto do Sudeste”);caso 10..20: escreva (Preço, “ – produto do Centro-Oeste”);caso 5, 6, 25..50: escreva (Preço, “ – produto do Nordeste”);caso contrário: escreva (Preço, “ – produto importado”);
fimescolha;fim.
Algoritmo 3.6 – Múltipla Escolha