SlideShare uma empresa Scribd logo
1 de 17
Programação I
Tema V: Estruturas de Controlo de
Fluxo
Docente: Eugénio Xavier Domingos
Caetano
Estruturas de Controlo de Fluxo
 Em ciência da computação, estrutura de controle
(ou fluxo de controle) refere-se à ordem em que
instruções, expressões e chamadas de função são
executadas ou avaliadas em programas de
computador sob programação imperativa ou
funcional.
 Os tipos de estruturas de controle disponíveis
diferem de linguagem para linguagem, mas podem
ser cruamente caracterizados por seus efeitos.
 O primeiro é a continuação da execução em uma
outra instrução, como na estrutura sequencial ou
 O segundo é a execução de um bloco de código
somente se uma condição é verdadeira, uma
estrutura de seleção.
 O terceiro é a execução de um bloco de código
enquanto uma condição é verdadeira, ou de forma a
iterar uma coleção de dados, uma estrutura de
repetição.
 O quarto é a execução de instruções distantes
entre si, em que o controle de fluxo possivelmente
volte para a posição original posteriormente, como
 O quinto é a parada do programa de computador.
 Interrupções e sinais são mecanismos de baixo
nível que podem alterar o fluxo de controle de forma
similar a uma sub-rotina, mas geralmente em
resposta a algum estímulo externo ou um evento ao
invés de uma estrutura de controle em uma
linguagem.
 Em nível de linguagem de máquina, as instruções
de estruturas de controle geralmente funcionam ao
alterar o contador de programa.
Tipos de Estruturas em Portugol
 Estrutura de seleção ou decisao: Também
chamada de expressão condicional ou ainda
construção condicional, a estrutura de seleção
realiza diferentes computações ou ações
dependendo se a seleção (ou condição) é
verdadeira ou falsa.
◦ A condição é uma expressão processada e transformada
em um valor booleano.
 Estrutura de repetição: Uma estrutura de
repetição realiza e repete diferentes computações
ou ações dependendo se uma condição é
verdadeira ou falsa, condição essa que é um
expressão processada e transformada em um valor
booleano.
◦ Está associado a ela além da condição (também
chamada "expressão de controle" ou "condição de
parada") o bloco de código: verifica-se a condição, e caso
seja verdadeira, o bloco é executado.
◦ Após o final da execução do bloco, a condição é
◦ Deve-se observar que, caso o bloco de código nunca
modificar o estado da condição, a estrutura será
executada para sempre, uma situação chamada laço
infinito.
◦ Da mesma forma, é possível especificar uma estrutura
em que o bloco de código modifica o estado da condição,
mas esta é sempre verdadeira.
◦ Algumas linguagens de programação especificam ainda
uma palavra reservada para sair da estrutura de
repetição de dentro do bloco de código, "quebrando" a
estrutura.
◦ Também é oferecido por algumas linguagens uma palavra
Estrutura de decisao: Se…Entao
 Escolha Simples: Pode-se selecionar a sequência
de comandos a ser executada.
 Formato:
se condição então
comandos
fim se
 Escolha Composta: A maioria dos algoritmos
precisam tomar decisões ao longo de sua
execução.
◦ Para isso existem as estruturas de decisão, e a mais
utilizada é a estrutura SE-ENTÃO-SENÃO (Em inglês IF-
THEN-ELSE).
◦ O funcionamento é simples: com base no resultado de
uma expressão booleana (VERDADEIRO ou FALSO), o
fluxo do algoritmo segue para um bloco de instruções ou
não.
◦ Observe o esquema da estrutura SE-ENTÃO-SENÃO:
se condição então
<instruções a serem executadas caso a expressão
booleana resulte em VERDADEIRO>
senão
<instruções a serem executadas caso a expressão
booleana resulte em FALSO>
fimse
 O bloco de código SENÃO é opcional.
 É comum encontrar instruções de decisão apenas
com SE-ENTÃO sem o bloco SENÃO.
 Estruturas ‘Aninhadas’
Algoritmo “maior_de_tres”
//algoritmo para obter o maior entre três valores
inteiros
var
maior: inteiro
numero1, numero2, numero3: inteiro
inicio
se (numero1 > numero2) então
se (numero2 >= numero3) então
maior<-numero1
senão
se (numero1 > numero3) então
maior<-numero1
Senão
maior<-numero3
fim se
fim se
senão
se (numero2 ≥ numero3) então
maior<-numero2
senão
maior<-numero3
fim se
fim se
escreva(maior)
fim
 Estruturas ‘Aninhadas’ (simplificação)
Algoritmo “maior_de_tres_melhor”
//algoritmo para obter o maior entre três valores
inteiros
var
maior: inteiro
numero1, numero2, numero3: inteiro
Inicio
leia(numero1, numero2, numero3)
se (numero2 > maior) então
maior<-numero2
fimse
se (numero3 > maior) então
maior<-numero3
fim se
escreva(maior)
fim
Exercício
 Desenvolver um algoritmo para, dados dois times
de futebol (cada time identificado por um número
inteiro), seus pontos ganhos e seu saldo de gols no
campeonato, decidir qual dos dois está em melhor
colocação (armazenando o resultado na variável
ganhador).
 O resultado deve ser impresso.
 A regra diz que está na frente no campeonato o time
que tiver mais pontos ganhos, com desempate pelo
saldo de gols.
Conclusao
 Para algumas CPUs, as únicas instruções de
estruturas de controle disponíveis são os diversos
tipos de jump condicional.

Mais conteúdo relacionado

Mais procurados

Estrutura de decisão switch case
Estrutura de decisão switch caseEstrutura de decisão switch case
Estrutura de decisão switch caseAlessandra Sra JM
 
2º introdução a lógica de programação
2º introdução a lógica de programação2º introdução a lógica de programação
2º introdução a lógica de programaçãoLucas Mendes
 
Java: Estruturas de Repetição
Java: Estruturas de RepetiçãoJava: Estruturas de Repetição
Java: Estruturas de RepetiçãoArthur Emanuel
 
Alg aula 05-1 - estruturas de-repeticao tp1 (repita e enquanto)
Alg   aula 05-1 - estruturas de-repeticao tp1 (repita e enquanto)Alg   aula 05-1 - estruturas de-repeticao tp1 (repita e enquanto)
Alg aula 05-1 - estruturas de-repeticao tp1 (repita e enquanto)Thalles Anderson
 
Algoritmos e Programação: Estruturas de condição
Algoritmos e Programação: Estruturas de condiçãoAlgoritmos e Programação: Estruturas de condição
Algoritmos e Programação: Estruturas de condiçãoAlex Camargo
 
Programacao funcional dojo
Programacao funcional dojoProgramacao funcional dojo
Programacao funcional dojoFrancieli Viane
 
Curso Básico de Java - Aula 9
Curso Básico de Java - Aula 9Curso Básico de Java - Aula 9
Curso Básico de Java - Aula 9PeslPinguim
 
Estruturas de controle if/else switch PHP
Estruturas de controle if/else switch PHPEstruturas de controle if/else switch PHP
Estruturas de controle if/else switch PHPSedu
 
ICC - Aula 04 - Expressões literais, comando de atribuição e de entrada/saída
ICC - Aula 04 - Expressões literais, comando de atribuição e de entrada/saídaICC - Aula 04 - Expressões literais, comando de atribuição e de entrada/saída
ICC - Aula 04 - Expressões literais, comando de atribuição e de entrada/saídaFelipe J. R. Vieira
 
Algoritmos e Programação: Estruturas de repetição
Algoritmos e Programação: Estruturas de repetiçãoAlgoritmos e Programação: Estruturas de repetição
Algoritmos e Programação: Estruturas de repetiçãoAlex Camargo
 
Estrutura de Desvio Simples
Estrutura de Desvio SimplesEstrutura de Desvio Simples
Estrutura de Desvio SimplesCid de Andrade
 
Aula 1 estruturas de controlo (final)
Aula 1   estruturas de controlo (final)Aula 1   estruturas de controlo (final)
Aula 1 estruturas de controlo (final)mestradopeci2012
 

Mais procurados (19)

Estrutura de decisão switch case
Estrutura de decisão switch caseEstrutura de decisão switch case
Estrutura de decisão switch case
 
Aula04- Lógica de Programação
Aula04- Lógica de ProgramaçãoAula04- Lógica de Programação
Aula04- Lógica de Programação
 
Código Limpo
Código LimpoCódigo Limpo
Código Limpo
 
2º introdução a lógica de programação
2º introdução a lógica de programação2º introdução a lógica de programação
2º introdução a lógica de programação
 
If
IfIf
If
 
Java: Estruturas de Repetição
Java: Estruturas de RepetiçãoJava: Estruturas de Repetição
Java: Estruturas de Repetição
 
Algoritmos Aula 06
Algoritmos Aula 06Algoritmos Aula 06
Algoritmos Aula 06
 
Alg aula 05-1 - estruturas de-repeticao tp1 (repita e enquanto)
Alg   aula 05-1 - estruturas de-repeticao tp1 (repita e enquanto)Alg   aula 05-1 - estruturas de-repeticao tp1 (repita e enquanto)
Alg aula 05-1 - estruturas de-repeticao tp1 (repita e enquanto)
 
Algoritmos e Programação: Estruturas de condição
Algoritmos e Programação: Estruturas de condiçãoAlgoritmos e Programação: Estruturas de condição
Algoritmos e Programação: Estruturas de condição
 
Programacao funcional dojo
Programacao funcional dojoProgramacao funcional dojo
Programacao funcional dojo
 
Aula02
Aula02Aula02
Aula02
 
Curso Básico de Java - Aula 9
Curso Básico de Java - Aula 9Curso Básico de Java - Aula 9
Curso Básico de Java - Aula 9
 
Código Limpo Dual
Código Limpo DualCódigo Limpo Dual
Código Limpo Dual
 
Estruturas de controle if/else switch PHP
Estruturas de controle if/else switch PHPEstruturas de controle if/else switch PHP
Estruturas de controle if/else switch PHP
 
ICC - Aula 04 - Expressões literais, comando de atribuição e de entrada/saída
ICC - Aula 04 - Expressões literais, comando de atribuição e de entrada/saídaICC - Aula 04 - Expressões literais, comando de atribuição e de entrada/saída
ICC - Aula 04 - Expressões literais, comando de atribuição e de entrada/saída
 
Algoritmos e Programação: Estruturas de repetição
Algoritmos e Programação: Estruturas de repetiçãoAlgoritmos e Programação: Estruturas de repetição
Algoritmos e Programação: Estruturas de repetição
 
Estrutura de Desvio Simples
Estrutura de Desvio SimplesEstrutura de Desvio Simples
Estrutura de Desvio Simples
 
Aula 1 estruturas de controlo (final)
Aula 1   estruturas de controlo (final)Aula 1   estruturas de controlo (final)
Aula 1 estruturas de controlo (final)
 
Comandos de controle de fluxo do php
Comandos de controle de fluxo do phpComandos de controle de fluxo do php
Comandos de controle de fluxo do php
 

Semelhante a 6. estruturas de controlo de fluxo

Java básico - Módulo 04: Estruturas de controle
Java   básico - Módulo 04:  Estruturas de controleJava   básico - Módulo 04:  Estruturas de controle
Java básico - Módulo 04: Estruturas de controleProfessor Samuel Ribeiro
 
Guia Rápido de Referência Java
Guia Rápido de Referência JavaGuia Rápido de Referência Java
Guia Rápido de Referência JavaMario Jorge Pereira
 
Aula13 - Estrutura de repetição (for e while) - PHP
Aula13 - Estrutura de repetição (for e while) - PHPAula13 - Estrutura de repetição (for e while) - PHP
Aula13 - Estrutura de repetição (for e while) - PHPJorge Ávila Miranda
 
PHP - estruturas controlo.pptx
 PHP - estruturas controlo.pptx PHP - estruturas controlo.pptx
PHP - estruturas controlo.pptxTeresa Oliveira
 
Conceitos base de programação - parte 2
Conceitos base de programação - parte 2Conceitos base de programação - parte 2
Conceitos base de programação - parte 2João Piedade
 
Curso de Java (Parte 3)
 Curso de Java (Parte 3) Curso de Java (Parte 3)
Curso de Java (Parte 3)Mario Sergio
 
Instruções de controle 1
Instruções de controle 1Instruções de controle 1
Instruções de controle 1Cícero Quarto
 
Instruções de controle
Instruções de controleInstruções de controle
Instruções de controleCícero Quarto
 
Linguagem de Programação PERL
Linguagem de Programação PERLLinguagem de Programação PERL
Linguagem de Programação PERLTiago R. Sampaio
 
PHP 5.3 - Estruturas de Controle
PHP 5.3 - Estruturas de ControlePHP 5.3 - Estruturas de Controle
PHP 5.3 - Estruturas de ControleGeorge Mendonça
 
Aula7 algoritmos computacionais
Aula7 algoritmos computacionaisAula7 algoritmos computacionais
Aula7 algoritmos computacionaisCarlos Braga
 
Algoritmo_Estruturas_Condicionais.ppt
Algoritmo_Estruturas_Condicionais.pptAlgoritmo_Estruturas_Condicionais.ppt
Algoritmo_Estruturas_Condicionais.pptBrennoPimenta
 
Introducao a Lógica de Programação
Introducao a Lógica de ProgramaçãoIntroducao a Lógica de Programação
Introducao a Lógica de ProgramaçãoMarcelo Rodrigues
 

Semelhante a 6. estruturas de controlo de fluxo (20)

Cap08
Cap08Cap08
Cap08
 
Aula3
Aula3Aula3
Aula3
 
02 controle de fluxo
02   controle de fluxo02   controle de fluxo
02 controle de fluxo
 
Java básico - Módulo 04: Estruturas de controle
Java   básico - Módulo 04:  Estruturas de controleJava   básico - Módulo 04:  Estruturas de controle
Java básico - Módulo 04: Estruturas de controle
 
Guia Rápido de Referência Java
Guia Rápido de Referência JavaGuia Rápido de Referência Java
Guia Rápido de Referência Java
 
Aula13 - Estrutura de repetição (for e while) - PHP
Aula13 - Estrutura de repetição (for e while) - PHPAula13 - Estrutura de repetição (for e while) - PHP
Aula13 - Estrutura de repetição (for e while) - PHP
 
PHP - estruturas controlo.pptx
 PHP - estruturas controlo.pptx PHP - estruturas controlo.pptx
PHP - estruturas controlo.pptx
 
Conceitos base de programação - parte 2
Conceitos base de programação - parte 2Conceitos base de programação - parte 2
Conceitos base de programação - parte 2
 
Curso de Java (Parte 3)
 Curso de Java (Parte 3) Curso de Java (Parte 3)
Curso de Java (Parte 3)
 
Instruções de controle 1
Instruções de controle 1Instruções de controle 1
Instruções de controle 1
 
Instruções de controle
Instruções de controleInstruções de controle
Instruções de controle
 
Curso java script
Curso java scriptCurso java script
Curso java script
 
Estrutura de repetição
Estrutura de repetiçãoEstrutura de repetição
Estrutura de repetição
 
Aula05
Aula05Aula05
Aula05
 
Linguagem de Programação PERL
Linguagem de Programação PERLLinguagem de Programação PERL
Linguagem de Programação PERL
 
PHP 5.3 - Estruturas de Controle
PHP 5.3 - Estruturas de ControlePHP 5.3 - Estruturas de Controle
PHP 5.3 - Estruturas de Controle
 
Aula7 algoritmos computacionais
Aula7 algoritmos computacionaisAula7 algoritmos computacionais
Aula7 algoritmos computacionais
 
Algoritmo_Estruturas_Condicionais.ppt
Algoritmo_Estruturas_Condicionais.pptAlgoritmo_Estruturas_Condicionais.ppt
Algoritmo_Estruturas_Condicionais.ppt
 
Java13
Java13Java13
Java13
 
Introducao a Lógica de Programação
Introducao a Lógica de ProgramaçãoIntroducao a Lógica de Programação
Introducao a Lógica de Programação
 

Mais de Eugenio Caetano

5. introducao a linguagem c
5. introducao a linguagem c5. introducao a linguagem c
5. introducao a linguagem cEugenio Caetano
 
4. metodos de contrucao de algoritmo
4. metodos de contrucao de algoritmo4. metodos de contrucao de algoritmo
4. metodos de contrucao de algoritmoEugenio Caetano
 
6. Estruturas de controlo de fluxo (decisao)
6. Estruturas de controlo de fluxo (decisao)6. Estruturas de controlo de fluxo (decisao)
6. Estruturas de controlo de fluxo (decisao)Eugenio Caetano
 
Introducao ao visual basic
Introducao ao visual basicIntroducao ao visual basic
Introducao ao visual basicEugenio Caetano
 
Importancia da comunidade virtual de aprendizagem
Importancia da comunidade virtual de aprendizagemImportancia da comunidade virtual de aprendizagem
Importancia da comunidade virtual de aprendizagemEugenio Caetano
 
2. ambiente de desenvolvimento do vb (parte 1)
2. ambiente de desenvolvimento do vb (parte 1)2. ambiente de desenvolvimento do vb (parte 1)
2. ambiente de desenvolvimento do vb (parte 1)Eugenio Caetano
 
3. ambiente de desenvolvimento do vb (parte 2)
3. ambiente de desenvolvimento do vb (parte 2)3. ambiente de desenvolvimento do vb (parte 2)
3. ambiente de desenvolvimento do vb (parte 2)Eugenio Caetano
 

Mais de Eugenio Caetano (15)

18. arduino
18. arduino18. arduino
18. arduino
 
15. c++ e arduino
15. c++ e arduino15. c++ e arduino
15. c++ e arduino
 
15. introducao ao c++
15. introducao ao c++15. introducao ao c++
15. introducao ao c++
 
8. matrizes
8. matrizes8. matrizes
8. matrizes
 
5. introducao a linguagem c
5. introducao a linguagem c5. introducao a linguagem c
5. introducao a linguagem c
 
4. metodos de contrucao de algoritmo
4. metodos de contrucao de algoritmo4. metodos de contrucao de algoritmo
4. metodos de contrucao de algoritmo
 
Sala de aula em rede
Sala de aula em redeSala de aula em rede
Sala de aula em rede
 
11. Relatorios e OLE
11. Relatorios e OLE11. Relatorios e OLE
11. Relatorios e OLE
 
6. Estruturas de controlo de fluxo (decisao)
6. Estruturas de controlo de fluxo (decisao)6. Estruturas de controlo de fluxo (decisao)
6. Estruturas de controlo de fluxo (decisao)
 
5. Operadores
5. Operadores5. Operadores
5. Operadores
 
Introducao ao visual basic
Introducao ao visual basicIntroducao ao visual basic
Introducao ao visual basic
 
Importancia da comunidade virtual de aprendizagem
Importancia da comunidade virtual de aprendizagemImportancia da comunidade virtual de aprendizagem
Importancia da comunidade virtual de aprendizagem
 
2. ambiente de desenvolvimento do vb (parte 1)
2. ambiente de desenvolvimento do vb (parte 1)2. ambiente de desenvolvimento do vb (parte 1)
2. ambiente de desenvolvimento do vb (parte 1)
 
3. ambiente de desenvolvimento do vb (parte 2)
3. ambiente de desenvolvimento do vb (parte 2)3. ambiente de desenvolvimento do vb (parte 2)
3. ambiente de desenvolvimento do vb (parte 2)
 
Celular
CelularCelular
Celular
 

6. estruturas de controlo de fluxo

  • 1. Programação I Tema V: Estruturas de Controlo de Fluxo Docente: Eugénio Xavier Domingos Caetano
  • 2. Estruturas de Controlo de Fluxo  Em ciência da computação, estrutura de controle (ou fluxo de controle) refere-se à ordem em que instruções, expressões e chamadas de função são executadas ou avaliadas em programas de computador sob programação imperativa ou funcional.  Os tipos de estruturas de controle disponíveis diferem de linguagem para linguagem, mas podem ser cruamente caracterizados por seus efeitos.  O primeiro é a continuação da execução em uma outra instrução, como na estrutura sequencial ou
  • 3.  O segundo é a execução de um bloco de código somente se uma condição é verdadeira, uma estrutura de seleção.  O terceiro é a execução de um bloco de código enquanto uma condição é verdadeira, ou de forma a iterar uma coleção de dados, uma estrutura de repetição.  O quarto é a execução de instruções distantes entre si, em que o controle de fluxo possivelmente volte para a posição original posteriormente, como
  • 4.  O quinto é a parada do programa de computador.  Interrupções e sinais são mecanismos de baixo nível que podem alterar o fluxo de controle de forma similar a uma sub-rotina, mas geralmente em resposta a algum estímulo externo ou um evento ao invés de uma estrutura de controle em uma linguagem.  Em nível de linguagem de máquina, as instruções de estruturas de controle geralmente funcionam ao alterar o contador de programa.
  • 5. Tipos de Estruturas em Portugol  Estrutura de seleção ou decisao: Também chamada de expressão condicional ou ainda construção condicional, a estrutura de seleção realiza diferentes computações ou ações dependendo se a seleção (ou condição) é verdadeira ou falsa. ◦ A condição é uma expressão processada e transformada em um valor booleano.
  • 6.  Estrutura de repetição: Uma estrutura de repetição realiza e repete diferentes computações ou ações dependendo se uma condição é verdadeira ou falsa, condição essa que é um expressão processada e transformada em um valor booleano. ◦ Está associado a ela além da condição (também chamada "expressão de controle" ou "condição de parada") o bloco de código: verifica-se a condição, e caso seja verdadeira, o bloco é executado. ◦ Após o final da execução do bloco, a condição é
  • 7. ◦ Deve-se observar que, caso o bloco de código nunca modificar o estado da condição, a estrutura será executada para sempre, uma situação chamada laço infinito. ◦ Da mesma forma, é possível especificar uma estrutura em que o bloco de código modifica o estado da condição, mas esta é sempre verdadeira. ◦ Algumas linguagens de programação especificam ainda uma palavra reservada para sair da estrutura de repetição de dentro do bloco de código, "quebrando" a estrutura. ◦ Também é oferecido por algumas linguagens uma palavra
  • 8. Estrutura de decisao: Se…Entao  Escolha Simples: Pode-se selecionar a sequência de comandos a ser executada.  Formato: se condição então comandos fim se
  • 9.  Escolha Composta: A maioria dos algoritmos precisam tomar decisões ao longo de sua execução. ◦ Para isso existem as estruturas de decisão, e a mais utilizada é a estrutura SE-ENTÃO-SENÃO (Em inglês IF- THEN-ELSE). ◦ O funcionamento é simples: com base no resultado de uma expressão booleana (VERDADEIRO ou FALSO), o fluxo do algoritmo segue para um bloco de instruções ou não. ◦ Observe o esquema da estrutura SE-ENTÃO-SENÃO:
  • 10. se condição então <instruções a serem executadas caso a expressão booleana resulte em VERDADEIRO> senão <instruções a serem executadas caso a expressão booleana resulte em FALSO> fimse  O bloco de código SENÃO é opcional.  É comum encontrar instruções de decisão apenas com SE-ENTÃO sem o bloco SENÃO.
  • 11.  Estruturas ‘Aninhadas’ Algoritmo “maior_de_tres” //algoritmo para obter o maior entre três valores inteiros var maior: inteiro numero1, numero2, numero3: inteiro inicio
  • 12. se (numero1 > numero2) então se (numero2 >= numero3) então maior<-numero1 senão se (numero1 > numero3) então maior<-numero1 Senão maior<-numero3 fim se fim se
  • 13. senão se (numero2 ≥ numero3) então maior<-numero2 senão maior<-numero3 fim se fim se escreva(maior) fim
  • 14.  Estruturas ‘Aninhadas’ (simplificação) Algoritmo “maior_de_tres_melhor” //algoritmo para obter o maior entre três valores inteiros var maior: inteiro numero1, numero2, numero3: inteiro Inicio leia(numero1, numero2, numero3)
  • 15. se (numero2 > maior) então maior<-numero2 fimse se (numero3 > maior) então maior<-numero3 fim se escreva(maior) fim
  • 16. Exercício  Desenvolver um algoritmo para, dados dois times de futebol (cada time identificado por um número inteiro), seus pontos ganhos e seu saldo de gols no campeonato, decidir qual dos dois está em melhor colocação (armazenando o resultado na variável ganhador).  O resultado deve ser impresso.  A regra diz que está na frente no campeonato o time que tiver mais pontos ganhos, com desempate pelo saldo de gols.
  • 17. Conclusao  Para algumas CPUs, as únicas instruções de estruturas de controle disponíveis são os diversos tipos de jump condicional.