SlideShare uma empresa Scribd logo
1 de 62
ALGORITMOS
Rodrigo Kiyoshi Saito / rodrigok@anchieta.br
Tomada de Decisões
Imagine a seguinte situação: um programa que
apresenta a média escolar de um aluno. Além de
calcular a média, o programa deve apresentar se
ele está aprovado ou reprovado.
Tomada de Decisões
Observe que será necessário verificar a média
do aluno para então tomar uma decisão no
sentido de apresentar a sua real situação:
aprovado ou reprovado. Assim sendo, torna-se
necessário utilizar os recursos de tomada de
decisão.
Desvio condicional simples
A tomada de decisão simples utiliza a instrução
se..então..fim_se. Nesta instrução, se a condição
estabelecida for verdadeira, então serão
executadas todas as instruções definidas entre
se..então e fim_se
Desvio condicional simples
depois serão executadas todas as instruções
existentes após fim_se. Se a condição
estabelecida for falsa, serão executadas as
instruções que estiverem definidas após a
instrução fim_se.
Diagrama de blocos
No diagrama de blocos a existências das letras
“S” e “N”, além das linhas com seta indicando a
direção do processamento, colocadas
juntamente com o símbolo de Decisão.
Diagrama de blocos
O “S” representa sim e está posicionado para
indicar que um determinado bloco de operações
será executado quando a condição atribuída for
verdadeira.
Diagrama de blocos
O “N” está para não e será executado quando a
condição for falsa. O símbolo do losango, ou de
Decisão deve ser utilizado em situações em que
haja a necessidade de usar uma decisão dentro
do programa.
Diagrama de blocos
Uma decisão será tomada sempre com base em
uma pergunta, com RESPOSTA = “sim”, e é essa
pergunta que deve estar indicada dentro do
símbolo de losango.
Português estruturado
se (<condição>) então
<instruções para condição verdadeira>
fim_se
Exemplo de problema com
condição
“Ler dois números numéricos inteiros, efetuar a
adição e apresentar o seu resultado caso o valor
somado seja maior que 10”.
Diagrama de blocos do
exemplo com condição
Inicio
Ler
A, B
Calcular
X A + B
1
Diagrama de blocos do
exemplo com condição
X > 10
Fim
SN
Imprimir X
1
Portugues estruturado do
exemplo de utilização de
condicionalprograma SOMA_NUMERO
var
X : inteiro
A : inteiro
B : inteiro
Portugues estruturado do
exemplo de utilização de
condicionalinício
leia A
leia B
X  A + B
se (X > 10) então
escreva X
fim_se
fim
Operadores relacionais
Ao usar uma instrução de tomada de decisão, é
necessário definir para ela uma condição, que é
o estabelecimento de uma relação lógica entre
dois elementos, podendo ser VARIÁVEL X
VARIÁVEL ou VARIÁVEL x CONSTANTE.
Operadores relacionais
Para que uma relação lógica seja definida, passa
a ser necessário usar de uma dos operadores
relacionais existentes, os quais se encontram
definidos na tabela
Operadores relacionais
Símbolo Significado
= Igual a
> Maior que
< Menor que
>= Maior ou igual a
<= Menor ou igual a
<> Diferente de
Operadores relacionais
Os operadores relacionais possuem o mesmo
nível de prioridade. Não há necessidade de se
preocupar em alterar seu nível de prioridade em
uma determinada condição.
Desvio condicional composto
Para a tomada de decisão composta irá ser
utilizada a estrutura se..então..senão..fim_se. Se
a condição estabelecida for falsa, serão
executadas todas as instruções que estiverem
definidas entre senão e fim_se. Somente após a
execução de uma das possibilidades anteriores é
que o programa executará as instruções
existentes após fim_se.
Diagrama de blocos da
condicional composta
Condiçã
o
Instruções executadas
quando a condição for
falsa
Instruções executadas
quando a condição for
verdadeira
Português estruturado
de condicional composto
se (<condição>) então
<instruções para condição verdadeira>
senão
<instruções para condição falsa>
fim_se
Exemplo de utilização de
desvio condicional composto
“Ler dois valores numéricos inteiros e efetuar a
adição. Caso o valor somado seja maior ou igual
a 10, deve ser apresentado somando a ele 5;
caso o valor somado não seja maior ou igual a
10, deve ser apresentado subtraído dele 7”.
Diagrama de blocos do
exemplo com condição
Inicio
Ler
A, B
Calcular
X A + B
Diagrama de blocos do
exemplo com condição
X > 10
SN
R  X -7 R  X + 5
Diagrama de blocos do
exemplo com condição
Fim
Imprimir X
Portugues estruturado
do exemplo utilizando
condicionalprograma SOMA_NUMERO
var
A: inteiro
B: inteiro
X: inteiro
R: inteiro
Portugues estruturado
do exemplo utilizando desvio
condicional compostoinicio
leia A,B
X  A + B
se (X >= 10) então
R  X + 5
senão
R  X -7
fim_se
escreva R
fim
Desvios condicionais
encadeados
Existem casos em que é necessário estabelecer
algumas verificações lógicas de condições
definidas sucessivamente. Nestes casos, uma
determinada ação de um programa somente
pode ser executada se um conjunto anterior de
condição for verificado.
Desvios condicionais
encadeados
A partir do momento em que uma determinada
ação é executada, ela pode também levar a
outras condições, não havendo limites. A idéia
aqui apresentada sugere a possibilidade de usar
uma condição dentro de outra condição, o que
leva a uma estrutura de decisão encadeada ou
aninhada.
Desvios condicionais
encadeados Condição 1
Instruções executadas
quando condição 1
verdadeira
Condição 2
Instruções executadas
quando condição 1 é falsa,
mas a condição 2 é
verdadeira
Instruções executadas
quando condição 1 e
condição 2 são falsas
Português estruturado de
desvios condicionais
encadeados
Neste exemplo, está sendo adotado o
encadeado para a <condição1> falsa, mas,
dependendo do problema a ser resolvido,
pode ser colocado no outro lado. Pode
ocorrer de termos a necessidade de utilizar
condições dos dois lados.
Português estruturado de
desvios condicionais
encadeados
se (<condição1>) então
<instruções para condição1 verdadeira>
senão
se (<condição2>) então
<instruções para condição2 verdadeira, porém condição1 falsa>
senão
<instruções para condição1 e condição2 falsa>
fim_se
fim_se
Português estruturado de
desvios condicionais
encadeados
Para um exemplo da utilização desta estrutura considere
o seguinte problema: “Elaborar um programa que efetue
o cálculo do reajuste de salário de um funcionário”.
Considere que o funcionário deve receer um reajuste de
15% caso seu salário seja menor que 500. Se o salário for
maior ou igual a 500, mas menor ou igual a 1000, seu
reajuste será de 10%; caso seja inda maior que 1000, o
reajuste deverá ser de 5%.
Diagrama de blocos de desvios
condicionais encadeados
Inicio
Ler
Salario
Salário
< 500
Novo_Sal  Salario * 1.15
1
2
N
S
Diagrama de blocos de desvios
condicionais encadeados1 2
Salário
<=
1000
Novo_Sal  Salario * 1.10Novo_Sal  Salario * 1.05
3
SN
Diagrama de blocos de desvios
condicionais encadeados
3
Fim
Imprimir
Novo_Sal
Português estruturado de
desvios condicionais
encadeados
programa REAJUSTA_SALARIO
var
NOVO_SAL : real
SALARIO : real
Português estruturado de
desvios condicionais
encadeados
inicio
leia SALARIO
se (SALARIO < 500) então
NOVO_SAL  SALARIO * 1.15
senão
se (SALARIO <= 1000) então
NOVO_SAL  SALARIO * 1.10
senão
NOVO_SAL  SALARIO * 1.05
fim_se
fim_se
escreva NOVO_SAL
fim
Operadores lógicos
Em algum momento pode haver necessidade de
trabalhar com mais de uma condição dentro de
uma única decisão, e fazer alguns testes lógicos
múltiplos. A menor combinação possível para este
caso é a definição de duas condições para uma
mesma decisão, mas não há limites para este tipo
de evento, podendo ser três, quatro, cinco ou mais
condições.
Operadores lógicos
Quando houver necessidade de utilizar mais de
uma condição para uma mesma tomada de
decisão deve ser utilizado um recurso bastante
peculiar, denominado operador lógico, também
conhecido como operador booleano. Os
operadores lógicos mais comuns são: .e.
(operador lógico de conjunção), .ou. (operador
lógico de disjunção) e o .não. (operador lógico de
negação).
Operador lógico: .e. (Tabela
Verdade)
Operador lógico de conjunção .e. é utilizado
quando duas ou mais condições de uma
determinada decisão necessitam ser verdadeiras
para obter-se um resultado lógico verdadeiro;
caso contrário, o resultado do valor lógico
retornado será falso. Se a primeira condição
possui valor lógico falso, a segunda condição não
precisa se avaliada. Segue tabela-verdade para
esse tipo de operador:
Operador lógico: .e. (Tabela
Verdade)
Operador .e.
Condição 1 Condição 2 Resultado
Falsa Falsa Falso
Verdadeira Falsa Falso
Falsa Verdadeira Falso
Verdadeira Verdadeira Verdadeiro
Diagrama de blocos
(representação de utilização
do .e.)
Condição
1 .e.
Condição
2
Instruções executadas se ambas as
condições forem verdadeiras
SN
Diagrama de blocos
(representação de utilização
do .e.)
Observe que o resultado é verdadeiro somente quando
todas as condições envolvidas na decisão são
verdadeiras.
O operador .e. faz com que somente seja executada uma
determinada operação se todas as condições
mencionadas forem simultaneamente verdadeiras.
Exemplo:
Português estruturado
(representação de utilização
do .e.)
programa TESTA_LOGICA_E
var
NUMERO : inteiro
inicio
leia NUMERO
se (NUMERO >=20) .e. (NUMERO <=90) então
escreva “O número está na faixa de 20 a 90”
senão
escreva “O número está fora da faixa de 20 a 90”
fim_se
fim
Operador lógico: .ou. (Tabela
Verdade)
O operador lógico de disjunção .ou. é utlizado
quando pelo menos uma de duas ou mais
condições de uma determinada decisão necessita
verdadeiro para obter-se um resultado lógico
verdadeiro, caso contrário o valor do resultado
lógico retornado será falso. Se a primeira
condição possui valor lógico verdadeiro a
segunda condição não necessita ser avaliada.
Segue tabela-verdade para esse operador:
Operador lógico: .ou. (Tabela
Verdade)
Operador .ou.
Condição 1 Condição 2 Resultado
Falsa Falsa Falso
Verdadeira Falsa Verdadeiro
Falsa Verdadeira Verdadeiro
Verdadeira Verdadeira Verdadeiro
Operador lógico: .ou. (Tabela
Verdade)
Observe que o resultado lógico é verdadeiro
quando pelo menos uma das condições
envolvidas na decisão é verdadeira.
Diagrama de blocos
(representação de utilização
do .e.)
Condição
1 .ou.
Condição
2
Instruções executadas se ao menos
uma das condições forem
verdadeiras
SN
Português estruturado
(representação de utilização
do .e.)
programa TESTE_LOGICA_OU
var
SEXO: caractere
inicio
leia SEXO
se (SEXO = “masculino”) ou (SEXO = “feminino”) então
escreva “Sexo válido”
senão
escreva “Sexo inválido”
fim_se
fim
Operador lógico: .não. (Tabela
Verdade)
O operador .não. faz com que seja executada
uma determinada ação de uma decisão
invertendo o seu resultado lógico. Se a condição
for verdadeira e possuir a sua frente o operador
.não. esta será automaticamente considerada
falsa, o inverso ocorrerá para uma condição falsa
que possua a sua frente o operador .não., que
será automaticamente considerada verdadeira.
Veja o exemplo seguinte:
Operador lógico: .não. (Tabela
Verdade)
Operador .não.
Condição Resultado
Verdadeira Falso
Falso Verdadeiro
Operador lógico: .não. (Tabela
Verdade)
O operador .não. faz com que seja executada
uma determinada operação, invertendo o
resultado lógico da condição.
Diagrama de blocos
(representação de utilização
do .não.)
.não.
Condição
Instruções executadas
caso a condição não seja
verdadeira
SN
Operador lógico: .não. (Tabela
Verdade)
O operador .não. faz com que seja executada
uma determinada ação de uma decisão,
invertendo o seu resultado lógico. Se a condição
for verdadeira e possuir a sua frente o operador
.não., será automaticamente considerada falsa. O
inverso ocorre para uma condição falsa que
possua à sua frente o operador .não., que será
automaticamente considerada verdadeira. Veja o
exemplo seguinte:
Português estruturado
(representação de utilização
do .não.)
programa TESTE_LOGICA_NAO
var
A, B, C, X: inteiro
inicio
leia A, B, C
se .não. (X > 5) então
C  (A + B) * X
senão
C  (A – B) * X
fim_se
escreva C
fim
Operador lógico: .não. (Tabela
Verdade)
O exemplo mostra, com a utilização do
operador .não., que somente será efetuado
o cálculo de C  (A + B) * X, se o valor da
variável X não for maior que 5. Qualquer
valor de 5 para baixo efetua o cálculo C 
(A + B) * X.
Prioridade de Uso dos
Operadores lógicos
Os operadores lógicos possibilitam o uso de
mais de uma condição para a tomada de
uma única decisão, quando utilizados os
operadores lógicos .e. (conjunção) e .ou.
(disjunção), ou quando há necessidade de
negar o estado lógico de uma decisão por
meio do operador lógico .não. (negação).
Prioridade de Uso dos
Operadores lógicos
Para usar adequadamente os operadores lógicos,
é necessário levar em conta a sua ordem de
prioridade. A tabela seguinte apresenta a ordem
de prioridade dos operadores lógicos
apresentados. Operador Operação Prioridade
.não. Negação 1
.e. Conjunção 2
.ou. Disjunção 3
Prioridade de Uso dos
Operadores lógicos
Por exemplo, a expressão lógica (A=B) .e.
.não. (A>5) deve ser avaliada a partir de
.não.(A>5) e somente depois de saber seu
resultado é que pode ser realizada avaliação
do restante da expressão lógica.
Prioridade de Uso dos
Operadores lógicos
Já na expressão lógica (A=1).ou.(A>=4).e.(A<=9), será
resolvida primeiro a parte da expressão submetida ao
operador lógico .e., para depois ser resolvida a parte da
expressão submetida ao operador .ou., segundo a
prioridade padrão. Mas imagine que haja necessidade
de primeiro executar a avaliação lógica da expressão,
levando em consideração que o operador .ou. seja
avaliado primeiro. Neste caso, a avaliação lógica deve
ser definida entre parênteses como sendo:
((A=1).ou.(A>=4)).e.(A<=9).

Mais conteúdo relacionado

Mais procurados

Estrutura de Dados - Aula 01 - Apresentação
Estrutura de Dados - Aula 01 - ApresentaçãoEstrutura de Dados - Aula 01 - Apresentação
Estrutura de Dados - Aula 01 - ApresentaçãoLeinylson Fontinele
 
Aula 7 - Repetição enquanto - parte 1
Aula 7 - Repetição enquanto - parte 1Aula 7 - Repetição enquanto - parte 1
Aula 7 - Repetição enquanto - parte 1Pacc UAB
 
Algoritmos - Aula 12 B - Traducao Ling C - Condicoes
Algoritmos - Aula 12 B - Traducao Ling C - CondicoesAlgoritmos - Aula 12 B - Traducao Ling C - Condicoes
Algoritmos - Aula 12 B - Traducao Ling C - CondicoesRodrigo Kiyoshi Saito
 
Apostila Lógica de Programação
Apostila Lógica de ProgramaçãoApostila Lógica de Programação
Apostila Lógica de ProgramaçãoRicardo Terra
 
Estrutura de Dados Apoio (Tabela Hash)
Estrutura de Dados Apoio (Tabela Hash)Estrutura de Dados Apoio (Tabela Hash)
Estrutura de Dados Apoio (Tabela Hash)Leinylson Fontinele
 
Aula 5 - Estruturas de seleção simples e composta - parte 1
Aula 5 - Estruturas de seleção simples e composta - parte 1Aula 5 - Estruturas de seleção simples e composta - parte 1
Aula 5 - Estruturas de seleção simples e composta - parte 1Pacc UAB
 
String Matching (Naive,Rabin-Karp,KMP)
String Matching (Naive,Rabin-Karp,KMP)String Matching (Naive,Rabin-Karp,KMP)
String Matching (Naive,Rabin-Karp,KMP)Aditya pratap Singh
 
Algoritmo Variaveis
Algoritmo   VariaveisAlgoritmo   Variaveis
Algoritmo VariaveisAndré Nobre
 
Logica programacao python-slides
Logica programacao python-slidesLogica programacao python-slides
Logica programacao python-slidesronaldo ramos
 
Testes de Caixa Branca e Métricas de Código
Testes de Caixa Branca e Métricas de CódigoTestes de Caixa Branca e Métricas de Código
Testes de Caixa Branca e Métricas de CódigoAricelio Souza
 
I. AO* SEARCH ALGORITHM
I. AO* SEARCH ALGORITHMI. AO* SEARCH ALGORITHM
I. AO* SEARCH ALGORITHMvikas dhakane
 
Adversarial search
Adversarial searchAdversarial search
Adversarial searchNilu Desai
 
Algoritmos e lp parte 4-vetores matrizes e registros
Algoritmos e lp parte 4-vetores matrizes e registrosAlgoritmos e lp parte 4-vetores matrizes e registros
Algoritmos e lp parte 4-vetores matrizes e registrosMauro Pereira
 
Ch 7 Knowledge Representation.pdf
Ch 7 Knowledge Representation.pdfCh 7 Knowledge Representation.pdf
Ch 7 Knowledge Representation.pdfKrishnaMadala1
 
Aula 4 - Teste de mesa
Aula 4 - Teste de mesaAula 4 - Teste de mesa
Aula 4 - Teste de mesaPacc UAB
 
Structural patterns
Structural patternsStructural patterns
Structural patternsHimanshu
 

Mais procurados (20)

Aula 6 - Constantes e variáveis
Aula 6 - Constantes e variáveisAula 6 - Constantes e variáveis
Aula 6 - Constantes e variáveis
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Estrutura de Dados - Aula 01 - Apresentação
Estrutura de Dados - Aula 01 - ApresentaçãoEstrutura de Dados - Aula 01 - Apresentação
Estrutura de Dados - Aula 01 - Apresentação
 
Aula 7 - Repetição enquanto - parte 1
Aula 7 - Repetição enquanto - parte 1Aula 7 - Repetição enquanto - parte 1
Aula 7 - Repetição enquanto - parte 1
 
Algoritmos - Aula 12 B - Traducao Ling C - Condicoes
Algoritmos - Aula 12 B - Traducao Ling C - CondicoesAlgoritmos - Aula 12 B - Traducao Ling C - Condicoes
Algoritmos - Aula 12 B - Traducao Ling C - Condicoes
 
Apostila Lógica de Programação
Apostila Lógica de ProgramaçãoApostila Lógica de Programação
Apostila Lógica de Programação
 
Estrutura de Dados Apoio (Tabela Hash)
Estrutura de Dados Apoio (Tabela Hash)Estrutura de Dados Apoio (Tabela Hash)
Estrutura de Dados Apoio (Tabela Hash)
 
5.1 greedy
5.1 greedy5.1 greedy
5.1 greedy
 
Aula 5 - Estruturas de seleção simples e composta - parte 1
Aula 5 - Estruturas de seleção simples e composta - parte 1Aula 5 - Estruturas de seleção simples e composta - parte 1
Aula 5 - Estruturas de seleção simples e composta - parte 1
 
String Matching (Naive,Rabin-Karp,KMP)
String Matching (Naive,Rabin-Karp,KMP)String Matching (Naive,Rabin-Karp,KMP)
String Matching (Naive,Rabin-Karp,KMP)
 
Algoritmo Variaveis
Algoritmo   VariaveisAlgoritmo   Variaveis
Algoritmo Variaveis
 
Logica programacao python-slides
Logica programacao python-slidesLogica programacao python-slides
Logica programacao python-slides
 
Recursividade
RecursividadeRecursividade
Recursividade
 
Testes de Caixa Branca e Métricas de Código
Testes de Caixa Branca e Métricas de CódigoTestes de Caixa Branca e Métricas de Código
Testes de Caixa Branca e Métricas de Código
 
I. AO* SEARCH ALGORITHM
I. AO* SEARCH ALGORITHMI. AO* SEARCH ALGORITHM
I. AO* SEARCH ALGORITHM
 
Adversarial search
Adversarial searchAdversarial search
Adversarial search
 
Algoritmos e lp parte 4-vetores matrizes e registros
Algoritmos e lp parte 4-vetores matrizes e registrosAlgoritmos e lp parte 4-vetores matrizes e registros
Algoritmos e lp parte 4-vetores matrizes e registros
 
Ch 7 Knowledge Representation.pdf
Ch 7 Knowledge Representation.pdfCh 7 Knowledge Representation.pdf
Ch 7 Knowledge Representation.pdf
 
Aula 4 - Teste de mesa
Aula 4 - Teste de mesaAula 4 - Teste de mesa
Aula 4 - Teste de mesa
 
Structural patterns
Structural patternsStructural patterns
Structural patterns
 

Semelhante a 2019-2 - Algoritmos - Aula 06 A - Tomada de Decisão

aula 04 - Logica de programacao
aula 04 - Logica de programacaoaula 04 - Logica de programacao
aula 04 - Logica de programacaoAislan Rafael
 
Curso de Java (Parte 3)
 Curso de Java (Parte 3) Curso de Java (Parte 3)
Curso de Java (Parte 3)Mario Sergio
 
Tomada de decisao - logica
Tomada de decisao - logicaTomada de decisao - logica
Tomada de decisao - logicaSedu
 
Semana 04 Estruturas Condicionais
Semana 04   Estruturas CondicionaisSemana 04   Estruturas Condicionais
Semana 04 Estruturas CondicionaisEder Samaniego
 
0000364 aula 5 estruturas de decisão
0000364 aula 5   estruturas de decisão0000364 aula 5   estruturas de decisão
0000364 aula 5 estruturas de decisãoEvelyneBorges
 
Linguagem C/C++: Condições ou expressões lógicas
Linguagem C/C++:  Condições ou expressões lógicasLinguagem C/C++:  Condições ou expressões lógicas
Linguagem C/C++: Condições ou expressões lógicasnataferraz
 
5 expressoes logicas - operadores - base binaria - operadores de bits
5   expressoes logicas - operadores - base binaria - operadores de bits5   expressoes logicas - operadores - base binaria - operadores de bits
5 expressoes logicas - operadores - base binaria - operadores de bitsRicardo Bolanho
 
mod2-mecanismos
mod2-mecanismosmod2-mecanismos
mod2-mecanismosdiogoa21
 
Lógica de Programação - Unimep/Pronatec - Aula 07
Lógica de Programação - Unimep/Pronatec - Aula 07Lógica de Programação - Unimep/Pronatec - Aula 07
Lógica de Programação - Unimep/Pronatec - Aula 07André Phillip Bertoletti
 
Eeep aderson borges phpmysql 20112020 operadores em php
Eeep aderson borges phpmysql 20112020 operadores em phpEeep aderson borges phpmysql 20112020 operadores em php
Eeep aderson borges phpmysql 20112020 operadores em phpEliane Oliveira
 
Aula de apresentação Python explicando conceitos e aplicações.
Aula de apresentação Python explicando conceitos e aplicações.Aula de apresentação Python explicando conceitos e aplicações.
Aula de apresentação Python explicando conceitos e aplicações.merciaregina6
 
Aula03 repeticao
Aula03   repeticaoAula03   repeticao
Aula03 repeticaoYuri Passos
 
Tabela verdade e desvio condicional
Tabela verdade e desvio condicionalTabela verdade e desvio condicional
Tabela verdade e desvio condicionaladrianaalme
 

Semelhante a 2019-2 - Algoritmos - Aula 06 A - Tomada de Decisão (20)

aula 04 - Logica de programacao
aula 04 - Logica de programacaoaula 04 - Logica de programacao
aula 04 - Logica de programacao
 
Cap3 icc final
Cap3 icc finalCap3 icc final
Cap3 icc final
 
Curso de Java (Parte 3)
 Curso de Java (Parte 3) Curso de Java (Parte 3)
Curso de Java (Parte 3)
 
Tomada de decisao - logica
Tomada de decisao - logicaTomada de decisao - logica
Tomada de decisao - logica
 
Semana 04 Estruturas Condicionais
Semana 04   Estruturas CondicionaisSemana 04   Estruturas Condicionais
Semana 04 Estruturas Condicionais
 
0000364 aula 5 estruturas de decisão
0000364 aula 5   estruturas de decisão0000364 aula 5   estruturas de decisão
0000364 aula 5 estruturas de decisão
 
Linguagem C/C++: Condições ou expressões lógicas
Linguagem C/C++:  Condições ou expressões lógicasLinguagem C/C++:  Condições ou expressões lógicas
Linguagem C/C++: Condições ou expressões lógicas
 
5 expressoes logicas - operadores - base binaria - operadores de bits
5   expressoes logicas - operadores - base binaria - operadores de bits5   expressoes logicas - operadores - base binaria - operadores de bits
5 expressoes logicas - operadores - base binaria - operadores de bits
 
Lógica de programação
Lógica de programaçãoLógica de programação
Lógica de programação
 
mod2-mecanismos
mod2-mecanismosmod2-mecanismos
mod2-mecanismos
 
Aula04
Aula04Aula04
Aula04
 
Algoritmo
AlgoritmoAlgoritmo
Algoritmo
 
Lista1
Lista1Lista1
Lista1
 
Lógica de Programação - Unimep/Pronatec - Aula 07
Lógica de Programação - Unimep/Pronatec - Aula 07Lógica de Programação - Unimep/Pronatec - Aula 07
Lógica de Programação - Unimep/Pronatec - Aula 07
 
Aula03 - JavaScript
Aula03 - JavaScriptAula03 - JavaScript
Aula03 - JavaScript
 
ptt
pttptt
ptt
 
Eeep aderson borges phpmysql 20112020 operadores em php
Eeep aderson borges phpmysql 20112020 operadores em phpEeep aderson borges phpmysql 20112020 operadores em php
Eeep aderson borges phpmysql 20112020 operadores em php
 
Aula de apresentação Python explicando conceitos e aplicações.
Aula de apresentação Python explicando conceitos e aplicações.Aula de apresentação Python explicando conceitos e aplicações.
Aula de apresentação Python explicando conceitos e aplicações.
 
Aula03 repeticao
Aula03   repeticaoAula03   repeticao
Aula03 repeticao
 
Tabela verdade e desvio condicional
Tabela verdade e desvio condicionalTabela verdade e desvio condicional
Tabela verdade e desvio condicional
 

Mais de Rodrigo Kiyoshi Saito

Algoritmos - Aula 16 B - Arquivos - Exercicios
Algoritmos - Aula 16 B - Arquivos - ExerciciosAlgoritmos - Aula 16 B - Arquivos - Exercicios
Algoritmos - Aula 16 B - Arquivos - ExerciciosRodrigo Kiyoshi Saito
 
Algoritmos - Aula 16 - Registros - Exercicio Enunciado
Algoritmos - Aula 16 - Registros - Exercicio EnunciadoAlgoritmos - Aula 16 - Registros - Exercicio Enunciado
Algoritmos - Aula 16 - Registros - Exercicio EnunciadoRodrigo Kiyoshi Saito
 
BD I - Aula 15 C - Manutencao de tabelas
BD I - Aula 15 C - Manutencao de tabelasBD I - Aula 15 C - Manutencao de tabelas
BD I - Aula 15 C - Manutencao de tabelasRodrigo Kiyoshi Saito
 
BD I - Aula 15 B - Criacao de tabelas
BD I - Aula 15 B - Criacao de tabelasBD I - Aula 15 B - Criacao de tabelas
BD I - Aula 15 B - Criacao de tabelasRodrigo Kiyoshi Saito
 
BD I - Aula 14 B - Exercicios - Enunciado
BD I - Aula 14 B - Exercicios - EnunciadoBD I - Aula 14 B - Exercicios - Enunciado
BD I - Aula 14 B - Exercicios - EnunciadoRodrigo Kiyoshi Saito
 
BD I - Aula 14 A - Limitando Conj Dados e Sub Selects
BD I - Aula 14 A - Limitando Conj Dados e Sub SelectsBD I - Aula 14 A - Limitando Conj Dados e Sub Selects
BD I - Aula 14 A - Limitando Conj Dados e Sub SelectsRodrigo Kiyoshi Saito
 
Algoritmos - Aula 15 - Modularizacao e Escopo de Variaveis - Exercicios Enunc...
Algoritmos - Aula 15 - Modularizacao e Escopo de Variaveis - Exercicios Enunc...Algoritmos - Aula 15 - Modularizacao e Escopo de Variaveis - Exercicios Enunc...
Algoritmos - Aula 15 - Modularizacao e Escopo de Variaveis - Exercicios Enunc...Rodrigo Kiyoshi Saito
 
Algoritmos - Aula 15 - Modularizacao e Escopo de Variaveis
Algoritmos - Aula 15 - Modularizacao e Escopo de VariaveisAlgoritmos - Aula 15 - Modularizacao e Escopo de Variaveis
Algoritmos - Aula 15 - Modularizacao e Escopo de VariaveisRodrigo Kiyoshi Saito
 
BD I - Aula 13 B - Agrupando Dados - Parte 04 - Exercicios Enunciado
BD I - Aula 13 B - Agrupando Dados  - Parte 04 - Exercicios EnunciadoBD I - Aula 13 B - Agrupando Dados  - Parte 04 - Exercicios Enunciado
BD I - Aula 13 B - Agrupando Dados - Parte 04 - Exercicios EnunciadoRodrigo Kiyoshi Saito
 
BD I - Aula 13 B - Agrupando Dados - Parte 04
BD I - Aula 13 B - Agrupando Dados  - Parte 04BD I - Aula 13 B - Agrupando Dados  - Parte 04
BD I - Aula 13 B - Agrupando Dados - Parte 04Rodrigo Kiyoshi Saito
 
BD I - Aula 13 B - Agrupando dados - Parte 04 - Exercicios Enunciado
BD I - Aula 13 B - Agrupando dados  - Parte 04 - Exercicios EnunciadoBD I - Aula 13 B - Agrupando dados  - Parte 04 - Exercicios Enunciado
BD I - Aula 13 B - Agrupando dados - Parte 04 - Exercicios EnunciadoRodrigo Kiyoshi Saito
 
BD I - Aula 13 A - Funcoes de string datas numeros e conversao - parte 03
BD I - Aula 13 A - Funcoes de string datas numeros e conversao - parte 03BD I - Aula 13 A - Funcoes de string datas numeros e conversao - parte 03
BD I - Aula 13 A - Funcoes de string datas numeros e conversao - parte 03Rodrigo Kiyoshi Saito
 
Algoritmos - Aula 13 C - Matrizes em C
Algoritmos - Aula 13 C - Matrizes em CAlgoritmos - Aula 13 C - Matrizes em C
Algoritmos - Aula 13 C - Matrizes em CRodrigo Kiyoshi Saito
 
Algoritmos - Aula 13 B - Vetores em C
Algoritmos - Aula 13 B - Vetores em CAlgoritmos - Aula 13 B - Vetores em C
Algoritmos - Aula 13 B - Vetores em CRodrigo Kiyoshi Saito
 
Algoritmos - Aula 12 A - Traducao ling C - Ent Proc Saida
Algoritmos - Aula 12 A - Traducao ling C - Ent Proc SaidaAlgoritmos - Aula 12 A - Traducao ling C - Ent Proc Saida
Algoritmos - Aula 12 A - Traducao ling C - Ent Proc SaidaRodrigo Kiyoshi Saito
 

Mais de Rodrigo Kiyoshi Saito (20)

Algoritmos - Aula 16 B - Arquivos
Algoritmos - Aula 16 B - ArquivosAlgoritmos - Aula 16 B - Arquivos
Algoritmos - Aula 16 B - Arquivos
 
Algoritmos - Aula 16 B - Arquivos - Exercicios
Algoritmos - Aula 16 B - Arquivos - ExerciciosAlgoritmos - Aula 16 B - Arquivos - Exercicios
Algoritmos - Aula 16 B - Arquivos - Exercicios
 
Algoritmos - Aula 16 - Registros - Exercicio Enunciado
Algoritmos - Aula 16 - Registros - Exercicio EnunciadoAlgoritmos - Aula 16 - Registros - Exercicio Enunciado
Algoritmos - Aula 16 - Registros - Exercicio Enunciado
 
Algoritmos - Aula 16 - Registros
Algoritmos - Aula 16 - RegistrosAlgoritmos - Aula 16 - Registros
Algoritmos - Aula 16 - Registros
 
BD I - Aula 15 C - Manutencao de tabelas
BD I - Aula 15 C - Manutencao de tabelasBD I - Aula 15 C - Manutencao de tabelas
BD I - Aula 15 C - Manutencao de tabelas
 
BD I - Aula 15 B - Criacao de tabelas
BD I - Aula 15 B - Criacao de tabelasBD I - Aula 15 B - Criacao de tabelas
BD I - Aula 15 B - Criacao de tabelas
 
BD I - Aula 15 A - Comandos DML
BD I - Aula 15 A - Comandos DMLBD I - Aula 15 A - Comandos DML
BD I - Aula 15 A - Comandos DML
 
BD I - Aula 14 B - Exercicios - Enunciado
BD I - Aula 14 B - Exercicios - EnunciadoBD I - Aula 14 B - Exercicios - Enunciado
BD I - Aula 14 B - Exercicios - Enunciado
 
BD I - Aula 14 A - Limitando Conj Dados e Sub Selects
BD I - Aula 14 A - Limitando Conj Dados e Sub SelectsBD I - Aula 14 A - Limitando Conj Dados e Sub Selects
BD I - Aula 14 A - Limitando Conj Dados e Sub Selects
 
Algoritmos - Aula 15 - Modularizacao e Escopo de Variaveis - Exercicios Enunc...
Algoritmos - Aula 15 - Modularizacao e Escopo de Variaveis - Exercicios Enunc...Algoritmos - Aula 15 - Modularizacao e Escopo de Variaveis - Exercicios Enunc...
Algoritmos - Aula 15 - Modularizacao e Escopo de Variaveis - Exercicios Enunc...
 
Algoritmos - Aula 15 - Modularizacao e Escopo de Variaveis
Algoritmos - Aula 15 - Modularizacao e Escopo de VariaveisAlgoritmos - Aula 15 - Modularizacao e Escopo de Variaveis
Algoritmos - Aula 15 - Modularizacao e Escopo de Variaveis
 
BD I - Aula 13 B - Agrupando Dados - Parte 04 - Exercicios Enunciado
BD I - Aula 13 B - Agrupando Dados  - Parte 04 - Exercicios EnunciadoBD I - Aula 13 B - Agrupando Dados  - Parte 04 - Exercicios Enunciado
BD I - Aula 13 B - Agrupando Dados - Parte 04 - Exercicios Enunciado
 
BD I - Aula 13 B - Agrupando Dados - Parte 04
BD I - Aula 13 B - Agrupando Dados  - Parte 04BD I - Aula 13 B - Agrupando Dados  - Parte 04
BD I - Aula 13 B - Agrupando Dados - Parte 04
 
BD I - Aula 13 B - Agrupando dados - Parte 04 - Exercicios Enunciado
BD I - Aula 13 B - Agrupando dados  - Parte 04 - Exercicios EnunciadoBD I - Aula 13 B - Agrupando dados  - Parte 04 - Exercicios Enunciado
BD I - Aula 13 B - Agrupando dados - Parte 04 - Exercicios Enunciado
 
BD I - Aula 13 A - Funcoes de string datas numeros e conversao - parte 03
BD I - Aula 13 A - Funcoes de string datas numeros e conversao - parte 03BD I - Aula 13 A - Funcoes de string datas numeros e conversao - parte 03
BD I - Aula 13 A - Funcoes de string datas numeros e conversao - parte 03
 
Algoritmos - Aula 13 C - Matrizes em C
Algoritmos - Aula 13 C - Matrizes em CAlgoritmos - Aula 13 C - Matrizes em C
Algoritmos - Aula 13 C - Matrizes em C
 
Algoritmos - Aula 13 B - Vetores em C
Algoritmos - Aula 13 B - Vetores em CAlgoritmos - Aula 13 B - Vetores em C
Algoritmos - Aula 13 B - Vetores em C
 
Algoritmos - Aula 13 A - Lacos em C
Algoritmos - Aula 13 A - Lacos em CAlgoritmos - Aula 13 A - Lacos em C
Algoritmos - Aula 13 A - Lacos em C
 
Algoritmos - Aula 12 A - Traducao ling C - Ent Proc Saida
Algoritmos - Aula 12 A - Traducao ling C - Ent Proc SaidaAlgoritmos - Aula 12 A - Traducao ling C - Ent Proc Saida
Algoritmos - Aula 12 A - Traducao ling C - Ent Proc Saida
 
BD I - Aula 10 A - Introducao a SQL
BD I - Aula 10 A - Introducao a SQLBD I - Aula 10 A - Introducao a SQL
BD I - Aula 10 A - Introducao a SQL
 

Último

E agora?! Já não avalio as atitudes e valores?
E agora?! Já não avalio as atitudes e valores?E agora?! Já não avalio as atitudes e valores?
E agora?! Já não avalio as atitudes e valores?Rosalina Simão Nunes
 
RedacoesComentadasModeloAnalisarFazer.pdf
RedacoesComentadasModeloAnalisarFazer.pdfRedacoesComentadasModeloAnalisarFazer.pdf
RedacoesComentadasModeloAnalisarFazer.pdfAlissonMiranda22
 
Programa de Intervenção com Habilidades Motoras
Programa de Intervenção com Habilidades MotorasPrograma de Intervenção com Habilidades Motoras
Programa de Intervenção com Habilidades MotorasCassio Meira Jr.
 
William J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdfWilliam J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdfAdrianaCunha84
 
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptxSlides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptxLuizHenriquedeAlmeid6
 
Nova BNCC Atualizada para novas pesquisas
Nova BNCC Atualizada para novas pesquisasNova BNCC Atualizada para novas pesquisas
Nova BNCC Atualizada para novas pesquisasraveccavp
 
Bullying - Texto e cruzadinha
Bullying        -     Texto e cruzadinhaBullying        -     Texto e cruzadinha
Bullying - Texto e cruzadinhaMary Alvarenga
 
Gerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalGerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalJacqueline Cerqueira
 
“Sobrou pra mim” - Conto de Ruth Rocha.pptx
“Sobrou pra mim” - Conto de Ruth Rocha.pptx“Sobrou pra mim” - Conto de Ruth Rocha.pptx
“Sobrou pra mim” - Conto de Ruth Rocha.pptxthaisamaral9365923
 
UFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdfUFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdfManuais Formação
 
Livro O QUE É LUGAR DE FALA - Autora Djamila Ribeiro
Livro O QUE É LUGAR DE FALA  - Autora Djamila RibeiroLivro O QUE É LUGAR DE FALA  - Autora Djamila Ribeiro
Livro O QUE É LUGAR DE FALA - Autora Djamila RibeiroMarcele Ravasio
 
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptxATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptxOsnilReis1
 
CD_B3_C_ Criar e editar conteúdos digitais em diferentes formatos_índice.pdf
CD_B3_C_ Criar e editar conteúdos digitais em diferentes formatos_índice.pdfCD_B3_C_ Criar e editar conteúdos digitais em diferentes formatos_índice.pdf
CD_B3_C_ Criar e editar conteúdos digitais em diferentes formatos_índice.pdfManuais Formação
 
ABRIL VERDE.pptx Slide sobre abril ver 2024
ABRIL VERDE.pptx Slide sobre abril ver 2024ABRIL VERDE.pptx Slide sobre abril ver 2024
ABRIL VERDE.pptx Slide sobre abril ver 2024Jeanoliveira597523
 
Bullying - Atividade com caça- palavras
Bullying   - Atividade com  caça- palavrasBullying   - Atividade com  caça- palavras
Bullying - Atividade com caça- palavrasMary Alvarenga
 
1.ª Fase do Modernismo Brasileira - Contexto histórico, autores e obras.
1.ª Fase do Modernismo Brasileira - Contexto histórico, autores e obras.1.ª Fase do Modernismo Brasileira - Contexto histórico, autores e obras.
1.ª Fase do Modernismo Brasileira - Contexto histórico, autores e obras.MrPitobaldo
 
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)Mary Alvarenga
 

Último (20)

E agora?! Já não avalio as atitudes e valores?
E agora?! Já não avalio as atitudes e valores?E agora?! Já não avalio as atitudes e valores?
E agora?! Já não avalio as atitudes e valores?
 
RedacoesComentadasModeloAnalisarFazer.pdf
RedacoesComentadasModeloAnalisarFazer.pdfRedacoesComentadasModeloAnalisarFazer.pdf
RedacoesComentadasModeloAnalisarFazer.pdf
 
Programa de Intervenção com Habilidades Motoras
Programa de Intervenção com Habilidades MotorasPrograma de Intervenção com Habilidades Motoras
Programa de Intervenção com Habilidades Motoras
 
William J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdfWilliam J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdf
 
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptxSlides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
 
Nova BNCC Atualizada para novas pesquisas
Nova BNCC Atualizada para novas pesquisasNova BNCC Atualizada para novas pesquisas
Nova BNCC Atualizada para novas pesquisas
 
Bullying - Texto e cruzadinha
Bullying        -     Texto e cruzadinhaBullying        -     Texto e cruzadinha
Bullying - Texto e cruzadinha
 
Gerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalGerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem Organizacional
 
“Sobrou pra mim” - Conto de Ruth Rocha.pptx
“Sobrou pra mim” - Conto de Ruth Rocha.pptx“Sobrou pra mim” - Conto de Ruth Rocha.pptx
“Sobrou pra mim” - Conto de Ruth Rocha.pptx
 
XI OLIMPÍADAS DA LÍNGUA PORTUGUESA -
XI OLIMPÍADAS DA LÍNGUA PORTUGUESA      -XI OLIMPÍADAS DA LÍNGUA PORTUGUESA      -
XI OLIMPÍADAS DA LÍNGUA PORTUGUESA -
 
Em tempo de Quaresma .
Em tempo de Quaresma                            .Em tempo de Quaresma                            .
Em tempo de Quaresma .
 
Orientação Técnico-Pedagógica EMBcae Nº 001, de 16 de abril de 2024
Orientação Técnico-Pedagógica EMBcae Nº 001, de 16 de abril de 2024Orientação Técnico-Pedagógica EMBcae Nº 001, de 16 de abril de 2024
Orientação Técnico-Pedagógica EMBcae Nº 001, de 16 de abril de 2024
 
UFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdfUFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdf
 
Livro O QUE É LUGAR DE FALA - Autora Djamila Ribeiro
Livro O QUE É LUGAR DE FALA  - Autora Djamila RibeiroLivro O QUE É LUGAR DE FALA  - Autora Djamila Ribeiro
Livro O QUE É LUGAR DE FALA - Autora Djamila Ribeiro
 
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptxATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
 
CD_B3_C_ Criar e editar conteúdos digitais em diferentes formatos_índice.pdf
CD_B3_C_ Criar e editar conteúdos digitais em diferentes formatos_índice.pdfCD_B3_C_ Criar e editar conteúdos digitais em diferentes formatos_índice.pdf
CD_B3_C_ Criar e editar conteúdos digitais em diferentes formatos_índice.pdf
 
ABRIL VERDE.pptx Slide sobre abril ver 2024
ABRIL VERDE.pptx Slide sobre abril ver 2024ABRIL VERDE.pptx Slide sobre abril ver 2024
ABRIL VERDE.pptx Slide sobre abril ver 2024
 
Bullying - Atividade com caça- palavras
Bullying   - Atividade com  caça- palavrasBullying   - Atividade com  caça- palavras
Bullying - Atividade com caça- palavras
 
1.ª Fase do Modernismo Brasileira - Contexto histórico, autores e obras.
1.ª Fase do Modernismo Brasileira - Contexto histórico, autores e obras.1.ª Fase do Modernismo Brasileira - Contexto histórico, autores e obras.
1.ª Fase do Modernismo Brasileira - Contexto histórico, autores e obras.
 
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
 

2019-2 - Algoritmos - Aula 06 A - Tomada de Decisão

  • 1. ALGORITMOS Rodrigo Kiyoshi Saito / rodrigok@anchieta.br
  • 2. Tomada de Decisões Imagine a seguinte situação: um programa que apresenta a média escolar de um aluno. Além de calcular a média, o programa deve apresentar se ele está aprovado ou reprovado.
  • 3. Tomada de Decisões Observe que será necessário verificar a média do aluno para então tomar uma decisão no sentido de apresentar a sua real situação: aprovado ou reprovado. Assim sendo, torna-se necessário utilizar os recursos de tomada de decisão.
  • 4. Desvio condicional simples A tomada de decisão simples utiliza a instrução se..então..fim_se. Nesta instrução, se a condição estabelecida for verdadeira, então serão executadas todas as instruções definidas entre se..então e fim_se
  • 5. Desvio condicional simples depois serão executadas todas as instruções existentes após fim_se. Se a condição estabelecida for falsa, serão executadas as instruções que estiverem definidas após a instrução fim_se.
  • 6. Diagrama de blocos No diagrama de blocos a existências das letras “S” e “N”, além das linhas com seta indicando a direção do processamento, colocadas juntamente com o símbolo de Decisão.
  • 7. Diagrama de blocos O “S” representa sim e está posicionado para indicar que um determinado bloco de operações será executado quando a condição atribuída for verdadeira.
  • 8. Diagrama de blocos O “N” está para não e será executado quando a condição for falsa. O símbolo do losango, ou de Decisão deve ser utilizado em situações em que haja a necessidade de usar uma decisão dentro do programa.
  • 9. Diagrama de blocos Uma decisão será tomada sempre com base em uma pergunta, com RESPOSTA = “sim”, e é essa pergunta que deve estar indicada dentro do símbolo de losango.
  • 10. Português estruturado se (<condição>) então <instruções para condição verdadeira> fim_se
  • 11. Exemplo de problema com condição “Ler dois números numéricos inteiros, efetuar a adição e apresentar o seu resultado caso o valor somado seja maior que 10”.
  • 12. Diagrama de blocos do exemplo com condição Inicio Ler A, B Calcular X A + B 1
  • 13. Diagrama de blocos do exemplo com condição X > 10 Fim SN Imprimir X 1
  • 14. Portugues estruturado do exemplo de utilização de condicionalprograma SOMA_NUMERO var X : inteiro A : inteiro B : inteiro
  • 15. Portugues estruturado do exemplo de utilização de condicionalinício leia A leia B X  A + B se (X > 10) então escreva X fim_se fim
  • 16. Operadores relacionais Ao usar uma instrução de tomada de decisão, é necessário definir para ela uma condição, que é o estabelecimento de uma relação lógica entre dois elementos, podendo ser VARIÁVEL X VARIÁVEL ou VARIÁVEL x CONSTANTE.
  • 17. Operadores relacionais Para que uma relação lógica seja definida, passa a ser necessário usar de uma dos operadores relacionais existentes, os quais se encontram definidos na tabela
  • 18. Operadores relacionais Símbolo Significado = Igual a > Maior que < Menor que >= Maior ou igual a <= Menor ou igual a <> Diferente de
  • 19. Operadores relacionais Os operadores relacionais possuem o mesmo nível de prioridade. Não há necessidade de se preocupar em alterar seu nível de prioridade em uma determinada condição.
  • 20. Desvio condicional composto Para a tomada de decisão composta irá ser utilizada a estrutura se..então..senão..fim_se. Se a condição estabelecida for falsa, serão executadas todas as instruções que estiverem definidas entre senão e fim_se. Somente após a execução de uma das possibilidades anteriores é que o programa executará as instruções existentes após fim_se.
  • 21. Diagrama de blocos da condicional composta Condiçã o Instruções executadas quando a condição for falsa Instruções executadas quando a condição for verdadeira
  • 22. Português estruturado de condicional composto se (<condição>) então <instruções para condição verdadeira> senão <instruções para condição falsa> fim_se
  • 23. Exemplo de utilização de desvio condicional composto “Ler dois valores numéricos inteiros e efetuar a adição. Caso o valor somado seja maior ou igual a 10, deve ser apresentado somando a ele 5; caso o valor somado não seja maior ou igual a 10, deve ser apresentado subtraído dele 7”.
  • 24. Diagrama de blocos do exemplo com condição Inicio Ler A, B Calcular X A + B
  • 25. Diagrama de blocos do exemplo com condição X > 10 SN R  X -7 R  X + 5
  • 26. Diagrama de blocos do exemplo com condição Fim Imprimir X
  • 27. Portugues estruturado do exemplo utilizando condicionalprograma SOMA_NUMERO var A: inteiro B: inteiro X: inteiro R: inteiro
  • 28. Portugues estruturado do exemplo utilizando desvio condicional compostoinicio leia A,B X  A + B se (X >= 10) então R  X + 5 senão R  X -7 fim_se escreva R fim
  • 29. Desvios condicionais encadeados Existem casos em que é necessário estabelecer algumas verificações lógicas de condições definidas sucessivamente. Nestes casos, uma determinada ação de um programa somente pode ser executada se um conjunto anterior de condição for verificado.
  • 30. Desvios condicionais encadeados A partir do momento em que uma determinada ação é executada, ela pode também levar a outras condições, não havendo limites. A idéia aqui apresentada sugere a possibilidade de usar uma condição dentro de outra condição, o que leva a uma estrutura de decisão encadeada ou aninhada.
  • 31. Desvios condicionais encadeados Condição 1 Instruções executadas quando condição 1 verdadeira Condição 2 Instruções executadas quando condição 1 é falsa, mas a condição 2 é verdadeira Instruções executadas quando condição 1 e condição 2 são falsas
  • 32. Português estruturado de desvios condicionais encadeados Neste exemplo, está sendo adotado o encadeado para a <condição1> falsa, mas, dependendo do problema a ser resolvido, pode ser colocado no outro lado. Pode ocorrer de termos a necessidade de utilizar condições dos dois lados.
  • 33. Português estruturado de desvios condicionais encadeados se (<condição1>) então <instruções para condição1 verdadeira> senão se (<condição2>) então <instruções para condição2 verdadeira, porém condição1 falsa> senão <instruções para condição1 e condição2 falsa> fim_se fim_se
  • 34. Português estruturado de desvios condicionais encadeados Para um exemplo da utilização desta estrutura considere o seguinte problema: “Elaborar um programa que efetue o cálculo do reajuste de salário de um funcionário”. Considere que o funcionário deve receer um reajuste de 15% caso seu salário seja menor que 500. Se o salário for maior ou igual a 500, mas menor ou igual a 1000, seu reajuste será de 10%; caso seja inda maior que 1000, o reajuste deverá ser de 5%.
  • 35. Diagrama de blocos de desvios condicionais encadeados Inicio Ler Salario Salário < 500 Novo_Sal  Salario * 1.15 1 2 N S
  • 36. Diagrama de blocos de desvios condicionais encadeados1 2 Salário <= 1000 Novo_Sal  Salario * 1.10Novo_Sal  Salario * 1.05 3 SN
  • 37. Diagrama de blocos de desvios condicionais encadeados 3 Fim Imprimir Novo_Sal
  • 38. Português estruturado de desvios condicionais encadeados programa REAJUSTA_SALARIO var NOVO_SAL : real SALARIO : real
  • 39. Português estruturado de desvios condicionais encadeados inicio leia SALARIO se (SALARIO < 500) então NOVO_SAL  SALARIO * 1.15 senão se (SALARIO <= 1000) então NOVO_SAL  SALARIO * 1.10 senão NOVO_SAL  SALARIO * 1.05 fim_se fim_se escreva NOVO_SAL fim
  • 40. Operadores lógicos Em algum momento pode haver necessidade de trabalhar com mais de uma condição dentro de uma única decisão, e fazer alguns testes lógicos múltiplos. A menor combinação possível para este caso é a definição de duas condições para uma mesma decisão, mas não há limites para este tipo de evento, podendo ser três, quatro, cinco ou mais condições.
  • 41. Operadores lógicos Quando houver necessidade de utilizar mais de uma condição para uma mesma tomada de decisão deve ser utilizado um recurso bastante peculiar, denominado operador lógico, também conhecido como operador booleano. Os operadores lógicos mais comuns são: .e. (operador lógico de conjunção), .ou. (operador lógico de disjunção) e o .não. (operador lógico de negação).
  • 42. Operador lógico: .e. (Tabela Verdade) Operador lógico de conjunção .e. é utilizado quando duas ou mais condições de uma determinada decisão necessitam ser verdadeiras para obter-se um resultado lógico verdadeiro; caso contrário, o resultado do valor lógico retornado será falso. Se a primeira condição possui valor lógico falso, a segunda condição não precisa se avaliada. Segue tabela-verdade para esse tipo de operador:
  • 43. Operador lógico: .e. (Tabela Verdade) Operador .e. Condição 1 Condição 2 Resultado Falsa Falsa Falso Verdadeira Falsa Falso Falsa Verdadeira Falso Verdadeira Verdadeira Verdadeiro
  • 44. Diagrama de blocos (representação de utilização do .e.) Condição 1 .e. Condição 2 Instruções executadas se ambas as condições forem verdadeiras SN
  • 45. Diagrama de blocos (representação de utilização do .e.) Observe que o resultado é verdadeiro somente quando todas as condições envolvidas na decisão são verdadeiras. O operador .e. faz com que somente seja executada uma determinada operação se todas as condições mencionadas forem simultaneamente verdadeiras. Exemplo:
  • 46. Português estruturado (representação de utilização do .e.) programa TESTA_LOGICA_E var NUMERO : inteiro inicio leia NUMERO se (NUMERO >=20) .e. (NUMERO <=90) então escreva “O número está na faixa de 20 a 90” senão escreva “O número está fora da faixa de 20 a 90” fim_se fim
  • 47. Operador lógico: .ou. (Tabela Verdade) O operador lógico de disjunção .ou. é utlizado quando pelo menos uma de duas ou mais condições de uma determinada decisão necessita verdadeiro para obter-se um resultado lógico verdadeiro, caso contrário o valor do resultado lógico retornado será falso. Se a primeira condição possui valor lógico verdadeiro a segunda condição não necessita ser avaliada. Segue tabela-verdade para esse operador:
  • 48. Operador lógico: .ou. (Tabela Verdade) Operador .ou. Condição 1 Condição 2 Resultado Falsa Falsa Falso Verdadeira Falsa Verdadeiro Falsa Verdadeira Verdadeiro Verdadeira Verdadeira Verdadeiro
  • 49. Operador lógico: .ou. (Tabela Verdade) Observe que o resultado lógico é verdadeiro quando pelo menos uma das condições envolvidas na decisão é verdadeira.
  • 50. Diagrama de blocos (representação de utilização do .e.) Condição 1 .ou. Condição 2 Instruções executadas se ao menos uma das condições forem verdadeiras SN
  • 51. Português estruturado (representação de utilização do .e.) programa TESTE_LOGICA_OU var SEXO: caractere inicio leia SEXO se (SEXO = “masculino”) ou (SEXO = “feminino”) então escreva “Sexo válido” senão escreva “Sexo inválido” fim_se fim
  • 52. Operador lógico: .não. (Tabela Verdade) O operador .não. faz com que seja executada uma determinada ação de uma decisão invertendo o seu resultado lógico. Se a condição for verdadeira e possuir a sua frente o operador .não. esta será automaticamente considerada falsa, o inverso ocorrerá para uma condição falsa que possua a sua frente o operador .não., que será automaticamente considerada verdadeira. Veja o exemplo seguinte:
  • 53. Operador lógico: .não. (Tabela Verdade) Operador .não. Condição Resultado Verdadeira Falso Falso Verdadeiro
  • 54. Operador lógico: .não. (Tabela Verdade) O operador .não. faz com que seja executada uma determinada operação, invertendo o resultado lógico da condição.
  • 55. Diagrama de blocos (representação de utilização do .não.) .não. Condição Instruções executadas caso a condição não seja verdadeira SN
  • 56. Operador lógico: .não. (Tabela Verdade) O operador .não. faz com que seja executada uma determinada ação de uma decisão, invertendo o seu resultado lógico. Se a condição for verdadeira e possuir a sua frente o operador .não., será automaticamente considerada falsa. O inverso ocorre para uma condição falsa que possua à sua frente o operador .não., que será automaticamente considerada verdadeira. Veja o exemplo seguinte:
  • 57. Português estruturado (representação de utilização do .não.) programa TESTE_LOGICA_NAO var A, B, C, X: inteiro inicio leia A, B, C se .não. (X > 5) então C  (A + B) * X senão C  (A – B) * X fim_se escreva C fim
  • 58. Operador lógico: .não. (Tabela Verdade) O exemplo mostra, com a utilização do operador .não., que somente será efetuado o cálculo de C  (A + B) * X, se o valor da variável X não for maior que 5. Qualquer valor de 5 para baixo efetua o cálculo C  (A + B) * X.
  • 59. Prioridade de Uso dos Operadores lógicos Os operadores lógicos possibilitam o uso de mais de uma condição para a tomada de uma única decisão, quando utilizados os operadores lógicos .e. (conjunção) e .ou. (disjunção), ou quando há necessidade de negar o estado lógico de uma decisão por meio do operador lógico .não. (negação).
  • 60. Prioridade de Uso dos Operadores lógicos Para usar adequadamente os operadores lógicos, é necessário levar em conta a sua ordem de prioridade. A tabela seguinte apresenta a ordem de prioridade dos operadores lógicos apresentados. Operador Operação Prioridade .não. Negação 1 .e. Conjunção 2 .ou. Disjunção 3
  • 61. Prioridade de Uso dos Operadores lógicos Por exemplo, a expressão lógica (A=B) .e. .não. (A>5) deve ser avaliada a partir de .não.(A>5) e somente depois de saber seu resultado é que pode ser realizada avaliação do restante da expressão lógica.
  • 62. Prioridade de Uso dos Operadores lógicos Já na expressão lógica (A=1).ou.(A>=4).e.(A<=9), será resolvida primeiro a parte da expressão submetida ao operador lógico .e., para depois ser resolvida a parte da expressão submetida ao operador .ou., segundo a prioridade padrão. Mas imagine que haja necessidade de primeiro executar a avaliação lógica da expressão, levando em consideração que o operador .ou. seja avaliado primeiro. Neste caso, a avaliação lógica deve ser definida entre parênteses como sendo: ((A=1).ou.(A>=4)).e.(A<=9).