Você está na página 1de 13

CONTROLE E REPETIÇÃO

QUAIS AS ESTRUTURAS
DE CONTROLE?

Você aprenderá mais sobre as estruturas de controle: se-senão e escolha-caso. Vamos lá!

ESTRUTURA CONDICIONAL (SE-SENAO / IF-ELSE)


A maior parte dos algoritmos apresenta tomadas de decisão ao longo de suas etapas. Dentro destas
estruturas de decisão temos o se-senao, que tem um simples funcionamento, com base em uma
expressão verdadeira ou falsa. Nesse caso, se uma expressão for verdadeira, o programa segue para um
determinado conjunto de instruções, se não for, ele segue para outro conjunto.

Não Sim
Condição

Instrução Instrução

A seguir, confira um exemplo desse controle condicional.

2
programa
{
//Algoritmo para saque de dinheiro
funcao inicio()
{
real saldoDisponivel = 1000.00, valorSaque

escreva(“Informe o valor do saque: “)


leia(valorSaque)

se(valorSaque <= saldoDisponivel){


saldoDisponivel = saldoDisponivel - valorSaque
escreva(“\nSacando R$”, valorSaque)
}senao{
escreva(“\nO valor solicitado é maior que o valor
disponível para saque!”)
}
escreva(“\nSaldo disponivel: R$”, saldoDisponivel)
}
}

ESTRUTURA CONDICIONAL (ESCOLHA-CASO):


A estrutura escolha-caso é uma solução para quando se tem várias estruturas de decisão (se-senao)
em sequência. Isto é, quando outras verificações são feitas caso a anterior tenha falhado (ou seja, o
fluxo do algoritmo entrou no bloco ‘senão’). A proposta da estrutura escolha-caso é permitir ir direto
ao bloco de código desejado, dependendo do valor de uma variável de verificação. Confira o esquema
abaixo.

ESCOLHA <variável de verificação>


CASO <valor1> FAÇA
“instruções a serem executadas caso <variável de verificação> = <valor1>”
CASO <valor2> FAÇA
“instruções a serem executadas caso <variável de verificação> = <valor2>”
CASO <valor3> FAÇA
“instruções a serem executadas caso <variável de verificação> = <valor3>”
...
FIM-ESCOLHA

A seguir, conheça mais sobre operadores relacionais e sua importância em estruturas condicionais.

3
OPERADORES RELACIONAIS
Para utilizarmos a estrutura condicional temos que saber o que são os operadores relacionais. Estes
operadores realizam a comparação entre dados, para saber algum tipo de informação, como, se um
número é maior que o outro, por exemplo. Confira a seguir os tipos de operadores relacionais que
podem ser encontrados.

SÍMBOLO Nome do Operador Exemplo Significado

> Maior que x>y x é maior que y

>= Maior ou igual x >= y x é maior ou igual a y

< Menor que x<y x é menor que y

<= Menor ou igual x <= y x é menor ou igual a y

== Igual x == y x é igual a y

!= Diferente de x != y x é diferente de y

Quadro 1: Operadores relacionais


Fonte: do Autor (2022)

A seguir, confira mais sobre expressões lógicas.

4
EXPRESSÕES
LÓGICAS

Para conhecer mais sobre expressões lógicas é importante saber sobre operadores lógicos e o uso da
tabela-verdade, então confira a seguir.

OPERADORES LÓGICOS:
Os operadores lógicos (ou booleanos) atuam sobre expressões e fornecem como resultado um valor
lógico (verdadeiro ou falso). Em Portugol temos os operadores E, OU e NAO como exemplo desta
categoria.

Operador Lógico Portugol

Multiplicação Lógica E

Adição lógica OU

Negação NAO

Quadro 2: Operadores lógicos


Fonte: do Autor (2022)

TABELA-VERDADE:
A tabela-verdade é um dispositivo utilizado no estudo da lógica matemática. Com o uso desta tabela é
possível definir o valor lógico de uma proposição, isto é, saber quando uma sentença é verdadeira ou falsa.

A B AEB A OU B Não A Não B

Verdadeiro Verdadeiro Verdadeiro Verdadeiro Falso Falso

Verdadeiro Falso Falso Verdadeiro Falso Verdadeiro

Falso Verdadeiro Falso Verdadeiro Verdadeiro Falso

Falso Falso Falso Falso Verdadeiro Verdadeiro

Quadro 3: Tabela-verdade
Fonte: do Autor (2022)

A seguir, confira quais os tipos de estrutura de repetição possíveis.


5
QUAIS AS ESTRUTURAS
DE REPETIÇÃO?

Conheça a seguir as estruturas: enquanto, para e faça-enquanto.

ENQUANTO (WHILE)
Esta é uma estrutura que repete uma sequência de comandos enquanto uma determinada condição,
especificada através de expressão utilizando operadores relacionais, por exemplo, for satisfeita. Confira
um exemplo:

enquanto <expressão-lógica> faca

<sequência-de-comandos>

Fimenquanto

A <expressão-lógica> é avaliada antes de cada repetição do laço. Quando seu resultado for VERDADEIRO,
<sequência-de-comandos> é executada.

O item <fimenquanto> indica o fim da <sequência-de-comandos> que será repetida. Cada vez que
a execução atinge este ponto, volta-se ao início do laço para que a <expressão-lógica> seja avaliada
novamente. Se o resultado dessa avaliação for VERDADEIRO, a <sequência-de-comandos> será
executada mais uma vez; caso contrário, a execução prosseguirá a partir do primeiro comando após
fimenquanto.

Como o laço ‘enquanto...faca’ testa sua condição de parada antes de


executar sua sequência de comandos, esta sequência poderá ser executada
zero ou mais vezes.

6
PARA (FOR)
Esta estrutura vai repetir uma sequência de comandos por um determinado número de vezes. Confira
um exemplo de código.

para <variável> de <valor-inicial> ate <valor-limite> [passo <incremento>]


faca
<sequência-de-comandos>
Fimpara

A seguir, confira o que cada item do código apresentado representa.

<variável>

É a variável contadora que controla o número de repetições do laço. Na versão atual, deve ser
necessariamente uma variável do tipo inteiro, como todas as expressões deste comando.

<valor-inicial>

É uma expressão que especifica o valor de inicialização da variável contadora antes da primeira
repetição do laço.

<valor-limite >

É uma expressão que especifica o valor máximo que a variável contadora pode alcançar.

<incremento>

É opcional. Quando presente, precedida pela palavra ‘passo’, é uma expressão que especifica o
incremento que será acrescentado à variável contadora em cada repetição do laço. Quando esta
opção não é utilizada, o valor padrão de <incremento> é um. Vale a pena ter em conta que também é
possível especificar valores negativos para <incremento>. Por outro lado, se a avaliação da expressão
<incremento > resultar em valor nulo, a execução do algoritmo será interrompida, com a impressão
de uma mensagem de erro.

fimpara

Indica o fim da sequência de comandos a serem repetidos. Cada vez que o programa chega neste
ponto, é acrescentado à variável contadora o valor de <incremento>, e comparado a <valor-limite>.
Se for menor ou igual (ou maior ou igual, quando <incremento> for negativo), a sequência de
comandos será executada mais uma vez; caso contrário, a execução prosseguirá a partir do primeiro
comando que esteja após o fimpara.

7
Se, logo no início da primeira repetição, o <valor-inicial > for maior que o
<valor-limite> (ou menor, quando o <incremento> for negativo), o laço não
será executado nenhuma vez.

FAÇA-ENQUANTO (DO-WHILE)
Esta estrutura repete uma sequência de comandos até que uma determinada condição (especificada
através de uma expressão lógica) seja satisfeita, confira a seguir.

faca
<sequência-de-comandos>
enquanto<expressão-lógica>

faca

Indica o início do laço.

enquanto<expressão-lógica>

Indica o fim da <sequência-de-comandos> a serem repetidos. Cada vez que o programa chega neste
ponto, a <expressão-lógica> é avaliada: se seu resultado for FALSO, os comandos presentes entre
esta linha e a linha faca são executados; caso contrário, a execução prosseguirá a partir do primeiro
comando após esta linha.

Importante

Como o laço ‘faca...enquanto’ testa sua condição de parada depois de executar sua sequência de
comandos, esta sequência poderá ser executada uma ou mais vezes.

8
NA PRÁTICA,
COMO FUNCIONA?

Confira um exemplo resolvido com a utilização da estrutura de repetição ‘para’ em conjunto com a
estrutura de controle ‘se’. Código do Portugol juntamente com fluxograma do exercício.

O enunciado pede que: Escreva um algoritmo para ler cinco números. Todos os números lidos com
valor inferior a 40 devem ser somados. Escreva o valor final da soma efetuada:

programa
{
unção inicio()
{
inteiro num, soma = 0, i

para(i=1; i<=5; i++){


leia(num)
se(num<40){
soma = soma + num
}
}
escreva(“\nA soma dos valores menores que 40 é de: “, soma)
}
}

A seguir, confira a organização do fluxograma deste problema.

9
Principal

Inteiro num

Inteiro soma

Soma <- 0

Inteiro i

Próximo
i <- 1 até 5

Nenhum
Ler num

Falso Verdade
Num<40

Soma <- soma + num

Escrever
“A soma dos valores menos que 40 é de: “ & soma

Fim

E agora que você já chegou até aqui? Confira alguns passos que podem ser tomados a seguir.

10
QUAIS OS
PRÓXIMOS PASSOS?

Faça alguns exercícios para você continuar praticando os conhecimentos que vimos até o momento:

1. Utilizando os laços de repetição, crie dois códigos diferentes para informar


a tabuada do número 2 e exibir o mesmo número na tela.
2. Calcule a tabuada do número que o usuário solicitar e mostre os
resultados na tela.
3. Escreva um algoritmo para ler uma temperatura em graus Fahrenheit,
calcular e escrever o valor correspondente em graus Celsius (baseado na
fórmula abaixo):

C F - 32
=
5 9

Observação: Para testar se a sua resposta está correta saiba que 100ºC =
212F

4. As maçãs custam R$ 1,30 cada se forem compradas menos de uma dúzia,


e R$ 1,00 se forem compradas pelo menos 12. Escreva um programa que
leia o número de maçãs compradas, calcule e escreva o custo total da
compra.
5. Uma empresa quer verificar se um empregado está qualificado para
a aposentadoria ou não. Para estar em condições, um dos seguintes
requisitos deve ser satisfeito:
• Ter no mínimo 65 anos de idade.
• Ter trabalhado no mínimo 30 anos.
• Ter no mínimo 60 anos e ter trabalhado no mínimo 25 anos.
Com base nas informações acima, faça um algoritmo que leia: o número
do empregado (código), o ano de seu nascimento e o ano de seu ingresso
na empresa. O programa deverá escrever a idade e o tempo de trabalho do
empregado e a mensagem ‘Requerer aposentadoria’ ou ‘Não requerer’.

11
Outros conteúdos para você buscar mais conhecimento sobre programação e que são muito
importantes:

Array

É uma estrutura de dados que mantém uma série de elementos de dados do mesmo tipo. Os arrays
são classificados de acordo com a sua dimensão de armazenamento de dados:

• Unidimensional: Vetor
• Bidimensional: Matriz

Structs

Define tipos de dados que agrupam variáveis sob um mesmo tipo de dado. A ideia de usar uma struct
é permitir que, ao armazenar os dados de uma mesma entidade, isto possa ser feito com uma única
variável. Por exemplo, se for preciso armazenar a altura, o peso e a idade de uma pessoa, pode-se
criar uma struct chamada ‘Pessoa’ e agrupar os dados em um único tipo de dado

Funções

Denominamos função um conjunto de comandos que realiza uma tarefa específica em um módulo
dependente de código. A utilização de funções visa modularizar um programa, o que é muito comum
em programação estruturada. Um dos grandes benefícios é não precisar copiar o código todas as
vezes que precisar executar aquela operação, além de deixar a leitura do código mais intuitiva.

Continue seus estudos e até mais!

12

Você também pode gostar