Compre o e-book deste material aqui!
Instruções de ramificação permitem a seleção de blocos de processamento com base em condições lógicas.
A instrução de ramificação if permite a seleção de um bloco de processamento com base em uma condição lógica.
Se a condição é verdadeira (True), o bloco (linha 3) é executado. Caso contrário, este bloco não é executado e o fluxo de processamento salta da linha 2 para a linha 6. O escopo do bloco if é determinado pela indentação do código.
Seja o polinômio de segundo grau
(3.4) |
No caso de existirem, o seguinte código computa as raízes distintas de para os coeficientes informados pela(o) usuária(o).
O escopo de uma variável é a região em que ela permanece alocada. O escopo de variáveis alocadas fora do bloco if inclui este bloco, mas variáveis alocadas no bloco if não permanecem alocadas fora deste.
No Exemplo 3.2.1, o escopo da variável delta inicia-se na linha 7 e permanece válido ao longo do resto do programa. Já, o escopo da variável x1 compreende somente as linhas 12-15 e, análogo para a variável x2.
A instrução if-else permite a escolha de um bloco ou outro, exclusivamente, com base em uma condição lógica.
Em Python, a instrução if-else tem a seguinte sintaxe:
Se a condição for verdadeira (True) o bloco 0 é executado, senão o bloco 1 é executado.
Seja o polinômio de segundo grau
(3.5) |
Se existirem, o seguinte código computa as raízes reais do polinômio, senão imprime mensagem informado que elas não são reais.
Por praticidade, Python também tem a sintaxe if-else em linha:
A instrução if-elif permite a seleção condicional de blocos, sem impor a necessidade da execução de um deles.
Em Python, a instrução if-elif tem a seguinte sintaxe:
Se a condição_0 for verdadeira (True), o bloco_0 é executado. Senão, se a condição_1 for verdadeira (True) o bloco_1 é executado. No caso de ambas as condições serem falsas (False), os blocos bloco_0 e bloco_1 não são executados e o fluxo de processamento segue a partir da linha 6.
Seja o polinômio de segundo grau
(3.7) |
Conforme o caso, o seguinte código computa a raiz dupla do polinômio ou suas raízes reais distintas, a partir dos coeficientes informados pela(o) usuária(o).
A instrução if-elif-else permite a seleção condicional de blocos, sendo que ao menos um bloco será executado. Em Python, sua sintaxe é:
Se a condição_0 for verdadeira (True), então o bloco_0 é executado. Senão, se a condição_1 for verdadeira (True), então o bloco_1 é executado. Senão, o bloco_2 é executado.
Seja o polinômio de segundo grau
(3.8) |
Conforme o caso (raízes reais distintas, raiz dupla ou raízes complexas), o seguinte código computa as raízes desse polinômio, a partir dos coeficientes informados pela(o) usuária(o).
Pode-se encadear instruções if-elif-elif-...-elif[-else] para a seleção condicional entre múltiplos blocos.
Sejam as circunferências de equações:
(3.9) | ||||
(3.10) |
Conforme entradas dadas por usuária(o), o seguinte código informa se um dado ponto pertence: à interseção dos discos determinados por e , apenas ao disco determinado por , apenas ao disco determinado por ou a nenhum desses discos.
Seja a equação de reta
(3.11) |
Dados coeficientes e informados por usuária(o), crie um código que imprime o ponto de interseção dessa reta com o eixo das abscissas. O código não deve tentar computar o ponto no caso de .
Considere o seguinte código.
A ideia é que, se for ímpar, o código imprime , caso contrário, imprime . Este código contém erro. Identifique e explique-o, então proponha uma versão funcional.
Considere o seguinte algoritmo/pseudocódigo para verificar se um dado número inteiro é par ou ímpar.
Início.
Usuária(o) informa o valor inteiro .
Se o resto da divisão de por for igual a zero, então faça:
Imprime a mensagem: “ é par.”.
Senão, faça:
Imprime a mensagem: “ é ímpar”.
Fim.
Faça um fluxograma para esse algoritmo e implemente-o.
Considere a equação da circunferência
(3.12) |
Com dados informados por usuária(o), desenvolva um código que informe se um dado ponto pertence ou não ao disco determinado por .
Sejam informadas por usuária(o) os coeficientes das retas
(3.13) | ||||
(3.14) |
Crie um código que informe se as retas são paralelas. Caso contrário, o código imprime o ponto de interseção delas.
Refaça o código do Exercício 3.2.5 de forma a incluir o caso em que as retas sejam coincidentes. Ou seja, o código deve informar os seguintes casos: retas paralelas não coincidentes, retas coincidentes ou, caso contrário, ponto de interseção das retas.
Sejam a parábola de equação
(3.15) |
e a reta
(3.16) |
Conforme os coeficientes dados por usuária(o), desenvolva um código que imprime o(s) ponto(s) de interseção da reta com a parábola. O código deve avisar os casos em que: há apenas um ponto, há dois pontos ou não há ponto de interseção.
Com dados informados por usuária(o), sejam as circunferências de equações
(3.17) | ||||
(3.18) |
Desenvolva um código que informe a(o) usuária(o) dos seguintes casos: e são coincidentes, tem dois pontos, tem somente um ponto, .
Crie uma calculadora simples. A(o) usuária(o) entra com dois números decimais x e y e uma das seguintes operações: +, -, * ou /. Então, o código imprime o resultado da operação.
Informado um ponto por usuária(o), desenvolva um código que verifique se está entre as curvas , , e . Consulte a figura abaixo.
Considere um polinômio da forma
(3.19) |
Desenvolva um código para a computação das raízes de , sendo os coeficientes , , e (números decimais) informados por usuária(o).
As informações preenchidas são enviadas por e-mail para o desenvolvedor do site e tratadas de forma privada. Consulte a Política de Uso de Dados para mais informações. Aproveito para agradecer a todas/os que de forma assídua ou esporádica contribuem enviando correções, sugestões e críticas!