Lógica de Programação e Algoritmos

Documentos relacionados
Lógica de Programação e Algoritmos

ALGORITMOS COM SELEÇÃO 1 - ESTRUTURA CONDICIONAL (ESTRUTURAS DE CONTROLE)

Aula 16 Estruturas de Controle. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes

Lógica Aula 3. Definição. Estrutura de decisão

ALGORITMOS COM SELEÇÃO 1 - ESTRUTURA CONDICIONAL (ESTRUTURAS DE CONTROLE)

Prof. Jorge Cavalcanti

Professor Mauricio Lederer Algoritmos. Entrada e saída de dados

7 Comandos e Estruturas de Controle

UNIDADE 4 ESTRUTURAS DE CONTROLE

ESTRUTURA CONDICIONAL E SELEÇÃO

Algoritmos I Aula 8 Estrutura de controle: seleção

Aula 7: Estrutura de Decisão

Estruturas de Decisão

Algoritmos e Programação

Linguagem de Programação. Tutorial 3 Os comandos if, else e else if

Conceitos Básicos de Algoritmos

Algoritmos e Lógica de Programação 80 horas // 4 h/semana. Exercício... Para começar... Resolução... Para começar... Para começar...

Estruturas de Decisão

Introdução à Lógica de Programação Aula 2. Adaptação de Luis Otavio Alvares

Processamento Sequencial e Condicional

Algoritmos Estrutura Condicional

PSEUDO-CÓDIGO. Nickerson Fonseca Ferreira

Conceitos básicos de algoritmos

AULA 04 ESTRUTURA CONDICIONAL

ESTRUTURAS DE REPETIÇÃO - PARTE 1

Aula 3 Oficina de Programação Algoritmos - Parte 2. Profa. Elaine Faria UFU

Estruturas de Seleção Seleção Simples e Composta (parte 1)

INFORMÁTICA APLICADA AULA 02 ALGORITMOS

CAPÍTULO 4 ESTRUTURAS DE CONTROLE

Universidade Federal de Uberlândia Faculdade de Computação. Linguagem C: Operadores relacionais e lógicos estruturas condicionais If...

Estruturas de Controle de Fluxo Estruturas de Seleção. Givanaldo Rocha

LINGUAGEM C: COMANDOS DE REPETIÇÃO

Programação Estruturada Aula VisualG

Agenda. Programação estruturada. Sequência. Decisão: Desvio de fluxo INTRODUÇÃO. Expressões lógicas.

Programação Estruturada

Estruturas de Controle de Fluxo Pseudocódigo/Exercício Construa o pseudocódigo de um algoritmo para obter o resultado da divisão de dois números

Fundamentos de Programação 1

ALGORITMOS E LÓGICA DE PROGRAMAÇÃO PRÉ AULA DIAGNÓSTICO 22/10/2015. Analise o algoritmo a seguir e depois assinale a alternativa correspondente:

Introdução à Programação

Estruturas Condicionais. Tiago Alves de Oliveira

AULA 07. HABILIDADES TRABALHADAS: Desenvolver algoritmos utilizando laços a partir da leitura de fluxogramas ou algoritmos em portugol.

Algoritmos - 3. Alexandre Diehl. Departamento de Física - UFPel

A resposta apresentada em aula, no quadro, (em Chapin e/ou Português Estruturado) está correta?

Universidade Veiga de Almeida Algoritmos e Linguagem I

Introdução à Programação. 4ª aula. Prof. José Honorato F. Nunes

Fluxograma. Símbolo Nome Descrição

LÓGICA DE PROGRAMAÇÃO. PROFª. M.Sc. JULIANA H Q BENACCHIO

- Aula 01, 02, 03 e 04 Apresentação da disciplina.

Introdução a Computação

Portugol. Tiago Alves de Oliveira

PDA - Repetição. Estruturas de repetição. Slides adaptação de Deise Saccol

CAPÍTULO IV. Estruturas Condicionais CAPÍTULO IV ESTRUTURAS CONDICIONAIS ESTRUTURA CONDICIONAL SIMPLES

CAPÍTULO IV. Estruturas Condicionais CAPÍTULO IV ESTRUTURAS CONDICIONAIS ESTRUTURA CONDICIONAL SIMPLES

Universidade Federal de Uberlândia Faculdade de Computação. Expressões aritméticas, relacionais e lógicas Estruturas condicionais

Aula 5 Controle do Fluxo de Execução

Oficina de Introdução de Programação usando Linguagem Python Prof. Ms. Perini

LINGUAGEM ALGORÍTMICA

COMANDOS DE REPETIÇÃO (ENQUANTO, REPITA E PARA)

08/05/2012. Tipos de dados. Tipos de dados. Elementos Básicos. Tipos de dados. Elementos Básicos Tipos de dados. Dados e seus tipos:

Programação Procedimental

Pseudocódigo Exercício 6

Português Estruturado (VISUALG)

Lógica e Linguagem de Programação Aula 03 - Estruturas de controle Estrutura Condicional - Exercícios Resolvidos Professor: Danilo Giacobo

Algoritmos I Aula 5 Visualg

Aula 5 -Algoritmos Estruturas de Controle (Estruturas de Seleção)

UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE DEPARTAMENTO DE INFORMÁTICA E MATEMÁTICA APLICADA. DIM0320 Algoritmos e Programação de Computadores

Pseudocódigo Exercício 6

INFORMÁTICA APLICADA AULA 06 ALGORITMOS

CAPÍTULO 3 INSTRUÇÕES BÁSICAS

Aula 4 Oficina de Programação Algoritmos - Parte 3. Profa. Elaine Faria UFU

Programação de Computadores I Estruturas de Decisão PROFESSORA CINTIA CAETANO

Oficina de Python Prof. Me. José Carlos Perini

Programação de Computadores III

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPI JOÃO CÂMARA COMANDOS DE DESVIO

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO PARTE II. Prof. Dr. Daniel Caetano

Amanda Gondim de Oliveira

Comandos de desvio de fluxo. Expressões lógicas.

Introdução aos Algoritmos

Algoritmo e Programação Matemática

Introdução a programação Comandos de repetição

Programação de Computadores:

Estruturas Condicionais

ESTRUTURAS DE REPETIÇÃO

Introdução aos Algoritmos

EXPRESSÕES ARITMÉTICAS PARTE 1

Oficina de Python Prof. Me. José Carlos Perini

ALGORITMOS AULA 1. Profª Amanda Gondim

Estrutura Condicional

Introdução a programação Controle de Fluxo

Linguagem C. Programação Estruturada. Estruturas de Controle. Prof. Luis Nícolas de Amorim Trigo

Lógica de Programação e Algoritmos. Prof. André Y. Kusumoto

Transcrição:

Lógica de Programação e Algoritmos Professores autores Nélio Alessandro Azevedo Cacho Keivilany Janielle de Lima Coelho Aula 7 Estruturas de decisão simples SE Na aula 6 (Controle de fluxo de execução: estrutura sequencial), falamos acerca da necessidade do controle de fluxo de execução para definir a ordem em que os comandos do algoritmo serão executados E foi a partir dessa necessidade que surgiu o conceito de estruturas de controle Você viu que os algoritmos que utilizamos como exemplos, até agora, utilizam a estrutura sequencial, que é uma estrutura simples, com comandos básicos e sem desvios na execução Porém, na programação de computadores, você irá se deparar com diferentes tipos de problemas, originados por necessidades diversas Nesta aula, você verá que, muitas vezes, existirá a necessidade de estabelecer desvios na execução dos comandos Esses desvios devem ocorrer quando houver uma decisão a ser tomada Ou seja, quando houver dois caminhos possíveis, o algoritmo terá que decidir qual dos dois caminhos irá seguir para atingir a solução do problema É dessa forma que introduzimos as estruturas de decisão A estrutura de decisão pode ser simples, encadeada ou composta Nesta aula, você conhecerá as estruturas de decisão simples e construirá algoritmos utilizando-as Objetivos Ao final desta aula, você será capaz de: Identificar a estrutura de decisão simples e seus comandos, reconhecendo sua sintaxe; Conhecer as formas de se trabalhar com estruturas de decisão simples e encadeadas; Construir algoritmos completos utilizando tais estruturas Estrutura de decisão As estruturas de decisão são também denominadas estruturas de seleção ou condicionais Nesse tipo de estrutura de controle, há uma decisão a ser tomada, sempre com base em uma condição específica, pré-estabelecida Ou seja, de acordo com uma determinada condição, o algoritmo decide, entre dois caminhos possíveis, qual ele irá executar Como já dissemos na apresentação, a estrutura de decisão pode ser simples, encadeada ou composta Vamos conhecer cada um desses tipos Estrutura de decisão simples A estrutura de decisão simples executa um comando ou bloco de comandos se a condição for verdadeira Se a condição for falsa, a estrutura é finalizada sem executar comandos O comando básico que define a estrutura de decisão é representado pela palavra reservada SE Veja o algoritmo abaixo, sobre o que fazer no sábado pela manhã: SE fizer sol ENTÃO Veja que, no exemplo, tratamos de uma estrutura simples Se a condição (fazer sol) é satisfeita, eu vou à praia Caso contrário, não faço nada (nenhum comando é executado, caso a condição não seja atendida) A estrutura de decisão obedece à seguinte sintaxe: PSEUDOCÓDIGO FLUXOGRAMA Inicio Comando 1 Comando 2 Comando n http://wwwmetropoledigitalufrnbr/aulas/disciplinas/logica/aula_07html 1/5

Fimalgoritmo O termo condição, nessa estrutura, representa uma expressão lógica Você deve recordar que uma expressão lógica só pode assumir dois possíveis resultados: verdadeiro ou falso Esse resultado, na estrutura de decisão, determina qual caminho o algoritmo vai escolher Ou seja, dependendo do resultado da expressão lógica, o algoritmo segue para esse ou aquele caminho Vamos analisar o algoritmo da média mais uma vez Só que, dessa vez, com comandos de desvios ALGORITMO PARA CALCULAR MÉDIA ARITMÉTICA DE UM ALUNO E DIZER SE O MESMO FOI APROVADO algoritmo "calcula média com desvio" nota1:real nota2:real media:real escreval ("Digite o valor da primeira nota:") leia (nota1) escreval ("Digite o valor da segunda nota:") leia (nota2) media <- (nota1 + nota2)/2 escreval ("A média é =",media) se media >= 7 entao escreval ("Aluno aprovado!") Estrutura de decisão Observe que, dessa vez, inserimos um desvio condicional ao algoritmo da média Se o aluno obteve média igual ou superior a 70, então, ele foi aprovado Importante: da mesma forma que o algoritmo tem um início e um fim, a estrutura de decisão também deve ser devidamente inicializada e finalizada Veja, em nossos exemplos, que o comando SE é chamado no início e o comando é chamado ao final da execução dessa estrutura Atividade 1 1 O que caracteriza as estruturas de decisão? 2 Qual a sintaxe dessa estrutura? 3 Que tipo de expressão representa a condição estabelecida antes da tomada de decisão nessa estrutura? 4 Elabore um algoritmo que leia um número e informe se ele é par ou ímpar Estrutura de decisão simples encadeada Vamos ver novamente o algoritmo sobre o que fazer no sábado pela manhã: SE fizer sol ENTÃO // do primeiro SE SE tiver dinheiro ENTÃO // do segundo SE http://wwwmetropoledigitalufrnbr/aulas/disciplinas/logica/aula_07html 2/5

//fim do segundo SE //fim do primeiro SE Antes, tínhamos uma condição para ir à praia no sábado pela manhã: fazer sol Agora, além do sol, a nossa ida à praia depende de outro importante fator: ter dinheiro Temos, então, não só uma, mas duas condições Da mesma forma, você verá, em alguns algoritmos, a necessidade de atender a mais de uma condição ao mesmo tempo Para atender a duas ou mais condições simultâneas, utilizamos a estrutura de decisão encadeada, que podemos chamar de SE s encadeados ou SE s aninhados Veja como fica a sintaxe da estrutura de decisão simples com seleções encadeadas: PSEUDOCÓDIGO FLUXOGRAMA Inicio Comando 1 Comando 2 Comando n Fimalgoritmo Observe que cada SE, na estrutura encadeada, tem a sua devida finalização, ou seja, cada SE tem o seu respectivo É extremamente importante que você esteja atento a esse detalhe, pois o compilador sempre associará o ao SE que estiver mais próximo E se você se esquecer de finalizar um bloco de comandos de decisão, um erro será gerado e o seu algoritmo não será executado Vamos resolver o problema a seguir Exercício Resolvido 1 Escreva um algoritmo que solicite ao usuário que digite os tamanhos de três lados de um triângulo e informe se os lados de fato compõem um triângulo Lembre-se de que, em um triângulo, cada lado é menor que a soma dos outros dois lados Resolução: algoritmo "triangulo" lado1, lado2, lado3 : inteiro escreval ("Digite o valor do primeiro lado: ") leia (lado1) escreval ("Digite o valor do segundo lado: ") leia (lado2) escreval ("Digite o valor do terceiro lado: ") leia (lado3) se (lado3<lado1+lado2) entao se (lado2<lado1+lado3) entao se (lado1<lado2+lado3) entao escreval ("Os lados formam um triângulo") http://wwwmetropoledigitalufrnbr/aulas/disciplinas/logica/aula_07html 3/5

A área destacada em amarelo, no algoritmo, mostra a estrutura de decisão encadeada Lembre-se da finalização de cada SE Execute esse algoritmo no VisuAlg Agora, observe: SE fizer sol SE tiver dinheiro SE (fizer sol) E (tiver dinheiro) O que cada um dos algoritmos acima faz? Observando os algoritmos acima, você pode concluir que um SE encadeado pode, algumas vezes, ser equivalente a um SE simples, com a utilização de duas expressões lógicas combinadas Você se lembra que os operadores lógicos E, NÃO e OU são utilizados para combinar duas ou mais expressões relacionais ou lógicas? No algoritmo da direita, vemos uma combinação de duas expressões que podem ter por resultado um valor verdadeiro ou falso Está fazendo sol? Além disso, tenho dinheiro? Se as duas condições forem atendidas, eu vou à praia Ou seja, utilizamos apenas um comando SE, porém com uma expressão combinada Já no algoritmo da esquerda, como vimos anteriormente, ocorre o mesmo, porém, utilizamos dois comandos SE separadamente Veja que o código exibido na área destacada, no algoritmo do triângulo, que resolvemos há pouco, poderia ser substituído, sem alterações no resultado final, pelo seguinte código: se (lado3<lado1+lado2) e (lado2<lado1+lado3) e (lado1<lado2+lado3) então escreval ("Os lados formam um triângulo") Existem, porém, casos de estruturas encadeadas que NÃO PODEM ser substituídas por combinações de expressões lógicas Isso ocorre quando, após o teste da primeira condição, há algum comando ou bloco de comandos, que deve ser executado antes do teste da condição seguinte Por exemplo: SE fizer sol ENTÃO eu vou à praia SE tiver muita gente lá ENTAO Eu vou ao clube SE SE No exemplo, não poderíamos utilizar a expressão: Se fizer sol E Se tiver muita gente lá, pois só vou até a praia se fizer sol Mas, só posso saber se tem muita gente lá, depois que eu tiver ido Ou seja, só posso testar a segunda condição após a execução do comando que depende da primeira Vejamos outro exemplo Exercício Resolvido 2 Fazer um algoritmo para calcular o dobro de um número inteiro, caso seja par e, caso o dobro seja menor do que 10, escrever o seu quadrado Resolução: algoritmo "quadrado do dobro" num, dobro, quadrado : inteiro escreval ("Digite um número:") leia (num) se num % 2 = 0 entao dobro <- num * 2 escreval ("O dobro do número digitado é: ",dobro) http://wwwmetropoledigitalufrnbr/aulas/disciplinas/logica/aula_07html 4/5

se dobro < 10 entao quadrado <- dobro * dobro escreval ("O quadrado do dobro é: ",quadrado) Veja que a segunda condição (dobro<10) só pode ser testada após a execução do comando que determina esse dobro E esse comando depende da primeira condição (o número tem que ser par) Dessa forma, essa estrutura encadeada também não pode ser substituída por uma decisão simples com expressões lógicas combinadas Atividade 2 1 Quais as formas possíveis de se atender a duas condições simultâneas na hora de construir um algoritmo? 2 Qual a sintaxe da estrutura de decisão encadeada? 3 Escreva um algoritmo que leia a idade, o sexo e a altura de um candidato a uma vaga de um concurso para policial militar e exiba se ele está classificado Para o candidato ser classificado, tem que ser maior de 18 anos, ser do sexo masculino e ter mais de 160m de altura Utilize a estrutura de decisão encadeada para construir esse algoritmo 4 Escreva o algoritmo do item anterior, utilizando apenas um comando SE com expressões lógicas combinadas Resumo Nesta aula, você viu o conceito de estruturas de decisão, viu também a sua sintaxe e comandos básicos e estudou sobre a classificação dessas estruturas Você viu, através de exemplos, as estruturas de decisão simples e encadeadas, lembrando da importância em sempre finalizar os comandos que foram inicializados Você aprendeu, portanto, o que caracteriza uma estrutura de decisão, conheceu a sua sintaxe e identificou que tipos de problemas podem ser resolvidos com a utilização dessa estrutura Autoavaliação 1 O que caracteriza uma estrutura de decisão simples? 2 Quando devemos utilizar uma estrutura de decisão simples encadeada? 3 Qual a sintaxe para a estrutura de decisão simples? E para a estrutura de decisão simples encadeada? Apresente exemplos simples em pseudocódigo 4 O que ocorre se esquecermos de finalizar um comando SE que foi inicializado? 5 Escreva um algoritmo que leia o peso e a altura de uma pessoa e diga se ela está no peso ideal O cálculo do Índice de Massa Corpórea (IMC) de uma pessoa é obtido pela divisão entre o valor do seu peso e o quadrado do valor da sua altura O valor do IMC para o peso ideal deve estar entre 20 e 25 6 Escreva um algoritmo que, a partir de um mês fornecido (número inteiro de 1 a 12), escreva o nome do mês por extenso 7 Apresente dois exemplos de algoritmos com estruturas encadeadas que NÃO PODEM ser substituídas por estruturas simples com expressões lógicas combinadas 8 Apresente outros dois exemplos de estruturas encadeadas que PODEM ser substituídas por estruturas simples com expressões lógicas combinadas 9 Escreva um algoritmo que leia o valor do salário de um funcionário e aplique um aumento de 30% se o salário for igual ou inferior a R$500,00 Referências ALMEIDA, Albert V A Estrutura de seleção Disponível em: <http://allbertcombr/alg/aula06-estrutura_de_selecaopdf> Acesso em: 28 nov 2009 BUFFONI, Salete Apostila de algoritmo estruturado: curso de Sistemas de Informação Faculdades Integradas Anglo-Americano Rio de Janeiro, 2003 Disponível em: <http://wwwdainfctutfpredubr/~pbueno/arquivos/algoritmospdf> Acesso em: 22 nov 2009 COSTA, Yandre M e G da Algoritmos e estrutura de dados: estruturas de seleção Paraná: Universidade Estadual de Maringá, 2006 Disponível em: <http://wwwdinuembr/~yandre/fc/est_selpdf> Acesso em: 28 jan 2010 SCHROEDER, Rebeca Instruções primitivas e estruturas de controle Joinville, SC: UDESC, 2008 Disponível em: <http://wwwjoinvilleudescbr/portal/professores/rebeca/materiais/alp_5pdf> Acesso em: 13 jan 2010 Voltar Imprimir Topo http://wwwmetropoledigitalufrnbr/aulas/disciplinas/logica/aula_07html 5/5