13
Lógica de Programação - 1 Estrutura Condicional As estruturas de seleção ou decisão são utilizadas quando existe a necessidade de verificar condições para a realização de uma instrução ou de uma sequência de instruções. Os testes de seleção também podem ser utilizados para verificar opções de escolha. A verificação de que uma condição é satisfeita e, a partir daí, a decisão em relação à execução ou não de uma determinada sequência de comandos é chamada de estrutura de seleção, estrutura de decisão ou comando de seleção. Exemplo: suponha que uma pessoa esteja jogando um jogo de computador: 1. Para que o jogador passe de uma fase (etapa) para a fase seguinte, é necessário que se verifique se ele atingiu a pontuação exigida. Assim, existe uma condição para a realização de uma sequência de instruções para liberar o acesso à próxima fase do jogo. 2. Ao final do jogo, uma pergunta é feita: “Deseja continuar jogando?”. O jogador poderá escolher entre as respostas sim ou não. Uma decisão é o resultado da avaliação de uma expressão booleana. Toda condição pode ser encarada como uma pergunta que pode ter a resposta verdadeiro (.v.) ou falso (.f.). As estruturas de seleção podem ser do tipo simples, composto ou encadeado. Estrutura condicional simples São utilizadas para verificar se dada condição é atendida. Se for, um conjunto de instruções deverá ser executado. Se não for, o fluxo de execução do algoritmo seguirá após o fim do bloco de decisão. Pseudocódigo A sintaxe básica da decisão unidirecional é: se (condição) então [inicio do bloco de decisão] conjunto de instruções fim-se [fim do bloco de decisão] O conjunto de instruções só será executado se a condição for verdadeira. Uma condição é uma comparação que possui dois valores possíveis, verdadeiro ou falso. Fluxograma Exemplos 1. Verificar se um número fornecido pelo usuário é impar. Se for, exibir a mensagem “O número informado é impar”. ALGORITMO Nº_IMPAR DECLARE NUMERO : INTEIRO condição Conjunto de instruções Fim .V. .F.

Estrutura Condicional - Tecnologia da Informação · Faça um programa que receba as três notas, calcule e mostre a média ponderada e o conceito que segue a tabela abaixo: Média

Embed Size (px)

Citation preview

Lógica de Programação - 1

Estrutura Condicional

As estruturas de seleção ou decisão são utilizadas quando existe a necessidade

de verificar condições para a realização de uma instrução ou de uma sequência de

instruções. Os testes de seleção também podem ser utilizados para verificar opções de

escolha.

A verificação de que uma condição é satisfeita e, a partir daí, a decisão em

relação à execução ou não de uma determinada sequência de comandos é chamada de

estrutura de seleção, estrutura de decisão ou comando de seleção.

Exemplo: suponha que uma pessoa esteja jogando um jogo de computador:

1. Para que o jogador passe de uma fase (etapa) para a fase seguinte, é necessário que

se verifique se ele atingiu a pontuação exigida. Assim, existe uma condição para a

realização de uma sequência de instruções para liberar o acesso à próxima fase do

jogo.

2. Ao final do jogo, uma pergunta é feita: “Deseja continuar jogando?”. O jogador

poderá escolher entre as respostas sim ou não.

Uma decisão é o resultado da avaliação de uma expressão booleana. Toda

condição pode ser encarada como uma pergunta que pode ter a resposta verdadeiro

(.v.) ou falso (.f.).

As estruturas de seleção podem ser do tipo simples, composto ou encadeado.

Estrutura condicional simples São utilizadas para verificar se dada condição é atendida. Se for, um conjunto de

instruções deverá ser executado. Se não for, o fluxo de execução do algoritmo seguirá

após o fim do bloco de decisão.

Pseudocódigo A sintaxe básica da decisão unidirecional é:

se (condição) então [inicio do bloco de decisão]

conjunto de instruções

fim-se [fim do bloco de decisão]

O conjunto de instruções só será executado se a condição for verdadeira. Uma

condição é uma comparação que possui dois valores possíveis, verdadeiro ou falso.

Fluxograma

Exemplos 1. Verificar se um número fornecido pelo usuário é impar. Se for, exibir a mensagem

“O número informado é impar”. ALGORITMO Nº_IMPAR

DECLARE

NUMERO : INTEIRO

condição Conjunto de

instruções Fim

.V.

.F.

2 – Estrutura Condicional

LEIA (NUMERO)

SE (NUMERO MOD 2 = 1) ENTÃO

ESCREVA (“O número informado é impar”)

FIM-SE

FIM Nº_IMPAR

2. Determine o maior de dois números dados. Suponha que o primeiro deles é o maior,

armazenando-o em uma variável MAIOR e depois, compare se o maior procurado é

o segundo dos números dados, neste caso o conteúdo da variável MAIOR deve ser

alterado. ALGORITMO MAIOR_DE_DOIS

DECLARE

A, B, MAIOR : INTEIRO

ESCREVA (“Digite dois números: ”)

LEIA (A, B)

MAIOR ← A

SE (B > A) ENTÃO

MAIOR ← B

FIM-SE

ESCREVA (“O maior dos números”, A, “e”, B, “é”, MAIOR)

FIM MAIOR_DE_DOIS

3. Ordenar os conteúdos das variáveis X e Y. Só há necessidade de se realizar alguma

ação se o conteúdo de Y for maior que o conteúdo de X. Neste caso, deve-se fazer a

permuta dos conteúdos de X e de Y. ALGORITMO ORDENA2

DECLARE

X, Y, AUX : INTEIRO

ESCREVA (“Digite dois números: ”)

LEIA (X, Y)

ESCREVA (“Números digitados: X= ”, X, “ Y= ”, Y)

SE (X > Y) ENTÃO

AUX = X

X = Y

Y = AUX

FIM-SE

ESCREVA (“Números ordenados: X= ”, X, “Y= ”, Y);

FIM ORDENA2

Estrutura condicional composta A estrutura de seleção composta prevê dois conjuntos de instruções para serem

realizados de acordo com a avaliação da condição: um conjunto de instruções que será

realizado quando a condição resultar verdadeiro e um conjunto de instruções para

resultado falso.

Pseudocódigo se (condição) então

conjunto de instruções a [conjunto de instruções que será realizado

se o teste de condição resultar verdadeiro]

senão

conjunto de instruções b [conjunto de instruções que será realizado

se o teste de condição resultar falso]

Lógica de Programação - 3

fim-se

Se a condição for verdadeira, será executado o conjunto de instruções A; caso

contrário, se a condição for falsa, será executado o conjunto de instruções B.

Fluxograma

Exemplos 1. A empresa XSoftwares concedeu um bônus de 20% do valor do salário a todos os

funcionários com tempo de trabalho na empresa igual ou superior a cinco anos, e

10% aos demais. Calcular e exibir o valor do bônus.

Para resolver o problema é necessário conhecer o valor do salário e o tempo de

serviço do funcionário. ALGORITMO PREMIO

DECLARE

SALARIO, BONUS : REAL

TEMPO : INTEIRO

LER (SALARIO)

LER (TEMPO)

SE (TEMPO >= 5) ENTÃO

BONUS ← SALARIO * 0.20

SENÃO

BONUS ← SALARIO * 0.10

FIM-SE

ESCREVA (“O valor do bônus é ”, BONUS)

FIM PREMIO

2. Calcule a área de um triângulo, dados os comprimentos dos seus lados. Para os

números serem comprimentos dos lados de um triângulo, cada um deles precisa ser

menor que a soma dos outros dois. ALGORITMO AREA_TRIANGULO

DECLARE

X, Y, Z, AREA, SEMIPER : REAL

ESCREVA (“Digite os comprimentos dos lados do triângulo: ”)

LEIA (X, Y, Z);

SE (X < Y + Z) .E. (Y < X + Z) .E. (Z < X + Y) ENTÃO

SEMIPER ← (X + Y + Z) / 2

AREA ←

ESCREVA (“A área do triângulo é:”,AREA:0:2);

SENÃO

ESCREVA (“Os valores não podem ser comprimentos dos

lados de um triângulo”);

FIM-SE

FIM AREA_TRIANGULO

.V.

.F. Conjunto de

instruções B

condição Conjunto de

instruções A Fim

4 – Estrutura Condicional

Estruturas condicionais encadeadas Uma estrutura de seleção encadeada é uma sequência de testes de seleção, os

quais serão executados ou não de acordo com o resultado das condições e com o

encadeamento dos testes.

Um teste de seleção pode ter dois conjuntos de instruções, um para resultado

verdadeiro e outro para falso, porém esses conjuntos de instruções podem conter outros

testes de seleção, que, por sua vez, também podem conter outros, e assim por diante.

Pseudocódigo se (condição_1) então

se (condição_2) então

conjunto de instruções a

senão

conjunto de instruções b

fim-se

senão

conjunto de instruções c

fim-se

Se a condição_1 resultar verdadeiro, então será realizado o teste da

condição_2; se esse teste resultar verdadeiro, será realizado o conjunto de

instruções A; se resultar falso, será realizado o conjunto de instruções

B. Se o teste da condição_1 resultar falso, será realizado o conjunto de

instruções C.

Fluxograma

Exemplos 1. Faça um algoritmo que receba três valores que representarão os lados de um

triângulo e serão fornecidos pelo usuário. Verifique se os valores formam um

triângulo e classifique esse triângulo como:

a. equilátero: três lados iguais;

b. isósceles: dois lados iguais;

c. escaleno: três lados diferentes

Lembre-se de que, para formar um triângulo, nenhum dos lados pode ser igual a

zero, um lado não pode ser maior que a soma dos outros dois. ALGORITMO TRIANGULO

DECLARE

A, B, C : INTEIRO

LER (A, B, C)

.V.

.F. Conjunto de

instruções B

Condição

_2

Conjunto de

instruções A Fim Condição

_1

.V.

Conjunto de

instruções C

.F.

Lógica de Programação - 5

SE (A <> 0) .E. (B <> 0) .E. (C <> 0) ENTÃO

SE (A + B > C) .E. (A + C > B) .E. (B + C > A) ENTÃO

SE (A <> B) .E. (A <> C) .E. (B <> C) ENTÃO

ESCREVA (“É um triângulo escaleno”)

SENÃO

SE (A = B) .OU. (B = C) ENTÃO

ESCREVA (“É um triângulo equilátero”)

SENÃO

ESCREVA (“É um triângulo isósceles”)

FIM-SE

FIM-SE

SENÃO

ESCREVA (“Os valores não formam um triângulo”)

FIM-SE

ESCREVA (“Os valores não formam um triângulo”)

FIM-SE

FIM TRIANGULO

2. Determine as raízes de uma equação do segundo grau. Sabendo que uma equação

ax2 + bx + c = 0 só tem raízes reais se b2 – 4ac 0. Além disso, para

que ela seja do segundo grau, deve-se ter a 0. ALGORITMO EQ_GRAU2

DECLARE

A, B, C, X1, X2, DELTA : REAL;

LEIA (A, B, C)

SE (A <> 0) ENTÃO

DELTA ←

SE DETA >= 0 ENTÃO

X1 ← (

X2 ←

ESCREVA (“Raízes da equação: ”, X1, “e ”, X2)

SENÃO

ESCREVA (“A equação dada não tem raízes reais”)

FIM-SE

SENÃO

ESCREVA (“A equação não é do segundo grau”)

FIM-SE

FIM EQ_GRAU2

Estruturas condicionais de múltipla escolha Uma estrutura de seleção de múltipla (ou estrutura de seleção homogênea)

escolha funciona como um conjunto de opções para escolha. Existem duas maneiras

para representá-la:

Utilizando o encadeamento da instrução Se;

Utilizando a instrução escolha caso.

A segunda opção é a mais indicada.

Pseudocódigo Estrutura com condicionais encadeadas:

6 – Estrutura Condicional

se (variável = tal_coisa_1) então

faça conjunto de instruções A

senão

se (variável = tal_coisa_2) então

faça conjunto de instruções B

senão

se (variável = tal_coisa3) então

faça conjunto de instruções C

senão

faça conjunto de instruções D

fim-se

fim-se

fim-se

Estrutura com seleção de múltipla escolha escolha variável

caso tal_coisa_1:

faça conjunto de instruções A

caso tal_coisa_2

faça conjunto de instruções B

caso tal_coisa_3

faça conjunto de instruções C

caso contrário

faça conjunto de instruções D

fim-escolha

Cada rótulo da estrutura acima possui o próprio bloco e é separado dele pela

marca : (dois pontos). Todos os rótulos são dispostos um nível de indentação1 acima no

nível onde está a palavra chave escolha. Blocos de instruções dispõem-se um nível de

indentação acima daquele onde estão os rótulos.

Após a avaliação da expressão (ou variável) de controle um valor inteiro é

obtido, o rótulo com este valor selecionado e por fim o bloco executado. Quando a

execução encerra, ocorre um desvio para fora da estrutura para que outros blocos não

sejam executados.

Fluxograma

1 Espaço entre a margem e o início do texto em um parágrafo.

Tal_coisa_

1

Tal_coisa_

2

Tal_coisa_

3

Conjunto

de instruções A

Conjunto

de instruções A

Conjunto

de instruções A

Conjunto

de instruções D

...

...

...

Lógica de Programação - 7

Exemplo Leia o código de um produto e exiba seu nome de acordo com a tabela a seguir.

Código do produto Nome do produto

001 Caderno

002 Lápis

003 Borracha

Qualquer outro Diversos

Pseudocódigo utilizando a instrução escolha caso:

ALGORITMO PRODUTO

DECLARE

CODIGO : INTEIRO

LEIA (CODIGO)

ESCOLHA CODIGO

CASO 1 : ESCREVA (“O produto é caderno”)

CASO 2 : ESCREVA (“O produto é lápis”)

CASO 3 : ESCREVA (“O produto é borracha”)

CASO CONTRÁRIO : ESCREVA (“Diversos”)

FIM-ESCOLHA

FIM PRODUTO

Pseudocódigo utilizando a instrução Se: ALGORITMO PRODUTO

DECLARE

CODIGO : INTEIRO

LEIA (CODIGO)

SE (CODIGO = 1) ENTÃO

ESCREVA (“O produto é caderno”)

SENÃO

SE (CODIGO = 2) ENTÃO

ESCREVA (“O produto é lápis”)

SENÃO

SE (CODIGO = 3) ENTÃO

ESCREVA (“O produto é borracha”)

SENÃO

ESCREVA (“Diversos”)

FIM-SE

FIM-SE

FIM-SE

FIM PRODUTO

Exercícios 1. Verifique se um número fornecido pelo usuário é par ou impar. Apresente uma

mensagem mostrando o número digitado e o resultado do teste.

2. De acordo com um valor fornecido pelo usuário, verifique se esse valor é múltiplo

de 3 e múltiplo de 7. Apresente uma mensagem mostrando o número digitado e o

resultado do teste.

3. Um aluno realizou três provas de uma disciplina. Considerando o critério abaixo

faça um programa que mostre se ele ficou para exame. Em caso positivo, leia a nota

do exame e verifique se conseguiu a aprovação ou não. Media = (prova1 + prova2 + prova3)/3

8 – Estrutura Condicional

A média deve ser maior ou igual a 7,0. Se não conseguir, a nova média deve ser: Final = (Media + Exame)/2

Nesse caso, a média final deve ser maior ou igual a 5,0.

4. A nota final de um estudante é calculada a partir de três notas atribuídas

respectivamente a um trabalho de laboratório, a uma avaliação semestral e a um

exame final. A média das três notas mencionadas anteriormente obedece aos pesos a

seguir:

Nota Peso

Trabalho de laboratório 2

Avaliação semestral 3

Exame final 5

Faça um programa que receba as três notas, calcule e mostre a média ponderada e o

conceito que segue a tabela abaixo:

Média ponderada Conceito

8,0 a 10,0 A

7,0 a 8,0 B

6,0 a 7,0 C

5,0 a 6,0 D

0,0 a 5,0 E

5. Faça um programa que recebe três notas de um aluno, calcule e mostre a média

aritmética e a mensagem que segue a tabela abaixo. Para alunos de exame, calcule e

mostre a nota que deverá ser tirada no exame para aprovação, considerando que a

média no exame é 6,0.

Média aritmética Mensagem

0,0 a 3,0 Reprovado

3,0 a 7,0 Exame

7,0 a 10,0 Aprovado

6. Faça um programa que receba dois números e mostre o maior.

7. Faça um programa que receba três números e mostre-os em ordem crescente.

8. Faça um programa que receba três números obrigatoriamente em ordem crescente e

um quarto número que não siga esta regra. Mostre, em seguida, os quatro números

em ordem decrescente.

9. Faça um programa que receba quatro valores, I, A, B e C. I é um valor inteiro e

positivo e A, B e C são valores reais. Escreva os números A, B e C obedecendo à

tabela a seguir:

Valor de I Forma a escrever

1 A, B e C em ordem crescente.

2 A, B e C em ordem decrescente.

3 O maior fica entre os outros dois números.

10. Uma livraria está fazendo uma promoção para pagamento à vista em que o

comprador pode escolher entre dois critérios de desconto:

Critério A: R$ 0,25 por livro + R$ 7,50 fixo.

Critério B: R$ 0,50 por livro + R$ 2,50 fixo.

Faça um programa em que o usuário digite a quantidade de livros que deseja

comprar e o programa diga qual é a melhor opção de desconto.

11. Determine o número de anos bissextos entre dois anos dados.

Sabe-se que um ano é bissexto se ele é múltiplo de quatro, exceto aqueles que são

múltiplos de 100, mas não são múltiplis de 400.

Lógica de Programação - 9

Por exemplo, 2012 é múltiplo de 4, será bissexto; 1900 é múltiplo de 100, mas não

de 400, não foi bissexto; 2000 é múltiplo de 100 e de 400, foi bissexto.

A determinação do número de anos bissextos entre dois anos dados consistem em se

determinar o número de múltiplos de 4, o número de múltiplos de 100 e o números

de múltiplos de 400, todos compreendidos entre os anos dados, e se calcular a

expressão: múltiplos de 4 – múltiplos de de 100 + múltiplos

de 400.

Para se determinar o número de múltiplos de 4 situados entre dois anos, basta

calcular a expressão (ano 1 div 4) – (ano 2 div 4), diminuída de uma

unidade quando ano 2 foi múltiplo de 4.

12. Faça um programa que receba um número inteiro e verifique se esse número é par

ou ímpar.

13. Faça um programa que mostre o menu de opções a seguir, receba a opção do usuário

e os dados necessários para executar cada operação.

14. Considere a situação em que um cliente faz uma determinada compra em uma loja.

Ao realizar o pagamento, são-lhe oferecidas as seguintes condições para pagamento:

Pagamento à vista: 15% de desconto sobre o valor total da compra.

Pagamento com cheque pré-datado para 30 dias: 10% de desconto sobre o valor

total da compra.

Pagamento parcelado em 3 vezes: 5% de desconto sobre o valor total da compra.

Pagamento parcelado em 6 vezes: não tem desconto.

Pagamento parcelado em 12 vezes: 8% de acréscimo sobre o valor total da

compra.

De acordo com o valor total da compra, verifique a opção de pagamento do cliente,

calcule o valor final da compra e, se a escolha for por pagamento parcelado, calcule

também o valor das parcelas.

Apresente ao usuário uma mensagem com o valor total da compra, o valor final da

compra, a diferença entre os dois, identifique como desconto se a diferença for

positiva, como juros se for negativa, mostre, também, a quantidade e o valor das

parcelas.

15. O posto de atendimento médico e hospitalar de uma pequena cidade atende em

média 138 pessoas por dia e vem observando, ao longo do tempo, que os casos de

pessoas com problemas de sobrepeso vêm aumentando a cada ano. Assim, o posto

de atendimento determinou que em todos os atendimentos o médico ou o enfermeiro

deverão calcular o peso ideal de todos os pacientes atendidos.

Elabore um programa que verifique se o paciente está acima de seu peso ideal de

acordo com as condições abaixo:

Para homens: (72,7 altura) – 58;

Para mulheres: (62,1 altura) – 44,7.

16. Faça um programa que receba o código corresponde ao cargo de um funcionário e

seu salário atual e mostre o cargo, o valor do aumento e seu novo salário. Os cargos

estão na tabela a seguir.

Código Cargo Percentual

1 Escriturário 5%

2 Secretário 3,5%

3 Caixa 20%

4 Gerente 10%

5 Diretor Não tem aumento

10 – Estrutura Condicional

17. A empresa XSoftware concederá o aumento salarial anual a seus funcionários. Esse

aumento é variável de acordo com o cargo e o tempo de serviço na empresa,

conforme a tabela a seguir.

Cargo Tempo de serviço em anos Percentual

Gerente

Maior ou igual a 5 10%

Maior ou igual a e menor que 5 9%

Menor que 3 8%

Engenheiro

Maior ou igual a 5 11%

Maior ou igual a e menor que 5 10%

Menor que 3 9%

Técnico

Maior ou igual a 5 12%

Maior ou igual a e menor que 5 11%

Menor que 3 10%

Faça um algoritmo que leia o salário, o cargo e a data de admissão do funcionário e

calcule o novo salário. Calcule o tempo de serviço a partir da data atual. Se o cargo

do funcionário não estiver na tabela, ele deverá receber 7% de aumento. Mostre o

salário antigo, o novo salário e a diferença.

18. Dados seis números inteiros representando dois intervalos de tempo (horas, minutos

e segundos), faça um programa para calcular a soma desses intervalos e a diferença

entre os intervalos. O resultado deverá ser apresentado em horas, minutos e

segundos.

19. Faça um programa que mostre a data e a hora do sistema nos seguinte formatos:

dia/mês/ano – mês por extenso e hora:minuto.

20. Faça um programa que determine a data cronologicamente maior de duas datas

fornecidas pelo usuário. Cada data deve ser fornecida por três valores inteiros, onde

o primeiro representa o dia, o segundo o mês e o terceiro o ano.

21. Faça um programa que receba a hora de início de um jogo e a hora final do jogo

(cada hora é composta por duas variáveis inteiras: hora e minuto). Calcule e mostre

a duração do jogo (horas e minutos) sabendo-se que o tempo máximo de duração do

jogo é de 24 horas e que o jogo pode iniciar em um dia e terminar no dia seguinte.

22. Faça um programa que apresente o menu de opções a seguir: Menu de opções:

1. Imposto 2. Novo salário 3. Classificação Digite a opção desejada:

Permita ao usuário escolher a opção desejada, receba os dados necessários para

executar a operação e mostre o resultado. Verifique a possibilidade de opção

inválida e não se preocupe com restrições como salário negativo

Opção 1: receber o salário de um funcionário, calcular e mostrar o valor do imposto

usando as regras a seguir:

Salários Percentual de imposto

até R$ 1.106,90 8%

de R$ 1.106,91 a R$ 1.844,83 9%

de R$ 1.844,84 a R$ 3.689,66 11%

Opção 2: receber o salário de um funcionário, calcular e mostrar o valor do novo

salário, usando as regras a seguir:

Salário Aumento

Maiores que R$ 1.500,00 R$ 25,00

De R$ 750,00 (inclusive) até R$ 1.500 (inclusive) R$ 50,00

Lógica de Programação - 11

De R$ 450,00 (inclusive) a R$ 750,00 R$ 75,00

Menores que R$ 450,00 R$ 100,00

Opção 3: receber o salário de um funcionário e mostrar sua classificação usando a

tabela a seguir:

Salário Classificação

Até R$ 700,00 (inclusive) Mal remunerado

Maiores que R$ 700,00 Bem remunerado

23. Faça um programa que receba o salário de um funcionário, calcule e mostre o novo

salário desse funcionário, acrescido de bonificação e de auxílio-escola.

Salário Bonificação

Até R$ 500,00 5% do salário

De R$ 500,01 até R$ 1.200,00 12% do salário

Acima de R$ 1.200,00 Sem bonificação

Salário Auxílio-escola

Até R$ 600,00 R$ 150,00

Mais que R$ 600,00 R$ 100,00

24. Faça um programa que receba o valor do salário mínimo, o número de horas

trabalhadas, o número de dependentes do funcionário e a quantidade de horas extras

trabalhadas. Calcule e mostre o salário a receber do funcionário de acordo com as

regras a seguir:

O valor da hora trabalhada é igual a 1/5 do salário mínimo;

O salário do mês é igual ao número de horas trabalhadas multiplicado pelo valor

da hora trabalhada;

Para cada dependente acrescentar R$ 27,24;

Para cada hora extra trabalhada calcular o valor da hora trabalhada acrescida de

50%;

O salário bruto é igual ao salário do mês mais o valor dos dependentes mais o

valor das horas extras;

Calcular o valor do imposto de renda retido na fonte de acordo com a tabela a

seguir:

Salário bruto IRRF

Isento Até R$ 1.499,15

de R$ 1.499,16 até R$ 2.246,75 7,5%

de R$ 2.246,76 até R$ 2.995,70 15%

de R$ 2.995,71 até R$ 3.743,19 22,5%

acima de R$ 3.743,19 27,5%

O salário líquido é igual ao salário bruto menos IRRF;

A gratificação de acordo com a tabela a seguir:

Salário líquido Gratificação

até R$ 650,00 R$ 100,00

acima de R$ 650,00 R$ 50,00

O salário a receber do funcionário é igual ao salário líquido mais gratificação.

25. Um supermercado deseja reajustar os preços de seus produtos usando o seguinte

critério: o produto poderá ter seu preço aumentado ou diminuído. Para alterar o

preço o produto deve preencher pelo menos um dos requisitos a seguir:

Requisitos Reajustes

Venda média mensal Preço atual %

de aumento

%

de diminuição

12 – Estrutura Condicional

< 500 < R$ 30,00 10 -

>=500 e < 1.200 >=R$ 30,00 e < R$ 80,00 15 -

>= 1.200 >= R$ 80,00 - 20

26. Faça um programa que receba a altura e o peso de uma pessoa. De acordo com a

tabela a seguir verifique e mostre qual a classificação dessa pessoa.

Altura Pesos

Até 60 Entre 60 e 90 (inclusive) Acima de 90

Menores que 1,20 A D G

De 1,20 a 1,70 B E H

Maiores que 1,70 C F I

27. Faça um programa que receba:

O código de um produto comprado, supondo que a digitação do código do

produto seja sempre válida (um número inteiro entre 1 e 10);

O peso do produto em quilos;

O código do país de origem, supondo que a digitação do código do país seja

sempre válida (um número inteiro entre 1 e 3).

Código do país de origem Imposto

1 0%

2 15%

3 25%

Código do produto Preço por grama

1 a 4 10

5 a 7 25

8 a 10 35

Calcule e mostre:

O peso do produto convertido em gramas;

O preço total do produto comprado;

O valor do imposto, sabendo-se que o imposto é cobrado sobre o preço total do

produto comprado e que depende do país de origem.

O valor total, preço total do produto mais imposto.

28. Faça um programa que receba dois números e execute as operações listadas a seguir

de acordo com a escolha do usuário.

Escolha do usuário Operação

1 Média entre os números digitados

2 Diferença do maior pelo menor

3 Produto entre os números digitados

4 Divisão do primeiro pelo segundo

Se a opção digitada for inválida, mostrar uma mensagem de erro e terminar a

execução do programa.

Lembre-se: na operação 4 o segundo número deve ser diferente de zero.

29. Uma agência bancária possui dois tipos de investimentos, conforme o quadro a

seguir. Faça um programa que receba o tipo de investimento e o valor do

investimento e que calcule e mostre o valor corrigido de acordo com o tipo de

investimento.

Tipo Descrição Rendimento mensal

1 Poupança 3%

2 Fundos de renda fixa 4%

Lógica de Programação - 13

30. Elabore um algoritmo para validação do CPF (cadastro de pessoa física). O número

do CPF é composto de 11 dígitos, sendo que os dois últimos são os dígitos

verificadores. A validação do CPF é feita por meio de cálculos com base nos 9

primeiros dígitos. As etapas desse cálculo são descritas a seguir. Para isso utilize o

CPF exemplo ABC.DEF.GHI-XY.

Calculo do X

Multiplicar o dígito A por 10, o dígito B por 9, o dígito C por 8 e assim

sucessivamente. Até o dígito 1, que deverá ser multiplicado por 2.

Calcular a soma entre todos os valores calculados no passo 1.

Dividir o valor obtido no passo 2 por 11. Essa divisão deve ser por inteiro. Se o

reto da divisão for menor que 2, o primeiro dígito verificador será 0. Caso

contrário, subtrai-se de 11 o valor obtido.

Calculo do Y

Multiplicar o dígito A por 11, o dígito B por 10, o dígito C por 9, e assim

sucessivamente até o dígito Y, que deverá ser multiplicado por 2.

Calcular a soma entre todos os valores calculados no passo 1.

Dividir o valor obtido no passo 2 por 11. Essa divisão deve ser por inteiros. Se o

resto da divisão for menor que 2, o primeiro dígito verificador será 0. Caso

contrário, subtrai-se de 11 o valor obtido.

Bibliografia Fundamentos da Programação de Computadores

Ana Fernanda Gomes Ascencio, Edilene Aparecida Veneruchi de Campos

São Paulo: Pearson Prentice Hall

Lógica de programação e estrutura de dados, com aplicações em Java

Sandra Puga, Gerson Rissetti

São Paulo: Pearson Prentice Hall, 2009

Programando com Pascal

Jaime Evaristo

São Paulo: Book Express, 2002

Algoritmos e Programação

Ricardo Reis Pereira, Jerffeson Teixeira de Souza, Jeandro de Mesquita Bezerra

Fortaleza: RDS, 2009