SlideShare ist ein Scribd-Unternehmen logo
1 von 5
Downloaden Sie, um offline zu lesen
 
 
 
                                    MINISTÉRIO DA EDUCAÇÃO 
                      SECRETARIA DE EDUCAÇÃO PROFISSIONAL E TECNOLÓGICA 
                       INSTITUTO FEDERAL FARROUPILHA ‐ CAMPUS ALEGRETE 
            CURSO SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS 
                                         DISCIPLINA DE PROGRAMAÇÃO I 
 
                                                           Aula IV 

Fluxo de Controle 

Um programa de computador é uma seqüência de instruções organizadas de forma a produzir 
a  solução  de  um  determinado  problema.    Naturalmente  tais  instruções  são  executadas  em 
seqüência,  o  que  determina  o  fluxo  seqüencial  de  execução.    Em  inúmeras  circunstancias  é 
necessário executar as instruções de um programa em uma ordem diferente da estritamente 
seqüencial.    Tais  situações  são  caracterizadas  pela  necessidade  da  repetição  de  instruções 
individuais ou de grupos de instruções e também pelo desvio do fluxo de execução. 

As  linguagens  de  programação  tipicamente  possuem  diversas  estruturas  de  programação 
destinadas ao controle do fluxo de execução, isto é, estruturas que permitem a repetição e o 
desvio do fluxo de execução.  Geralmente as estruturas de controle de execução são divididas 
em: 

1 – Estrutura de repetição simples 

Destinadas  a  repetição  de  um  ou  mais  comandos,  criando  o  que  se  denomina  laços.  
Geralmente o número de repetições é pré‐definido ou pode ser determinado pelo programa 
durante a execução.  No Java dispomos da diretiva for cuja sintaxe é dada a seguir: 

for (definição e inicialização; condição de execução; incremento/decremento) 
         diretiva; 
O for possui três campos ou seções, todas opcionais, delimitado por um par de parênteses que 
efetuam o controle de repetição de uma diretiva individual ou de um bloco de diretivas.  Cada 
campo é separado do outro por um ponto e vírgula.  O primeiro campo é usado para definir e 
dar valor inicial a uma variável de controle (um contador).  O segundo campo é uma expressão 
lógica que determina a execução da diretiva associada ao for, geralmente utilizando a variável 
de controle e outros valores. 

Após  a  execução  da  inicialização,  ocorre  a  avaliação  da  expressão  lógica.    Se a  expressão  for 
verdadeira, a diretiva associada é executada.  O terceiro campo determina como a variável de 
controle será modificada a cada interação. 

Exemplo: 

Public class exemploFor 
{ 
         Public static void main(string args[]) 
         { 
                 For (int j=0; j<10; j++) 
                 { 
                          System.out.println(“”+j); 
                 } 
         } 
} 
 

Prof.  Marcelo Pedroso da Roza – IFFarroupilha – Campus Alegrete ‐ 2010 
 
 
 
                                    MINISTÉRIO DA EDUCAÇÃO 
                      SECRETARIA DE EDUCAÇÃO PROFISSIONAL E TECNOLÓGICA 
                       INSTITUTO FEDERAL FARROUPILHA ‐ CAMPUS ALEGRETE 
            CURSO SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS 
                                         DISCIPLINA DE PROGRAMAÇÃO I 
 
                                                                

                                                                

                                                                

                                                                

                                                                

                                                                

                                                                

                                                                

                                                                

                                                                

                                                                

                                         Comportamento da diretiva FOR 

                                                                

                                                         Exercícios 

1 - Escreva uma aplicação de console que imprima o fatorial de um dado número inteiro n recebido como argumento

2 - Escreva uma aplicação de console que imprima os todos os valores da soma do inteiros para um dado número
inteiro n recebido como argumento:
n=0, 0=0
n=1, 0+1=1
n=2, 0+1+2=3
n=3, 0+1+2+3=6
...




 

Prof.  Marcelo Pedroso da Roza – IFFarroupilha – Campus Alegrete ‐ 2010 
 
 
 
                                    MINISTÉRIO DA EDUCAÇÃO 
                      SECRETARIA DE EDUCAÇÃO PROFISSIONAL E TECNOLÓGICA 
                       INSTITUTO FEDERAL FARROUPILHA ‐ CAMPUS ALEGRETE 
            CURSO SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS 
                                         DISCIPLINA DE PROGRAMAÇÃO I 
 
2 – Estruturas de desvio de fluxo 

Existem  várias  estruturas  de  desvio  de  fluxo  que  podem  provocar  a  modificação  da  maneira 
com que as diretivas de um programa são executadas conforme a avaliação de uma condição. 
O Java dispõe de duas destas estruturas: if e switch. 

2.1 – Diretiva IF 

O if é uma estrutura simples de desvio de fluxo de execução, isto é, é uma diretiva que permite 
a  seleção  entre  dois  caminhos  distintos  para  execução  dependendo  do  resultado  falso  ou 
verdadeiro resultante de uma expressão lógica. 

Sintaxe: 

if (expressão lógica) 
         diretiva1; 
else 
         diretiva2; 
 

A  diretiva  if    permite  duas  construções  possíveis:  a  primeira,  utilizando  a  parte  obrigatória, 
condiciona  a  execução  da  diretiva1  a  um  resultado  verdadeiro  oriundo  da  avaliação  da 
expressão  lógica  associada;  a  segunda,  usando  opcionalmente  o  else,  permite  que  seja 
executada  a  diretiva1  caso  o  resultado  da  expressão  lógica  seja  verdadeiro  ou  que  seja 
executada a diretiva2 caso tal resultado seja falso. 

 

 

 

 

 

 

 

 

 

                                           Comportamento da Diretiva if 

2.2 Diretiva switch 

O  switch  equivale  logicamente  a  um  conjunto  de  diretivas  if  encadeadas,  embora  seja 
usualmente mais eficiente durante a execução. 
 

Prof.  Marcelo Pedroso da Roza – IFFarroupilha – Campus Alegrete ‐ 2010 
 
 
 
                                    MINISTÉRIO DA EDUCAÇÃO 
                      SECRETARIA DE EDUCAÇÃO PROFISSIONAL E TECNOLÓGICA 
                       INSTITUTO FEDERAL FARROUPILHA ‐ CAMPUS ALEGRETE 
            CURSO SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS 
                                         DISCIPLINA DE PROGRAMAÇÃO I 
 
 

 

 

 

 

 

 

 

                                        Comportamento da diretiva Switch 

Sintaxe: 

Switch (expressão_ordinal) { 
        Case ordinal1: diretiva3; 
                         Break; 
        Case ordinal2: diretiva4; 
                         Break; 
        Default: diretiva default; 
} 
 

A  expressão  utilizada  pelo  switch  deve  necessariamente  retornar  um  resultado  ordinal.  
Conforme o resultado é selecionado um dos casos indicados pela construção case ordinal.  As 
diretivas encontradas a partir do caso escolhido são executadas até o final da diretiva switch 
ou  até  uma  diretiva  break  que  encerra  o  switch.    Se  o  valor  resultante  não  possuir  um  caso 
especifico  são  executadas  as  diretivas  default  colocadas,  opcionalmente,  ao  final  da  diretiva 
switch. 

 




 

Prof.  Marcelo Pedroso da Roza – IFFarroupilha – Campus Alegrete ‐ 2010 
 
 
 
                                    MINISTÉRIO DA EDUCAÇÃO 
                      SECRETARIA DE EDUCAÇÃO PROFISSIONAL E TECNOLÓGICA 
                       INSTITUTO FEDERAL FARROUPILHA ‐ CAMPUS ALEGRETE 
            CURSO SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS 
                                         DISCIPLINA DE PROGRAMAÇÃO I 
 
                                                         Exercícios 

1) Identifique e corrija os erros em cada uma das instruções seguintes, crie um programa java e 
anote o tipo de erro encontrado para cada um dos casos abaixo.  

          a) if ( age >= 65 ) ;  
             System.out.println( “Idade maior or igual que 65” );  
             else  
             System.out.println( “Idade menor que 65” );  

          b) While ( x <= 100 )  
             total += x;  
             ++x;  

          c) while ( y > 0 ) {  
             System.out.println( y );  
             ++y;  

          d) while ( z >= 0 )  
             sum += z;  

2) Crie um programa java que encontre o fatorial de um número. 

3) Crie um Programa java que recebe três valores e os retorna em ordem crescente. 

4) Mesmo programa anterior só que para quatro valores. 

5) Crie um programa java que recebe 10 valores e mostra o maior e o menor deles. 

6) Escrever um programa que gere os 6 primeiros números perfeitos. 

7)  Escreva  um  programa  que  recebe  dois  números  inteiros  e  positivos  e  informa  se  eles  são 
múltiplos ou não. 

 

 




 

Prof.  Marcelo Pedroso da Roza – IFFarroupilha – Campus Alegrete ‐ 2010 

Weitere ähnliche Inhalte

Was ist angesagt?

CURSO JAVA - AULA 1 - INTRODUÇÃO LÓGICA DE PROGRAMAÇÃO
CURSO JAVA - AULA 1 - INTRODUÇÃO LÓGICA DE PROGRAMAÇÃOCURSO JAVA - AULA 1 - INTRODUÇÃO LÓGICA DE PROGRAMAÇÃO
CURSO JAVA - AULA 1 - INTRODUÇÃO LÓGICA DE PROGRAMAÇÃOMicrosoft
 
Algoritmos - Aula 02 - Construcao de algoritmos
Algoritmos - Aula 02 - Construcao de algoritmosAlgoritmos - Aula 02 - Construcao de algoritmos
Algoritmos - Aula 02 - Construcao de algoritmosRodrigo Kiyoshi Saito
 
Algoritmo e lógica de programação - Aula 1
Algoritmo e lógica de programação - Aula 1Algoritmo e lógica de programação - Aula 1
Algoritmo e lógica de programação - Aula 1engenhariadecomputacao
 
Algoritmo estruturado
Algoritmo estruturadoAlgoritmo estruturado
Algoritmo estruturadodasko
 
Logica Algoritmo 02 Algoritmo
Logica Algoritmo 02 AlgoritmoLogica Algoritmo 02 Algoritmo
Logica Algoritmo 02 AlgoritmoRegis Magalhães
 
Lista exercicios algoritmos
Lista exercicios algoritmosLista exercicios algoritmos
Lista exercicios algoritmosslashmelhor
 
Introdução à Programação
Introdução à ProgramaçãoIntrodução à Programação
Introdução à ProgramaçãoMario Sergio
 
Visualg primeira interação
Visualg   primeira interaçãoVisualg   primeira interação
Visualg primeira interaçãoHumberto Cepep
 
Instruções de controle 1
Instruções de controle 1Instruções de controle 1
Instruções de controle 1Cícero Quarto
 
Algoritmos e lp parte 1-introdução
Algoritmos e lp parte 1-introduçãoAlgoritmos e lp parte 1-introdução
Algoritmos e lp parte 1-introduçãoMauro Pereira
 
Fundamentos de logica de programação
Fundamentos de logica de programaçãoFundamentos de logica de programação
Fundamentos de logica de programaçãoRogerio de Moraes
 
Aula02 condicionais
Aula02   condicionaisAula02   condicionais
Aula02 condicionaisYuri Passos
 
Lógica de Programção - Módulo 1 - algoritmos-introdução
Lógica de Programção - Módulo 1 - algoritmos-introduçãoLógica de Programção - Módulo 1 - algoritmos-introdução
Lógica de Programção - Módulo 1 - algoritmos-introduçãoProfessor-David Remigio
 
Algoritmos - Aula 15 - Modularizacao e Escopo de Variaveis
Algoritmos - Aula 15 - Modularizacao e Escopo de VariaveisAlgoritmos - Aula 15 - Modularizacao e Escopo de Variaveis
Algoritmos - Aula 15 - Modularizacao e Escopo de VariaveisRodrigo Kiyoshi Saito
 

Was ist angesagt? (20)

CURSO JAVA - AULA 1 - INTRODUÇÃO LÓGICA DE PROGRAMAÇÃO
CURSO JAVA - AULA 1 - INTRODUÇÃO LÓGICA DE PROGRAMAÇÃOCURSO JAVA - AULA 1 - INTRODUÇÃO LÓGICA DE PROGRAMAÇÃO
CURSO JAVA - AULA 1 - INTRODUÇÃO LÓGICA DE PROGRAMAÇÃO
 
Algoritmos - Aula 02 - Construcao de algoritmos
Algoritmos - Aula 02 - Construcao de algoritmosAlgoritmos - Aula 02 - Construcao de algoritmos
Algoritmos - Aula 02 - Construcao de algoritmos
 
Algoritmo e lógica de programação - Aula 1
Algoritmo e lógica de programação - Aula 1Algoritmo e lógica de programação - Aula 1
Algoritmo e lógica de programação - Aula 1
 
Algoritmo estruturado
Algoritmo estruturadoAlgoritmo estruturado
Algoritmo estruturado
 
Logica Algoritmo 02 Algoritmo
Logica Algoritmo 02 AlgoritmoLogica Algoritmo 02 Algoritmo
Logica Algoritmo 02 Algoritmo
 
Man UAL
Man UALMan UAL
Man UAL
 
Apostila c
Apostila cApostila c
Apostila c
 
Logica Programação. ...
Logica Programação. ...Logica Programação. ...
Logica Programação. ...
 
Apostila Visualg
Apostila VisualgApostila Visualg
Apostila Visualg
 
Lista exercicios algoritmos
Lista exercicios algoritmosLista exercicios algoritmos
Lista exercicios algoritmos
 
Introdução à Programação
Introdução à ProgramaçãoIntrodução à Programação
Introdução à Programação
 
Visualg primeira interação
Visualg   primeira interaçãoVisualg   primeira interação
Visualg primeira interação
 
Módulo 2 pascal
Módulo 2  pascalMódulo 2  pascal
Módulo 2 pascal
 
Instruções de controle 1
Instruções de controle 1Instruções de controle 1
Instruções de controle 1
 
Algoritmos e lp parte 1-introdução
Algoritmos e lp parte 1-introduçãoAlgoritmos e lp parte 1-introdução
Algoritmos e lp parte 1-introdução
 
Fundamentos de logica de programação
Fundamentos de logica de programaçãoFundamentos de logica de programação
Fundamentos de logica de programação
 
Aula02 condicionais
Aula02   condicionaisAula02   condicionais
Aula02 condicionais
 
Lógica de Programção - Módulo 1 - algoritmos-introdução
Lógica de Programção - Módulo 1 - algoritmos-introduçãoLógica de Programção - Módulo 1 - algoritmos-introdução
Lógica de Programção - Módulo 1 - algoritmos-introdução
 
Algoritmos - Aula 15 - Modularizacao e Escopo de Variaveis
Algoritmos - Aula 15 - Modularizacao e Escopo de VariaveisAlgoritmos - Aula 15 - Modularizacao e Escopo de Variaveis
Algoritmos - Aula 15 - Modularizacao e Escopo de Variaveis
 
Módulo 1 de PSI
Módulo 1 de PSIMódulo 1 de PSI
Módulo 1 de PSI
 

Andere mochten auch

Pd ftalk
Pd ftalkPd ftalk
Pd ftalkDrPeril
 
Preparing for Schweissen & Schneiden 2013 in Essen, Germany
Preparing for Schweissen & Schneiden 2013 in Essen, GermanyPreparing for Schweissen & Schneiden 2013 in Essen, Germany
Preparing for Schweissen & Schneiden 2013 in Essen, GermanyArc Machines, Inc.
 
Guía de estudio estrategias de la comunicación
Guía de estudio estrategias de la comunicaciónGuía de estudio estrategias de la comunicación
Guía de estudio estrategias de la comunicaciónCarlos Franco
 
What is Attentional Fitness Training
What is Attentional Fitness TrainingWhat is Attentional Fitness Training
What is Attentional Fitness TrainingDaron Larson
 
Our Vacations!
Our Vacations!Our Vacations!
Our Vacations!Bagui
 
Asv kanada
Asv kanadaAsv kanada
Asv kanadaRTV
 
Cap 3 redes neuronales
Cap 3 redes neuronalesCap 3 redes neuronales
Cap 3 redes neuronalesLevy GT
 
Organització industrial
Organització industrialOrganització industrial
Organització industrialbenetferru
 
第59回日本生態学会 自由集会W25群落談話会「東北地方沿岸域の植生の現状と修復,回復にむけて」
第59回日本生態学会 自由集会W25群落談話会「東北地方沿岸域の植生の現状と修復,回復にむけて」第59回日本生態学会 自由集会W25群落談話会「東北地方沿岸域の植生の現状と修復,回復にむけて」
第59回日本生態学会 自由集会W25群落談話会「東北地方沿岸域の植生の現状と修復,回復にむけて」mizukitijp
 

Andere mochten auch (20)

Google Eye Training
Google Eye TrainingGoogle Eye Training
Google Eye Training
 
Pd ftalk
Pd ftalkPd ftalk
Pd ftalk
 
CASE Network Report 88 - Deep Integration with the EU and its Likely Impact o...
CASE Network Report 88 - Deep Integration with the EU and its Likely Impact o...CASE Network Report 88 - Deep Integration with the EU and its Likely Impact o...
CASE Network Report 88 - Deep Integration with the EU and its Likely Impact o...
 
Preparing for Schweissen & Schneiden 2013 in Essen, Germany
Preparing for Schweissen & Schneiden 2013 in Essen, GermanyPreparing for Schweissen & Schneiden 2013 in Essen, Germany
Preparing for Schweissen & Schneiden 2013 in Essen, Germany
 
พระอภิธรรมปิฎก บทที่ ๑
พระอภิธรรมปิฎก บทที่ ๑พระอภิธรรมปิฎก บทที่ ๑
พระอภิธรรมปิฎก บทที่ ๑
 
Guía de estudio estrategias de la comunicación
Guía de estudio estrategias de la comunicaciónGuía de estudio estrategias de la comunicación
Guía de estudio estrategias de la comunicación
 
What is Attentional Fitness Training
What is Attentional Fitness TrainingWhat is Attentional Fitness Training
What is Attentional Fitness Training
 
Esguinces
EsguincesEsguinces
Esguinces
 
Our Vacations!
Our Vacations!Our Vacations!
Our Vacations!
 
Ajalugu
AjaluguAjalugu
Ajalugu
 
Õhu omadused 2
Õhu omadused 2Õhu omadused 2
Õhu omadused 2
 
Asv kanada
Asv kanadaAsv kanada
Asv kanada
 
Pollution
PollutionPollution
Pollution
 
Murales science
Murales scienceMurales science
Murales science
 
OMMA Semantic Ads
OMMA Semantic AdsOMMA Semantic Ads
OMMA Semantic Ads
 
Lenda de s martinho
Lenda de s martinhoLenda de s martinho
Lenda de s martinho
 
Harmonia
HarmoniaHarmonia
Harmonia
 
Cap 3 redes neuronales
Cap 3 redes neuronalesCap 3 redes neuronales
Cap 3 redes neuronales
 
Organització industrial
Organització industrialOrganització industrial
Organització industrial
 
第59回日本生態学会 自由集会W25群落談話会「東北地方沿岸域の植生の現状と修復,回復にむけて」
第59回日本生態学会 自由集会W25群落談話会「東北地方沿岸域の植生の現状と修復,回復にむけて」第59回日本生態学会 自由集会W25群落談話会「東北地方沿岸域の植生の現状と修復,回復にむけて」
第59回日本生態学会 自由集会W25群落談話会「東北地方沿岸域の植生の現状と修復,回復にむけて」
 

Ähnlich wie Aula iv

53392229 apostila-de-algoritmo-2009
53392229 apostila-de-algoritmo-200953392229 apostila-de-algoritmo-2009
53392229 apostila-de-algoritmo-2009starley lobo
 
Apostila de algoritimo super básica
Apostila de algoritimo super básicaApostila de algoritimo super básica
Apostila de algoritimo super básicaPablo Verlly Moreira
 
Aula01 estrutura de dados - (começando as brincadeiras)
Aula01   estrutura de dados - (começando as brincadeiras)Aula01   estrutura de dados - (começando as brincadeiras)
Aula01 estrutura de dados - (começando as brincadeiras)Cleyton Fábio
 
Lógica de Programação
Lógica de ProgramaçãoLógica de Programação
Lógica de ProgramaçãoAdao Chiavelli
 
Introdução a Linguagem de Programação
Introdução a Linguagem de ProgramaçãoIntrodução a Linguagem de Programação
Introdução a Linguagem de ProgramaçãoJessica Ribeiro
 
2.0_Programacao_PRG29002_-_Pseudocódigo.pdf
2.0_Programacao_PRG29002_-_Pseudocódigo.pdf2.0_Programacao_PRG29002_-_Pseudocódigo.pdf
2.0_Programacao_PRG29002_-_Pseudocódigo.pdfJustinoFontes
 
Int. à Logica de Programação
Int. à Logica de ProgramaçãoInt. à Logica de Programação
Int. à Logica de Programaçãoamansilha
 
3e88de98635b6c (1)
3e88de98635b6c (1)3e88de98635b6c (1)
3e88de98635b6c (1)ozias jr
 
Apostila algoritmos
Apostila algoritmosApostila algoritmos
Apostila algoritmosPedro Nelson
 

Ähnlich wie Aula iv (14)

53392229 apostila-de-algoritmo-2009
53392229 apostila-de-algoritmo-200953392229 apostila-de-algoritmo-2009
53392229 apostila-de-algoritmo-2009
 
Apostila de algoritimo super básica
Apostila de algoritimo super básicaApostila de algoritimo super básica
Apostila de algoritimo super básica
 
Aula01 estrutura de dados - (começando as brincadeiras)
Aula01   estrutura de dados - (começando as brincadeiras)Aula01   estrutura de dados - (começando as brincadeiras)
Aula01 estrutura de dados - (começando as brincadeiras)
 
Aula 1 lpa
Aula 1   lpaAula 1   lpa
Aula 1 lpa
 
Lógica de Programação
Lógica de ProgramaçãoLógica de Programação
Lógica de Programação
 
Introdução a Linguagem de Programação
Introdução a Linguagem de ProgramaçãoIntrodução a Linguagem de Programação
Introdução a Linguagem de Programação
 
Logica usando c_-_aula_1
Logica usando c_-_aula_1Logica usando c_-_aula_1
Logica usando c_-_aula_1
 
2.0_Programacao_PRG29002_-_Pseudocódigo.pdf
2.0_Programacao_PRG29002_-_Pseudocódigo.pdf2.0_Programacao_PRG29002_-_Pseudocódigo.pdf
2.0_Programacao_PRG29002_-_Pseudocódigo.pdf
 
Cap02
Cap02Cap02
Cap02
 
Cap02
Cap02Cap02
Cap02
 
Cap02
Cap02Cap02
Cap02
 
Int. à Logica de Programação
Int. à Logica de ProgramaçãoInt. à Logica de Programação
Int. à Logica de Programação
 
3e88de98635b6c (1)
3e88de98635b6c (1)3e88de98635b6c (1)
3e88de98635b6c (1)
 
Apostila algoritmos
Apostila algoritmosApostila algoritmos
Apostila algoritmos
 

Aula iv

  • 1.       MINISTÉRIO DA EDUCAÇÃO  SECRETARIA DE EDUCAÇÃO PROFISSIONAL E TECNOLÓGICA  INSTITUTO FEDERAL FARROUPILHA ‐ CAMPUS ALEGRETE  CURSO SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS  DISCIPLINA DE PROGRAMAÇÃO I    Aula IV  Fluxo de Controle  Um programa de computador é uma seqüência de instruções organizadas de forma a produzir  a  solução  de  um  determinado  problema.    Naturalmente  tais  instruções  são  executadas  em  seqüência,  o  que  determina  o  fluxo  seqüencial  de  execução.    Em  inúmeras  circunstancias  é  necessário executar as instruções de um programa em uma ordem diferente da estritamente  seqüencial.    Tais  situações  são  caracterizadas  pela  necessidade  da  repetição  de  instruções  individuais ou de grupos de instruções e também pelo desvio do fluxo de execução.  As  linguagens  de  programação  tipicamente  possuem  diversas  estruturas  de  programação  destinadas ao controle do fluxo de execução, isto é, estruturas que permitem a repetição e o  desvio do fluxo de execução.  Geralmente as estruturas de controle de execução são divididas  em:  1 – Estrutura de repetição simples  Destinadas  a  repetição  de  um  ou  mais  comandos,  criando  o  que  se  denomina  laços.   Geralmente o número de repetições é pré‐definido ou pode ser determinado pelo programa  durante a execução.  No Java dispomos da diretiva for cuja sintaxe é dada a seguir:  for (definição e inicialização; condição de execução; incremento/decremento)    diretiva;  O for possui três campos ou seções, todas opcionais, delimitado por um par de parênteses que  efetuam o controle de repetição de uma diretiva individual ou de um bloco de diretivas.  Cada  campo é separado do outro por um ponto e vírgula.  O primeiro campo é usado para definir e  dar valor inicial a uma variável de controle (um contador).  O segundo campo é uma expressão  lógica que determina a execução da diretiva associada ao for, geralmente utilizando a variável  de controle e outros valores.  Após  a  execução  da  inicialização,  ocorre  a  avaliação  da  expressão  lógica.    Se a  expressão  for  verdadeira, a diretiva associada é executada.  O terceiro campo determina como a variável de  controle será modificada a cada interação.  Exemplo:  Public class exemploFor  {    Public static void main(string args[])    {      For (int j=0; j<10; j++)      {        System.out.println(“”+j);      }    }  }    Prof.  Marcelo Pedroso da Roza – IFFarroupilha – Campus Alegrete ‐ 2010 
  • 2.       MINISTÉRIO DA EDUCAÇÃO  SECRETARIA DE EDUCAÇÃO PROFISSIONAL E TECNOLÓGICA  INSTITUTO FEDERAL FARROUPILHA ‐ CAMPUS ALEGRETE  CURSO SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS  DISCIPLINA DE PROGRAMAÇÃO I                          Comportamento da diretiva FOR    Exercícios  1 - Escreva uma aplicação de console que imprima o fatorial de um dado número inteiro n recebido como argumento 2 - Escreva uma aplicação de console que imprima os todos os valores da soma do inteiros para um dado número inteiro n recebido como argumento: n=0, 0=0 n=1, 0+1=1 n=2, 0+1+2=3 n=3, 0+1+2+3=6 ...   Prof.  Marcelo Pedroso da Roza – IFFarroupilha – Campus Alegrete ‐ 2010 
  • 3.       MINISTÉRIO DA EDUCAÇÃO  SECRETARIA DE EDUCAÇÃO PROFISSIONAL E TECNOLÓGICA  INSTITUTO FEDERAL FARROUPILHA ‐ CAMPUS ALEGRETE  CURSO SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS  DISCIPLINA DE PROGRAMAÇÃO I    2 – Estruturas de desvio de fluxo  Existem  várias  estruturas  de  desvio  de  fluxo  que  podem  provocar  a  modificação  da  maneira  com que as diretivas de um programa são executadas conforme a avaliação de uma condição.  O Java dispõe de duas destas estruturas: if e switch.  2.1 – Diretiva IF  O if é uma estrutura simples de desvio de fluxo de execução, isto é, é uma diretiva que permite  a  seleção  entre  dois  caminhos  distintos  para  execução  dependendo  do  resultado  falso  ou  verdadeiro resultante de uma expressão lógica.  Sintaxe:  if (expressão lógica)    diretiva1;  else    diretiva2;    A  diretiva  if    permite  duas  construções  possíveis:  a  primeira,  utilizando  a  parte  obrigatória,  condiciona  a  execução  da  diretiva1  a  um  resultado  verdadeiro  oriundo  da  avaliação  da  expressão  lógica  associada;  a  segunda,  usando  opcionalmente  o  else,  permite  que  seja  executada  a  diretiva1  caso  o  resultado  da  expressão  lógica  seja  verdadeiro  ou  que  seja  executada a diretiva2 caso tal resultado seja falso.                    Comportamento da Diretiva if  2.2 Diretiva switch  O  switch  equivale  logicamente  a  um  conjunto  de  diretivas  if  encadeadas,  embora  seja  usualmente mais eficiente durante a execução.    Prof.  Marcelo Pedroso da Roza – IFFarroupilha – Campus Alegrete ‐ 2010 
  • 4.       MINISTÉRIO DA EDUCAÇÃO  SECRETARIA DE EDUCAÇÃO PROFISSIONAL E TECNOLÓGICA  INSTITUTO FEDERAL FARROUPILHA ‐ CAMPUS ALEGRETE  CURSO SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS  DISCIPLINA DE PROGRAMAÇÃO I                    Comportamento da diretiva Switch  Sintaxe:  Switch (expressão_ordinal) {    Case ordinal1: diretiva3;        Break;    Case ordinal2: diretiva4;        Break;    Default: diretiva default;  }    A  expressão  utilizada  pelo  switch  deve  necessariamente  retornar  um  resultado  ordinal.   Conforme o resultado é selecionado um dos casos indicados pela construção case ordinal.  As  diretivas encontradas a partir do caso escolhido são executadas até o final da diretiva switch  ou  até  uma  diretiva  break  que  encerra  o  switch.    Se  o  valor  resultante  não  possuir  um  caso  especifico  são  executadas  as  diretivas  default  colocadas,  opcionalmente,  ao  final  da  diretiva  switch.      Prof.  Marcelo Pedroso da Roza – IFFarroupilha – Campus Alegrete ‐ 2010 
  • 5.       MINISTÉRIO DA EDUCAÇÃO  SECRETARIA DE EDUCAÇÃO PROFISSIONAL E TECNOLÓGICA  INSTITUTO FEDERAL FARROUPILHA ‐ CAMPUS ALEGRETE  CURSO SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS  DISCIPLINA DE PROGRAMAÇÃO I    Exercícios  1) Identifique e corrija os erros em cada uma das instruções seguintes, crie um programa java e  anote o tipo de erro encontrado para cada um dos casos abaixo.   a) if ( age >= 65 ) ;   System.out.println( “Idade maior or igual que 65” );   else   System.out.println( “Idade menor que 65” );   b) While ( x <= 100 )   total += x;   ++x;   c) while ( y > 0 ) {   System.out.println( y );   ++y;   d) while ( z >= 0 )   sum += z;   2) Crie um programa java que encontre o fatorial de um número.  3) Crie um Programa java que recebe três valores e os retorna em ordem crescente.  4) Mesmo programa anterior só que para quatro valores.  5) Crie um programa java que recebe 10 valores e mostra o maior e o menor deles.  6) Escrever um programa que gere os 6 primeiros números perfeitos.  7)  Escreva  um  programa  que  recebe  dois  números  inteiros  e  positivos  e  informa  se  eles  são  múltiplos ou não.        Prof.  Marcelo Pedroso da Roza – IFFarroupilha – Campus Alegrete ‐ 2010