ALGORITMOS – AULA 3Operadores Relacionais, Lógicos e comandos de condição
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
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.
Operadores Lógicos
Os operadores lógicos mais utilizados são:
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;
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);
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
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
;
,
Exemplo de Bloco
inicio {início do bloco (algoritmo)}
|| {declaração de variáveis} | {seqüência de ações}||fim. {bloco (algoritmo)}
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
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
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
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
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;
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
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;
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
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
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
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
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”
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
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
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
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;
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
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