![]() |
|
|
Planilha de Dimensionamento de Tubulações
Hidráulicas Água Fria e Água Quente CompletaNossa planilha automática de dimensionamento de tubulações de água fria e quente é uma ferramenta desenvolvida para auxiliar engenheiros e projetistas no cálculo rápido e preciso das redes hidráulicas de edificaçoes. Por meio da inserçao de dados como vazao, diâmetro da tubulaçao, comprimento da rede, material do tubo e coeficientes hidráulicos, a planilha realiza automaticamente os cálculos necessários para verificar velocidade da água, perda de carga e dimensionamento adequado das tubulaçoes. |
||
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes) |
Exercícios Resolvidos de Java - Como corrigir o erro ArrayIndexOutOfBoundsException ao usar um laço for para percorrer os elementos de um arrayQuantidade de visualizações: 13033 vezes |
|
Pergunta/Tarefa: Observe o seguinte trecho de código:
public static void main(String[] args){
// um vetor de inteiros contendo cinco elementos
int valores[] = {5, 32, 9, 10, 6};
// vamos usar um laço for para exibir os valores dos elementos
// do vetorz
for(int i = 0; i <= 5; i++){
System.out.println("O valor do " + (i + 1) + "º elemento é " + valores[i]);
}
}
O valor do 1º elemento é 5 O valor do 2º elemento é 32 O valor do 3º elemento é 9 O valor do 4º elemento é 10 O valor do 5º elemento é 6 Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 5 at javaapplication1.Main.main(Main.java:14) Java Result: 1 Resposta/Solução:
O erro no código é de lógica. Como temos cinco elementos no vetor
e o índice do último elemento é 4 (o índice do primeiro elemento é 0),
o valor da variável de controle do laço for não pode ultrapassar 4. No
código acima o valor da variável i vai até 5, o que provoca um erro
ao tentar acessar um elemento do vetor que não existe.
Para corrigir o erro, basta alterar a linha:
for(int i = 0; i <= 5; i++){
para:
for(int i = 0; i < 5; i++){
|
C# ::: Fundamentos da Linguagem ::: Estruturas de Controle |
Como usar o laço foreach da linguagem C#Quantidade de visualizações: 27153 vezes |
O laço foreach é usado quando queremos percorrer todos os elementos de um array (matriz) ou de coleções de dados, tais como uma ArrayList. Veja um exemplo:
static void Main(string[] args){
// declara e inicializa um array de inteiros
int[] valores = new int[5]{3, 2, 5, 11, 13};
// usa o laço foreach para percorrer todos
// os elementos
foreach(int valor in valores){
Console.WriteLine("{0}", valor);
}
Console.WriteLine("\n\nPressione uma tecla para sair...");
Console.ReadKey();
}
Aqui nós usamos este laço para percorrer todos os elementos do array. Note que, durante cada iteração do laço, uma referência ao elemento atual é guardada na variável valor. Agora uma advertência: a referência retornada pelo laço foreach é somente leitura. Observe o seguinte trecho de código:
// declara e inicializa um array de inteiros
int[] valores = new int[5]{3, 2, 5, 11, 13};
// tenta alterar o valor da referência ao
// elemento atual
foreach(int valor in valores){
valor = 10;
}
Ao tentarmos compilar este código teremos a seguinte mensagem: Cannot assign to 'valor' because it is a 'foreach iteration variable' |
Dart ::: Dicas & Truques ::: Geometria, Trigonometria e Figuras Geométricas |
Como calcular o ponto de interseção de duas retas em Dart - Geometria Analítica e Álgebra Linear em DartQuantidade de visualizações: 2696 vezes |
|
Duas retas podem encontrar-se em 0, 1 ou 2 pontos. No primeiro caso, elas são chamadas paralelas; no segundo, elas são chamadas concorrentes e o ponto de encontro entre elas é chamado ponto de interseção; no terceiro caso, se duas retas possuem dois pontos em comum, então elas obrigatoriamente apresentam todos os pontos em comum e são chamadas coincidentes. Nesta dica mostrarei como podemos encontrar o ponto de interseção (ou intersecção) de duas retas usando Dart. Mas, antes de vermos o código, dê uma olhada na seguinte imagem: ![]() Note que temos os pontos A e B correspondentes ao segmento de reta AB e os pontos C e D correspondentes ao segmento de reta CD. Nossa tarefa é encontrar o ponto exato de intersecção entre esses dois segmentos de reta. Veja o código Dart completo que nos auxilia na resolução deste problema:
// Vamos importar a biblioteca dart:io
import "dart:io";
// Classe usada para representar um ponto no
// plano 2d (Plano Cartesiano)
class Ponto{
double x, y;
// construtor da classe
Ponto(double x, double y){
this.x = x;
this.y = y;
}
}
void main(){
// vamos construir os quatro pontos
Ponto A = new Ponto(5, 7);
Ponto B = new Ponto(9, -4);
Ponto C = new Ponto(-8, 2);
Ponto D = new Ponto(11, 6);
// vamos obter a representação do segmento AB
double a1 = B.y - A.y;
double b1 = A.x - B.x;
double c1 = (a1 * A.x) + (b1 * A.y);
// vamos obter a representação do segmento CD
double a2 = D.y - C.y;
double b2 = C.x - D.x;
double c2 = (a2 * C.x) + (b2 * C.y);
// obtém o determinante
double determinante = (a1 * b2) - (a2 * b1);
// as duas retas são paralelas?
if(determinante == 0){
print("\nAs duas retas são paralelas.\n");
}
else{
// e construímos o ponto de intersecção
double x = ((b2 * c1) - (b1 * c2)) / determinante;
double y = ((a1 * c2) - (a2 * c1)) / determinante;
Ponto inters = new Ponto(x, y);
print("O ponto de interseção é: " +
"x = ${x.toStringAsFixed(2)}; y = ${y.toStringAsFixed(2)}");
}
}
Ao executar este código Dart nós teremos o seguinte resultado: O ponto de interseção é: x = 5,76; y = 4,90 De fato, se você olhar a imagem novamente e desenhar este ponto, verá que ele se situa exatamente na intersecção das retas indicadas. |
Ruby ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes) |
Exercício Resolvido de Ruby - Como percorrer os elementos de um array em Ruby usando a função eachQuantidade de visualizações: 977 vezes |
|
Pergunta/Tarefa: Dado o seguinte array de int: # vamos criar um array com 5 elementos valores = [8, 3, 10, 4, 7] Sua saída deverá ser parecida com: 8 3 10 4 7 Veja a resolução comentada deste exercício usando Ruby:
# vamos criar um array com 5 elementos
valores = [8, 3, 10, 4, 7]
# vamos usar a função each para percorrer
# os itens do array e exibir seus valores
valores.each { | valor | print valor.to_s + " " }
Veja agora essa mesma resolução usando uma pequena variação, dessa vez usando each...do: # vamos criar um array com 5 elementos valores = [8, 3, 10, 4, 7] # vamos usar a função each para percorrer # os itens do array e exibir seus valores valores.each do | valor | print valor.to_s + " " end |
Nossas 20 dicas & truques de programação mais populares |
|
Java - Estruturas de Dados em Java - Como inserir nós no final de uma lista singularmente ligada em Java |
Você também poderá gostar das dicas e truques de programação abaixo |
|
JavaScript - Como remover elementos duplicados de um array em JavaScript usando as funções filter() e indexOf() do objeto Array JavaScript - JavaScript para iniciantes - Como obter o valor do maior número possível em JavaScript usando Number.MAX_VALUE C# - Como adicionar ou subtrair meses de uma data em C# usando a função AddMonths() da classe DateTime MySQL - Como usar joins no MySQL |
Nossas 20 dicas & truques de programação mais recentes |
Últimos Projetos e Códigos Fonte Liberados Para Apoiadores do Site |
|
Python - Como criar o jogo Pedra, Papel, Tesoura em Python - Jogo completo em Python com código comentado |
Últimos Exercícios Resolvidos |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |




