














Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Encontra documentos específicos para os exames da tua universidade
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Material sobre Lógica de Programação
Tipologia: Notas de aula
1 / 22
Esta página não é visível na pré-visualização
Não perca as partes importantes!















Material Didático do Instituto Metrópole Digital - IMDVersão 2.0 - Todos os Direitos reservados
Na aula anterior introduzimos as estruturas de decisão. Vimos que, para encontrar a solução de certos problemas, os algoritmos irão se deparar, algumas vezes, com a necessidade de tomar decisões. E essas decisões são tomadas com base em condições específicas pré- estabelecidas. Essa necessidade acaba por estabelecer desvios na execução do algoritmo. Também anteriormente classificamos as estruturas de decisão em simples, encadeadas e compostas. Conhecemos a estrutura simples e vimos exemplos básicos de estruturas encadeadas. Nesta aula, encerraremos o estudo das estruturas de decisão, contemplando a estrutura de decisão composta e as decisões de múltipla escolha. Será apresentado um novo comando, que indicará um segundo caminho, na estrutura de decisão, quando a condição pré-estabelecida não for atendida: o comando SENAO, que será utilizado na estrutura composta. Além disso, veremos que, em alguns casos, dentre várias opções de comandos, a decisão por executar um desses comandos exclui a possibilidade de executar os demais. Quando isso ocorre, o mais interessante é utilizar as estruturas de decisão de múltipla escolha. Conheceremos, portanto, o comando ESCOLHA, em que o usuário seleciona uma dentre várias opções apresentadas para determinar o final da execução do algoritmo.
Vídeo 01 - Apresentação
Vamos ver, mais uma vez, o algoritmo sobre o que fazer no sábado pela manhã.
INICIO acordar SE fizer sol ENTÃO Ir à praia SENAO Ler um livro FIMSE FIMALGORITMO
Veja que, dessa vez, tratamos de uma estrutura composta. Se a condição (fazer sol) é satisfeita, eu vou à praia. Caso contrário, faço outra coisa: leio um livro. Ou seja, a condição não sendo satisfeita, logo, eu executo outra atividade A estrutura de decisão composta obedece à seguinte sintaxe:
Inicio Se <condição> entao Comando 1 Comando 2 . . . Comando n Senao Comando 1 Comando 2 . . . Comando n fimSe Fimalgoritmo
escreval("Aluno aprovado!") //instrução com condição verdadeira senao escreval("Aluno não aprovado!") //instrução com condição falsa fimse fimalgoritmo Agora, o algoritmo pode executar uma instrução quando a condição (nota >=7) for satisfeita e outra instrução quando a condição não for satisfeita.
Vídeo 02 - Estrutura de Decisão Composta
Da mesma forma que na estrutura simples, na estrutura composta também podemos utilizar SEs encadeados. Você sabe que isso ocorre quando há várias condições a serem testadas. Veja como fica a sintaxe da
estrutura de decisão composta com seleções encadeadas:
Início se <condição> entao
Para ilustrar melhor o uso de estrutura composta encadeada, vamos incrementar um pouco mais o algoritmo da média: algoritmo "calcula média com desvio composto encadeado" var nota1:real nota2:real media:real inicio
valor de seu salário acrescido de 20%). Os funcionários que não forem solteiros e não tiverem filhos receberão um bônus de 15% de seu salário- base (ou seja, receberão o valor de seu salário mais 15%). Veja o algoritmo que calcula o bônus dos funcionários: algoritmo "Bonus natalino" var salario:real estado_civil:caracter tem_filhos:caracter inicio escreval("Digite o valor do salario: ") leia(salario) escreval("É solteiro? S ou N?") leia(estado_civil) se (estado_civil = "S") ou (estado_civil = "s") entao escreval("Você não tem direito a bônus.") escreval("Seu salario é: R$ ",salario) senao escreval("Tem filhos? S ou N?") leia(tem_filhos) se (tem_filhos = "S") ou (tem_filhos = "s") entao salario <- salario * 1. escreval("Seu salário natalino é: R$ ",salario)
senao salario <- salario * 1. escreval("Seu salário natalino é: R$ ",salario) fimse fimse fimalgoritmo No algoritmo que acabamos de escrever, perceba que, se um funcionário não é solteiro, ele pode ser casado com filhos ou sem filhos. Ou seja, temos uma estrutura de decisão composta inserida em outra estrutura de decisão composta.
Vídeo 03 - Estrutura de Decisão Composta Encadeada
escreva("Sair de casa às 2 horas da tarde.") CASO 3 escreva("Sair de casa ao meio-dia.") OUTROCASO //caso escolha opção diferente das anteriores escreva("Já que não optou, fique em casa mesmo e leia um livro.") FIMESCOLHA FIMALGORITMO Ao tentar decidir o que fazer no fim de semana, você tinha três opções: ir à praia, ir ao cinema ou ir a um churrasco. Para cada opção, há um comando diferente (nesse caso, um horário diferente para sair de casa). Isso mostra que os comandos são, como dissemos, mutuamente exclusivos. Veja que, caso você não escolha nenhuma das opções anteriores, há um comando definido por padrão (que, nesse caso, é ficar em casa e ler um livro). A sintaxe da estrutura de múltipla escolha é a seguinte:
Inicio escolha <opção> caso <opção 1> <comandos 1> caso
// se o resultado da comparação (teste de igualdade) for verdadeiro para uma das capitais acima: escreval ("É uma capital da Região Nordeste.") // se a comparação anterior não for verdadeira para nenhuma das capitais nordestinas, o algoritmo compara o nome digitado com as opções existentes no outro grupo (de capitais do Sudeste do País): caso "São Paulo", "Rio de Janeiro", "Belo Horizonte", "Vitória" // se o resultado da comparação (teste de igualdade) for verdadeiro para um deles: escreval ("É uma capital da Região Sudeste.") // caso o teste de igualdade das opções anteriores não tiver resultado verdadeiro (a capital digitada não é nenhuma das existentes), a solução default (padrão) é selecionada: outrocaso escreval ("É de outra região.") // fim da estrutura de múltipla escolha: fimescolha fimalgoritmo Através deste exercício, podemos fazer duas observações: Observação 1: a palavra reservada outrocaso pode ser entendida como um desvio, em caso do usuário escolher uma opção que não esteja entre as opções existentes. Sua utilização é opcional. Observação 2: para uma melhor fixação, evite copiar e colar o texto da aula. Prefira reescrever o algoritmo no VisuAlg. Dessa forma, você ficará mais familiarizado com a sintaxe e, logo, sua habilidade em utilizar a estrutura será melhorada.
Algoritmo “decisaoEncadeada” Var opcao:inteiro inicio leia (opcao) se opcao=1 entao escreval ("praia") senao se opcao = 2 entao escreval ("cinema") senao se opcao = 3 entao escreval ("churrasco")
Algoritmo “multiplaEscolha” Var opcao:inteiro inicio leia (opcao) escolha opcao caso 1 escreval ("praia") caso 2 escreval ("cinema") caso 3 escreval ("churrasco") outrocaso
Se você compreendeu tudo o que vimos até agora sobre as estruturas de decisão, pode estar se perguntando: "Mas, essa estrutura de múltipla escolha não é a mesma coisa que uma estrutura de decisão composta encadeada?" De fato, elas podem ser similares. Os dois algoritmos a seguir fazem a mesma coisa:
Pode testar mais de um valor ao mesmo tempo. Ou seja, podem ser utilizadas expressões relacionais.
Só pode testar igualdade e só testa um valor por vez, por isso, não pode utilizar expressões lógicas ou relacionais
Há, também, outra diferença básica entre as duas estruturas, que pode determinar quando utilizar uma ou outra:
Nesta aula, encerramos o estudo das estruturas de decisão. Conhecemos a estrutura de decisão composta e vimos que essa estrutura se caracteriza pela existência de um caminho alternativo, caso a condição pré-estabelecida não tenha sido atendida. Vimos também que esse caminho alternativo é precedido pela palavra reservada SENAO, na sintaxe da estrutura. Além disso, vimos as estruturas de múltipla escolha, com o comando ESCOLHA e conhecemos os comandos e a sintaxe dessa estrutura. Além disso, aprendemos que os algoritmos escritos com essa
estrutura poderiam utilizar, também, a estrutura de decisão composta encadeada. Apesar disso, notamos que há diferenças importantes que podem determinar quando é mais conveniente utilizar uma ou outra.