Buscar

Slide Estrutura Condicional - Prof Marcela UIT

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

*
*
Estrutura condicional
Aula 09
Prof: Marcela Ramirez Arenas - marcelaramirez@uit.br
*
*
Sequencia simples;
Alternativa Condicional;
Repetição
*
*
Sequencia de Processos
Processos : Esta forma é responsável pela atribuição de valores a uma determinada variável partindo de uma determinada expressão aritmética. Deixa apenas a entrada e saída de um conector 
*
*
Qualquer expressão cujo resultado seja falso ou verdadeiro (ou seja, do tipo lógico)
Símbolo – Decisão
Exige a saída de 2 conectores, um para o sim e outro para o não
*
*
Não
Sim
*
*
*
*
Os operadores relacionais fornecem como resultado um valor lógico (verdadeiro ou
falso), sendo somente possível utilizá-los para efectuar comparações:
Se os operandos forem numéricos a comparação é feita com base no seu valor.
Se os operandos forem texto a comparação é feita lexicograficamente.
Se os operandos forem lógicos apenas estão disponíveis a igualdade e a Diferença.
*
*
Construa um algoritmo em fluxograma que leia dois valores numéricos e efetue a adição; caso o resultado seja maior que 10, apresentá-lo. Senão escreva ‘menor que 10’.
*
*
A estrutura condicional - (Se...entao...senao) - é caracterizada pela avaliação de uma condição e se a condição for verdadeira, efetua uma sequência de ações (instruções referentes ao entao), caso a condição seja falsa efectua outra série de ações (instruções referentes ao senao). A condição deve ser uma variável lógica ou uma expressão com resultado lógico (operadores lógicos ou relacionais).
Sintaxe:	 se [condição] entao     			[instruções] 		senao     			[instruções] 		fimSe 
Ou: 
		se [condição] entao     			[instruções] 		fimSe 
Condição
Instruções
Instruções
Não
Sim
*
*
Atenção: No Fluxograma lembre que:
 Igual : ==
 Diferente: ~=
*
*
Inicio
 variavel real P, H, IMC
 Escrever “Entre com o peso e 
 altura da pessoa para calcular o IMC \n”
 Ler P, H
 IMC <- P/H^2
 Se IMC > 30 então
 Escrever “Acima do Peso, IMC é \t”, IMC
 fimse
Fim
Transcreva o Fluxograma para o Portugol
*
*
Inicio
 Variavel inteiro A,B,S
 Escrever “Digite dois números”
 Ler A,B
 S <- A + B
 Se S > 10 entao
 Escrever “Resultado”, S
 senão
 Escrever “Menor que 10”
 fimse
Fim
Transcreva o Fluxograma para o Portugol
*
*
Construa um algoritmo em fluxograma e Portugol que determine se um dado número N (recebido através do teclado) é par ou ímpar.
sim
não
FIM
Inicio
 Inteiro A, Resto
 Escrever “Digite um numero”
 Ler A
 Resto <- A % 2
 Se resto = 0 então
 Escrever “Par”
 Senão
 Escrever “Impar”
 Fimse
Fim
 
 
*
*
Escreva um algoritmo em fluxograma e Portugol que leia do teclado dois números: dividendo e divisor. O Algoritmo deve testar se o divisor é 0 , caso afirmativo deverá apresentar na tela a mensagem “Operação ilegal”, caso negativo calcular o quociente e o resto da divisão. O algoritmo deve mostrar o quociente, se o resto for maior de 0 deve mostrar o resto também.
*
*
Sim
ESCREVER 
(‘Quociente’,Q)
Q = DIVIDENDO/DIVI
 ESCREVER (‘Digite dois números, 
o primeiro será o dividendo e o segundo o divisor’)
DIVI == 0 ?
Não
R = DIVIDENDO % DIVI
Não
Sim
FIM
*
*
inicio
 inteiro dividendo , divisor , quociente , resto
 escrever "Entre com um número para o Dividendo e outro para o Divisor \n"
 ler dividendo , divisor
 se divisor = 0 entao
 escrever "Operação Ilegal"
 senao
 quociente <- dividendo / divisor
 escrever "O Quociente é \t" , quociente
 resto <- dividendo % divisor
 se resto > 0 entao
 escrever "\n O Resto É \t" , resto
 fimse
 fimse
fim
*
*
inicio
 inteiro idade <- 0
 texto nome <- ""
 escrever "entre com a sua idade \t"
 ler idade
 escrever "entre com a seu nome\t"
 ler nome
 se idade < 18 entao
 escrever "Olá ", nome, "Você é menor de Idade"
 senao
 escrever "Bom dia ", nome, "\t Você é maior de Idade"
 fimse
fim
*
*
Exemplo de várias instruções encadeadas:
 se [condição] entao [instruções] senao
 se [condição] então     		 se [condição] entao     			[instruções] 		fimSe 
	senao     		[instruções] 	fimSe 	[instruções] fimSe 
Condição
Instruções
1
Não
Sim
Condição
Instruções
Instruções
Sim
Não
*
*
Construa um algoritmo em fluxograma e em Portugol que determine se um dado número N (recebido através do teclado) é positivo, negativo ou nulo.
Inicio
 inteiro A
 Escrever “Entre com um numero”
 Ler A
 Se A = 0 então
 Escrever “Nulo”
 senão
 Se A > 0 então
 Escrever “Positivo”
 Senão
 Escrever “Negativo”
 Fimse
 Fimse
FIM
*
*
3 - Escreva um algoritmo em portugol que leia um número e informe se ele é divisível por 10, por 5 ou por 2 ou se não é divisível por nenhum deles. 
inicio
 inteiro x , r1 , r2 , r3
 escrever "entre com um número"
 ler x
 r1 <- x % 10
 r2 <- x % 5
 r3 <- x % 2
 se r1 = 0 entao
 escrever x , " é divisível por 10 , 5 e 2"
 senao
 se r2 = 0 entao
 escrever x , " é divisível por 5"
 senao
 se r3 = 0 entao
 escrever x , " é divisível por 2"
 senao
 escrever x , "não é divisível nem por 10 , nem por 5 e nem por 2"
 fimse
 fimse
 fimse
fim
*
*
Expressões lógicas são aquelas cujo resultado pode somente assumir os valores verdadeiro ou falso
Os operadores lógicos e sua ordem de precedência são mostrados na Tabela a seguir. 
*
*
Se não chover, eu saio.
Quando eu saio?
Somente quando chover for negativo (apenas 1 possibilidade).
*
*
Se chover e relampejar, eu não saio.
Quando eu não saio?
Somente quando chover e relampejar ao mesmo tempo (apenas 1 possibilidade).
*
*
Se chover ou relampejar, eu não saio.
Quando eu não saio?
Somente quando chover, somente quando relampejar ou quando chover e relampejar ao mesmo tempo (3 possibilidades).
*
*
Estes operadores e seus dados também possuem uma espécie de tabuada que mostra os resultados de operações básicas. A Tabela a seguir mostra os resultados da aplicação destes operadores à duas variáveis lógicas. 
*
*
Crie um algoritmo em fluxograma que leia a idade de uma pessoa e verifique se a pessoa pode fazer a carteira de motorista (idade >= 18) e (idade <=95) Escrever 'Você pode fazer carteira de motorista‘ senão Escrever 'Você não pode possuir carteira de motorista' .
*
*
não
sim
FIM
Usando &
*
*
não
sim
FIM
Usando I
*
*
*
*
*
*
Inicio
 variavel inteiro idade
 Escrever “Entre com a idade”
 Ler idade
 Se idade >= 18 e idade <= 95 entao
 Escrever “Você pode tirar carteira de motorista”
 senão
 Escrever “Você não pode tirar carteira de Motorista”
 fimse
fim
Inicio
 variavel inteiro idade
 Escrever “Entre com a idade”
 Ler idade
 Se idade < 18 ou idade > 95 entao
 Escrever “Você não pode tirar carteira de motorista”
 senão
 Escrever “Você pode tirar carteira de Motorista”
 fimse
fim
*
*
	Existem dois tipos básicos de estruturas condicionais:
Estrutura Condicional
Baseada numa condição
Se…Entao…Senao
Escolha múltipla
Escolhe…
Caso:
 Estrutura SE – permite a seleção entre duas alternativas dependendo de uma dada condição/expressão. A sintaxe desta estrutura
é definida do seguinte modo:
SE … ENTAO
SE … ENTAO … SENAO
 A estrutura condicional múltipla é caracterizada pela avaliação de uma condição que pode ter como resultado N valores distintos, seguindo-se a execução de uma das N sequências de acções correspondentes.
*
*
A instrução “escolhe caso” pode substituir um encadeamento de instruções “se … então … senão ….”.
Esta estrutura compara uma variavel com os valores e, se a comparação for positiva, executa as instruções do Caso, e sai.
Sintaxe: escolhe [variavel]    	 caso [valor_1],. . .,[valor_n],:         		 [instruções]     	 . . . . . . . . . . .          	 caso [valor_o],. . .,[valor_n],:         		 [instruções]        	 defeito:         		 [instruções]    	 fimescolhe 
A estrutura tem um defeito (opcional) que é executado quando todas as outras condições falharem. 
*
*
Elabore um algoritmo em Portugol para receber um número de 1 a 7 correspondente a um dia da semana e mostrar qual dia é este, caso o usuário digite um número fora do intervalo apresente uma mensagem de erro.
inicio
 variavel inteiro dia
 escrever "entre com um numero de 1 a 7 correspondente a um dia da semana \n"
 ler dia
 escolhe dia
 caso 1:
 escrever "Domingo"
 caso 2:
 escrever "Segunda-feira"
 caso 3:
 escrever "Terça-feira"
 caso 4:
 escrever "Quarta-feira"
 caso 5:
 escrever "Quinta-Feira"
 caso 6:
 escrever "Sexta-feira"
 caso 7:
 escrever "Sábado"
 defeito:
 escrever "Número Inválido, deve ser um número de 1 a 7"
 fimescolhe
fim
*
*
Escreva um algoritmo que, dependendo do número do mês e, se necessário o ano, devolva o número de dias que o mês contém. 
Na primeira solução usa-se a instrução escolhe.
Na 2ª solução usa-se um encadeamento de instruções “se… entao… senao” em vez da instrução “escolhe”.
*
*
inicio
 inteiro mes , ano , NumDias
 escrever "introduza o numero do mês: "
 ler mes
 se mes > 12 ou mes < 1 entao 
 escrever “Numero de mês inválido! "
 senao
 escolhe mes
 	caso 2:
 		escrever "introduza o ano: "
 		ler ano
 		se ano % 4 = 0 e ano % 100 =/= 0 ou ano % 400 = 0 entao
 		NumDias <- 29
 		senao
 		 NumDias <- 28
 		fimse
 	caso 4 , 6 , 9 , 11 :
 		NumDias <- 30
 	defeito :
 		NumDias <- 31
 fimescolhe
 escrever " ultimo dia : " , NumDias
 fimse
fim
*
*
inicio
 inteiro mes , ano , NumDias
 escrever "introduza o numero do mês: "
 ler mes
 se mes > 12 ou mes < 1 entao 
 escrever "mes errado! "
 senao
 se mes=2 entao
 escrever "introduza o ano: "
 ler ano
 se ano % 4 = 0 e ano % 100 =/= 0 ou ano % 400 = 0 entao
 NumDias <- 29
 senao
 NumDias <- 28
 fimse
 senao
 se mes = 4 ou mes=6 ou mes=9 ou mes=11 entao
 NumDias <- 30
 senao
 NumDias <- 31
 fimse
 fimse
 escrever " ultimo dia : " , NumDias
 fimse
fim
*

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Continue navegando