Prévia do material em texto
CONTROLE E REPETIÇÃO
QUAIS AS ESTRUTURAS
DE CONTROLE?
2
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
Instrução Instrução
Condição
A seguir, confira um exemplo desse controle condicional.
3
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.
about:blank
4
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.
EXPRESSÕES
LÓGICAS
5
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 A E B 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.
6
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.
QUAIS AS ESTRUTURAS
DE REPETIÇÃO?
7
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.
8
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.
9
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.
NA PRÁTICA,
COMO FUNCIONA?
10
VerdadeFalso
Próximo
Nenhum
Num<40
i <- 1 até 5
Ler num
Escrever
“A soma dos valores menos que 40 é de: “ & soma
Inteiro num
Inteiro i
Soma <- 0
Soma <- soma + num
Inteiro soma
Principal
Fim
E agora que você já chegou até aqui? Confira alguns passos que podem ser tomados a seguir.
11
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’.
QUAIS OS
PRÓXIMOS PASSOS?
12
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!