Seleção Múltipla Laços (while, do-while, for) AULA 05

Documentos relacionados
Sintaxe Básica de Java Parte 2

Aula 08 Estruturas de Condição. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes

Unidade 3: Estruturas de Controle Parte 2 - Lógica, SWITCH, FOR, WHILE e DO WHILE Prof. Daniel Caetano

LÓGICA DE PROGRAMAÇÃO (JAVA) ESTRUTURAS REPETIÇÃO. Professor Carlos Muniz

Linguagem de Programação Java Terceira aula. Prof. Rogério Albuquerque de Almeida

Variáveis primitivas e Controle de fluxo

Aula 4 Estruturas de Controle

Operadores Lógicos e Relacionais Comandos condicionais (if-else) Casting AULA 04

Programação Orientada a Objetos II Java Segunda aula. Prof. Rogério Albuquerque de Almeida

Introdução a JAVA. Variáveis, tipos, expressões, comandos e blocos

Tipos primitivos de Java Entrada de Dados Formatação da Saída. Aula 03

Introdução a JAVA. Variaveis, tipos, expressões, comandos e blocos

Estruturas de Repetição e String. Vanessa Braganholo

Programação Orientada a Objetos

Sintaxe Básica do Java. João Paulo Q. dos Santos

Estruturas de Decisão

RESULUÇÃO DOS EXERCÍCIOS E INSTRUÇÕES DE DECISÃO (if{} e else{}) Profº André Aparecido da Silva Disponível em:

Algoritmos e Técnicas de

Comando de Seleção em Java

Linguagem Java - Introdução

Introdução a programação Comandos de repetição

Universidade de Mogi das Cruzes Implementação Orientada a Objetos - Profª. Danielle Martin. Guia da Sintaxe do Java

Comando Portugol (Visualg) Java

Universidade Federal de Uberlândia Faculdade de Computação. Linguagem C: estruturas de repetição While / Do While / For

CONTEÚDO 04 VETORES. Disciplina: Algoritmos e POO Professora: Alba Lopes.

JAVA. Professor: Bruno Toledo

Tipos de dados e comandos POO

Comandos em C (cont.)

Linguagem de Programação III

Linguagem C++ Estruturas de controle Parte II Estruturas de repetição

5 - COMANDOS DE CONTROLE DE PROGRAMA Em C existem os comandos de decisões, os comandos de iteração (ou de laços) e os comandos de desvios.

Laços de repetição for, while, do-while

Estruturas de Repetição e String

Bacharelado em Ciência e Tecnologia Processamento da Informação. Equivalência Portugol Java. Linguagem Java

Introdução à Programação. Expressões Booleanas e Comandos Condicionais

Java - Estruturas de Decisão, Repetição e Arrays

Lógica de Programação. Lógica de Programação com Java

Análise de Programação

Estruturas de controle Parte 1

Programação Estruturada e Orientada a Objetos

INSTRUÇÕES DE REPETIÇÃO

Vetores Unimensionais

INFORMÁTICA APLICADA AULA 05 LINGUAGEM DE PROGRAMAÇÃO C++

Algoritmos e Programação

Aula 6 Oficina de Programação Estruturas Condicionais no C. Profa. Elaine Faria UFU

Operadores e Estruturas de Decisão. Vanessa Braganholo

Algoritmos e Programação

Linguagem C (estruturas condicionais)

PROGRAMAÇÃO I A LINGUAGEM DE PROGRAMAÇÃO JAVA II

Introdução a classes e objetos. Prof. Marcelo Roberto Zorzan Prof a. Rachel Reis

3. Linguagem de Programação C

Tipos Primitivos, estruturas de iteração e decisão.

Estruturas de seleção. Prof.: Jesus

Desenvolvimento de Aplicações Desktop

Estruturas de Controle em c#

Estruturas de Repe,ção e String

Sistemas Operacionais e Introdução à Programação. Programação com linguagem C

CIT Aula 02 Variáveis e Estruturas de desvio condicional. Autor: Max Rodrigues Marques Carga Horária: 2 h 22/07/15 1

Desenvolvimento de Aplicações Desktop

Revisão C++ - Parte 1

Linguagem Java: Sintaxe Java

LINGUAGEM C: COMANDOS DE REPETIÇÃO

Algoritmos I Aula 13 Linguagem de Programação Java

Módulo 5. Instruções if e switch. Algoritmos e Estruturas de Dados I C++ (Rone Ilídio)

Algoritmos e Estruturas de Dados I (DCC/003) Estruturas Condicionais e de Repetição

Métodos Computacionais. Comandos Condicionais e de Repetição em C

Fundamentos de programação

Operadores e Estruturas de Decisão

Arrays em Java. Introdução à Programação. Bruno Cartaxo

Estruturas de Controle

Entrada Processamento Saída

Java e sua Sintaxe. Estrutura mínima de um programa em Java: public class Exemplo { }

Programação científica C++

Introdução à Ciência da Computação

Linguagem C. Prof.ª Márcia Jani Cícero

Vetores Unimensionais

Universidade Federal de Uberlândia Faculdade de Computação. Linguagem C: Operadores relacionais e lógicos estruturas condicionais If...

CIÊNCIA DA COMPUTAÇÃO - LINGUAGEM DE PROGRAMAÇÃO II REVISÃO POO

MsC. João Maria MsC. Liviane Melo

PHP: <?php echo("hello World");?> Printa Hello World na página do navegador, mais fácil do que no Java.

UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE ESCOLA DE CIÊNCIAS E TECNOLOGIA. ECT1203 Linguagem de Programação Turma Prof.

Programação I PRG Engenharia de Telecomunicações 2ª Fase Professor: Cleber Jorge Amaral

UNIVERSIDADE DO ESTADO DE SANTA CATARINA - UDESC DCC Departamento de Ciência da Computação Joinville-SC

Linguagem C Estruturas de Repetição

ESTRUTURAS DE CONTROLE - LAÇOS OU MALHAS DE REPETIÇÃO

Estruturas de seleção. Prof.: Jesus

Operadores e Estruturas de Decisão

Introdução à Linguagem de Programação Java 1 INTRODUÇÃO À LINGUAGEM DE PROGRAMAÇÃO JAVA

Módulo Lógica Programação com aplicações em Java. Projeto khouse Profissionalizante Profª Larissa Brandão

Variáveis Compostas. Vanessa Braganholo

Algoritmos e Lógica de Programação 80 horas // 4 h/semana. Exercício... Para começar... Resolução... Para começar... Para começar...

Além de digitar e rodar os exemplos para ver seu funcionamento, deve-se ler atentamente e entender o que cada linha do código está fazendo.

Prof. A. G. Silva. 28 de agosto de Prof. A. G. Silva INE5603 Introdução à POO 28 de agosto de / 1

Estrutura de Condição, Escolha e Repetição

Aula 7 Oficina de Programação Estruturas de Repetição no C. Profa. Elaine Faria UFU

Transcrição:

Introdução a Programação IF669 http://www.cin.ufpe.br/~if669 Seleção Múltipla Laços (while, do-while, for) AULA 05 Ricardo Massa F. Lima rmfl@cin.ufpe.br Sérgio C. B. Soares scbs@cin.ufpe.br

Até aqui... n Conceitos gerais de programação n Tipos primitivos em Java n Entrada e saída de dados n Operadores n Comando condicional em Java n HOJE: Comandos de seleção e repetição

O comando de seleção switch switch (EXP) { case rotulo1: // comandos1 break; case rotulo2: // comandos2 break;... default: // comandos3 Para executar um switch 1. A expressão EXP é avaliada 2. Os comandos do case cujo rótulo é igual ao valor resultante da expressão é executado 3. Os comandos de default são executados caso o valor resultante não seja igual a nenhum rótulo

O comando de seleção switch switch (EXP) { case rotulo1: // comandos1 break; case rotulo2: // comandos2 break;... default: // comandos3 O tipo de EXP só pode ser: char, byte, short, int Os rótulos devem ser constantes diferentes Existe no máximo uma cláusula default (opcional) Os tipos dos rótulos têm que ser o mesmo de EXP Os comandos break são opcionais (param a execução)

Exemplo 1 char resposta = //... switch(resposta) { case s : retorno = true; break; case n : retorno = false; break; default: retorno = false; System.out.println( Erro! );

Exemplo 2 n Evitamos o uso de vários if-else int dia = //... switch(dia) { case 1: resposta = "Segunda-feira"; break; case 2: resposta = "Terça-feira"; break; case 3: resposta = "Quarta-feira"; break; case 4: resposta = "Quinta-feira"; break; case 5: resposta = "Sexta-feira"; break; default: resposta = "Final de semana";

Exercício 1 (15 minutos) n Escreva um programa em Java para: 1. Ler um valor inteiro (a) do teclado 2. Ler um caractere (op) de uma das quatro operações aritméticas (+, -, * ou /) do teclado 3. Ler um valor inteiro (b) do teclado 4. Imprimir o resultado da expressão digitada Digite a : 1 Digite op: + Digite b : 3 a + b = 4 O Scanner não lê char. Leia um String e pegue o primeiro char assim: op = in.next().charat(0);

Qual o resultado se digitarmos 2 + 3 no programa ao lado? Faltam os break

Estrutura de Repetição n while n do-while n for

while n A execução das instruções no bloco de comandos é repetida enquanto uma condição (EXP_BOOL) for verdadeira. while (EXP_BOOL) { //bloco Com chaves Sem chaves while (EXP_BOOL) //comando bloco = comandos delimitados por { e

Exemplo: public class Exemplo { public static void main(string[] args) { Scanner in = new Scanner(System.in); System.out.print("Digite o primeiro numero: "); int x = in.nextint(); System.out.print("Digite o segundo numero: "); int y = in.nextint(); int resposta = 0; while (y > 0) { resposta = resposta + x; y = y - 1; System.out.print("O produto é " + resposta);

Exercício 2 Faça um programa para 1. Ler um número inteiro maior que zero e menor que 100 2. Imprimir todos os números ímpares seguintes até 100 (separados por, ) 3. Teste o programa 4. Modifique o programa para continuar pedindo o número inteiro positivo enquanto o usuário não digitar um número maior que zero O Operador % calcula o módulo da divisão. 10%2 = 0 11%2 = 1

Outros comandos de repetição do-while do { //bloco while (EXP); O comando do sempre executa o bloco a 1ª vez. Se a EXP for verdadeira executa uma 2ª vez e assim por diante... for (I; EXP; Inc) { //bloco for EXP = expressão booleana I = inicializador Inc = incremento

For true 1 2 4 for(inic.; condição; expr.de iteração){ 3 Comandos1 5 Comandos2 false

Expressão condicional: refere-se a um teste que será executado e deverá retornar um valor booleano. class Exemplo{ public static void main(string args[]){ int a=3; for(a=9; a<15; a++){ System.out.println( a= +a); Expressão de iteração: indicamos o que deverá ocorrer após cada execução do corpo do laço de repetição. Ela sempre será processada após o corpo do laço a ser executado. 9 10 11 12 13 14

class Exemplo{ public static void main(string args[]) { for(int a=1,b=10;((a<10)&&(b>5));a++,b--){ System.out.println( a= +a); System.out.println( b= +b); a=1 b=10 a=2 true b=9 a=3 b=8 1 2 4 a=4 for(inic.; condição; expr.de iteração){ 3 b=7 Comandos1 a=5 b=6 5 Comandos1 false

Program ímpares usando for

Compare as duas soluções!

Declaração e inicialização de variáveis: nessa primeira parte podemos declarar e inicializar uma ou mais variáveis, quando houver, conforme a seguir: for(int a=1,b=1;...){ É importante lembrarmos que a declaração e a inicialização de variáveis acontecem sempre antes de outros comandos. Elas acontecem apenas uma vez no laço de repetição, sendo que a condição e a expressão de iteração são executadas a cada laço do programa 5 1 2 4 for(inic.; condição; expr.de iteração){ 3 Comandos1 Comandos1

Exemplo n Vamos reescrever o seguinte pedaço de programa usando for for (I; EXP; Inc) { //bloco int x = 1; while (x < 100) { System.out.print(x + ", "); x = x + 2; for (int x = 1; x < 100; x = x + 2) { System.out.print(x + ", ");

Agora usando do-while do { //bloco while (EXP); int x = 1; while (x < 100) { System.out.print(x + ", "); x = x + 2; int x = 1; do { System.out.print(x + ", "); x = x + 2; while (x < 100); Mas apenas porque sabemos que o valor inicial de x é menor que zero E se x fosse lido do teclado? O que faríamos?

Comando break n Quando utilizado em um laço de repetição, causa uma interrupção imediata do mesmo, continuando a execução do programa na próxima linha após o laço. for (int i = 1; i < 11; i++){ if (i == 5) break; System.out.println("Valor de i=" + i); System.out.println("Próxima linha");

Comando continue n Utilizado somente em laços de repetição. Quando é executado, o laço volta para o teste de condição do laço de repetição. int num = 0; while (num < 10) { num++; if (num == 5) continue; System.out.println("num = " + num); Normalmente, utilizamos o comando continue em um teste if

Exercício 3 n Escreva um programa para: 1. Ler um inteiro do teclado use um do-while para garantir que o programa só continua se for digitado um número maior que 0 2. Calcular o fatorial desse número (usando for) fatorial x = 1, se x = 0 x * (x-1) * (x-2) *... * 1, se x > 0 3. Imprimir o resultado i++ i-- É o mesmo que i = i + 1 i = i - 1

Exercício 4 n Escreva um programa para ler um valor inteiro positivo N e calcular N i 2 =1 2 + 2 2 +...+ N 2 i=1 use um do-while para garantir que o programa só continua se for digitado um número maior que 0

Exercício extra 1 n Tente responder os exercícios usando comandos de repetição diferentes, quando for possível

Exercício extra 2 Escreva um aplicativo que calcula os quadrados e cubos dos números de 0 a 10 e imprime os valores resultantes no formato da tabela como segue: Number Square Cube 0 0 0 1 1 1 2 4 8 3 9 27 4 1 64 5 2 125 6 36 216 7 4 343 8 64 512 9 81 729 10 100 1000

Questão de Miniprova Ler dois valores reais x e y positivos e menores que 1. Calcular e imprimir o valor da série S, dado por: s = x y x 2 y 3 (x + y) + x 3 y 5 2 3 (x + y) x 4 y 7 3 5 4 7 +... (x + y) Obs1: o processo de soma termina quando for encontrado o valor de um termo < 0.001 Obs2: note o uso intercalado dos sinais de + e na série