Comando de Controle While

bubble sort switch case

Fala galera! No último artigo discutimos sobre o comando de controle IF. Hoje vamos discutir sobre o While.

While
Figura 1: While

O comando While é um comando de LOOP, ou falando em português, um comando de repetição. O comportamento do While é muito diferente do comportamento do comando IF. Em um comando de decisão, é analisada uma condição e, se a resposta for V ou F, algo acontece, ou não, uma única vez.

No caso do While, uma condição também é analisada, uma resposta F sai do bloco de comando e volta para o programa principal, mas uma resposta V executará o bloco de instruções repetidas vezes. A quantidade de vezes que aquele bloco de instruções será executado é definido na condição. A Figura 1 apresenta o fluxograma do While. Portanto, enquanto a condição for verdadeira, repita o bloco de comandos. No momento em que a condição for falsa, sairá do while.

A sintaxe do comando While é a seguinte:

Vamos ver um exemplo bem simples: somar os números menores ou iguais a dez.

As linhas de 9 a 13 são as correspondentes ao comando While. Enquanto o valor de N for maior ou igual a 10 faça:

  • solicite o número para o usuário;
  • leia o número digitado pelo usuário;
  • some, de forma acumulativa, os valores digitados pelo usuário.

Vamos agora fazer o teste de mesa desse bloco de código para entender e avaliar o comportamento do comando (Tabela 1). Vamos supor que o usuário digite os seguintes valores para n: 2.5, 3.4, 1.7, 5.6, 10.9.

Tabela 1: Teste de Mesa do comando While

 nn <= 10nsoma <- soma + n
1

0

0 <= 10

V

2.5

soma <- 0 + 2.5

2.5

 22.5

 2.5 <= 10

V

 3.4

soma <- 2.5 + 3.4

5.9

 33.4

 3.4 <= 10

V

1.7

soma <- 5.9 + 1.7

7.6

 41.7

 1.7 <= 10

V

5.6

soma <- 7.6 + 5.6

13.2

 55.6

5.6 <= 10

V

10.9

soma <- 13.2 + 10.9

24.1

610.9

10.9 <= 10

F

Foram necessárias seis ITERAÇÕES para chegarmos ao resultado final. Na primeira iteração o valor de N é zero, como N é menor que 10, então entra no While e executa os comandos. A soma nesse momento também vale zero, então ao somarmos 0 com 2.5, temos o primeiro valor acumulativo armazenado na variável soma. As outras linhas repetem exatamente o mesmo processo. Vale ressaltar que o valor que digitamos dentro do while é o valor que será avaliado na condição na iteração posterior. O valor 10.9 é maior que 10, então como a resposta da avaliação da condição deu F, não entra no while, terminando aqui a execução do bloco while. Assim, o valor final da soma é 24.1.

Portanto, o comando while deve ser usado sempre que você precisa de um processo repetitivo. Entretanto, o while não é o único comando de repetição disponível. No próximo artigo veremos mais sobre comandos de controle. Tem dúvidas? Deixe nos comentários ok. Abaixo seguem exercícios do IF e do WHILE. Muito Obrigada.

EXERCÍCIOS IF

  1. Uma empresa decidiu dar uma gratificação de Natal a seus funcionários, baseada no número de horas extras e no número de horas que o funcionário faltou ao trabalho. O valor do prêmio é obtido pela consulta à tabela que se segue, na qual:

H = número de horas extras – (2/3 * ( número de horas falta ))

H (MINUTOS)

PRÊMIO (R$)

>= 2.401

500,00

1.801 até 2.400

400,00

1.201 até 1.800

300,00

600 até 1.200

200,00

< 600

100,00

  1. Faça um programa que receba a idade e o peso de uma pessoa. De acordo com a tabela a seguir, verifique e mostre em qual grupo de risco essa pessoa se encaixa.

IDADE

ATÉ 60KG

ENTRE 60 E 90KG

ACIMA DE 90KG

Menores que 20

9

8

7

De 20 a 50

6

5

4

Maiores que 50

3

2

1

  1. Faça um programa que receba a idade de um nadador e mostre sua categoria, usando as regras a seguir. Para idade inferior a 5, deverá mostrar mensagem.

CATEGORIA

IDADE

Infantil

5 a 7

Juvenil

8 a 10

Adolescente

11 a 15

Adulto

16 a 30

Sênior

Acima de 30

  1. Faça um programa que receba o salário bruto de um funcionário e, usando a tabela a seguir, calcule e mostre o valor a receber. Sabe-se que este é composto pelo salário bruto acrescido de gratificação e descontado o imposto de 7% sobre o salário.

SALÁRIO

GRATIFICAÇÃO

Até R$350,00

R$100,00

R$351,00 até R$600,00

R$75,00

R$601,00 até R$900,00

R$50,00

Acima de R$901,00

R$35,00

EXERCÍCIOS WHILE

  1. Uma empresa possui dez funcionários com as seguintes características: código, número de horas trabalhadas no mês, turno de trabalho (M – matutino; V – vespertino; N – noturno), categoria (O – operário; ou G – gerente), valor da hora trabalhada. Sabendo-se que essa empresa deseja informatizar sua folha de pagamento, faça um programa que: a) Leia as informações dos funcionários, exceto o valor da hora trabalhada, não permitindo que sejam informações dos turnos e nem categorias inexistentes. Trabalhe sempre com a digitação de letras maiúsculas; b) Calcule o valor da hora trabalhada, conforme a tabela 1. Adote o valor de R$450,00 para o salário mínimo; c) Calcule o salário inicial dos funcionários com base no valor da hora trabalhada e no número de horas trabalhadas; d) Calcule o valor do auxílio alimentação recebido pelo funcionário de acordo com seu salário inicial, conforme a tabela 2; e) Mostre o código, número de horas trabalhadas, valor da hora trabalhada, salário inicial, auxílio alimentação e salário final (salário inicial + auxílio alimentação).

Tabela 1

CATEGORIA

TURNO

VALOR DA HORA TRABALHADA

G

N

18% do salário mínimo

G

M ou V

15% do salário mínimo

O

N

13% do salário mínimo

O

M ou V

10% do salário mínimo

Tabela 2

SALÁRIO INICIAL

AUXÍLIO ALIMENTAÇÃO

Até R$300,00

20% do salário inicial

Entre R$300,00 e R$600,00

15% do salário inicial

Acima de R$600,00

5% do salário inicial

2. Faça um programa que leia o número de termos, determine e mostre os valores de acordo com a série a seguir: SÉRIE = 2, 7, 3, 4, 21, 12, 8, 63, 48, 16, 189, 192, 32, 567, 768, …

3. Faça um programa que receba o salário de um funcionário chamado Carlos. Sabe-se que outro funcionário, João, tem salário equivalente a um terço do salário de Carlos. Carlos aplicará seu salário integralmente na caderneta de poupança, que rende 2% ao mês, e João aplicará seu salário integralmente no fundo de renda fixa, que rende 5% ao mês. O programa deverá calcular e mostrar a quantidade de meses necessários para que o valor pertencente a João iguale ou ultrapasse o valor pertencente a Carlos.

4. Faça um programa que leia um conjunto não determinado de valores e mostre o valor lido, seu quadrado, seu cubo e sua raiz quadrada. Finalize a entrada de dados com um valor negativo ou zero.

FONTE DOS EXERCÍCIOS: Fundamentos da Programação de Computadores, Ascencio.

Outros artigos da série

<< Comando de Controle IFComando de Controle Switch Case >>
Licença Creative Commons Esta obra está licenciada com uma Licença Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional.

Receba os melhores conteúdos sobre sistemas eletrônicos embarcados, dicas, tutoriais e promoções.

Software
,
Comentários:
Notificações
Notificar
guest
2 Comentários
recentes
antigos mais votados
Inline Feedbacks
View all comments
Rafael Calai
rafael
06/10/2016 11:38

Elaine,

ótimo artigo, tenho uma pequena observação a fazer: Abaixo do segundo trecho de código está escrito “As linhas de 9 a 13 são as correspondentes ao comando While”, trocar para “As linhas de 11 a 15 são as correspondentes ao comando While” para que corresponda exatamente ao código.

Elaine Cecília Gatto
Elaine Cecília Gatto
Reply to  rafael
06/10/2016 17:31

oishe!!!! é vero Rafael!!! Atualizei o post e esqueci de mudar essa informação =) MUITO OBRIGADA

Talvez você goste:

Séries



Outros da Série

Menu

EVENTO ONLINE

Simplificando seus projetos de Internet das coisas com o iMCP HT32SX Sigfox

DATA: 18/05 às 15:00h