Você está na página 1de 18

Algoritmos

Estruturas de Seleção
MS. MARCOS ANDRÉ COSTA
2
Estrutura Condicional

se o resultado de b2 - 4ac for maior ou igual a zero


então utilize a metodologia de cálculo de raízes reais
senão utilize a metodologia de cálculo de raízes complexas

 A estrutura se então permite determinar se um certo conjunto de


instruções de um algoritmo deve ou não ser executada.

30-002 – Algoritmos - Ms. Marcos André Costa – mcostax@santoangelo.uri.br


3
Estrutura Condicional

 A sintaxe geral desta instrução é:

30-002 – Algoritmos - Ms. Marcos André Costa – mcostax@santoangelo.uri.br


4
Semântica da Instrução

 O termo condição de instrução somente poderá produzir o valor falso ou


verdadeiro.
 Assim, a semântica desta instrução será: se o valor de condição for
verdadeiro então, execute o bloco de instruções (inst1; ....; instN) ligado à
palavra então, e posteriormente, execute a primeira instrução que estiver
após o comando se então que está sendo executado.
 Senão, se o valor de condição for falso, então ignore o bloco de
instruções ligado a palavra então, e desvie o controle de execução para
a primeira instrução após a instrução se então que está sendo
executado.

30-002 – Algoritmos - Ms. Marcos André Costa – mcostax@santoangelo.uri.br


5
Semântica da Instrução

30-002 – Algoritmos - Ms. Marcos André Costa – mcostax@santoangelo.uri.br


6
Se Então Senão

 se então senão é uma instrução de seleção


composta.
 Condição pode ser um identificador do tipo
lógico, ou uma expressão relacional, ou uma
expressão lógica.
 inst11;...;inst1N forma o conjunto de instruções
do bloco de instruções 1
 inst21;...;inst2M forma o conjunto de instruções
do bloco de instruções 2

30-002 – Algoritmos - Ms. Marcos André Costa – mcostax@santoangelo.uri.br


7
Se Então Senão

 Como condição somente poderá fornecer um valor lógico (falso ou


verdadeiro), então temos duas possibilidades para avaliar: ou
executamos o bloco de instruções 1 (então), ou executamos o bloco de
instruções 2 (senão), mas qualquer um dos blocos que for executado,
implica na exclusão do outro.

30-002 – Algoritmos - Ms. Marcos André Costa – mcostax@santoangelo.uri.br


8
Se Então Senão

30-002 – Algoritmos - Ms. Marcos André Costa – mcostax@santoangelo.uri.br


9
Exercícios

1. Dado um número inteiro, calcule o triplo do mesmo caso ele seja positivo,
ou o dobro caso ele seja negativo.
2. Uma determinada loja está fazendo promoções de vendas. Qualquer
compra que um cliente fizer até R$ 100,00 receberá 5% de descontos. Se
a compra for maior que R$ 100,00, mas inferior a R$ 200,00, o desconto
será de 10%. Se for superior ou igual a R$ 200,00, o desconto será de 20%.
 Faça um algoritmo que calcule o desconto do total da compra de um cliente,
e informe também, o total a pagar já com os descontos.

30-002 – Algoritmos - Ms. Marcos André Costa – mcostax@santoangelo.uri.br


10
Exercícios

3. Dados dois números inteiros quaisquer, faça um algoritmo que descubra


qual o maior valor entre eles.
4. Faça um algoritmo que receba como argumento de entrada o total de
ganhos de uma pessoa, em reais, e que calcule o desconto do imposto
de renda, segundo a tabela a seguir:

30-002 – Algoritmos - Ms. Marcos André Costa – mcostax@santoangelo.uri.br


11
Exercícios (Master Round)

5. Faça um algoritmo para resolver: Um funcionário ganha P reais por hora normal
trabalhada. Sabendo-se que a jornada normal de trabalho é de 40 horas/semana e que o
mesmo ganha 50% a mais sobre o valor da hora normal, por hora extra trabalhada.
Ao serem fornecidos o valor da hora normal e a quantidade de horas trabalhada na semana.
Calcule: o salário normal semanal, o salário extra e o salário bruto do funcionário. qual o maior
valor entre eles.
6. Refaça o exercício 5, considerando que sobre o salário bruto do funcionário incidem as
seguintes taxas:
a) 10% de INSS;
b) Imposto de Renda (IR) de acordo com a seguinte tabela ao lado:
c) Imposto Sindical 0,5%.
Informe os salários parciais (vantagens), o total das vantagens,
os descontos e o salário líquido do funcionário.

30-002 – Algoritmos - Ms. Marcos André Costa – mcostax@santoangelo.uri.br


12
Exercícios

7. Fornecidos 2 valores descobrir qual o maior valor, e colocá-los em ordem


crescente.
8. Fornecidos 3 valores descobrir qual o maior valor e o menor valor entre os
mesmos.

30-002 – Algoritmos - Ms. Marcos André Costa – mcostax@santoangelo.uri.br


13
Exercícios (Bônus Round)

9. Numa certa loja de eletrodomésticos, o vendedor encarregado da seção de


televisores recebe, mensalmente, um salário fixo mais comissão. Esta comissão é
calculada em relação ao tipo e a quantidade de televisores vendidos por mês,
obedecendo a seguinte tabela:

Calcule, então:
a) a comissão do funcionário;
b) o salário bruto do
Sobre o seu salário fixo há um desconto de 10%
funcionário;
referente ao INSS. Caso o seu salário bruto exceda c) os valores de cada
a R$ 100,00 haverá desconto de imposto de renda, desconto;
segunda a tabela ao lado, aplicada sobre o valor d) o total dos descontos;
excedente a R$ 100,00. e) o salário líquido.

30-002 – Algoritmos - Ms. Marcos André Costa – mcostax@santoangelo.uri.br


14
Exercícios

10. Na linha de montagem de uma fábrica existem 3 classes de operários:


1 - os que montam até 30 peças por mês
2 - os que montam de 31 até 35 peças por mês
3 - os que montam mais de 35 peças por mês
Os operários de classe 1 ganham salário mínimo. Os da classe 2 ganham o
mínimo mais uma comissão de 3% (do salário mínimo) por peça montada
acima das 30 iniciais, e os da classe 3, recebem o mínimo mais 5% por
peça acima das 30 iniciais. Calcule o salário bruto do operário,
informando o valor ganho com comissão.

30-002 – Algoritmos - Ms. Marcos André Costa – mcostax@santoangelo.uri.br


15
Exercícios

11. Dado um conjunto contendo quatro valores (i, a, b, c), sendo i um valor
inteiro, faça:
se i = l, ordene em ordem crescente a, b, c
se i = 2, ordene em ordem decrescente a, b, c
se i = 3, informar os três valores, de forma que o maior valor entre a, b e c
fique entre os outros dois.
Para qualquer outro valor de i divida a soma de a, b e c pelo maior valor
entre os mesmos.

30-002 – Algoritmos - Ms. Marcos André Costa – mcostax@santoangelo.uri.br


16
Exercícios

12. Dado um par de coordenada cartesiana (X, Y), determinar em que


quadrante (ou sobre que eixo) do sistema cartesiano encontra-se esta
coordenada. Use a seguinte codificação:

13. Fornecidos 3 valores inteiros, coloca-los em ordem crescente (utilize o


menor número de comparações (3)).

30-002 – Algoritmos - Ms. Marcos André Costa – mcostax@santoangelo.uri.br


17
Exercícios (Jedi Master Round)

14. Sabe-se que o dia da semana fornecido


entre 1°. de março de 1700 a 28 de
fevereiro de 2100, pode ser determinado
através do seguinte método:

30-002 – Algoritmos - Ms. Marcos André Costa – mcostax@santoangelo.uri.br


18
Verificar Slide 04B

 Funções e Procedimentos de Auxílio

30-002 – Algoritmos - Ms. Marcos André Costa – mcostax@santoangelo.uri.br

Você também pode gostar