Você está na página 1de 38

Estrutura Condicional Se, Laços de repetição

Estrutura de Condição, Escolha e


Repetição

Profª Fabíola Gonçalves C. Ribeiro


INTRODUÇÃO

 Os comandos a seguir modificam o fluxo de


execução de um algoritmo com base no teste de
uma condição.

 Existem duas formas para implementar esse tipo


de comando..
ESTRUTURA CONDICIONAL SIMPLES

SE

Se Condição for verdadeira então


Comando1;
Fimse

 O comando só será executado se a condição for verdadeira.


Uma condição é uma comparação que possui dois valores
possíveis: verdadeiro ou falso.
ESTRUTURA CONDICIONAL - DECISÃO

 Estrutura Condicional Simples


 Apenas uma única condição é avaliada

 Estrutura Condicional Composta


 Duas ou mais condições são avaliadas
ESTRUTURA CONDICIONAL SIMPLES

Utilizando dois ou mais comandos..

Se Condição for verdadeira então


comando1;
comando2;
comandoN;
Fimse
ESTRUTURA CONDICIONAL COMPOSTA

Se Condição for verdadeira então


Comando;
Senão
Comando;
Fimse

 Se a condição for verdadeira, será executado o


comando1;caso contrário, se a condição for falsa,
será executado o comando2.
ESTRUTURA CONDICIONAL COMPOSTA

 Utilizando dois ou mais comandos..

Se Condição for verdadeira então


comando1;
comandoN;
Senão
comando1;
comandoN;
Fimse
EXEMPLO

 Ler um número e se ele for maior do que 20, então


imprimir a metade do número.
Solução 2
Solução 1
Algoritmo metade
Algoritmo metade
var
var
real: numero;
real: numero, metade;
escreva(“Digite número: ”);
escreva(“Digite número: ”);
leia(numero);
leia(numero);
se(numero>20) entao
se(numero>20) entao
imprima(“\n metade: ”, numero/2);
metade<- numero/2;
fimse
imprima(“\n metade: ”,metade);
fimAlgoritmo
fimse
fimAlgoritmo
EXERCÍCIO/ EXEMPLO

 Ler um número e se ele for positivo, imprimir seu inverso; caso


contrário, imprimir o valor absoluto do número.
RESPOSTA
Solução 1
Algoritmo inversoAbsoluto Solução 2
var Algoritmo inversoAbsoluto

Validação e Verificação
real: numero, inverso, absoluto; var
escreva(“digite número: ”); real: numero;
leia(numero); escreva(“digite número: ”);
se(numero>0) entao leia(numero);
inverso <- 1/numero; se(numero>0) entao
escreva(“inverso: ”, inverso); escreva(“inverso: ”, 1/numero);
fimse fimse
senao senao
absoluto<-numero*(-1); escreva(“\n absoluto:”,(numero)*-1);
//ou absoluto <- abs(numero); fimsenao
escreva(“\n absoluto: ”, absoluto); fimAlgoritmo
fimsenao
fimAlgoritmo
A saída é a mesma, mas na solução 2 há economia de memória
EXERCÍCIO/EXEMPLO

 Ler dois números diferentes e dizer


qual deles é o menos
SE’S ANINHADOS OU ENCAIXADOS

 Muitas vezes em muitas aplicações sentiremos


necessidade de tomar outras decisões dentro de uma
das alternativas da estrutura do se; a isso chamamos
de se’s aninhados.
EXEMPLO CLÁSSICO DE SE ANINHADO
 Ler um número e imprimir se ele é positivo
Algoritmo positivo
var
real num;
escreva(“\n Digite numero:”);
leia (num);
se(num>0) entao
escreva(“\n POSITIVO”);
senao
se(num<0)
escreva(“\n NEGATIVO”);
senao
escreva(“\n NULO”);
fimse
fimse
fimAlgoritmo
EXERCÍCIO/EXEMPLO

 Crie um algoritmo que verifica o menor


entre três números fornecidos. Utilize
Se’s alinhados..
A ESTRUTURA ESCOLHA (SWITCH)

 A expressão é avaliada e o valor será comparado


com um dos rótulos.

 A opção senão é opcional


 O rótulo é definido como uma constante caracter,
constante numérica
 É mais clara que Se’s aninhados.
ALTERNATIVA PARA O SE’S ANINHADOS

escolha( expressão de seleção)


caso (rotulo1):
comando 1;
comando2;
pare;
caso(rotulo2):
comando1;
comando2;
pare;
caso(rotuloN):
comando1;
comando2;
pare;
senao comando;
fimEscolha;
EXEMPLO SIMPLES....
algoritmo Times
var
caractere: time;
escreva ("Entre com o nome de um time de futebol: ");
leia (time);
escolha time
caso "Flamengo", "Fluminense", "Vasco", "Botafogo"
escreva ("É um time carioca.");
pare;
caso "São Paulo", "Palmeiras", "Santos", "Corínthians“
escreva ("É um time paulista.");
pare;
senao
escreva ("É de outro estado.");
fimescolha
fimalgoritmo
EXERCÍCIO/EXEMPLO
 Escreva um algoritmo que leia um peso na Terra e o
número de um planeta e imprima o valor do seu peso
neste planeta. A relação de planetas é dada a seguir
juntamente com o valor das gravidades relativas à
Terra:
# Gravidade Planeta
1 0,37 Mercúrio
2 0,88 Venus
3 0,38 Marte
4 2,64 Júpiter
5 1,15 Saturno
6 1,17 Urano
Peso= Pterra* gravidade
10
ESTRUTURA DE REPETIÇÃO
 São muito comuns as situações em que
se deseja repetir uma ação ou um
determinado trecho de um programa,
certo número de vezes. Enquanto a
condição for verdadeira, as instruções
serão executadas.

 Exemplo: Ações semanais de um ser


humano, processamento da folha de
pagamento de uma empresa.
ESTRUTURA DE REPETIÇÃO

 Estas são conhecidas como: Laços ou


Loops.

 Laços condicionais:

 Enquanto-faça

 Repita-até
ESTRUTURA DE REPETIÇÃO
 Estrutura do laço enquanto:

Enquanto <condição for verdadeira> faça

<comandos>

Fimenquanto
ESTRUTURA DE REPETIÇÃO
 Estrutura do laço enquanto:

enquanto <condição for verdadeira> Faça


início
Comando 1;
Comando 2;
...
Comando n;
fim-enquanto
ESTRUTURA ENQUANTO

 Recomendado quando o número de repetições for


desconhecido
 É uma estrutura que testa a condição no início e só
repete se a condição for verdadeira
 Flag, teste ou chave
 Fala-se que é a mais poderosa estrutura de repetição
CONTINUAR EXEMPLO
Algoritmo enquanto1
real num;
imprima(“digite numero: \n”);
leia (num);
enquanto(num>0)
imprima (“digite numero: ”);
leia (num);
imprima(“o dobro do número”);
num *2;
fim enquanto;
fimAlgoritmo
ESTRUTURA DE REPETIÇÃO
 Estrutura do laço repita:

repita
<comandos>
até <condição for verdadeira>

faça
<comandos>
enquanto <condição for verdadeira>
ESTRUTURA DE REPETIÇÃO
 Estrutura do laço repita:

Repita
Início
Comando1;
Comando2;
...
Comando n;
até <condição for verdadeira>
ESTRUTURA FAÇA ENQUANTO, OU REPITA
ATÉ

 Estrutura recomendada quando o número de


repetições for desconhecido, sendo necessário um teste
para interromper a repetição

 Sua diferença em relação ao enquanto é que ela testa


ao final, significando que ela executa o código pelo
menos uma vez.

 Muitos programadores nem fazem uso dessa estrutura,


pouco utilizada.
EXEMPLO
Algoritmo facaenquanto
var
int a;
imprima (“digite numero no intervalo 0 ate 10: ”);
leia (a);
faca
escreva(“\n”,a);
a++;
enquanto(a<10)
fimAlgoritmo
EXERCÍCIOS
 Entrar com números e imprimir o triplo de cada
número. O Algoritmo acaba quando entrar com o
número -999.
Algoritmo
var
real num;
imprima(“\n digite numero ou -999. para terminar”);
leia(num);
enquanto(num< >-999)
{
imprima(“\ntriplo: ”,num*3);
imprima(“\n digite numero ou -999 para terminar”);
leia(num);
}
fimAlgoritmo
ESTRUTURA DE REPETIÇÃO
 Laços contados:

 Para-faça
 Usado quando o número de repetições for conhecido durante
a elaboração do algoritmo ou quando poder ser fornecido
durante a execução
 Ex. Criar um algoritmo que possa entrar com a nota de 20
alunos e imprimir a média da turma.
ESTRUTURA DE REPETIÇÃO
 Estrutura do laço para:

Para <variável> de <início> até <final> faça

<comandos>

Fimpara
 Estrutura do laço para:

para(valor inicial; <condição>; <valor de incremento>)


Comando1;
Comando2;
...
Comandon;
Fimpara
VALOR DE INCREMENTO

 a++; a<-a+1;

 x--; x<-x-1;

 O identificador tem que ser do tipo inteiro


ALGORITMO MÉDIA DA TURMA
Algoritmo media20
var
real media, nota;
inteiro i;
media<-0;
i=0;
for(i de 1 ate 20 faca i<- i+1)
{
imprima(“Digite o valor de nota: “);
leia(nota);
media<-media + nota;
}
imprima(“A média da turma é: ”, media/20);
fimAlgoritmo
ESTRUTURA DE REPETIÇÃO
 Exemplo:
Para-faça Enquanto-faça Repita-até

algoritmo "semnome" algoritmo "semnome"


algoritmo "semnome" var var
var b,a,area:real; b,a,area:real;
b,a,area:real; i:inteiro; i:inteiro;
i:inteiro; inicio inicio
inicio; i<-1; i<-1;
para i de 1 ate 5 faca enquanto i <=5 faca repita
inicio inicio inicio
leia(b); leia(b); leia(b);
leia(a); leia(a); leia(a);
area<-b*a; area<-b*a; area<-b*a;
escreva(area); escreva(area); escreva(area);
fimpara i<-i+1; i<-i+1;
Fimalgoritmo fimenquanto ate i<=5
Fimalgoritmo Fimalgoritmo
EXERCÍCIO/EXEMPLO
 Criar um algoritmo que imprima todos os números
pares no intervalo de 1-10

Algoritmo Par
var
;
for(i de xx ate 10 faca i<- i+1)
{
imprima(“ “);
}
fimAlgoritmo
Algoritmo transforma
var
inteiro f1, f2, dec, t;
real c;
imprima(“\n entre com a temperatura maior em Fahrenheit”);
leia(f1);
imprima(“\n entre com a temperatura menor em Fahrenheit”);
leia(f2);
imprima(“\n entre com decremento: ”);
leia(dec);
para(t<- f1; t>=f2; t<-t-dec)
{
c<-5* (t-32)/9;
imprima(“\n temperatura em graus Celsius”, C);
}
FimAlgoritmo
41
EXERCÍCIO:
VERIFICAR QUAL ESTRUTURA IDEAL

 Criar um algoritmo que leia 20 números inteiros para que


possa ser impresso o maior e o menor número digitado.

 Criar um algoritmo que leia números inteiros para que possa


ser impresso o maior e o menor número digitado até que o
usuário informe que o flag -1

 Criar um algoritmo que leia idade e sexo (0 masculino e 1


feminino) de várias pessoas. Calcule e imprima a idade
média, total de pessoas do sexo feminino com idade entre 30-
45 inclusive e o número total de pessoas do sexo masculino. O
algoritmo termina quando se digita 0 para a idade.

Você também pode gostar