Estruturas de Repetição e String

Documentos relacionados
Estruturas de Repetição e String. Vanessa Braganholo

Estruturas de Repe,ção e String

Estruturas de Repe,ção e Manipulação de Texto

Estruturas de Repetição. Vanessa Braganholo

Estruturas de Repetição. Leonardo Murta

Estruturas de Repetição. Vanessa Braganholo

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

Aula 2 POO 1 Prática. Profa. Elaine Faria UFU

Fluxogramas. Leonardo Gresta Paulino Murta.

Operadores e Estruturas de Decisão

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

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

Fluxogramas. Vanessa Braganholo

Operadores e Estruturas de Decisão. Vanessa Braganholo

Organização de programas em Java

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

Variáveis Compostas. Vanessa Braganholo

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

Aula 4 Estruturas de Controle

Vetores Unimensionais

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

Aula 03 Introdução à Java. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes

Organização de programas em Java

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

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

Sintaxe Básica de Java Parte 2

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

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

Vetores Unimensionais

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

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

Manual de conversão de Pseudo-algoritmo para Java

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

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

Aula de PG Novembro de 2013, LT14D e LT11D - Sobre o Tipo String do Java

Algoritmos II prof. Daniel Oliveira

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

Lista de Exercícios de Programação Orientada a Objetos

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

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

String. Demonstrar a utilização e manipulação com os métodos da classe String.

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

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

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

Aula 4. TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS 2014 Marcelo Henrique dos Santos -

Organização de programas em Java

05/11/2018. Linguagem de Programação e Estruturada

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

4 TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS

Vetores Unimensionais

Algoritmos I Aula 13 Linguagem de Programação Java

Tipos de dados e comandos POO

Programação Estruturada e Orientada a Objetos

LINGUAGEM DE PROGRAMAÇÃO ESTRUTURADA CAPÍTULO 5 ESTRUTURAS DE REPETIÇÃO EM C#

Linguagem de programação Java

Programação de Computadores para GI

INSTRUÇÕES DE REPETIÇÃO

Aula 7 Modularização. Processamento da Informação. Universidade Federal do ABC

Exercícios Repetição

Orientação a Objetos e Java

Algoritmos e Programação

Estruturas de Controle

Ambientação com a Sintaxe de Java: parte 1

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

Estruturas de Repetição. for() while() do-while() break; continue;

Linguagem Java - Introdução

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

Variáveis primitivas e Controle de fluxo

LINGUAGEM C: COMANDOS DE REPETIÇÃO

Universidade Federal de Goiás Instituto de Informática 1ª Prova de Introdução a Programação 06/04/11

Ederson Luiz da Silva Ciência da Computação. Algoritmos e Programação

Programação de Computadores I. Aula - Vetores. Professor Ilaim Costa Junior.

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

Desenvolvendo aplicações Java

public class ExecScanner1 { public static void main(string[] args) { // TODO code application logic here

Linguagem de Programação III

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

System.out.print("e"); O programa acima irá imprimir: "b". O programa acima irá imprimir: "bd". O programa acima irá imprimir: "e".

CONTEÚDO 05 MATRIZES

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

Java para Desktop. Classes Utilitárias I java.lang.string JSE

Estruturas de Decisão

Transcrição:

Estruturas de Repetição e String Leonardo Gresta Paulino Murta leomurta@ic.uff.br

Estruturas de repetição whiledo dowhile for Aula de hoje String Manipulação de textos Leonardo Murta Estruturas de Repetição e String 2

Estruturas de Repetição Permitem que um bloco de comandos seja executado diversas vezes Repetição condicional: executa um bloco de código enquanto uma condição lógica for verdadeira Dowhile Whiledo Repetição contável: executa um bloco de código um número predeterminado de vezes For Leonardo Murta Estruturas de Repetição e String 3

Repetição condicional do tipo whiledo Fluxograma F Condição? V Bloco do loop Pseudocódigo Enquanto CONDIÇÃO faça INSTRUÇÃO 1 INSTRUÇÃO 2 INSTRUÇÃO N Leonardo Murta Estruturas de Repetição e String 4

Repetição condicional do tipo whiledo Java while (CONDIÇÃO) { INSTRUÇÃO 1; INSTRUÇÃO 2; INSTRUÇÃO N; Leonardo Murta Estruturas de Repetição e String 5

Repetição condicional do tipo whiledo Executa o bloco de instruções enquanto a condição for verdadeira A condição é uma expressão booleana que pode fazer uso de quaisquer operadores A condição deve sempre estar entre parênteses Pode omitir { e caso execute somente uma instrução Leonardo Murta Estruturas de Repetição e String 6

Repetição condicional do tipo whiledo Executa o bloco de instruções enquanto a condição for verdadeira A condição é uma expressão booleana que pode fazer uso de quaisquer operadores A condição deve sempre estar entre parênteses Pode omitir { e caso execute somente uma instrução Nenhuma novidade: igual ao if!!! Leonardo Murta Estruturas de Repetição e String 7

Exemplo de whiledo Programa para calcular fatorial de um número: import java.util.scanner; public class Fatorial { public static void main(string[] args) { Scanner teclado = new Scanner(System.in); System.out.print("Entre com um número inteiro positivo: "); int numero = teclado.nextint(); long fatorial = 1; while (numero > 0) { fatorial *= numero--; System.out.println("O fatorial desse número é " + fatorial); Leonardo Murta Estruturas de Repetição e String 8

Exemplo de whiledo Qual a saída do programa abaixo? public class Loop { public static void main(string[] args) { int i = 0; while (true) System.out.println(i++); Evitem forçar loops infinitos sempre que possível! Leonardo Murta Estruturas de Repetição e String 9

Repetição condicional do tipo dowhile Fluxograma Bloco do loop F Condição? V Pseudocódigo Faça INSTRUÇÃO 1 INSTRUÇÃO 2 INSTRUÇÃO N Enquanto CONDIÇÃO Leonardo Murta Estruturas de Repetição e String 10

Repetição condicional do tipo dowhile Java do { INSTRUÇÃO 1; INSTRUÇÃO 2; INSTRUÇÃO N; while (CONDIÇÃO); Leonardo Murta Estruturas de Repetição e String 11

Repetição condicional do tipo dowhile Executa o bloco de instruções enquanto a condição for verdadeira Garante que ocorrerá ao menos uma execução A verificação da condição é feita depois do bloco de instruções Valem as mesmas condições do whiledo Leonardo Murta Estruturas de Repetição e String 12

Exemplo de dowhile Programa para calcular fatorial de um número: import java.util.scanner; public class Fatorial { public static void main(string[] args) { Scanner teclado = new Scanner(System.in); System.out.print("Entre com um número inteiro positivo: "); int numero = teclado.nextint(); long fatorial = 1; do { fatorial *= numero--; while (numero > 0); System.out.println("O fatorial desse número é " + fatorial); Leonardo Murta Estruturas de Repetição e String 13

Mas então dá no mesmo? Naaaaaaaaaaaaaão!!! Reparem que pedimos para o usuário "Entre com um número inteiro positivo: " Para esse cenário, ambas as estruturas funcionaram O que acontece se pedirmos para o usuário "Entre com um número inteiro não negativo: Qual das duas estruturas resolve o problema corretamente se o usuário entrar com zero? Qual o resultado provido pela outra? Lembrem: fatorial de zero é 1! Leonardo Murta Estruturas de Repetição e String 14

Repetição contável do tipo for Fluxograma Valor inicial Valor final Incremento cursor Bloco do loop Pseudocódigo Para CURSOR variando de VALOR INICIAL a VALOR FINAL com passo INCREMENTO INSTRUÇÃO 1 INSTRUÇÃO 2 INSTRUÇÃO N Leonardo Murta Estruturas de Repetição e String 15

Repetição contável do tipo for Java for (INICIALIZAÇÃO; TERMINAÇÃO; INCREMENTO) { INSTRUÇÃO 1; INSTRUÇÃO 2; INSTRUÇÃO N; Leonardo Murta Estruturas de Repetição e String 16

Repetição contável do tipo for Executa o bloco de instruções por um número predeterminado de vezes Expressão de inicialização Utilizada para iniciar a variável de controle do loop (cursor) Executada uma única vez, antes do primeiro loop Expressão de terminação Termina a execução do loop quando tiver o valor false Verificada antes de cada loop Expressão de incremento Pode incrementar ou decrementar a variável de controle (cursor) Executada no final de cada loop As expressões devem sempre estar entre parênteses e separadas por ponto-e-vírgula Pode omitir { e caso execute somente uma instrução Leonardo Murta Estruturas de Repetição e String 17

Exemplo de for Programa para calcular fatorial de um número: import java.util.scanner; public class Fatorial { public static void main(string[] args) { Scanner teclado = new Scanner(System.in); System.out.print("Entre com um número inteiro positivo: "); int numero = teclado.nextint(); long fatorial = 1; for (int i = 1; i <= numero; i++) { fatorial *= i; System.out.println("O fatorial desse número é " + fatorial); Leonardo Murta Estruturas de Repetição e String 18

Qual a diferença de Exemplo de for for (int i = 1; i <= numero; i++) { fatorial *= i; Para for (int i = numero; i >= 1; i--) { fatorial *= i;? Leonardo Murta Estruturas de Repetição e String 19

String Classe em Java para representar variáveis textuais Possui uma variedade de métodos para manipulação de texto Métodos podem ser chamados a partir de uma variável ou do texto em si System.out.println(texto.charAt(2)); System.out.println( Texto.charAt(2)); Para manipulações mais eficientes com strings, veja a classe StringBuffer Leonardo Murta Estruturas de Repetição e String 20

Alguns métodos de String equals(object) Informa se duas Strings são iguais Ex.: "Flamengo".equals("flamengo") false Ex.: "Flamengo".equals("Flamengo") true length() Retorna o tamanho da String Ex.: "Flamengo".length() 8 concat(string) Concatena duas strings, de forma equivalente ao operador + Ex.: "Fla".concat("mengo") Flamengo charat(int) Retorna o caractere na posição informada A primeira posição é zero Ex.: "Flamengo".charAt(2) a Leonardo Murta Estruturas de Repetição e String 21

Alguns métodos de String compareto(string) Retorna 0 se as strings forem iguais, <0 se a string for lexicamente menor e >0 se for lexicamente maior que o parâmetro "Fla".compareTo( Flu") -20 comparetoignorecase(string) Idem ao anterior, sem considerar diferenças entre maiúsculas e minúsculas "Fla".compareToIgnoreCase("fla") 0 indexof(string, int) Busca pela primeira ocorrência de uma substring ou caractere a partir de uma posição informada Ex.: "Fla x Flu".indexOf("Fl", 0)) 0 Ex.: "Fla x Flu".indexOf("Fl", 1)) 6 Leonardo Murta Estruturas de Repetição e String 22

Alguns métodos de String substring(int, int) Retorna a substring que vai da posição inicial (inclusive) até a posição final (exclusive), ambas informadas Ex.: "Flamengo".substring(3,6)) men tolowercase() Retorna a string em minúsculas Ex.: "Flamengo".toLowerCase() flamengo touppercase() Retorna a string em maiúsculas Ex.: "Flamengo".toUpperCase() FLAMENGO trim() Remove espaços antes e depois da string Ex.: " Flamengo ".trim() Flamengo Leonardo Murta Estruturas de Repetição e String 23

Alguns métodos de String Veja os demais métodos em http://docs.oracle.com/javase/7/docs/api/java/lang/s tring.html Na verdade, todas as classes de apoio do Java podem ser consultadas em http://docs.oracle.com/javase/7/docs/api/ Leonardo Murta Estruturas de Repetição e String 24

Exemplo Programa para gerar a citação a partir de um nome Ex.: Leonardo Gresta Paulino Murta MURTA, L. G. P. import java.util.scanner; public class Citacao { public static void main(string[] args) { Scanner teclado = new Scanner(System.in); String iniciais = ""; String sobrenome = ""; System.out.print("Entre com um nome completo: "); String nome = teclado.nextline().trim(); Leonardo Murta Estruturas de Repetição e String 25

Exemplo int inicio = 0; int fim = nome.indexof(" ", inicio); while (fim!= -1) { iniciais += nome.substring(inicio, inicio + 1) + ". "; inicio = fim + 1; fim = nome.indexof(" ", inicio); sobrenome = nome.substring(inicio).touppercase(); System.out.print(sobrenome + ", "); System.out.println(iniciais.toUpperCase().trim()); Leonardo Murta Estruturas de Repetição e String 26

Exercício Faça um programa para montar a tabela de multiplicação de números de 1 a 10 (ex.: 1 x 1 = 1, 1 x 2 = 2, etc.) Faça um programa para determinar o número de dígitos de um número informado Leonardo Murta Estruturas de Repetição e String 27

Exercício Faça um programa para calcular a série de Fibonacci para um número informado pelo usuário, sendo F(0) = 0, F(1) = 1 e F(n)= F(n- 1)+F(n-2) Por exemplo, caso o usuário informe o número 9, o resultado seria: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34 Leonardo Murta Estruturas de Repetição e String 28

Exercício Faça um programa para listar todos os divisores de um número ou dizer que o número é primo caso não existam divisores Ao final, verifique se o usuário deseja analisar outro número Leonardo Murta Estruturas de Repetição e String 29

Exercício Faça um programa que calcule o retorno de um investimento financeiro fazendo as contas mês a mês, sem usar a fórmula de juros compostos O usuário deve informar quanto será investido por mês e qual será a taxa de juros mensal O programa deve informar o saldo do investimento após um ano (soma das aplicações mês a mês considerando os juros compostos), e perguntar ao usuário se ele deseja que seja calculado o ano seguinte, sucessivamente Por exemplo, caso o usuário deseje investir R$ 100,00 por mês, e tenha uma taxa de juros de 1% ao mês, o programa forneceria a seguinte saída: Saldo do investimento após 1 ano: 1280.9328043328942 Deseja processar mais um ano? (S/N) Leonardo Murta Estruturas de Repetição e String 30

Exercício Faça um programa para justificar um texto com um número de colunas informado pelo usuário Por exemplo, para o texto Este é um exemplo de texto que vamos justificar usando o nosso programa quando justificado em 18 colunas, teríamos: Este é um exemplo de texto que vamos justificar usando o nosso programa Dica: o método lastindexof(string, int) pode ser útil Leonardo Murta Estruturas de Repetição e String 31

Estruturas de Repetição e String Leonardo Gresta Paulino Murta leomurta@ic.uff.br