Você está na página 1de 19

Programação de Computadores

Aula 6
Henrique D. Garcia
hdgarcia@udf.edu.br
Operações e Estruturas
de controle
Aula 5
Estruturas de controle

 Estrutura sequencial: Não há controle nenhum. O programa é executado linha


a linha, em ordem.
 Estrutura de seleção: O programa é dividido em blocos que serão executados
ou não, dependendo das condições impostas.
 Estruturas de repetição: Alguns blocos do programa serão executados várias
vezes, dependendo das condições impostas.
Estrutura sequencial

programa {    
    funcao inicio() {
        instrução1
        instrução2
        instrução3
        instrução4
        instrução5
        ...
    }
}
Estrutura sequencial
1.  Escreva um programa que peça para o usuário digitar duas notas e exiba a
média destas notas.

Algoritmo Portugol
ALGORITMO Media programa {    
Entrada: real N1, N2     funcao inicio() {
Saída: média         real n1, n2, media
        escreva("digite n1 e n2")
inicio         leia(n1, n2)
real N1, N2, media         media = (n1 + n2) / 2
leia(N1, N2)         escreva("sua média é: ", media)
media = (N1 + N2) / 2     }
escreva("Sua média é: ", media) }
fim.
Estrutura de seleção simples
se
 Decide se um bloco de instruções deve ser
executado
 Se a condição for verdadeiro executa bloco
 Caso contrário não faz nada
 Pode existir uma estrutura "se" dentro de outra.
 É chamado "se" aninhado ou encadeado
Estrutura de seleção simples
SE

2.  Escreva um programa que pede para o usuário digitar um número e exiba
uma mensagem quando o número digitado for 0.

Algoritmo Portugol
ALGORITMO Numero Zero
Entrada: real numero
Saída: mensagem se numero == 0

inicio
real numero
leia(numero)
se (numero == 0)
  escreva("O numero é zero")
fim.
Exercicio

 Escrever um programa que leia ALGORITMO Passei


dois valores inteiros e Entrada: inteiro N1, N2, auxiliar
independentemente da ordem em Saída: N1 e N2 em ordem crescente
que foram entrados, eles devem
ser impressos na ordem crescente, inicio
ou seja, se forem fornecidos 5 e 3, inteiro N1, N2, auxiliar
respectivamente, devem ser leia(N1, N2)
apresentados 3 e 5.  se (N1 > N2)
auxiliar = N1
N1 = N2
N2 = auxiliar
escreva(N1, ", ", N2)
fim.
Estrutura de seleção composta
SE-SENAO
 Caso preciso executar alguma coisa se a condição
for verdadeira e caso a condição for falsa
 O "senao" só pode ser usado após o "se". Não pode
ser usado sozinho.
Estrutura de seleção composta
SE-SENAO
3.  Escreva um programa que peça para o usuário digitar a hora e escrever
uma mensagem se o dia está claro ou se está escuro.

Algoritmo Portugol
ALGORITMO claro-escuro
Entrada: real numero
Saída: mensagem se numero == 0

inicio
real hora
leia(hora)
se (hora >= 6 e hora <=18)
  escreva("Está claro")
senao
  Escreva("Está escuro")
fim.
Exercício

 Faça um programa que receba duas ALGORITMO Passei


notas e exibe se o aluno foi Entrada: real N1, N2, media
aprovado caso a média das notas Saída: "aprovado" ou "reprovado"
seja maior ou igual a 6,0. Caso
contrário exiba a mensagem que o inicio
aluno fará recuperação. real N1, N2, media
leia(N1, N2)
media = (N1 + N2) / 2
se (media >= 6)
escreva("aprovado!")
senao
escreva("reprovado!")
fim.
Estrutura de seleção encadeada
SE-SENAO SE
 Caso preciso tomar várias decisões. ALGORITMO desempenho
Entrada: real nota
 Apenas um bloco será executado Saída: mensagem se numero == 0
 O último senao é opcional
inicio
real nota
leia(nota)
Exemplo:  Escreva um programa que peça se (nota >= 9)
ao usuário ára digitar uma nota e em   escreva("Excelente desempenho")
seguida escreve uma mensagem sobre seu senao se (nota >= 7)
desempenho para:   escreva("Bom desempenho")
  a) nota superior a 9, senao se (nota >= 6)
  b) para nota entre 7 e 9,   escreva("Desempenho razoável")
senao
  c) para nota entre 6 e 7 e
  escreva("Desempenho ruim")
  d) para nota abaixo de 6. fim.
Estrutura de seleção encadeada
SE-SENAO SE
 Caso preciso tomar várias decisões.
 Apenas um bloco será executado
 O último senao é opcional

Exemplo:  Escreva um programa que peça


ao usuário ára digitar uma nota e em
seguida escreve uma mensagem sobre seu
desempenho para:
  a) nota superior a 9,
  b) para nota entre 7 e 9,
  c) para nota entre 6 e 7 e
  d) para nota abaixo de 6.
Exercício

 Faça um programa que receba a ALGORITMO Passei


medida dos três lados de um Entrada: inteiro L1, L2, L3
triângulo e exibe se o triângulo é Saída: Tipo de triângulo
equilátero, isósceles ou escaleno. inicio
inteiro L1, L2, L3
leia(L1, L2, L3)
se (L1+L2>L3 e L1+L3>L2 e L3+L2>L1)
se (L1==L2 e L2==L3)
  escreva("Triangulo equilátero")
senao se (L1==L2 ou L2==L3 ou L3==L1)
  escreva("Triangulo isósceles")
senao
  escreva("Triangulo escaleno")
senao
escreva("Triangulo inválido")
fim.
Exercício

 Faça um programa que receba a ALGORITMO Passei


medida dos três lados de um Entrada: inteiro L1, L2, L3
triângulo e exibe se o triângulo é Saída: Tipo de triângulo
equilátero, isósceles ou escaleno. inicio
inteiro L1, L2, L3
leia(L1, L2, L3)
se (L1+L2>L3 e L1+L3>L2 e L3+L2>L1)
se (L1==L2 e L2==L3)
  escreva("Triangulo equilátero")
senao se (L1==L2 ou L2==L3 ou L3==L1)
  escreva("Triangulo isósceles")
senao
  escreva("Triangulo escaleno")
senao
escreva("Triangulo inválido")
fim.
Exercício

 Elabore um algoritmo que receba a ALGORITMO votacao


idade de uma pessoa e informa se Entrada: idade
ela pode votar, se o voto é Saída: obrigatoriedade do voto
facultativo ou obrigatório. De
acordo com STE, menos de 16 anos inicio
não votam, menores de 18 anos e inteiro idade
acima de 65 anos é facultativo e de leia(idade)
18 a 65 anos é obrigatório. se (idade <= 16)
escreva("Você não pode votar.")
senao se (idade >= 18 e idade <=65)
escreva("O voto é obrigatório")
senao
escreva("O voto é opcional")
fim.
Estrutura de seleção múltipla
Escolha-Caso
escolha(valor)
 Similar ao se-senao {
caso 0:
 Se valor == caso
  instrucao1
 Executa instrução
pare
 senao
caso 1:
 Execute caso contrário
  instrucao2
Pare
caso contrario:
  instrucao3
}
Exercício

ALGORITMO por_extenso
 Escreva um Entrada: numero
Saída: O numero digitado por extenso

programa que
inicio
inteiro numero
leia(numero)
escolha (numero)

receba um numero caso 0:


escreva(“zero.")
pare

inteiro do usuário
caso 1:
escreva(“um.")
pare
caso 2:

entre 0 e 5 e escreva(“dois.")


pare
caso 3:

escreva o numero
escreva(“três.")
pare
caso 4:
escreva(“quatro.")

por extenso. pare


caso 5:
escreva(“cinco.")
pare
fim.
Fim

Você também pode gostar