Pearson Education Slide 1. Pearson Education Slide 2 Capítulo 2 Criado por Frederick H. Colclough, Colorado Technical University Fluxo de Controle.

Slides:



Advertisements
Apresentações semelhantes
Estruturação de Linguagens (Pascal e C++)
Advertisements

Pearson Education Slide 1. Pearson Education Slide 2 Cap í tulo 11 Criado por Frederick H. Colclough, Colorado Technical University Compilação Separada.
Pearson Education Slide 1. Pearson Education Slide 2 Cap í tulo 13 Criado por Frederick H. Colclough, Colorado Technical University Recursão.
Pearson Education Slide 1. Pearson Education Slide 2 Cap í tulo 12 Criado por Frederick H. Colclough, Colorado Technical University E/S de Arquivo e Streams.
Pearson Education Slide 1. Pearson Education Slide 2 Cap í tulo 8 Criado por Frederick H. Colclough, Colorado Technical University Sobrecarga de Operador,
Pearson Education Slide 1. Pearson Education Slide 2 Cap í tulo 9 Criado por Frederick H. Colclough, Colorado Technical University Strings.
Pearson Education Slide 1. Pearson Education Slide 2 Cap í tulo 19 Criado por Frederick H. Colclough, Colorado Technical University Standard Template.
Pearson Education Slide 1. Pearson Education Slide 2 Cap í tulo 10 Criado por Frederick H. Colclough, Colorado Technical University Ponteiros e Vetores.
Pearson Education Slide 1. Pearson Education Slide 2 Cap í tulo 5 Criado por Frederick H. Colclough, Colorado Technical University Vetores.
PRÓ-INFORMÁTICA QUALIFICAÇÃO PROFISSIONAL
Introdução à Programação Engenharia da Computação
Estruturas de Controle
LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS INSTRUÇÕES DE CONTROLE – PARTE II Prof. Thiago Pereira Rique
LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS INSTRUÇÕES DE CONTROLE – PARTE I Prof. Thiago Pereira Rique
Pearson Education Slide 1. Pearson Education Slide 2 Cap í tulo 3 Criado por Frederick H. Colclough, Colorado Technical University Fundamentos das Funções.
Expressões Lógicas e Comandos de Decisão
Ivan Saraiva Silva Aula 1 - Álgebra Booleana
Conteúdo: - Operadores.
Introdução à Computação - Jorge Macêdo
Pascal comandos iterativos: FOR WHILE REPEAT Matrizes (tabelas)
Introdução à Lógica de Programação (cont.)
Introdução ao -calculus
Introdução à Programação Um enfoque orientado a construção de modelos em programas baseados em objetos Gustavo Motta Departamento de Informática - UFPB.
Sintaxe de Fortran 25/abril/2006. Comandos Fortran PROGRAM PRINT READ STOP END.
Estrutura de decisão em JAVA
Minimização de Circuitos Lógicos
João Lucas de Oliveira Torres
Semana 03: Comandos de desvio de fluxo. Expressões lógicas.
Introdução a Computação e Cálculo Numérico
Introdução a Computação e Cálculo Numérico
< declaração de variáveis > ( estrutura de dados )
Aula prática 4 Laços Monitoria de Introdução à Programação
Linguagem de Programação II Parte IV
FTIN Formação Técnica em Informática
Universidade Federal de Alagoas – UFAL Centro de Tecnologia – CTEC
LINGUAGENS DE PROGRAMAÇÃO PROF. DANIELA PIRES
Conceitos de Lógica Digital
Semana 03 Comandos de desvio de fluxo. Expressões lógicas.
O Portal do Estudante de Computação
Operadores Relacionais, Lógicos e comandos de condição
Estruturas de Controle entre Instruções
Estrutura de Decisão e Repetição
Instituto Federal de Santa Catarina
Aula 6 - Estruturas de Controle
BC-0505 Processamento da Informação
Aulas 2 e 3 – Java – Prof. Marcelo Heitor # O método main e argumentos na linha de comando; # Fluxo padrão de entrada e saída; # A classe JOptionPane;
Programação Orientada a Objetos - Java Professor: Jean Carlo Mendes.
Algoritmos e Estruturas de Dados
Expressões: operadores aritméticos
Aula prática 2 Operadores e Expressões Comandos de Decisão Comentários
Operadores Relacionais e Lógicos
Sistemas Digitais e Arquitetura de Computadores - SDAC
Algoritmos e Estrutura de Dados I
Aula Prática 1 Monitoria IP/CC (~if669) (A partir do slide elaborado por Luís Gabriel)
Laboratório I Mateus Raeder. Mateus Raeder – abril de 2010 Expressões booleanas  Tipo boolean -Tipo de dado primitivo -Possui os valores: true e false.
ALGORITMIA. ALGORITMO Conjunto de instruções ou acções que ao serem executadas, permitirão realizar uma determinada tarefa.
Curso Técnico em Informática Professor Igor Vale.
5. Instruções de Controle AL Lapolli – 5. Instruções de Controle  Introdução  Operadores  Relacionais  Lógicos  Comando If  Comando.
PROGRAMAÇÃO II – PARTE 3 Profa. Maria Augusta Constante Puget.
Profa. Maria Augusta Constante Puget
PARADIGMAS DE LINGUAGENS EXPRESSÕES E INSTRUÇÕES DE ATRIBUIÇÃO
Linguagem de Programação 11 Estruturas de Decisão e Repetição. Prof. Luiz José Hoffmann Filho
Álgebra de Boole Circuitos Digitais
Colégio da Imaculada Colégio da Imaculada Curso Técnico em Informática
Programação estruturada unidade 2
1 Programação – JAVA Unidade 3 – Loops e Lógica Prof. Aparecido V. de Freitas Curso de Ciência da Computação.
Programação Computacional Profa. Madeleine Medrano
Prof. Tertuliano Operadores Variáveis em C++.
Ambientação com a Sintaxe de Java: parte 2 Prof. Gustavo Wagner Slides Originais: Prof. Tiago Massoni Desenvolvimento de Sistemas FATEC-PB  Centro de.
IF E ITERAÇÃO WHILE Dilvan Moreira (baseado no livro Big Java e T. Munzner)
Transcrição da apresentação:

Pearson Education Slide 1

Pearson Education Slide 2 Capítulo 2 Criado por Frederick H. Colclough, Colorado Technical University Fluxo de Controle

Pearson Education Slide 3 Objetivos do Estudo Expressões Booleanas Construindo, Avaliando e Regras de Precedência Estruturas de Controle if-else switch if-else aninhado Loops While, do-while e for Loops aninhados

Pearson Education Slide 4 Expressões Booleanas Operadores Lógicos Operador lógico AND (&&) Operador lógico OR (||) Painel 2.1 página 30

Pearson Education Slide 5 Avaliando Expressões Booleanas Tipo bool Retorna true ou false true, false são constantes predefinidas Tabelas da verdade Painel 2.2 no próximo slide

Pearson Education Slide 6 Avaliando Expressões Booleanas (cont.) Painel 2.2 página 31

Pearson Education Slide 7 Precedência dos Operadores Painel 2.3 páginas 32-33

Pearson Education Slide 8 Precedência dos Operadores (cont.) Painel 2.3 páginas 32-33

Pearson Education Slide 9 Exemplos de Precedência Aritmética antes da lógica x + 1 > 2 || x + 1 < -3 significa: (x + 1) > 2 || (x + 1) < -3 Avaliação curto-circuito (x >= 0) && (y > 1) Cuidado com operadores de incremento! (x > 1) && (y++) Inteiros como valores booleanos Todos os valores não-zero true Zero false

Pearson Education Slide 10 Estruturas de Controle Comandos if-else Escolhe entre dois comandos alternativos baseado no valor de uma expressão booleana Exemplo: if (horas > 40) pagamentoBruto = taxa* *taxa*(horas-40); else pagamentoBruto = taxa*horas;

Pearson Education Slide 11 Sintaxe do comando if-else Sintaxe Formal: if ( ) else Note que cada alternativa tem somente UM comando! Para ter múlitplos comandos encerre-os entre chaves { } comando composto

Pearson Education Slide 12 Comando composto/bloco Somente tenha um comando por ramificação Deve ser usado um comando composto { } para múltiplos Também chamado de bloco de comandos Cada bloco deveria ter um bloco de comandos Mesmo se contiver somente um comando Melhora a legibilidade

Pearson Education Slide 13 Comando composto em Ação Note o alinhamento neste exemplo: if (meusPontos > seusPontos) { cout << Eu ganhei!\n; aposta = aposta + 100; } else { cout << Queria que esses pontos fossem de golfe.\n; aposta = 0; }

Pearson Education Slide 14 Armadilhas Comuns Operador = vs. operator == Um significa atribuição (=) O outro significa igualdade (==) MUITO diferente em C++! Exemplo: if (x = 12) Note o operador utilizado! Faca_Alguma_Coisa else Faca_Outra_Coisa

Pearson Education Slide 15 O else opcional A cláusula else é opcional Se em uma ramificação falsa (else), você quer que nada aconteça, pode omitir o else Exemplo: if (vendas >= minimo) salario = salario + bonus; cout << salario = R$ << salario; Nota: Não fazer nada para a condição falsa, assim não existe a cláusula else! Execução continua no comando cout

Pearson Education Slide 16 Comandos Aninhados Comandos if-else contém comandos menores Comandos simples ou compostos (vimos até agora) Podem também conter qualquer comando, incluindo outro comando if-else! Exemplo: if (velocidade > 55) if (velocidade > 80) cout << Você está relmente corrento !; else cout << Você está corrento.; Note o alinhamento adequado!

Pearson Education Slide 17 if-else de seleções múltiplas Não é novo, simplesmente um alinhamento diferente Evite aninhamentos excessivos Sintaxe: Painel página 39

Pearson Education Slide 18 Exemplo de if-else de seleções múltiplas Painel página 39

Pearson Education Slide 19 O comando switch Um novo comando para controle de múlti- plas ramificações Utiliza uma expressão de controle a qual retorna um tipo bool (true or false) Sintaxe: Painel da página 40 no próximo slide

Pearson Education Slide 20 Sintaxe do comando switch Painel página 40

Pearson Education Slide 21 O comando switch em Ação Painel página 41

Pearson Education Slide 22 switch: múltiplos case A execução continua até break switch fornece um ponto de entrada Exemplo: case A: case a: cout << Excelente: você tirou A!\n; break; case B: case b: cout << bom: você tirou um B!\n; break; Note que múltiplos cases fornecem a mesma entrada

Pearson Education Slide 23 Armadilhas/Dicas Esquecendo o break; Nenhum erro será emitido pelo compilador A execução simplesmente segue através de outros cases até break; Grande utilidade: MENUS Fornece uma visão esclarecedora Mostra efetivamente a estrutura do menu Cada ramificação pode se uma opção do menu

Pearson Education Slide 24 Exemplo de Menu com switch Comando switch perfeito para menus: switch (resposta) { case 1: // Executa a opção 1 do menu break; case 2: // Executa a opção 2 do menu break; case 3: // Executa a opção 3 do menu break; default: cout << Favor digitar uma resposta válida.; }

Pearson Education Slide 25 Operador Condicional Também chamado de Operador Ternário Permite inserir um condicional em uma expressão Essencialmente um operador if-else abreviado Exemplo: if (n1 > n2) max = n1; else max = n2; Pode ser escrito: max = (n1 > n2) ? N1 : n2; ? e : juntos formam um operador ternário

Pearson Education Slide 26 Loops 3 Tipos de loops em C++: while Mais flexível Sem restrições do-while Menos flexível Sempre executa o corpo de loop pelo menos uma vez for Loop natural de contagem

Pearson Education Slide 27 Sintaxe dos Loops while Painel página 43

Pearson Education Slide 28 Exemplo de Loop while Considere: count = 0;// Inicialização while (count < 3)// Condição do Loop { cout << Hi ;// Corpo de Loop count++;// Expressão de atualização } Quantas vezes o corpo de loop é executado?

Pearson Education Slide 29 Sintaxe dos Loops while Painel página 44

Pearson Education Slide 30 Exemplo de Loop do-while count = 0;// Inicialização do { cout << Oi ;// Corpo de Loop count++;// Expressão de atualização } while (count < 3);// Condição do Loop Quantas vezes o corpo de loop é executado? Loops do-while sempre executam o corpo de loop pelo menos uma vez!

Pearson Education Slide 31 while vs. do-while Muito parecidos, mas… Uma diferença importante: A questão é QUANDO a expressão booleana é verificada while: Verifica ANTES que o corpo seja executado do-while: Verifica DEPOIS que o corpo foi executado Fora isso, eles são essencialmente idênticos! while é mais comum, devido ao fato de de ser mais flexível

Pearson Education Slide 32 OPERADOR VÍRGULA Avalia uma lista de expressões e fornece o valor da última expressão. Mais freqüentemente usado em um loop for Exemplo: resultado = (primeiro = 2, segundo = primeiro + 1); resultado recebe o valor 3 segundo recebe o valor 3 Não há garantia de que a expressão será avaliada na ordem correta

Pearson Education Slide 33 Sintaxe do Loop for for (Acao_De_Inicializacao; Expressao_Booleana; Acao_De_Atualizacao) Corpo_Do_Comando Como if-else, Corpo_Do_Comando pode ser um bloco de comando Muito mais clássico

Pearson Education Slide 34 Exemplo do Loop for for (contador=0; contador<3; contador++) { cout << Olá ;// Corpo de loop } Quantas vezes o corpo de loop é executado? Inicialização, Condição e Atualização estão embutidos dentro da estrutura do loop for Um loop natural para contagem

Pearson Education Slide 35 Loop A expressão de condição do loop pode ser QUALQUER expressão booleana Exemplos: while (contador<3 && feito!=0) { // Faça algo } for (indice=0;indice<10 && entrada!=-99) { // Faça algo }

Pearson Education Slide 36 Armadilhas: Colocar ; no lugar errado Veja o ; (ponto-e-virgula) no lugar errado Exemplo: while (resposta != 0) ; { cout > resposta; } Observe o ; depois da condição while! Resultado: UM LOOP INFINITO!

Pearson Education Slide 37 Armadilhas: Loops Infinitos Condição do Loop deve tornar-se falsa em alguma iteração do loop Se isso não ocorrer loop infinito. Exemplo: while (1) { cout << Olá ; } Um loop perfeitamente legal em C++ sempre infinito! Loops infinitos podem ser desejáveis Ex.: programa de reservas de passagens aéreas

Pearson Education Slide 38 COMANDOS break e continue Fluxo de controle Lembre-se como os loops fornecem elegância e um fluxo limpo de controle e saída Em RARAS instâncias, pode-se alterar o fluxo break; Força a saída do loop imediatamente. continue; Pula o resto do corpo de loop Este comando viola o fluxo natural Somente usado quando absolutamente necessário!

Pearson Education Slide 39 Loops Aninhados Lembre-se : QUAISQUER comandos C++ válidos podem estar dentro do corpo de loop Isso inclui comandos adicionais de loop! Chamados Loops Aninhados Requerem cuidado no alinhamento: for (externo=0; externo 2; interno--) cout << externo << interno; Nenhuma { } uma vez que cada corpo é um comando Um bom estilo recomenda o uso de { }

Pearson Education Slide 40 Sumário 1 Expressões booleanas Parecidas com a Aritmética resultados em true or false Estruturas de controle em C++ if-else e switch Comando switch: notável para menus Comandos de loop em C++ while do-while for

Pearson Education Slide 41 Sumário 2 Loops do-while sempre executam seu corpo de loop pelo menos uma vez! Loop for Um loop natural para contagem Loops podem ser interrompidos mais cedo comando break comando continue Uso restrito por razão de estilo