UC –
Lógica de Programação
Docente: André Luiz Silva de Moraes
1º sem – Redes de Computadores
Lógica para a Programação - 1º semestre
Prof. André Moraes
7
AULA 03
Comandos e Estruturas de Controle
Na criação de algoritmos é comum utilizar conceitos de bloco lógico, entrada e saída de dados, constantes,
atribuições, expressões lógicas, aritméticas, bem como comandos que traduzam estes conceitos de forma a
representar o conjunto de ações.
Para que este conjunto de ações se torne viável, deve existir uma perfeita relação lógica intrínseca ao modo pela
qual essas ações são executadas, ao modo pelo qual é regido o fluxo de execução do algoritmo.Através das
estruturas básicas de controle do fluxo de execução, sequenciação, seleção, repetição e da combinação delas, é
possível criar algoritmos para solucionar diversos problemas.
7.1
ESTRUTURA SEQUENCIAL
7.2
ESTRUTURAS DE SELEÇÃO
Uma estrutura de seleção permite que seja escolhido um grupo de ações (bloco) a ser executado quando
determinadas condições representadas por expressões lógicas ou relacionais, são ou não satisfeitas. Na condição
das estruturas condicionais são utilizados os operadores relacionais (<, >, =, < =, > =, < >) para as comparações,
observando suas características particulares.
Em Python, os comandos IF, else, e elif (else IF) criam as condições. Em termos simples, a instrução IF do Python
seleciona ações para executar. Ela é a principal ferramenta de linguagem e representa grande parte da lógica que
um programa em Python possui.
Na teoria, temos 3 tipos de seleção: seleção simples, seleção composta e seleção encadeada.
•
A seleção simples é quando temos uma condição simples antes de executar uma ação:
•
A seleção composta é quando temos situações em que duas alternativas dependem de uma mesma
condição, uma onde a condição pode ser verdadeira e outra onde a condição pode ser falsa.
•
A seleção encadeada é quando necessitamos agrupar várias seleções formando uma série de testes.
Normalmente utilizada quando existe um grande conjunto de possibilidades ou combinações de situações.
P á g | 19
Faculdade de Tecnologia SENAC PELOTAS - Credenciado pela Portaria nº. 3.071, de 01 de outubro de 2004.
Corresponde ao fato de eu o conjunto de ações primitivas será executado em uma sequência linear de cima para
baixo e da esquerda para a direita, isto é, na mesma ordem em que foram escritas. Normalmente é utilizado o ;
(ponto e vírgula) para convencionar que após encontrar esse item no código a próxima linha deverá ser executada
no algoritmo.
UC –
Lógica de Programação
Docente: André Luiz Silva de Moraes
1º sem – Redes de Computadores
7.2.1 EXEMPLO 1 – SELEÇÃO SIMPLES Seja o seguinte programa:
Salve como temperatura.py
7.2.2 EXEMPLO 2 –SELEÇÃO COMPOSTA Notas de alunos: Criar um programa que capture 3 notas do semestre e calcule a média e a situação final do
aluno. Para a média abaixo de 7 será reprovado e do contrário aprovado. Seja o código abaixo:
Salve o arquivo com o nome notas.py
Visualização do resultado:
Este algoritmo é bastante simples, pois realiza diretamente o cálculo das médias do aluno e implementa um If para
podermos decidir sobre qual será o resultado final de suas notas.
P á g | 20
Faculdade de Tecnologia SENAC PELOTAS - Credenciado pela Portaria nº. 3.071, de 01 de outubro de 2004.
Visualização do resultado:
UC –
Lógica de Programação
Docente: André Luiz Silva de Moraes
1º sem – Redes de Computadores
Quando precisamos de mais testes para incorporar mais condições, podemos utilizar o mesmo comando IF
encadeado para podermos abranger mais situações. Vejamos no exemplo:
7.2.3 EXEMPLO 3 – SELEÇÃO ENCADEADA ‐ NOTAS DE ALUNOS: Salve o arquivo como notas_encadeadas.py
Visualização do resultado:
7.3
OPERADORES LÓGICOS
Juntamente com o uso de estruturas de seleção, podemos ainda utilizar os operadores lógicos para podermos
ampliar a avaliação das condições que são testadas.
Por exemplo, se quiséssemos avaliar duas condições ao mesmo tempo no comando If e imprimir algo na tela do
usuário não teríamos como fazer isto de forma prática sem os operadores lógicos.
Normalmente, os operadores lógicos mais utilizados são:
•
And – operador que une duas condições e retorna verdadeiro quando as duas forem verdadeiras
•
Or – operador que une duas condições e retorna verdadeiro quando pelo menos uma condição for
verdadeira
•
Not - inverte o resultado de uma expressão lógica
P á g | 21
Faculdade de Tecnologia SENAC PELOTAS - Credenciado pela Portaria nº. 3.071, de 01 de outubro de 2004.
Será incluída agora a condição extra de quando o aluno pode estar em exame. Podemos implementar isto com o
IF encadeado:
UC –
Lógica de Programação
Docente: André Luiz Silva de Moraes
1º sem – Redes de Computadores
Podemos combinar estes operadores em um programa com as estruturas de seleção que vimos anteriormente. O
resultado serão programas capazes de avaliar várias condições simultaneamente.
Faculdade de Tecnologia SENAC PELOTAS - Credenciado pela Portaria nº. 3.071, de 01 de outubro de 2004.
7.3.1 EXEMPLO 4 – UTILIZANDO OPERADORES LÓGICOS COM ESTRUTURAS DE SELEÇÃO Salve o arquivo como medias_operadores.py
P á g | 22
UC –
Lógica de Programação
Docente: André Luiz Silva de Moraes
1º sem – Redes de Computadores
7.3.2 EXEMPLO 5 – DETERMINANDO O TRIÂNGULO Dados três valores A, B e C, verificar se eles podem ser os comprimentos dos lados de uma triângulo e, se forem,
verificar se compõem um triângulo eqüilátero, isósceles ou escaleno. Informar se não compuserem nenhum
triângulo.
Dados de entrada: três lados de um suposto triângulo (A, B, C).
Dados de saída: enviar as mensagens de: não compõem um triângulo, triângulo eqüilátero, triângulo isósceles,
triângulo escaleno.
INFORMAÇÕES:
O que é um triângulo? Figura geométrica de três lados, em que cada um é menor do que a soma dos outros dois.
O que é um triângulo eqüilátero? Um triângulo com três lados iguais.
O que é um triângulo isósceles? Um triângulo com dois lados iguais.
Faculdade de Tecnologia SENAC PELOTAS - Credenciado pela Portaria nº. 3.071, de 01 de outubro de 2004.
O que é um triângulo escaleno? Um triângulo com todos os lados diferentes.
MONTAGEM LÓGICA EM EXPRESSÕES:
É triângulo: (A < B + C) e (B < A + C) e (C < A + B).
É eqüilátero: (A = B) e (B = C)
É isósceles: (A = B) ou (A = C) ou (B = C)
É escaleno: (A <> B) e (B <> C)
Seja o exemplo:
P á g | 23
UC –
Lógica de Programação
Docente: André Luiz Silva de Moraes
1º sem – Redes de Computadores
Testando o algoritmo:
•
Neste exemplo fizemos uso de operadores lógicos and, or para poder adaptar as condições que foram
descritas
•
Este exemplo ilustra mais um tipo de algoritmo utilizando a seleção encadeada, onde precisamos de
vários testes aninhados um em seguida do outro.
•
Note que este algoritmo é complexo pelo ponto de vista de elaboração, pois não seria muito fácil elaborar
todo o pensamento lógico para os testes do tipo de triângulo. Isto é desenvolvido pelo programador ao
longo do tempo.
7.3.3 EXEMPLO 6 – SE SENÃO SE Vamos supor que em determinado algoritmo uma variável x possa assumir apenas quatro valores, sendo eles v1,
v2, v3, v4, e que exista um comando diferente que será executado para cada valor armazenado em X.
Dados 4 valores, elaborar um algoritmo para ler a altura de uma pessoa e retornar as mensagens referentes à sua
altura e de acordo com a tabela abaixo:
Altura
Classificação
<=1.50
Muito baixo
<= 1.65
Baixo
<=1.79
Normal
>1.79
Alto
Salve o arquivo como alturas.py
P á g | 24
Faculdade de Tecnologia SENAC PELOTAS - Credenciado pela Portaria nº. 3.071, de 01 de outubro de 2004.
OBSERVAÇÕES:
UC –
Lógica de Programação
Docente: André Luiz Silva de Moraes
1º sem – Redes de Computadores
Visualizando o resultado:
OBSERVAÇÕES:
Aqui novamente fizemos pequenos testes encadeados um após o outro.
•
Note que os testes e as mensagens são totalmente personalizáveis, você pode criar qualquer mensagem
que desejar passar ao usuário.
•
Dependendo da altura fornecida teremos resultados diferentes.
EXERCÍCIOS:
1) Altere o algoritmo utilizado no exemplo 4 (Média de alunos) para que o programa peça primeiro o número
de faltas. Caso o número de faltas for maior que o permitido (18) o programa deverá emitir uma
mensagem de alerta informando que o mesmo está reprovado por faltas. Caso contrário o programa
deverá seguir seu curso solicitando as notas do aluno e realizando os cálculos da média.
2) Tendo como dados de entra a altura e o sexo de uma pessoa, construa um algoritmo que calcule o seu
peso ideal, utilizando as seguintes fórmulas:
a. Para homens (72.7 * h) – 58
b. Para mulheres (62.1 * h) – 44.7
3) Construa um algoritmo que leia a o ano de nascimento de uma pessoa, calcule e mostre sua idade e,
também, verifique e mostre se ele já tem idade para votar (16 anos ou mais) e para conseguir a Carteira
de Habilitação (18 anos ou mais)
P á g | 25
Faculdade de Tecnologia SENAC PELOTAS - Credenciado pela Portaria nº. 3.071, de 01 de outubro de 2004.
7.4
•
Download

UC –Lógica de Programação