Anda di halaman 1dari 9

CONVERSA INICIAL

Olá! Seja bem-vindo(a) à quinta aula da disciplina Lógica de Programação e Algoritmos. Hoje vamos trabalhar as estruturas de programação
condicional e de repetição. Conheceremos a sintaxe geral, bem como exemplos e exercícios para compreendermos estas duas estruturas de
controle de programação.

Os tópicos abordados serão:

 Estrutura condicional (Seleção)

 Estrutura de repetição

CONTEXTUALIZANDO

Você se lembra das três estruturas de controle básicas em programação e construção de algoritmos? São elas: sequencial, condicional e
repetição.

É importante notar que, com a combinação de tais estruturas de controle, pode-se resolver qualquer problema algorítmico! O importante é
entender o processo lógico por trás das funções, sem se deixar intimidar pelos cálculos específicos de cada situação.

A seguir, vamos aprimorar nossos conhecimentos em estruturas condicionais e iniciar a compreensão da estrutura de repetição.

PESQUISE
Estrutura Condicional (Seleção) – Parte I
Relembrando, uma estrutura de seleção permite a escolha de um grupo de ações (bloco) a ser executado quando determinadas condições,
representadas por expressões lógicas ou relacionais, são ou não satisfeitas.

As condicionais podem ser do tipo simples, composta e encadeada.

Seleção Simples Seleção Composta Seleção Encadeada


Se <condição) Se <condição> Se <condição 1>
Então Então Então
Comandos Comandos Se <condição 2>
Fimse Senão Então
Comandos Comandos
Fimse Fimse
Senão
Se <condição 3>
Então
Comandos
Fimse
Fimse

Voltando ao mesmo exercício de algoritmo que receba três números, mostre-os em ordem crescente e diga qual é o maior!
Observe atentamente a tabela a seguir. Nela, temos várias situações que precisaremos analisar antes de iniciarmos a construção do algoritmo.

N1 N2 N3 Observações Nas 4 primeiras linhas vemos que


temos opções que invalidam o que
10 10 10 Todos iguais precisaríamos fazer no algoritmo.
d10 10 9 n1=n2 Então, iniciamos nossa utilização
de comandos de decisão falando
10 9 10 n1=n3
para o usuário que as entradas
9 10 10 n2=n3 destas linhas são inválidas.
10 9 8 n1>n2>n3 Resolvidas as condições inválidas,
10 8 9 n1>n3>n2 partimos para as condições
válidas. Neste caso, nas próximas
9 10 8 n2>n1>n3 linhas da tabela, agrupadas de
8 10 9 n2>n3>n1 duas em duas linhas, observamos
que no primeiro momento
9 8 10 n3>n1>n2 isolamos o n1, no segundo o n2 e
8 9 10 n3>n2>n1 no terceiro o n3.
Uma vez que isolemos por exemplo o n1, já sabemos que ele é o maior de todos, mas precisamos ainda testar quem é maior dos que
sobraram: n2 ou n3. Assim, duas situações podem acontecer:

 n2 pode ser maior que n3


 n3 pode ser maior que n2

E isto se repetirá para n2 maior e para n3 maior. Simples, não? Confira um exemplo de algoritmo:

algoritmo "Maior3"
// Função : Verificar o maior de tres numeros e ordenar (crescente)
// Autor : Profa. Maristela.
// Data : 11/01/2015
// Seção de Declarações
var
n1,n2,n3: real

inicio
// Seção de Comandos
escreval("Digite tres números quaisquer: ")
leia(n1)
leia(n2)
leia(n3)

se (n1=n2) e (n2=n3) entao


escreva ("Os tres numeros sao iguais :", n1, n2, n3)
senao
se (n1=n2) ou (n2=n3) ou (n1=n3) entao
escreva ("Ha numeros iguais :", n1, n2 ,n3)
senao
se (n1>n2) e (n1>n3) e (n2>n3) entao
escreva (" n1>n2>n3 ", n1,">", n2,">", n3)
fimse

se (n1>n3) e (n1>n2) e (n3>n2) entao


escreva (" n1>n3>n2 ", n1,">", n3,">", n2)
fimse

se (n2>n3) e (n2>n1) e (n3>n1) entao


11
escreva (" n2>n3>n1 ", n2,">", n3,">", n1)
fimse

se (n2>n1) e (n2>n3) e (n1>n3) entao


escreva (" n2>n1>n3 ", n2,">", n1,">", n3)
fimse

se (n3>n1) e (n3>n2) e (n1>n2) entao


escreva (" n3>n1>n2 ", n3,">", n1,">", n2)
fimse

se (n3>n2) e (n3>n1) e (n2>n1) entao


escreva (" n3>n2>n1 ", n3,">", n2,">", n1)
fimse
fimse
fimse

fimalgoritmo

Estrutura de Repetição – Parte II


A estrutura de repetição é utilizada quando se sabe o número de vezes em que um trecho do algoritmo deve ser repetido. É o tipo de estrutura
que facilita quando precisamos que um bloco de comandos seja feita 10, 100, 1.000, 10.000 ou mais vezes!

A seguir, confira a construção passo a passo dessa estrutura!

ESTRUTURA PARA
para <variável> de <valor-inicial> ate <valor-limite> [passo <incremento>] faca
<sequência-de-comandos>
fimpara

<variável > Controla o número de repetições.

<valor-inicial> Especifica o valor de inicialização.

<valor-limite > Valor máximo da variável contadora.

<incremento > Opcional. Quando não utilizada o incremento é de 1 em 1.

Fimpara Indica a finalização da repetição.

Estrutura de Repetição – Parte III

Agora vamos estudar a estrutura de repetição através de um exemplo. Acompanhe!

Escreveremos um algoritmo que leia 50 valores e encontre o maior e o menor deles.


Para começar, escreveremos a seguinte tabela para testarmos os dados para o algoritmo proposto:

Maior menor i valor

-999999999999 999999999999 1 15

15 15 2 -9

15 -9 3 20

20 -9 4 156

156 -9 5 48

156 -9

Neste algoritmo, escolhemos duas variáveis (maior e menor) que receberão inicialmente um valor que chamamos de estourado.

No caso do menor, ele receberá o valor 999999999999 e no caso do maior, ele receberá um valor -999999999999. Isto porque, diante das
entradas do usuário, a ideia é que o maior número seja maior que -999999999999 e o menor número menor que 999999999999.
Na primeira execução do para faça, maior e menor ficarão com 15, pois 15 é menor que 999999999999 e maior é que -999999999999.

Já na segunda execução do para faça, -9 não é maior que 15, por isto ele permanece, mas -9 é menor que 15, por isto ele troca de valor.

E assim segue-se até as 50 repetições.

TROCANDO IDEIAS

Algumas das estruturas parecem complicadas de colocar em prática? Você não precisa estudar sozinho!

Vá até o fórum e converse com seus colegas, vocês podem pesquisar e trocar dicas de exercícios, resolver problemas algorítmicos em equipe e
descobrir as melhores soluções!

Acesse o fórum através do Ambiente Virtual de Aprendizagem.

SÍNTESE
Nessa aula, trabalhamos algoritmos com estruturas de controle sequencial, condicional e de repetição (para faça). Vimos também que uma
estrutura condicional pode ser simples, composta ou encadeada.

Atenção: a forma que utilizaremos em nossos algoritmos dependerá de cada problema, bem como a organização da lógica por parte de cada
um.
COMPARTILHANDO
Converse com seus amigos e colegas sobre o que você aprendeu hoje! Além disso, que tal pensar em alguns exercícios de lógica baseados nas
vivências do dia a dia? Relacionar o conteúdo a aplicações práticas pode ajudar muito a fixar os conhecimentos!

Assim termina nosso encontro de hoje! Nos vemos na próxima aula!

Anda mungkin juga menyukai