Baixe o app para aproveitar ainda mais
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 *
Compartilhar