![]() |
|
|
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. |
||
Você está aqui: Cards de Engenharia Civil - Estruturas de Concreto Armado |
||
|
||
|
|
||
C++ ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
Vetores e matrizes em C++ - Como passar vetores e matrizes para as suas funções C++Quantidade de visualizações: 12565 vezes |
Muitas vezes precisamos passar um vetor ou uma matriz C++ para nossas funções. O trecho de código abaixo mostra como isso é feito. Observe que a passagem de uma matriz para uma função é feita por referência, ou seja, qualquer alteração nos valores da matriz dentro do método será refletida na matriz original:
#include <iostream>
using namespace std;
// função usada para exibir os valores
// da matriz
void exibir_matriz(int matriz[], int quant)
{
for(int i = 0; i < quant; i++){
cout << matriz[i] << endl;
}
}
int main(int argc, char *argv[])
{
// cria uma matriz com 5 inteiros
int valores[] = {54, 3, 89, 6, 1};
// passa a matriz para a função exibir_matriz()
// veja que temos que enviar também a quantidade
// de elementos
exibir_matriz(valores, 5);
system("PAUSE"); // pausa o programa
return 0;
}
Ao executar este código C++ nós teremos o seguinte resultado: 54 3 89 6 1 |
C# ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
Como retornar a quantidade de dimensões de uma matriz em C# usando a propriedade RankQuantidade de visualizações: 8655 vezes |
|
A propriedade Rank de um array do C# pode ser usada para obtermos a quantidade de dimensões de uma matriz (unidimensional, bidimensional, tridimensional, etc). Esta propriedade retorna um inteiro contendo a quantidade de dimensões. Veja o código para o exemplo:
using System;
namespace Estudos {
class Program {
static void Main(string[] args) {
// cria uma matriz de duas dimensões: quatro linhas
// e duas colunas
int[,] matriz = new int[4, 2];
// obtém a quantidade de dimensões
int dimen = matriz.Rank;
Console.WriteLine("Este array possui " + dimen + " dimensões.");
Console.WriteLine("\n\nPressione uma tecla para sair...");
Console.ReadKey();
}
}
}
Ao executar este código C# nós teremos o seguinte resultado: Este array possui 2 dimensões. |
Excel ::: Fórmulas do Excel ::: Matemática e Estatística |
Como gerar números aleatórios inteiros entre 1 e 10 no Excel usando as funções ALEATÓRIO() e INT()Quantidade de visualizações: 1062 vezes |
|
A função ALEATÓRIO() do Excel pode ser usada quando queremos gerar um número randômico, ou seja, um número aleatório entre 0 e 1. Nesse caso o número gerado é um número real aleatório que inclue o 0 mas não inclui o 1. No entanto, podemos usar um truque aritmético para gerar números aleatórios entre uma determinada faixa, por exemplo, de 1 até 10 (incluindo o 1 e o 10 na amostra). Para gerar um número randômico inteiro na faixa de 1 até 10 combinando as funções ALEATÓRIO e INT, digite o conteúdo a seguir em uma célula ou na barra de fórmulas do Excel: =INT(ALEATÓRIO()*(11-1)+1) Pressione Enter ou Tab e você terá um resultado parecido com: 7 É importante observar que, sempre que chamamos a função ALEATÓRIO(), todas as células que estão usando a fórmula serão atualizadas. Para evitar isso, com o cursor na janela de fórmulas, pressione F9. Isso fará com que a fórmula seja convertida em valor final e este valor seja atribuído à célula desejada. |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Estruturas de Controle |
Exercícios Resolvidos de Java - Escreva um programa Java que informa o número de dias em um determinado mês e ano. Seu código deverá solicitar ao usuário o número correspondenteQuantidade de visualizações: 1429 vezes |
|
Pergunta/Tarefa: Escreva um programa Java que informa a quantidade de dias em um determinado mês e ano. Seu código deverá solicitar ao usuário o número correspondente ao mês, na faixa de 1 a 12, e o ano. Verifique também se o ano é bissexto ou não. Sua saída deverá ser parecida com: Informe o mês (1 - 12): 4 Informe o ano: 2022 Abril de 2022 possui 30 dias. Veja a resolução comentada deste exercício usando Java:
package estudos;
import java.util.Scanner;
public class Estudos {
public static void main(String[] args) {
// vamos usar a classe Scanner para ler a entrada do usuário
Scanner entrada = new Scanner(System.in);
// para guardar a quantidade de dias no mês
int quantDiasNoMes = 0;
// para o nome do mês
String nomeMes = "";
// vamos ler o número do mês
System.out.print("Informe o mês (1 - 12): ");
int mes = Integer.parseInt(entrada.nextLine());
// vamos ler o ano
System.out.print("Informe o ano: ");
int ano = Integer.parseInt(entrada.nextLine());
// agora usamos um switch para tratar o mês informado
switch (mes){
case 1:
nomeMes = "Janeiro";
quantDiasNoMes = 31;
break;
case 2:
nomeMes = "Fevereiro";
// é ano bissexto?
if ((ano % 400 == 0) || ((ano % 4 == 0) && (ano % 100 != 0))) {
quantDiasNoMes = 29;
}
else {
quantDiasNoMes = 28;
}
break;
case 3:
nomeMes = "Março";
quantDiasNoMes = 31;
break;
case 4:
nomeMes = "Abril";
quantDiasNoMes = 30;
break;
case 5:
nomeMes = "Maio";
quantDiasNoMes = 31;
break;
case 6:
nomeMes = "Junho";
quantDiasNoMes = 30;
break;
case 7:
nomeMes = "Julho";
quantDiasNoMes = 31;
break;
case 8:
nomeMes = "Agosto";
quantDiasNoMes = 31;
break;
case 9:
nomeMes = "Setembro";
quantDiasNoMes = 30;
break;
case 10:
nomeMes = "Outubro";
quantDiasNoMes = 31;
break;
case 11:
nomeMes = "Novembro";
quantDiasNoMes = 30;
break;
case 12:
nomeMes = "Desembro";
quantDiasNoMes = 31;
break;
}
// mostra o resultado
System.out.println(nomeMes + " de " + ano + " possui " + quantDiasNoMes + " dias.");
System.out.println("\n");
}
}
|
Java ::: Tratamento de Erros ::: Passos Iniciais |
Quais as diferenças entre checked exceptions, runtime exceptions e errors na linguagem Java?Quantidade de visualizações: 15987 vezes |
|
Checked exceptions (exceções verificadas), runtime exceptions (exceções de tempo de execução) e errors (erros) possuem diferenças importantes e devem ser entendidas perfeitamente para tirarmos maior proveito da plataforma Java. Entre as checked exceptions podemos citar FileNotFoundException, ClassNotFoundException e IOException. Agora veja: problemas tais como um arquivo não encontrado, uma classe não encontrada ou problemas com entrada e saída (talvez a impressora parou de responder ou a rede caiu) fogem completamente do domínio da aplicação. Tais exceções não são provocadas por código mal escrito ou mal testado. Desta forma, o Java força que todas as checked exceptions estejam em um bloco try...catch. Vamos ver se isso é verdade? Observe o trecho de código abaixo:
import java.io.*;
public class Estudos{
public static void main(String[] args){
DataInputStream in = new DataInputStream(
new BufferedInputStream(
new FileInputStream("conteudo.txt")));
while(in.available() != 0)
System.out.print((char) in.readByte());
System.exit(0);
}
}
Se tentarmos compilar este código teremos o seguinte resultado:
Estudos.java:7: unreported exception
java.io.FileNotFoundException; must be caught
or declared to be thrown
new FileInputStream("conteudo.txt")));
^
Estudos.java:9: unreported exception
java.io.IOException; must be caught or
declared to be thrown
while(in.available() != 0)
^
Estudos.java:10: unreported exception
java.io.IOException; must be caught or
declared to be thrown
System.out.print((char) in.readByte());
^
3 errors
Aqui nós temos uma exceção FileNotFoundException e duas exceções IOException. Vamos nos concentrar na exceção gerada pelo construtor da classe FileInputStream. Folheando a documentação do Java nós encontramos: public FileInputStream(String name) throws FileNotFoundException É aqui que as coisas começam a ficar interessantes. Todos os métodos Java que podem atirar exceções verificadas são marcados com throws e o tipo de exceção lançada. A palavra throws é usada para transferir a responsabilidade do tratamento do erro para o chamador de tais métodos. Outro exemplo é o método readByte() da classe DataInputStream: public final byte readByte() throws IOException Para corrigir as exceções acima, só precisamos usar um bloco try...catch. Veja:
import java.io.*;
public class Estudos{
public static void main(String[] args){
try{
DataInputStream in = new DataInputStream(
new BufferedInputStream(
new FileInputStream("conteudo.txt")));
while(in.available() != 0)
System.out.print((char) in.readByte());
}
catch(IOException e){
System.out.print(e.getMessage());
}
System.exit(0);
}
}
Exceções verificadas são todas aquelas que descendem de Exception mas não descendem de RuntimeException. As exceções de tempo de execução (runtime exceptions) são provocadas por código mal escrito ou mal testado, ou seja, são causadas por nós programadores. Entre estas exceções podemos citar ArithmeticException, IndexOutOfBoundsException e NoSuchElementException. De fato, um erro aritmético é responsabilidade do programador, pois cabe a este verificar se os valores estão dentro da faixa permitida por cada tipo de dados. Ao contrário das exceções verificadas, o compilador não força o uso do bloco try...catch para as runtime exceptions. De fato, isso é fácil de compreender, uma vez que tais exceções não deveriam jamais aparecer. Contudo, pode ser desejável usar o bloco try...catch em casos em que os valores de uma operação são definidos pelo usuário. Veja um exemplo:
import java.util.*;
public class Estudos{
public static void main(String[] args){
Scanner in = new Scanner(System.in);
System.out.print("Informe um inteiro: ");
int valor = in.nextInt();
System.out.print("Informe outro inteiro: ");
int valor2 = in.nextInt();
System.out.println("O resultado é " +
valor / valor2);
}
}
Se executarmos este código e informarmos o valor 0 para o segundo inteiro, teremos a seguinte exceção: Informe um inteiro: 4 Informe outro inteiro: 0 Exception in thread "main" java.lang.ArithmeticException: / by zero at Estudos.main(Estudos.java:13) Uma forma de corrigir isso é testando os valores informados para verificar suas faixas ou lançar uma exceção. Veja como usamos esta última alternativa:
import java.util.*;
public class Estudos{
public static void main(String[] args){
Scanner in = new Scanner(System.in);
System.out.print("Informe um inteiro: ");
int valor = in.nextInt();
System.out.print("Informe outro inteiro: ");
int valor2 = in.nextInt();
try{
System.out.println("O resultado é " +
valor / valor2);
}
catch(ArithmeticException e){
System.out.println("Uma exceção " +
"ArithmeticException ocorreu, " +
"possivelmente uma tentativa de " +
"divisão por zero.");
}
}
}
Agora se informarmos zero para o segundo inteiro, teremos: Informe um inteiro: 5 Informe outro inteiro: 0 Uma exceção ArithmeticException ocorreu, possivelmente uma tentativa de divisão por zero. As runtime exceptions (causadas por falha nossa, os programadores) descedem de java.lang.RuntimeException. Além das runtime exceptions e das checked exceptions, temos também os errors, que descedem de java.lang.Error e não devem jamais ser atirados ou tratados em blocos try...catch. Este tipo de erro é reservado para indicar problema na JVM. Entre tais erros temos OutOfMemoryError, que é lançado quando a Java Virtual Machine não consegue alocar um objeto porque sua fatia de memória esgotou e o Garbage Collector ainda não liberou mais memória. Não há razão para tratarmos isso em um bloco try...catch uma vez que, ao contrário de C++, a liberação de memória só é feita pelo GC. O melhor a fazer é deixar mesmo o programa ser encerrado e encontrar alternativas para a correção do problema. |
Desafios, Exercícios e Algoritmos Resolvidos de Java |
|
Como calcular a área de um triângulo usando a Fórmula de Heron em Java - Exercício Resolvido de Java |
Veja mais Dicas e truques de Java |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |





