IF E ITERAÇÃO WHILE Dilvan Moreira (baseado no livro Big Java e T. Munzner)

Slides:



Advertisements
Apresentações semelhantes
Programação de Computadores
Advertisements

Um programa em C Bibliotecas Variáveis globais
Estruturas de Repetição
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 2 Criado por Frederick H. Colclough, Colorado Technical University Fluxo de Controle.
Universidade Federal de São Carlos Introdução à Linguagem C Comandos.
Casos típicos para o Enquanto-Faça
Introdução à Computação - Jorge Macêdo
Programação Básica em Java
Linguagem C Estruturas de Controle de Fluxos
Estrutura de Repetição
9 Controle de fluxo Seqüenciadores. Jumps. Escapes. Exceções.
LINGUAGEM C Centro Federal de Educação Tecnológica da Paraíba Coordenação de Informática Professor: Lafayette B. Melo.
Estruturas de Repetição
Estruturas de Decisão Permitir testes para decidir acções alternativas: if if - else switch (?:) Operador Condicional MF.
DESENVOLVIMENTO DE COMÉRCIO ELETRÔNICO
O Portal do Estudante de Computação
Linguagem de Programação III
do ... while Revendo: estrutura de repetição: while Formato geral:
Introdução a Computação e Cálculo Numérico
Introdução a Computação e Cálculo Numérico
Unidade I: “Dê um mergulho rápido”
Aula prática 4 Laços Monitoria de Introdução à Programação
Introdução à Programação Estruturas de Repetição
Material Didático Proposto
FTIN Formação Técnica em Informática
© 2003 Introdução à programaçãoComputadores e programação I Linguagens de programação Introdução ao C (continuação)
PROGRAMAÇÃO I UNIDADE 4.
Seminário 1: Revisão de C
Estruturas de Dados Módulo 3 – Controle de Fluxo
Programação de Computadores
Estruturas de Controle entre Instruções
Introdução à Programação de Computadores
Aula 6 - Estruturas de Controle
Algoritmo e Programaçã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.
Programação I Aula 5 (Instruções de Repetição) Prof. Gilberto Irajá Müller Última atualização 24/3/2009.
PROGRAMAÇÃO ou LINGUAGEM C?
Introdução à Linguagem C
Aula prática 2 Operadores e Expressões Comandos de Decisão Comentários
Programação e Aplicações Gráficas
JAVASCRIPT Tutorial Básico Aden Soares OBS: NÃO CONFUNDIR JAVASCRIPT COM JAVA ► O que é JavaScript? É uma linguagem de programação utilizada para.
Comando de Seleção switch
Algoritmos e Estrutura de Dados I
Aula Prática 1 Monitoria IP/CC (~if669) (A partir do slide elaborado por Luís Gabriel)
Aula Prática 2 Monitoria IP/CC (~if669).
ALGORITMIA. ALGORITMO Conjunto de instruções ou acções que ao serem executadas, permitirão realizar uma determinada tarefa.
Introdução a Programação
Introdução à Programação
Prof: Adriano A. Ribeiro
Curso Técnico em Informática Professor Igor Vale.
ALGORITMOS Profº Antonio Carlos Marcelino de Paula.
Profa. Maria Augusta Constante Puget
Profa. Maria Augusta Constante Puget
Fundamentos de Programação Aula 4. 2 Conteúdo Estruturas Básicas de Programação –Repetição, laço, loop ou iteração Exercícios.
Programação para Web I AULA 4 ESTRUTURAS DE CONTROLE.
11 Revisão da Linguagem C Prof. Kariston Pereira Adaptado de Material gentilmente fornecido pelo Prof. Rui Tramontin (DCC/UDESC)
Linguagem de Programação 11 Estruturas de Decisão e Repetição. Prof. Luiz José Hoffmann Filho
1 Programação – JAVA Unidade 3 – Loops e Lógica Prof. Aparecido V. de Freitas Curso de Ciência da Computação.
Laço ou loop e repetição
CONDICIONAL IF Desenvolvido pelo Mestrando Rodrigo Moreira Barreto – VHLab (Virtual Humans Simulation Laboratory – PUCRS) 1 Desenvolvido por: Rodrigo Moreira.
1 Estruturas de Controle Algoritmos Algoritmos –Série de ações em uma ordem específica As ações executadas Ordem na qual as ações são executadas.
Visual C# (parte 2) Prof. Igor Conrado Alves de Lima – Operadores, estruturas de decisão, vetores (arrays), e estruturas de.
ALGORITMOS Profº Antonio Carlos Marcelino de Paula 1.
Ambientação com a Sintaxe de Java: parte 2 Prof. Gustavo Wagner Slides Originais: Prof. Tiago Massoni Desenvolvimento de Sistemas FATEC-PB  Centro de.
PROGRAMANDO SEM POO EM JAVA Dilvan Moreira (baseado no livro Big Java)
Recursividade, Entrada pelo teclado e Funções com retorno Dilvan Moreira.
CLASSES EM JAVA Dilvan Moreira (baseado no livro Big Java)
Dilvan Moreira (baseado no livro Big Java e T. Munzner)
Transcrição da apresentação:

IF E ITERAÇÃO WHILE Dilvan Moreira (baseado no livro Big Java e T. Munzner)

Lembrando: Operadores Relacionais  Testam dois valores (operandos)  Operadores  == igual retorna vaerdadeiro se igual, falso se não nota: não confundir com =  != diferente retorna verdadeiro se diferente, falso se igual  < menor que  <= menor ou igual que  > maior que  >= maior ou igual que

Lembrando: Operadores Lógicos  Modo de combinar relultados de operadores relacionais num teste único  AND, OR, e NOT  em termos matemáticos  Operadores  && AND lógico  || OR lógico  ! NOT lógico

Objetivos  Ser capaz de programar usando if e switch  Ser capaz de programar com laços (loops) while, for e do  Entender loops aninhados

Sintaxe do If  Sintaxe  Palavra reservada if  seguida de expressão booleana entre parenteses  seguida de comando if (x == y) printf("x equals y! ");  Resultado  se expressão booleana é verdadeira, comando é executado  se não, execução pula comando

Sintaxe do If-Else  Opção do else:  palavra reservada else  seguida por comando if (x == y) printf("x equals y!"); else printf("x is not equal to y!");  Resultado  se expressão booleana é verdadeira, primeiro comando é executado  se não, segundo comando é executado

Uso de Blocos de Comandos  Quando se quer executar mais de um comando, baseado numa condição  Substitui um comando por muitos dentro de {} if (x == y) { printf("x equals y!"); printf("I'm happy"); } else { printf("x is not equal to y"); printf("I'm depressed"); printf("How about you?"); }

Sintaxe do Switch  Usado para seguir caminhos diferentes baseado num valor switch (finalMark) { case 4: printf("You get an A"); break; case 3: printf("You get a B"); break; case 2: printf("You get a C"); break; default: printf("See you next year"); }

Sintaxe do Switch  Expressão deve ser integer, char switch (finalMark) { case 4: printf("You get an A"); break; case 3: printf("You get a B"); break; case 2: printf("You get a C"); break; default: printf("See you next year");

Sintaxe do Switch  Os valores do case não podem ser variáveis switch (finalMark) { case 4: printf("You get an A"); break; case 3: printf("You get a B"); break; case 2: printf("You get a C"); break; default: printf("See you next year"); }

Sintaxe do Switch  O comando default é opcional switch (finalMark) { case 4: printf("You get an A"); break; case 3: printf("You get a B"); break; case 2: printf("You get a C"); break; default: printf("See you next year"); }

Sintaxe do Switch  Comandos break são muito importantes switch (finalMark) { case 4: printf("You get an A"); break; case 3: printf("You get a B"); break; case 2: printf("You get a C"); break; default: printf("See you next year");

Repetição, Interação, Loops  Computadores são bons em realizar a mesma tarefas muitas vezes  Loops (laços) permitem operações repetitivas em programas  Loops acontecem na vida real também:

Subindo Escadas  Am I at the top of the stairs?  No.  Climb up one step.  Am I at the top of the stairs?  No.  Climb up one step.  Am I at the top of the stairs?  No.  Climb up one step.  Am I at the top of the stairs?  No.  Climb up one step. ...and so on...

Comando While while (expressão booleana) corpo  A forma mais simples de loop em C  Corpo do loop  um comando  um bloco de comandos {usando chaves}  Fluxo de controle  corpo executado se expressão é verdadeira  expressão booleana é reavaliada  se continua verdadeira, corpo é executado novamente  repete a execução do corpo enquanto expressão for verdadeira

If Versus While boolean expression statement true como if funciona false

If Versus While boolean expression statement true como if funciona boolean expression statement truefalse como while funciona false

If Versus While-Fluxograma boolean expression statement true como if funciona boolean expression statement truefalse como while funciona false

If Versus While boolean expression statement true como if funciona boolean expression statement truefalse como while funciona false  Como a expressão muda de verdadeiro para falso?

Usando o comando while int main () { int limit = 3; int counter = 1; while (counter <= limit) { printf("The square of %d is %d”, counter, counter * counter); counter = counter + 1; } printf("End of demonstration\n"); return 0; }  comando while

Usando o comando while int main () { int limit = 3; int counter = 1; while (counter <= limit) { printf("The square of %d is %d”, counter, counter * counter); counter = counter + 1; } printf("End of demonstration\n"); return 0; }  expressão booleana

Usando o comando while int main () { int limit = 3; int counter = 1; while (counter <= limit) { printf("The square of %d is %d”, counter, counter * counter); counter = counter + 1; } printf("End of demonstration\n"); return 0; }  corpo do comando while  o que vai ser repetido

Usando o comando while int main () { int limit = 3; int counter = 1; while (counter <= limit) { printf("The square of %d is %d”, counter, counter * counter); counter = counter + 1; } printf("End of demonstration\n"); return 0; }  programa continua aqui quando condição fica falsa

Usando o comando while int main () { int limit = 3; int counter = 1; while (counter <= limit) { printf("The square of %d is %d”, counter, counter * counter); counter = counter + 1; } printf("End of demonstration\n"); return 0; }  trace o que acontece quando executado

Usando o comando while int main () { int limit = 3; int counter = 1; while (counter <= limit) { printf("The square of %d is %d”, counter, counter * counter); counter = counter + 1; } printf("End of demonstration\n"); return 0; } limit 3

Usando o comando while int main () { int limit = 3; int counter = 1; while (counter <= limit) { printf("The square of %d is %d”, counter, counter * counter); counter = counter + 1; } printf("End of demonstration\n"); return 0; } limit 3 counter 1

Usando o comando while int main () { int limit = 3; int counter = 1; while (counter <= limit) { printf("The square of %d is %d”, counter, counter * counter); counter = counter + 1; } printf("End of demonstration\n"); return 0; } counter <= limit? sim limit 3 counter 1

Usando o comando while int main () { int limit = 3; int counter = 1; while (counter <= limit) { printf("The square of %d is %d”, counter, counter * counter); counter = counter + 1; } printf("End of demonstration\n"); return 0; } "The square of 1 is 1" aparece no monitor counter <= limit? sim limit 3 counter 1

Usando o comando while int main () { int limit = 3; int counter = 1; while (counter <= limit) { printf("The square of %d is %d”, counter, counter * counter); counter = counter + 1; } printf("End of demonstration\n"); return 0; } limit 3 counter 2

Usando o comando while int main () { int limit = 3; int counter = 1; while (counter <= limit) { printf("The square of %d is %d”, counter, counter * counter); counter = counter + 1; } printf("End of demonstration\n"); return 0; } counter <= limit? sim limit 3 counter 2

Usando o comando while int main () { int limit = 3; int counter = 1; while (counter <= limit) { printf("The square of %d is %d”, counter, counter * counter); counter = counter + 1; } printf("End of demonstration\n"); return 0; } "The square of 2 is 4" aparece no monitor counter <= limit? sim limit 3 counter 2

Usando o comando while int main () { int limit = 3; int counter = 1; while (counter <= limit) { printf("The square of %d is %d”, counter, counter * counter); counter = counter + 1; } printf("End of demonstration\n"); return 0; } limit 3 counter 3

Usando o comando while int main () { int limit = 3; int counter = 1; while (counter <= limit) { printf("The square of %d is %d”, counter, counter * counter); counter = counter + 1; } printf("End of demonstration\n"); return 0; } counter <= limit? sim limit 3 counter 3

Usando o comando while int main () { int limit = 3; int counter = 1; while (counter <= limit) { printf("The square of %d is %d”, counter, counter * counter); counter = counter + 1; } printf("End of demonstration\n"); return 0; } "The square of 3 is 9" aparece no monitor counter <= limit? sim limit 3 counter 3

Usando o comando while int main () { int limit = 3; int counter = 1; while (counter <= limit) { printf("The square of %d is %d”, counter, counter * counter); counter = counter + 1; } printf("End of demonstration\n"); return 0; } limit 3 counter 4

Usando o comando while int main () { int limit = 3; int counter = 1; while (counter <= limit) { printf("The square of %d is %d”, counter, counter * counter); counter = counter + 1; } printf("End of demonstration\n"); return 0; } counter <= limit? NÃO! limit 3 counter 4

Usando o comando while int main () { int limit = 3; int counter = 1; while (counter <= limit) { printf("The square of %d is %d”, counter, counter * counter); counter = counter + 1; } printf("End of demonstration\n"); return 0; } “End of demonstration" mostrado no monitor counter <= limit? NÃO! limit 3 counter 4

Comparando com Subir a Escada  Am I at the top of the stairs?  No.  Climb up one step.  Am I at the top of the stairs?  No.  Climb up one step.  Am I at the top of the stairs?  No.  Climb up one step.  Am I at the top of the stairs?  No.  Climb up one step. ...and so on...

Comparando com Subir a Escada while (I’m not at the top of the stairs) { Climb up one step }  Subir uma escada é um loop while!

Usando o comando while int main () { int limit = 3; int counter = 1; while (counter >= limit) { printf("The square of %d is %d”, counter, counter * counter); counter = counter + 1; } printf("End of demonstration\n"); return 0; }  mudando condição de parada

Usando o comando while int main () { int limit = 3; int counter = 1; while (counter >= limit) { printf("The square of %d is %d”, counter, counter * counter); counter = counter + 1; } printf("End of demonstration\n"); return 0; }  mudando condição de parada: Corpo nunca executa

Usando o comando while int main () { int limit = 3; int counter = 1; while (counter <= counter) { printf("The square of %d is %d”, counter, counter * counter); counter = counter + 1; } printf("End of demonstration\n"); return 0; }  mudando a condição: fica sempre verdadeiro

Cuidado: Loop Infinito int main () { int limit = 3; int counter = 1; while (counter <= counter) { printf("The square of %d is %d”, counter, counter * counter); counter = counter + 1; } printf("End of demonstration\n"); return 0; }  se sempre verdadeiro, loop nunca termina

Cuidado: Loop Infinito int main () { int limit = 3; int counter = 1; while (counter <= limit) { printf("The square of %d is %d”, counter, counter * counter); counter = counter - 1; } printf("End of demonstration\n"); return 0; }  condição de terminação OK, incremento incorreto

Cuidado: Loop Infinito int main () { int limit = 9; int counter = 0; while (counter != limit) { printf("The square of %d is %d”, counter, counter * counter); counter = counter + 2; } printf("End of demonstration\n"); return 0; }  programa nunca satisfaz condição de parada

Exercício  Ler o número de matricula de um aluno e as suas duas notas A e B, e após calcular a média ponderada entre estas notas (A tem peso 1 e B tem peso 2). Verifique se a nota digitada é valida, caso seja inválida, repita a leitura. Repetir este procedimento para uma turma composta por oito alunos, usando o comando While. Exemplo de tela de saída: Entre com o numero do aluno: 235 Entre com o grau A: 5.0 Entre com o grau B: 6.0 O aluno numero 235 tem uma media: 5.66 Entre com o nome do aluno: 335 Entre com o grau A: 12.5 Nota invalida! Entre com o grau A:

Perguntas?