O documento discute o uso de estruturas condicionais e laços no código. Primeiramente, apresenta como usar um switch case para substituir múltiplas condições if/else aninhadas quando se quer testar diferentes valores de uma variável. Em seguida, explica que o break é necessário para interromper a execução dos casos subsequentes no switch. Por fim, questiona o que acontece se o break for removido.
O documento discute conceitos fundamentais sobre campo elétrico e potencial elétrico. Primeiro, define o que é potencial elétrico de um ponto e apresenta sua unidade, o volt. Em seguida, explica que o potencial elétrico num campo devido a uma carga puntiforme é diretamente proporcional ao módulo da carga e inversamente proporcional à distância. Por fim, estabelece a relação entre potencial elétrico, energia potencial e trabalho no campo elétrico.
Este documento apresenta dois exemplos de cálculo de deslocamentos em uma estrutura. No Exemplo 1, calcula-se o deslocamento vertical no ponto C no meio do vão, que é de 0,057m para baixo, usando o Método da Carga Unitária. No Exemplo 2, calcula-se o deslocamento de rotação no ponto B, que é de 0,03 rad no sentido anti-horário, também usando o Método da Carga Unitária.
1. O documento é a terceira lista de exercícios de uma disciplina de análise estrutural sobre métodos energéticos.
2. A lista contém 15 exercícios relacionados a energia de deformação, deslocamentos, reações e tensões em estruturas sob diferentes condições de carga e material.
3. Os alunos devem usar métodos como a primeira lei da termodinâmica, teorema de Castigliano e método de Rayleigh-Ritz para resolver os problemas propostos.
O documento descreve o método dos esforços para resolver estruturas hiperestáticas. O método envolve substituir vínculos por carregamentos externos para criar uma estrutura equivalente isostática. As deformações da estrutura original e equivalente são igualadas através de equações de compatibilidade para determinar os esforços internos.
O documento discute estimativas de erro em modelos de aprendizagem de máquina. Explica que o erro esperado no conjunto de teste tende a ser maior que no conjunto de treino, devido ao ajuste do modelo aos dados de treino. Também aborda medidas como viés e variância para avaliar estimadores, e como o erro quadrático médio equilibra ambos para medir o desvio total esperado entre a estimativa e o valor real.
O documento discute a avaliação de desempenho de classificadores treinados. Explica que é necessário testar o modelo em um conjunto de dados independente para medir seu desempenho em dados novos. Também apresenta métricas como taxa de erro e curva de aprendizagem para avaliar quantitativamente o modelo.
O documento descreve o algoritmo de máquina de vetor de suporte (SVM), explicando como ele busca encontrar o hiperplano separador de margem máxima entre os dados de treinamento de duas classes. O SVM define fronteiras lineares ótimas para dados linearmente separáveis, maximizando a distância entre o hiperplano separador e os exemplos de treinamento mais próximos, chamados de vetores de suporte. O problema é formulado como um problema de otimização para encontrar os parâmetros ω e b que maximizam essa distância de separação.
O documento discute conceitos fundamentais sobre campo elétrico e potencial elétrico. Primeiro, define o que é potencial elétrico de um ponto e apresenta sua unidade, o volt. Em seguida, explica que o potencial elétrico num campo devido a uma carga puntiforme é diretamente proporcional ao módulo da carga e inversamente proporcional à distância. Por fim, estabelece a relação entre potencial elétrico, energia potencial e trabalho no campo elétrico.
Este documento apresenta dois exemplos de cálculo de deslocamentos em uma estrutura. No Exemplo 1, calcula-se o deslocamento vertical no ponto C no meio do vão, que é de 0,057m para baixo, usando o Método da Carga Unitária. No Exemplo 2, calcula-se o deslocamento de rotação no ponto B, que é de 0,03 rad no sentido anti-horário, também usando o Método da Carga Unitária.
1. O documento é a terceira lista de exercícios de uma disciplina de análise estrutural sobre métodos energéticos.
2. A lista contém 15 exercícios relacionados a energia de deformação, deslocamentos, reações e tensões em estruturas sob diferentes condições de carga e material.
3. Os alunos devem usar métodos como a primeira lei da termodinâmica, teorema de Castigliano e método de Rayleigh-Ritz para resolver os problemas propostos.
O documento descreve o método dos esforços para resolver estruturas hiperestáticas. O método envolve substituir vínculos por carregamentos externos para criar uma estrutura equivalente isostática. As deformações da estrutura original e equivalente são igualadas através de equações de compatibilidade para determinar os esforços internos.
O documento discute estimativas de erro em modelos de aprendizagem de máquina. Explica que o erro esperado no conjunto de teste tende a ser maior que no conjunto de treino, devido ao ajuste do modelo aos dados de treino. Também aborda medidas como viés e variância para avaliar estimadores, e como o erro quadrático médio equilibra ambos para medir o desvio total esperado entre a estimativa e o valor real.
O documento discute a avaliação de desempenho de classificadores treinados. Explica que é necessário testar o modelo em um conjunto de dados independente para medir seu desempenho em dados novos. Também apresenta métricas como taxa de erro e curva de aprendizagem para avaliar quantitativamente o modelo.
O documento descreve o algoritmo de máquina de vetor de suporte (SVM), explicando como ele busca encontrar o hiperplano separador de margem máxima entre os dados de treinamento de duas classes. O SVM define fronteiras lineares ótimas para dados linearmente separáveis, maximizando a distância entre o hiperplano separador e os exemplos de treinamento mais próximos, chamados de vetores de suporte. O problema é formulado como um problema de otimização para encontrar os parâmetros ω e b que maximizam essa distância de separação.
O documento descreve as redes neurais e o perceptron. Ele explica que as redes neurais se inspiram nos neurônios biológicos e como o perceptron funciona como a unidade básica de uma rede neural, recebendo sinais de entrada e aplicando uma função de ativação. Também discute possíveis funções de ativação como a função degrau e sigmóide e como os pesos das conexões, incluindo o viés, determinam se um perceptron é ativado ou não.
O documento discute árvores de decisão e florestas aleatórias. Ele explica que árvores de decisão são uma das formas mais simples de aprendizado de máquina, representando uma sequência de regras "se...então" para classificar ou prever saídas com base em atributos de entrada. O documento também descreve características como nós internos representando testes de atributos e folhas especificando saídas, e discute expressividade e variações de árvores de decisão.
O documento discute aprendizado supervisionado bayesiano. Ele introduz o aprendizado bayesiano como um método probabilístico e descreve que o aprendizado supervisionado tem como objetivo classificação ou regressão para mapear entradas em saídas com base em exemplos.
O documento descreve a regra de Bayes e redes Bayesianas. Ele fornece um exemplo detalhado sobre como calcular a probabilidade de uma mulher ter câncer de mama dado um resultado positivo em um mamograma usando a regra de Bayes. Ele também define brevemente o que são redes Bayesianas, que representam dependências probabilísticas entre variáveis aleatórias através de um grafo direcionado acíclico.
O documento discute o tratamento de incerteza em inteligência artificial. Aborda como a probabilidade e a teoria da decisão podem ser usadas para tomar decisões racionais quando os resultados são incertos, levando em conta a probabilidade de cada resultado e sua utilidade segundo as preferências de quem decide.
O documento discute representação do conhecimento através de ontologias, incluindo taxonomias e herança. Ontologias organizam o conhecimento em categorias hierárquicas e permitem raciocinar sobre objetos classificados. Categorias podem ser representadas como predicados ou objetos. A herança permite que propriedades sejam herdadas por subcategorias.
O documento descreve o funcionamento do algoritmo de backward chaining em programação lógica, começando com uma explicação geral do processo de raciocínio de trás para frente a partir de um objetivo. Em seguida, apresenta formalmente o algoritmo de backward chaining, explicando cada parte do processo de forma recursiva para encontrar substituições que satisfaçam a query dada uma base de conhecimento. Por fim, exemplifica o algoritmo em uma base de conhecimento sobre venda de armas.
O documento descreve os passos para executar resolução e encadeamento para frente em lógica de primeira ordem. Primeiro, as expressões lógicas devem ser convertidas para forma clausal sem quantificadores. Em seguida, as variáveis devem ser substituídas durante a resolução usando o processo de unificação. Por fim, a resolução é executada para derivar novas conclusões.
O documento descreve as bases de dados em lógica de primeira ordem, como interagir com elas fazendo buscas (queries) por meio de sentenças lógicas em LPO, e como qualquer query que possa ser inferida logicamente pela base de dados será respondida afirmativamente. As bases de dados contêm axiomas com informações básicas e teoremas derivados dos axiomas, e o documento discute técnicas como forward chaining, backward chaining e resolução para realizar inferência nas bases de dados.
O documento descreve uma aula sobre lógica de primeira ordem. Apresenta os elementos básicos da lógica de primeira ordem, incluindo termos, predicados e a gramática formal para construir sentenças. Também explica como modelos e interpretações funcionam na lógica de primeira ordem, diferentemente da lógica proposicional.
O documento discute inferência em lógica proposicional, incluindo tipos de provas como verificação de modelos e aplicação de regras de inferência. Ele explica como aplicar regras de inferência como modus ponens e modus tollens para derivar novas sentenças a partir de premissas, formando uma prova.
O documento descreve um algoritmo de busca retroativa para resolver problemas de satisfação de restrições, utilizando forward checking e heurísticas como valores restantes mínimos, grau e valor menos restritivo. O algoritmo é demonstrado passo a passo em um exemplo de coloração de grafos, definindo variáveis, valores e propagando escolhas.
O documento descreve problemas de satisfação de restrições (CSPs), definidos por um conjunto de variáveis, domínios de valores para cada variável, e restrições sobre combinações de valores de variáveis. Apresenta exemplos de agendamento de aulas e coloração de mapas como CSPs, definindo suas variáveis, domínios e restrições.
O documento discute algoritmos genéticos e representação de cromossomos. Ele explica que os cromossomos podem ser representados de várias formas, incluindo binária, valores inteiros e reais. A representação binária é a mais simples, onde o cromossomo consiste de uma sequência de bits. A mutação e o cruzamento ocorrem durante o algoritmo genético para gerar novas soluções.
O documento descreve os princípios da computação evolutiva e algoritmos genéticos. Ele define computação evolutiva como técnicas que simulam a evolução natural, usando seleção, mutação e reprodução. O documento então explica o processo de seleção, mutação e reprodução em algoritmos genéticos e fornece detalhes sobre sua terminologia e funcionamento.
O documento descreve buscas informadas e heurísticas de busca. Ele discute estratégias como melhor primeiro, gulosa e A*, que usam heurísticas para guiar a busca em direção a soluções mais promissoras. O documento também discute problemas que podem ocorrer dependendo da heurística escolhida.
O documento discute busca como uma abordagem para solução de problemas em inteligência artificial. Explica que os problemas podem ser reduzidos a uma busca em um grafo, onde cada nó representa um estado do mundo e as arestas representam ações que levam de um estado a outro. A solução é um caminho no grafo que leva de um estado inicial a um estado final desejado. Exemplos de tipos de problemas incluem determinísticos e não determinísticos.
O documento discute arquivos e exceções em Java. Primeiramente, explica que dados de configuração precisam ser salvos em arquivos para serem preservados entre execuções do programa. Em seguida, descreve como objetos da classe File representam caminhos para arquivos e diretórios, e que escrever dados em arquivos requer objetos FileWriter. Por fim, discute que métodos que manipulam arquivos podem lançar exceções IOException, as quais precisam ser capturadas ou declaradas no método.
O documento descreve as redes neurais e o perceptron. Ele explica que as redes neurais se inspiram nos neurônios biológicos e como o perceptron funciona como a unidade básica de uma rede neural, recebendo sinais de entrada e aplicando uma função de ativação. Também discute possíveis funções de ativação como a função degrau e sigmóide e como os pesos das conexões, incluindo o viés, determinam se um perceptron é ativado ou não.
O documento discute árvores de decisão e florestas aleatórias. Ele explica que árvores de decisão são uma das formas mais simples de aprendizado de máquina, representando uma sequência de regras "se...então" para classificar ou prever saídas com base em atributos de entrada. O documento também descreve características como nós internos representando testes de atributos e folhas especificando saídas, e discute expressividade e variações de árvores de decisão.
O documento discute aprendizado supervisionado bayesiano. Ele introduz o aprendizado bayesiano como um método probabilístico e descreve que o aprendizado supervisionado tem como objetivo classificação ou regressão para mapear entradas em saídas com base em exemplos.
O documento descreve a regra de Bayes e redes Bayesianas. Ele fornece um exemplo detalhado sobre como calcular a probabilidade de uma mulher ter câncer de mama dado um resultado positivo em um mamograma usando a regra de Bayes. Ele também define brevemente o que são redes Bayesianas, que representam dependências probabilísticas entre variáveis aleatórias através de um grafo direcionado acíclico.
O documento discute o tratamento de incerteza em inteligência artificial. Aborda como a probabilidade e a teoria da decisão podem ser usadas para tomar decisões racionais quando os resultados são incertos, levando em conta a probabilidade de cada resultado e sua utilidade segundo as preferências de quem decide.
O documento discute representação do conhecimento através de ontologias, incluindo taxonomias e herança. Ontologias organizam o conhecimento em categorias hierárquicas e permitem raciocinar sobre objetos classificados. Categorias podem ser representadas como predicados ou objetos. A herança permite que propriedades sejam herdadas por subcategorias.
O documento descreve o funcionamento do algoritmo de backward chaining em programação lógica, começando com uma explicação geral do processo de raciocínio de trás para frente a partir de um objetivo. Em seguida, apresenta formalmente o algoritmo de backward chaining, explicando cada parte do processo de forma recursiva para encontrar substituições que satisfaçam a query dada uma base de conhecimento. Por fim, exemplifica o algoritmo em uma base de conhecimento sobre venda de armas.
O documento descreve os passos para executar resolução e encadeamento para frente em lógica de primeira ordem. Primeiro, as expressões lógicas devem ser convertidas para forma clausal sem quantificadores. Em seguida, as variáveis devem ser substituídas durante a resolução usando o processo de unificação. Por fim, a resolução é executada para derivar novas conclusões.
O documento descreve as bases de dados em lógica de primeira ordem, como interagir com elas fazendo buscas (queries) por meio de sentenças lógicas em LPO, e como qualquer query que possa ser inferida logicamente pela base de dados será respondida afirmativamente. As bases de dados contêm axiomas com informações básicas e teoremas derivados dos axiomas, e o documento discute técnicas como forward chaining, backward chaining e resolução para realizar inferência nas bases de dados.
O documento descreve uma aula sobre lógica de primeira ordem. Apresenta os elementos básicos da lógica de primeira ordem, incluindo termos, predicados e a gramática formal para construir sentenças. Também explica como modelos e interpretações funcionam na lógica de primeira ordem, diferentemente da lógica proposicional.
O documento discute inferência em lógica proposicional, incluindo tipos de provas como verificação de modelos e aplicação de regras de inferência. Ele explica como aplicar regras de inferência como modus ponens e modus tollens para derivar novas sentenças a partir de premissas, formando uma prova.
O documento descreve um algoritmo de busca retroativa para resolver problemas de satisfação de restrições, utilizando forward checking e heurísticas como valores restantes mínimos, grau e valor menos restritivo. O algoritmo é demonstrado passo a passo em um exemplo de coloração de grafos, definindo variáveis, valores e propagando escolhas.
O documento descreve problemas de satisfação de restrições (CSPs), definidos por um conjunto de variáveis, domínios de valores para cada variável, e restrições sobre combinações de valores de variáveis. Apresenta exemplos de agendamento de aulas e coloração de mapas como CSPs, definindo suas variáveis, domínios e restrições.
O documento discute algoritmos genéticos e representação de cromossomos. Ele explica que os cromossomos podem ser representados de várias formas, incluindo binária, valores inteiros e reais. A representação binária é a mais simples, onde o cromossomo consiste de uma sequência de bits. A mutação e o cruzamento ocorrem durante o algoritmo genético para gerar novas soluções.
O documento descreve os princípios da computação evolutiva e algoritmos genéticos. Ele define computação evolutiva como técnicas que simulam a evolução natural, usando seleção, mutação e reprodução. O documento então explica o processo de seleção, mutação e reprodução em algoritmos genéticos e fornece detalhes sobre sua terminologia e funcionamento.
O documento descreve buscas informadas e heurísticas de busca. Ele discute estratégias como melhor primeiro, gulosa e A*, que usam heurísticas para guiar a busca em direção a soluções mais promissoras. O documento também discute problemas que podem ocorrer dependendo da heurística escolhida.
O documento discute busca como uma abordagem para solução de problemas em inteligência artificial. Explica que os problemas podem ser reduzidos a uma busca em um grafo, onde cada nó representa um estado do mundo e as arestas representam ações que levam de um estado a outro. A solução é um caminho no grafo que leva de um estado inicial a um estado final desejado. Exemplos de tipos de problemas incluem determinísticos e não determinísticos.
O documento discute arquivos e exceções em Java. Primeiramente, explica que dados de configuração precisam ser salvos em arquivos para serem preservados entre execuções do programa. Em seguida, descreve como objetos da classe File representam caminhos para arquivos e diretórios, e que escrever dados em arquivos requer objetos FileWriter. Por fim, discute que métodos que manipulam arquivos podem lançar exceções IOException, as quais precisam ser capturadas ou declaradas no método.
Slides Lição 11, CPAD, A Realidade Bíblica do Inferno, 2Tr24.pptxLuizHenriquedeAlmeid6
Slideshare Lição 11, CPAD, A Realidade Bíblica do Inferno, 2Tr24, Pr Henrique, EBD NA TV, Lições Bíblicas, 2º Trimestre de 2024, adultos, Tema, A CARREIRA QUE NOS ESTÁ PROPOSTA, O CAMINHO DA SALVAÇÃO, SANTIDADE E PERSEVERANÇA PARA CHEGAR AO CÉU, Coment Osiel Gomes, estudantes, professores, Ervália, MG, Imperatriz, MA, Cajamar, SP, estudos bíblicos, gospel, DEUS, ESPÍRITO SANTO, JESUS CRISTO, Com. Extra Pr. Luiz Henrique, de Almeida Silva, tel-What, 99-99152-0454, Canal YouTube, Henriquelhas, @PrHenrique, https://ebdnatv.blogspot.com/
REGULAMENTO DO CONCURSO DESENHOS AFRO/2024 - 14ª edição - CEIRI /UREI (ficha...Eró Cunha
XIV Concurso de Desenhos Afro/24
TEMA: Racismo Ambiental e Direitos Humanos
PARTICIPANTES/PÚBLICO: Estudantes regularmente matriculados em escolas públicas estaduais, municipais, IEMA e IFMA (Ensino Fundamental, Médio e EJA).
CATEGORIAS: O Concurso de Desenhos Afro acontecerá em 4 categorias:
- CATEGORIA I: Ensino Fundamental I (4º e 5º ano)
- CATEGORIA II: Ensino Fundamental II (do 6º ao 9º ano)
- CATEGORIA III: Ensino Médio (1º, 2º e 3º séries)
- CATEGORIA IV: Estudantes com Deficiência (do Ensino Fundamental e Médio)
Realização: Unidade Regional de Educação de Imperatriz/MA (UREI), através da Coordenação da Educação da Igualdade Racial de Imperatriz (CEIRI) e parceiros
OBJETIVO:
- Realizar a 14ª edição do Concurso e Exposição de Desenhos Afro/24, produzidos por estudantes de escolas públicas de Imperatriz e região tocantina. Os trabalhos deverão ser produzidos a partir de estudo, pesquisas e produção, sob orientação da equipe docente das escolas. As obras devem retratar de forma crítica, criativa e positivada a população negra e os povos originários.
- Intensificar o trabalho com as Leis 10.639/2003 e 11.645/2008, buscando, através das artes visuais, a concretização das práticas pedagógicas antirracistas.
- Instigar o reconhecimento da história, ciência, tecnologia, personalidades e cultura, ressaltando a presença e contribuição da população negra e indígena na reafirmação dos Direitos Humanos, conservação e preservação do Meio Ambiente.
Imperatriz/MA, 15 de fevereiro de 2024.
Produtora Executiva e Coordenadora Geral: Eronilde dos Santos Cunha (Eró Cunha)
REGULAMENTO DO CONCURSO DESENHOS AFRO/2024 - 14ª edição - CEIRI /UREI (ficha...
(ACH2001) Introdução à Programação - Aula 08
1. Aula 08 – Condicionais e La¸cos
Norton Trevisan Roman
19 de mar¸co de 2020
Norton Trevisan Roman Aula 08 – Condicionais e La¸cos 19 de mar¸co de 2020 1 / 31
2. Switch
Considere o c´odigo
que calcula o valor
da constru¸c˜ao:
static double valor(
double area) {
if (area >= 0)
return(valorM2*area);
return(-1);
}
Norton Trevisan Roman Aula 08 – Condicionais e La¸cos 19 de mar¸co de 2020 2 / 31
3. Switch
Considere o c´odigo
que calcula o valor
da constru¸c˜ao:
static double valor(
double area) {
if (area >= 0)
return(valorM2*area);
return(-1);
}
Suponha agora que haja 4 materiais, com pre¸cos
diferentes, para a piscina
Norton Trevisan Roman Aula 08 – Condicionais e La¸cos 19 de mar¸co de 2020 2 / 31
4. Switch
Considere o c´odigo
que calcula o valor
da constru¸c˜ao:
static double valor(
double area) {
if (area >= 0)
return(valorM2*area);
return(-1);
}
Suponha agora que haja 4 materiais, com pre¸cos
diferentes, para a piscina
Teremos que desmembrar o c´odigo, criando m´etodo
apenas para a piscina. Como fazer?
Norton Trevisan Roman Aula 08 – Condicionais e La¸cos 19 de mar¸co de 2020 2 / 31
5. Switch
static final int ALVENARIA = 0;
static final int VINIL = 1;
static final int FIBRA = 2;
static final int PLASTICO = 3;
...
static double valorPiscina(double area,
int material) {
double valor;
if (material == ALVENARIA) valor = 1500;
else
if (material == VINIL) valor = 1100;
else
if (material == FIBRA) valor = 750;
else
if (material == PLASTICO)
valor = 500;
else valor = -1;
return(area*valor);
}
Norton Trevisan Roman Aula 08 – Condicionais e La¸cos 19 de mar¸co de 2020 3 / 31
6. Switch
static final int ALVENARIA = 0;
static final int VINIL = 1;
static final int FIBRA = 2;
static final int PLASTICO = 3;
...
static double valorPiscina(double area,
int material) {
double valor;
if (material == ALVENARIA) valor = 1500;
else
if (material == VINIL) valor = 1100;
else
if (material == FIBRA) valor = 750;
else
if (material == PLASTICO)
valor = 500;
else valor = -1;
return(area*valor);
}
Constantes tamb´em
podem ser usadas para
definir categorias
Norton Trevisan Roman Aula 08 – Condicionais e La¸cos 19 de mar¸co de 2020 3 / 31
7. Switch
static final int ALVENARIA = 0;
static final int VINIL = 1;
static final int FIBRA = 2;
static final int PLASTICO = 3;
...
static double valorPiscina(double area,
int material) {
double valor;
if (material == ALVENARIA) valor = 1500;
else
if (material == VINIL) valor = 1100;
else
if (material == FIBRA) valor = 750;
else
if (material == PLASTICO)
valor = 500;
else valor = -1;
return(area*valor);
}
Constantes tamb´em
podem ser usadas para
definir categorias
Deixam o c´odigo bem
mais leg´ıvel
Norton Trevisan Roman Aula 08 – Condicionais e La¸cos 19 de mar¸co de 2020 3 / 31
8. Switch
static final int ALVENARIA = 0;
static final int VINIL = 1;
static final int FIBRA = 2;
static final int PLASTICO = 3;
...
static double valorPiscina(double area,
int material) {
double valor;
if (material == ALVENARIA) valor = 1500;
else
if (material == VINIL) valor = 1100;
else
if (material == FIBRA) valor = 750;
else
if (material == PLASTICO)
valor = 500;
else valor = -1;
return(area*valor);
}
Constantes tamb´em
podem ser usadas para
definir categorias
Deixam o c´odigo bem
mais leg´ıvel
Haveria como evitar
esse aninhamento?
Norton Trevisan Roman Aula 08 – Condicionais e La¸cos 19 de mar¸co de 2020 3 / 31
9. Switch
switch (variavel) {
case valor1: c´odigo1
break;
case valor2: c´odigo2
break;
...
case valorn: c´odigon
break;
default: c´odigopadr~ao;
}
Correspondendo a:
if (variavel == valor1)
c´odigo1;
else
if (variavel == valor2)
c´odigo2;
else
...
else
if (variavel == valorn)
c´odigon;
else c´odigopadr~ao;
Norton Trevisan Roman Aula 08 – Condicionais e La¸cos 19 de mar¸co de 2020 4 / 31
10. Switch
static final int ALVENARIA = 0;
static final int VINIL = 1;
static final int FIBRA = 2;
static final int PLASTICO = 3;
...
static double valorPiscina(double area,
int material) {
double valor;
if (material == ALVENARIA)
valor = 1500;
else
if (material == VINIL) valor = 1100;
else
if (material == FIBRA) valor = 750;
else
if (material == PLASTICO)
valor = 500;
else valor = -1;
return(area*valor);
}
static final int ALVENARIA = 0;
static final int VINIL = 1;
static final int FIBRA = 2;
static final int PLASTICO = 3;
...
static double valorPiscina(double area,
int material) {
double valor;
switch (material) {
case ALVENARIA: valor = 1500;
break;
case VINIL: valor = 1100;
break;
case FIBRA: valor = 750;
break;
case PLASTICO: valor = 500;
break;
default: valor = -1;
}
return(area*valor);
}
Norton Trevisan Roman Aula 08 – Condicionais e La¸cos 19 de mar¸co de 2020 5 / 31
11. Switch
Switch testa a vari´avel
contra todos os valores
listados
static final int ALVENARIA = 0;
static final int VINIL = 1;
static final int FIBRA = 2;
static final int PLASTICO = 3;
...
static double valorPiscina(double area,
int material) {
double valor;
switch (material) {
case ALVENARIA: valor = 1500;
break;
case VINIL: valor = 1100;
break;
case FIBRA: valor = 750;
break;
case PLASTICO: valor = 500;
break;
default: valor = -1;
}
return(area*valor);
}
Norton Trevisan Roman Aula 08 – Condicionais e La¸cos 19 de mar¸co de 2020 6 / 31
12. Switch
Switch testa a vari´avel
contra todos os valores
listados
Se o valor dela n˜ao
estiver listado, ativa o
c´odigo em default
static final int ALVENARIA = 0;
static final int VINIL = 1;
static final int FIBRA = 2;
static final int PLASTICO = 3;
...
static double valorPiscina(double area,
int material) {
double valor;
switch (material) {
case ALVENARIA: valor = 1500;
break;
case VINIL: valor = 1100;
break;
case FIBRA: valor = 750;
break;
case PLASTICO: valor = 500;
break;
default: valor = -1;
}
return(area*valor);
}
Norton Trevisan Roman Aula 08 – Condicionais e La¸cos 19 de mar¸co de 2020 6 / 31
13. Switch
Switch testa a vari´avel
contra todos os valores
listados
Se o valor dela n˜ao
estiver listado, ativa o
c´odigo em default
default ´e opcional –
se n˜ao houver,
simplesmente sai do
switch e continua o
programa
static final int ALVENARIA = 0;
static final int VINIL = 1;
static final int FIBRA = 2;
static final int PLASTICO = 3;
...
static double valorPiscina(double area,
int material) {
double valor;
switch (material) {
case ALVENARIA: valor = 1500;
break;
case VINIL: valor = 1100;
break;
case FIBRA: valor = 750;
break;
case PLASTICO: valor = 500;
break;
default: valor = -1;
}
return(area*valor);
}
Norton Trevisan Roman Aula 08 – Condicionais e La¸cos 19 de mar¸co de 2020 6 / 31
14. Switch
E o break?
static final int ALVENARIA = 0;
static final int VINIL = 1;
static final int FIBRA = 2;
static final int PLASTICO = 3;
...
static double valorPiscina(double area,
int material) {
double valor;
switch (material) {
case ALVENARIA: valor = 1500;
break;
case VINIL: valor = 1100;
break;
case FIBRA: valor = 750;
break;
case PLASTICO: valor = 500;
break;
default: valor = -1;
}
return(area*valor);
}
Norton Trevisan Roman Aula 08 – Condicionais e La¸cos 19 de mar¸co de 2020 7 / 31
15. Switch
E o break?
Faz com que o switch
pare nesse ponto
static final int ALVENARIA = 0;
static final int VINIL = 1;
static final int FIBRA = 2;
static final int PLASTICO = 3;
...
static double valorPiscina(double area,
int material) {
double valor;
switch (material) {
case ALVENARIA: valor = 1500;
break;
case VINIL: valor = 1100;
break;
case FIBRA: valor = 750;
break;
case PLASTICO: valor = 500;
break;
default: valor = -1;
}
return(area*valor);
}
Norton Trevisan Roman Aula 08 – Condicionais e La¸cos 19 de mar¸co de 2020 7 / 31
16. Switch
O que acontece se
tirarmos o break?
...
static double valorPiscina(double area,
int material) {
double valor;
switch (material) {
case ALVENARIA: valor = 1500;
case VINIL: valor = 1100;
case FIBRA: valor = 750;
case PLASTICO: valor = 500;
default: valor = -1;
}
return(area*valor);
}
...
public static void main(String[] args) {
System.out.println(
valorPiscina(100,ALVENARIA));
}
Norton Trevisan Roman Aula 08 – Condicionais e La¸cos 19 de mar¸co de 2020 8 / 31
17. Switch
O que acontece se
tirarmos o break?
$ java AreaCasa
-100.0
...
static double valorPiscina(double area,
int material) {
double valor;
switch (material) {
case ALVENARIA: valor = 1500;
case VINIL: valor = 1100;
case FIBRA: valor = 750;
case PLASTICO: valor = 500;
default: valor = -1;
}
return(area*valor);
}
...
public static void main(String[] args) {
System.out.println(
valorPiscina(100,ALVENARIA));
}
Norton Trevisan Roman Aula 08 – Condicionais e La¸cos 19 de mar¸co de 2020 8 / 31
18. Switch
O que acontece se
tirarmos o break?
$ java AreaCasa
-100.0
Quando o switch
come¸cou, ALVENARIA
fez valor=1500
...
static double valorPiscina(double area,
int material) {
double valor;
switch (material) {
case ALVENARIA: valor = 1500;
case VINIL: valor = 1100;
case FIBRA: valor = 750;
case PLASTICO: valor = 500;
default: valor = -1;
}
return(area*valor);
}
...
public static void main(String[] args) {
System.out.println(
valorPiscina(100,ALVENARIA));
}
Norton Trevisan Roman Aula 08 – Condicionais e La¸cos 19 de mar¸co de 2020 8 / 31
19. Switch
Como n˜ao houve o
break, ele continuou, e
fez valor=1100, 750,
500 e, finalmente, -1
...
static double valorPiscina(double area,
int material) {
double valor;
switch (material) {
case ALVENARIA: valor = 1500;
case VINIL: valor = 1100;
case FIBRA: valor = 750;
case PLASTICO: valor = 500;
default: valor = -1;
}
return(area*valor);
}
...
public static void main(String[] args) {
System.out.println(
valorPiscina(100,ALVENARIA));
}
Norton Trevisan Roman Aula 08 – Condicionais e La¸cos 19 de mar¸co de 2020 9 / 31
20. Switch
Como n˜ao houve o
break, ele continuou, e
fez valor=1100, 750,
500 e, finalmente, -1
Ent˜ao pegou esse
valor -1 e multiplicou
por area, retornando
...
static double valorPiscina(double area,
int material) {
double valor;
switch (material) {
case ALVENARIA: valor = 1500;
case VINIL: valor = 1100;
case FIBRA: valor = 750;
case PLASTICO: valor = 500;
default: valor = -1;
}
return(area*valor);
}
...
public static void main(String[] args) {
System.out.println(
valorPiscina(100,ALVENARIA));
}
Norton Trevisan Roman Aula 08 – Condicionais e La¸cos 19 de mar¸co de 2020 9 / 31
21. Switch
Como n˜ao houve o
break, ele continuou, e
fez valor=1100, 750,
500 e, finalmente, -1
Ent˜ao pegou esse
valor -1 e multiplicou
por area, retornando
case define o ponto de
entrada. S´o isso.
...
static double valorPiscina(double area,
int material) {
double valor;
switch (material) {
case ALVENARIA: valor = 1500;
case VINIL: valor = 1100;
case FIBRA: valor = 750;
case PLASTICO: valor = 500;
default: valor = -1;
}
return(area*valor);
}
...
public static void main(String[] args) {
System.out.println(
valorPiscina(100,ALVENARIA));
}
Norton Trevisan Roman Aula 08 – Condicionais e La¸cos 19 de mar¸co de 2020 9 / 31
22. Switch
E se agora removemos
o default?
Note que tamb´em
removemos o ´ultimo
break, por ser
desnecess´ario
Ir´a compilar?
static double valorPiscina(double area,
int material) {
double valor;
switch (material) {
case ALVENARIA: valor = 1500;
break;
case VINIL: valor = 1100;
break;
case FIBRA: valor = 750;
break;
case PLASTICO: valor = 500;
}
return(area*valor);
}
...
public static void main(String[] args) {
System.out.println(
valorPiscina(100,5));
}
Norton Trevisan Roman Aula 08 – Condicionais e La¸cos 19 de mar¸co de 2020 10 / 31
23. Switch
$ javac AreaCasa.java
AreaCasa.java:85: variable
valor might not have been
initialized
return(area*valor);
^
1 error
static double valorPiscina(double area,
int material) {
double valor;
switch (material) {
case ALVENARIA: valor = 1500;
break;
case VINIL: valor = 1100;
break;
case FIBRA: valor = 750;
break;
case PLASTICO: valor = 500;
}
return(area*valor);
}
...
public static void main(String[] args) {
System.out.println(
valorPiscina(100,5));
}
Norton Trevisan Roman Aula 08 – Condicionais e La¸cos 19 de mar¸co de 2020 11 / 31
24. Switch
$ javac AreaCasa.java
AreaCasa.java:85: variable
valor might not have been
initialized
return(area*valor);
^
1 error
O compilador n˜ao usa
algo que pode n˜ao ter
sido inicializado
static double valorPiscina(double area,
int material) {
double valor;
switch (material) {
case ALVENARIA: valor = 1500;
break;
case VINIL: valor = 1100;
break;
case FIBRA: valor = 750;
break;
case PLASTICO: valor = 500;
}
return(area*valor);
}
...
public static void main(String[] args) {
System.out.println(
valorPiscina(100,5));
}
Norton Trevisan Roman Aula 08 – Condicionais e La¸cos 19 de mar¸co de 2020 11 / 31
25. Switch
Ent˜ao inicializemos...
static double valorPiscina(double area,
int material) {
double valor=0;
switch (material) {
case ALVENARIA: valor = 1500;
break;
case VINIL: valor = 1100;
break;
case FIBRA: valor = 750;
break;
case PLASTICO: valor = 500;
}
return(area*valor);
}
...
public static void main(String[] args) {
System.out.println(
valorPiscina(100,5));
}
Norton Trevisan Roman Aula 08 – Condicionais e La¸cos 19 de mar¸co de 2020 12 / 31
26. Switch
Ent˜ao inicializemos...
E agora?
$ java AreaCasa
0.0
static double valorPiscina(double area,
int material) {
double valor=0;
switch (material) {
case ALVENARIA: valor = 1500;
break;
case VINIL: valor = 1100;
break;
case FIBRA: valor = 750;
break;
case PLASTICO: valor = 500;
}
return(area*valor);
}
...
public static void main(String[] args) {
System.out.println(
valorPiscina(100,5));
}
Norton Trevisan Roman Aula 08 – Condicionais e La¸cos 19 de mar¸co de 2020 12 / 31
27. Switch
Ent˜ao inicializemos...
E agora?
$ java AreaCasa
0.0
Um valor inv´alido
deixou de ser tratado
static double valorPiscina(double area,
int material) {
double valor=0;
switch (material) {
case ALVENARIA: valor = 1500;
break;
case VINIL: valor = 1100;
break;
case FIBRA: valor = 750;
break;
case PLASTICO: valor = 500;
}
return(area*valor);
}
...
public static void main(String[] args) {
System.out.println(
valorPiscina(100,5));
}
Norton Trevisan Roman Aula 08 – Condicionais e La¸cos 19 de mar¸co de 2020 12 / 31
28. Switch
static double valorPiscina(double area,
int material) {
double valor;
switch (material) {
case ALVENARIA: valor = 1500;
break;
case VINIL: valor = 1100;
break;
case FIBRA: valor = 750;
break;
case PLASTICO: valor = 500;
break;
default: valor = -1;
}
return(area*valor);
}
Daria para enxugar o
c´odigo, dado que h´a
uma escolha e um
retorno?
Norton Trevisan Roman Aula 08 – Condicionais e La¸cos 19 de mar¸co de 2020 13 / 31
29. Switch
static double valorPiscina(double area,
int material) {
double valor;
switch (material) {
case ALVENARIA: valor = 1500;
break;
case VINIL: valor = 1100;
break;
case FIBRA: valor = 750;
break;
case PLASTICO: valor = 500;
break;
default: valor = -1;
}
return(area*valor);
}
Daria para enxugar o
c´odigo, dado que h´a
uma escolha e um
retorno?
static double valorPiscina(double area,
int material) {
switch (material) {
case ALVENARIA: return(area*1500);
case VINIL: return(area*1100);
case FIBRA: return(area*750);
case PLASTICO: return(area*500);
default: return(-1);
}
}
Norton Trevisan Roman Aula 08 – Condicionais e La¸cos 19 de mar¸co de 2020 13 / 31
30. La¸cos
Queremos agora
comparar o valor de
uma piscina de
100m2
, para cada
material
Como far´ıamos?
Norton Trevisan Roman Aula 08 – Condicionais e La¸cos 19 de mar¸co de 2020 14 / 31
31. La¸cos
Queremos agora
comparar o valor de
uma piscina de
100m2
, para cada
material
Como far´ıamos?
Primeira tentativa:
public static void main(String[]
args) {
double area = 100;
System.out.println("Materialt
Valor");
System.out.println(ALVENARIA+
"tt"+
valorPiscina(area,ALVENARIA));
System.out.println(VINIL+"tt"+
valorPiscina(area,VINIL));
System.out.println(FIBRA+"tt"+
valorPiscina(area,FIBRA));
System.out.println(PLASTICO+"tt"
+valorPiscina(area,PLASTICO));
}
Norton Trevisan Roman Aula 08 – Condicionais e La¸cos 19 de mar¸co de 2020 14 / 31
32. La¸cos
t – tabula¸c˜ao
E qual a sa´ıda?
Material Valor
0 150000.0
1 110000.0
2 75000.0
3 50000.0
public static void main(String[]
args) {
double area = 100;
System.out.println("Materialt
Valor");
System.out.println(ALVENARIA+
"tt"+
valorPiscina(area,ALVENARIA));
System.out.println(VINIL+"tt"+
valorPiscina(area,VINIL));
System.out.println(FIBRA+"tt"+
valorPiscina(area,FIBRA));
System.out.println(PLASTICO+"tt"
+valorPiscina(area,PLASTICO));
}
Norton Trevisan Roman Aula 08 – Condicionais e La¸cos 19 de mar¸co de 2020 15 / 31
33. La¸cos
t – tabula¸c˜ao
E qual a sa´ıda?
Material Valor
0 150000.0
1 110000.0
2 75000.0
3 50000.0
Com 4 tipos foi
f´acil...
public static void main(String[]
args) {
double area = 100;
System.out.println("Materialt
Valor");
System.out.println(ALVENARIA+
"tt"+
valorPiscina(area,ALVENARIA));
System.out.println(VINIL+"tt"+
valorPiscina(area,VINIL));
System.out.println(FIBRA+"tt"+
valorPiscina(area,FIBRA));
System.out.println(PLASTICO+"tt"
+valorPiscina(area,PLASTICO));
}
Norton Trevisan Roman Aula 08 – Condicionais e La¸cos 19 de mar¸co de 2020 15 / 31
34. La¸cos
E se tiv´essemos 20 tipos diferentes de materiais?
Norton Trevisan Roman Aula 08 – Condicionais e La¸cos 19 de mar¸co de 2020 16 / 31
35. La¸cos
E se tiv´essemos 20 tipos diferentes de materiais?
Repare nos valores dos tipos de material para a
piscina:
static final int ALVENARIA = 0;
static final int VINIL = 1;
static final int FIBRA = 2;
static final int PLASTICO = 3;
Norton Trevisan Roman Aula 08 – Condicionais e La¸cos 19 de mar¸co de 2020 16 / 31
36. La¸cos
E se tiv´essemos 20 tipos diferentes de materiais?
Repare nos valores dos tipos de material para a
piscina:
static final int ALVENARIA = 0;
static final int VINIL = 1;
static final int FIBRA = 2;
static final int PLASTICO = 3;
S˜ao inteiros sequenciais...
Norton Trevisan Roman Aula 08 – Condicionais e La¸cos 19 de mar¸co de 2020 16 / 31
37. La¸cos
E se tiv´essemos 20 tipos diferentes de materiais?
Repare nos valores dos tipos de material para a
piscina:
static final int ALVENARIA = 0;
static final int VINIL = 1;
static final int FIBRA = 2;
static final int PLASTICO = 3;
S˜ao inteiros sequenciais...
Como podemos usar isso?
Norton Trevisan Roman Aula 08 – Condicionais e La¸cos 19 de mar¸co de 2020 16 / 31
38. La¸cos
public static void main(String[]
args) {
double area = 100;
int tipo = ALVENARIA;
System.out.println("Material
tValor");
while (tipo <= PLASTICO) {
System.out.println(tipo+
"tt"+
valorPiscina(area,tipo));
tipo = tipo+1;
}
}
public static void main(String[]
args) {
double area = 100;
int tipo = 0;
System.out.println("Material
tValor");
while (tipo <= 3) {
System.out.println(tipo+
"tt"+
valorPiscina(area,tipo));
tipo = tipo+1;
}
}
Norton Trevisan Roman Aula 08 – Condicionais e La¸cos 19 de mar¸co de 2020 17 / 31
39. La¸cos
public static void main(String[]
args) {
double area = 100;
int tipo = ALVENARIA;
System.out.println("Material
tValor");
while (tipo <= PLASTICO) {
System.out.println(tipo+
"tt"+
valorPiscina(area,tipo));
tipo = tipo+1;
}
}
public static void main(String[]
args) {
double area = 100;
int tipo = 0;
System.out.println("Material
tValor");
while (tipo <= 3) {
System.out.println(tipo+
"tt"+
valorPiscina(area,tipo));
tipo = tipo+1;
}
}
Ambos s˜ao equivalentes
Norton Trevisan Roman Aula 08 – Condicionais e La¸cos 19 de mar¸co de 2020 17 / 31
40. La¸cos
while (CONDIC¸~AO) {
//condi¸c~ao verdadeira
COMANDO1;
COMANDO2;
...
COMANDOn;
}
enquanto (CONDIC¸~AO) {
//condi¸c~ao verdadeira
COMANDO1;
COMANDO2;
...
COMANDOn;
}
While diz que enquanto a condi¸c˜ao for verdadeira, os
comandos em seu corpo ser˜ao executados
Norton Trevisan Roman Aula 08 – Condicionais e La¸cos 19 de mar¸co de 2020 18 / 31
41. La¸cos
Inicialmente, testa a
condi¸c˜ao
Se verdadeira,
executa o corpo
Se falsa, sai do while
public static void main(String[]
args) {
double area = 100;
int tipo = ALVENARIA;
System.out.println("Material
tValor");
while (tipo <= PLASTICO) {
System.out.println(tipo+"tt"+
valorPiscina(area,tipo));
tipo = tipo+1;
}
}
Norton Trevisan Roman Aula 08 – Condicionais e La¸cos 19 de mar¸co de 2020 19 / 31
42. La¸cos
Ao final do corpo,
testa novamente a
condi¸c˜ao (voltando
ao in´ıcio)
Cada vez que o
corpo ´e rodado
chama-se itera¸c˜ao
public static void main(String[]
args) {
double area = 100;
int tipo = ALVENARIA;
System.out.println("Material
tValor");
while (tipo <= PLASTICO) {
System.out.println(tipo+"tt"+
valorPiscina(area,tipo));
tipo = tipo+1;
}
}
Norton Trevisan Roman Aula 08 – Condicionais e La¸cos 19 de mar¸co de 2020 20 / 31
43. La¸cos
O que acontece se
removermos a linha
tipo = tipo+1;?
public static void main(String[]
args) {
double area = 100;
int tipo = ALVENARIA;
System.out.println("Material
tValor");
while (tipo <= PLASTICO) {
System.out.println(tipo+"tt"+
valorPiscina(area,tipo));
}
}
Norton Trevisan Roman Aula 08 – Condicionais e La¸cos 19 de mar¸co de 2020 21 / 31
44. La¸cos
O que acontece se
removermos a linha
tipo = tipo+1;?
A condi¸c˜ao sempre
ser´a verdadeira, tipo
sempre ser´a ≤ 3
public static void main(String[]
args) {
double area = 100;
int tipo = ALVENARIA;
System.out.println("Material
tValor");
while (tipo <= PLASTICO) {
System.out.println(tipo+"tt"+
valorPiscina(area,tipo));
}
}
Norton Trevisan Roman Aula 08 – Condicionais e La¸cos 19 de mar¸co de 2020 21 / 31
45. La¸cos
O que acontece se
removermos a linha
tipo = tipo+1;?
A condi¸c˜ao sempre
ser´a verdadeira, tipo
sempre ser´a ≤ 3
La¸co (ou loop)
infinito
public static void main(String[]
args) {
double area = 100;
int tipo = ALVENARIA;
System.out.println("Material
tValor");
while (tipo <= PLASTICO) {
System.out.println(tipo+"tt"+
valorPiscina(area,tipo));
}
}
Norton Trevisan Roman Aula 08 – Condicionais e La¸cos 19 de mar¸co de 2020 21 / 31
46. La¸cos
Sabendo que
PLASTICO=3, h´a
diferen¸ca entre o
c´odigo visto
anteriormente e
esse?
public static void main(String[]
args) {
double area = 100;
int tipo = ALVENARIA;
System.out.println("Material
tValor");
while (tipo <= 3) {
System.out.println(tipo+"tt"+
valorPiscina(area,tipo));
tipo = tipo+1;
}
}
Norton Trevisan Roman Aula 08 – Condicionais e La¸cos 19 de mar¸co de 2020 22 / 31
47. La¸cos
Sabendo que
PLASTICO=3, h´a
diferen¸ca entre o
c´odigo visto
anteriormente e
esse?
Somente o acesso
extra a PLASTICO na
mem´oria. Contudo,
aumenta a
legibilidade
public static void main(String[]
args) {
double area = 100;
int tipo = ALVENARIA;
System.out.println("Material
tValor");
while (tipo <= 3) {
System.out.println(tipo+"tt"+
valorPiscina(area,tipo));
tipo = tipo+1;
}
}
Norton Trevisan Roman Aula 08 – Condicionais e La¸cos 19 de mar¸co de 2020 22 / 31
48. While
J´a temos o or¸camento para um determinado
tamanho e v´arios materiais
Norton Trevisan Roman Aula 08 – Condicionais e La¸cos 19 de mar¸co de 2020 23 / 31
49. While
J´a temos o or¸camento para um determinado
tamanho e v´arios materiais
Agora queremos poder comparar v´arios tamanhos
de piscina de alvenaria, fixando o material
Digamos, 50m2
, 100m2
, 150m2
e 200m2
Norton Trevisan Roman Aula 08 – Condicionais e La¸cos 19 de mar¸co de 2020 23 / 31
50. While
J´a temos o or¸camento para um determinado
tamanho e v´arios materiais
Agora queremos poder comparar v´arios tamanhos
de piscina de alvenaria, fixando o material
Digamos, 50m2
, 100m2
, 150m2
e 200m2
Como fazer?
Norton Trevisan Roman Aula 08 – Condicionais e La¸cos 19 de mar¸co de 2020 23 / 31
51. While
public static void main(String[] args) {
double area = 50;
int tipo = ALVENARIA;
System.out.println("´AreatValor");
while (area <= 200) {
System.out.println(area+"t"+
valorPiscina(area,tipo));
area = area+50;
}
}
Norton Trevisan Roman Aula 08 – Condicionais e La¸cos 19 de mar¸co de 2020 24 / 31
52. While
public static void main(String[] args) {
double area = 50;
int tipo = ALVENARIA;
System.out.println("´AreatValor");
while (area <= 200) {
System.out.println(area+"t"+
valorPiscina(area,tipo));
area = area+50;
}
}
E a sa´ıda ´e:
´Area Valor
50.0 75000.0
100.0 150000.0
150.0 225000.0
200.0 300000.0
Norton Trevisan Roman Aula 08 – Condicionais e La¸cos 19 de mar¸co de 2020 24 / 31
53. While
Temos ent˜ao os seguintes c´odigos:
public static void main(String[]
args) {
double area = 100;
int tipo = ALVENARIA;
System.out.println("
MaterialtValor");
while (tipo <= PLASTICO) {
System.out.println(tipo+"tt"
+valorPiscina(area,tipo));
tipo = tipo+1;
}
}
public static void main(String[]
args) {
double area = 50;
int tipo = ALVENARIA;
System.out.println("´Areat
Valor");
while (area <= 200) {
System.out.println(area+"t"
+valorPiscina(area,tipo));
area = area+50;
}
}
Norton Trevisan Roman Aula 08 – Condicionais e La¸cos 19 de mar¸co de 2020 25 / 31
54. While
Como far´ıamos para
criar uma tabela que
desse o or¸camento
para piscinas de
v´arias ´areas e
materiais?
Norton Trevisan Roman Aula 08 – Condicionais e La¸cos 19 de mar¸co de 2020 26 / 31
55. While
Como far´ıamos para
criar uma tabela que
desse o or¸camento
para piscinas de
v´arias ´areas e
materiais?
para cada uma das ´areas:
para cada um dos materiais:
diga o valor da piscina com
esta ´area, feita com este
material
Norton Trevisan Roman Aula 08 – Condicionais e La¸cos 19 de mar¸co de 2020 26 / 31
56. While
Como far´ıamos para
criar uma tabela que
desse o or¸camento
para piscinas de
v´arias ´areas e
materiais?
para cada uma das ´areas:
para cada um dos materiais:
diga o valor da piscina com
esta ´area, feita com este
material
public static void main(String[]
args) {
double area = 50;
int tipo;
System.out.println("´AreatMaterial
tValor");
while (area <= 200) {
tipo = ALVENARIA;
while (tipo <= PLASTICO) {
System.out.println(area+"t"+
tipo+"tt"+
valorPiscina(area,tipo));
tipo = tipo+1;
}
area = area+50;
}
}
Norton Trevisan Roman Aula 08 – Condicionais e La¸cos 19 de mar¸co de 2020 26 / 31
57. While
para cada uma das ´areas:
para cada um dos materiais:
diga o valor da piscina com
esta ´area, feita com este
material
public static void main(String[]
args) {
double area = 50;
int tipo;
System.out.println("´AreatMaterial
tValor");
while (area <= 200) {
tipo = ALVENARIA;
while (tipo <= PLASTICO) {
System.out.println(area+"t"+
tipo+"tt"+
valorPiscina(area,tipo));
tipo = tipo+1;
}
area = area+50;
}
}
Norton Trevisan Roman Aula 08 – Condicionais e La¸cos 19 de mar¸co de 2020 27 / 31
58. While
para cada uma das ´areas:
para cada um dos materiais:
diga o valor da piscina com
esta ´area, feita com este
material
public static void main(String[]
args) {
double area = 50;
int tipo;
System.out.println("´AreatMaterial
tValor");
while (area <= 200) {
tipo = ALVENARIA;
while (tipo <= PLASTICO) {
System.out.println(area+"t"+
tipo+"tt"+
valorPiscina(area,tipo));
tipo = tipo+1;
}
area = area+50;
}
}
Norton Trevisan Roman Aula 08 – Condicionais e La¸cos 19 de mar¸co de 2020 27 / 31
59. While
para cada uma das ´areas:
para cada um dos materiais:
diga o valor da piscina com
esta ´area, feita com este
material
public static void main(String[]
args) {
double area = 50;
int tipo;
System.out.println("´AreatMaterial
tValor");
while (area <= 200) {
tipo = ALVENARIA;
while (tipo <= PLASTICO) {
System.out.println(area+"t"+
tipo+"tt"+
valorPiscina(area,tipo));
tipo = tipo+1;
}
area = area+50;
}
}
Norton Trevisan Roman Aula 08 – Condicionais e La¸cos 19 de mar¸co de 2020 27 / 31
60. While
La¸co while aninhado
public static void main(String[]
args) {
double area = 50;
int tipo;
System.out.println("´AreatMaterial
tValor");
while (area <= 200) {
tipo = ALVENARIA;
while (tipo <= PLASTICO) {
System.out.println(area+"t"+
tipo+"tt"+
valorPiscina(area,tipo));
tipo = tipo+1;
}
area = area+50;
}
}
Norton Trevisan Roman Aula 08 – Condicionais e La¸cos 19 de mar¸co de 2020 28 / 31
61. While
La¸co while aninhado
Note que a cada
itera¸c˜ao do la¸co
externo (area),
temos que reiniciar o
la¸co interno (tipo)
public static void main(String[]
args) {
double area = 50;
int tipo;
System.out.println("´AreatMaterial
tValor");
while (area <= 200) {
tipo = ALVENARIA;
while (tipo <= PLASTICO) {
System.out.println(area+"t"+
tipo+"tt"+
valorPiscina(area,tipo));
tipo = tipo+1;
}
area = area+50;
}
}
Norton Trevisan Roman Aula 08 – Condicionais e La¸cos 19 de mar¸co de 2020 28 / 31
62. While
public static void main(String[] args)
{
double area = 50;
int tipo=0;
System.out.println("´AreatMaterial
tValor");
while (area <= 200) {
tipo = ALVENARIA;
while (tipo <= PLASTICO) {
System.out.println(area+"t"+
tipo+"tt"+
valorPiscina(area,tipo));
tipo = tipo+1;
}
area = area+50;
}
}
´Area Material Valor
50.0 0 75000.0
50.0 1 55000.0
50.0 2 37500.0
50.0 3 25000.0
100.0 0 150000.0
100.0 1 110000.0
100.0 2 75000.0
100.0 3 50000.0
150.0 0 225000.0
150.0 1 165000.0
150.0 2 112500.0
150.0 3 75000.0
200.0 0 300000.0
200.0 1 220000.0
200.0 2 150000.0
200.0 3 100000.0
Norton Trevisan Roman Aula 08 – Condicionais e La¸cos 19 de mar¸co de 2020 29 / 31
63. While
public static void main(String[] args)
{
double area = 50;
int tipo=0;
System.out.println("´AreatMaterial
tValor");
while (area <= 200) {
while (tipo <= PLASTICO) {
System.out.println(area+"t"+
tipo+"tt"+
valorPiscina(area,tipo));
tipo = tipo+1;
}
area = area+50;
}
}
E se removermos
tipo = ALVENARIA;?
Qual a sa´ıda?
Norton Trevisan Roman Aula 08 – Condicionais e La¸cos 19 de mar¸co de 2020 30 / 31
64. While
public static void main(String[] args)
{
double area = 50;
int tipo=0;
System.out.println("´AreatMaterial
tValor");
while (area <= 200) {
while (tipo <= PLASTICO) {
System.out.println(area+"t"+
tipo+"tt"+
valorPiscina(area,tipo));
tipo = tipo+1;
}
area = area+50;
}
}
E se removermos
tipo = ALVENARIA;?
Qual a sa´ıda?
´Area Material Valor
50.0 0 75000.0
50.0 1 55000.0
50.0 2 37500.0
50.0 3 25000.0
Norton Trevisan Roman Aula 08 – Condicionais e La¸cos 19 de mar¸co de 2020 30 / 31