![]() |
|
|
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 AutoCAD Civil 3D |
||
|
||
|
|
||
Ruby ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes) |
Exercícios Resolvidos de Ruby - Escreva um programa Ruby para mover todos os zeros para o final do vetor, sem alterar a ordem dos elementos já presentes no arrayQuantidade de visualizações: 1526 vezes |
|
Pergunta/Tarefa: Dado o seguinte vetor de inteiros: # vamos declarar e construir um vetor de 8 inteiros valores = [0, 3, 0, 5, 7, 4, 0, 9] Sua saída deverá ser parecida com: Vetor na ordem original: 0 3 0 5 7 4 0 9 Vetor com os zeros deslocados para o final: 3 5 7 4 9 0 0 0 Veja a resolução comentada deste exercício usando Ruby:
# vamos declarar e construir um vetor de 8 inteiros
valores = [0, 3, 0, 5, 7, 4, 0, 9]
# vamos mostrar o vetor na ordem original
print("Vetor na ordem original:\n")
for i in (0..valores.length - 1)
printf("%d ", valores[i])
end
# vamos inicializar j como 0 para que ele aponte para
# o primeiro elemento do vetor
j = 0
# agora o laço for percorre todos os elementos do vetor,
# incrementanto a variável i e deixando o j em 0
for i in (0..valores.length - 1)
# encontramos um valor que não é 0
if(valores[i] != 0)
# fazemos a troca entre os elementos nos índices
# i e j
temp = valores[i]
valores[i] = valores[j]
valores[j] = temp
# e avançamos o j para o elemento seguinte
j = j + 1
end
end
# agora mostramos o resultado
print("\n\nVetor com os zeros deslocados para o final:\n")
for i in (0..valores.length - 1)
printf("%d ", valores[i])
end
Não se esqueça: A resolução do exercício deve ser feita sem a criação de um vetor, array ou lista adicional, e os elementos diferentes de zero devem permanecer na mesma ordem que eles estavam antes. |
Java ::: Dicas & Truques ::: Arquivos e Diretórios |
Como adicionar conteúdo a um arquivo texto existente em Java usando BufferedWriter e FileWriterQuantidade de visualizações: 3 vezes |
|
Nesta dica mostrarei como podemos usar as classes BufferedWriter e FileWriter da linguagem Java para adicionar mais conteúdo a um arquivo texto já existente. Veja que só precisamos fornecer o valor true para o segundo parâmetro do construtor da classe FileWriter. Eis o código completo para o exemplo:
package estudos;
import java.io.*;
public class Estudos {
public static void main(String[] args) {
try {
BufferedWriter out = new BufferedWriter(
new FileWriter("C:\\estudos_java\\conteudo.txt", true));
out.write("Esta é a primeira linha de texto\r\n");
out.write("Esta é a segunda linha de texto");
out.close();
}
catch (IOException e) {
System.out.println("Err: " + e.getMessage());
}
System.out.println("Acabei de adicionar conteúdo ao arquivo");
System.exit(0);
}
}
Execute este código Java algumas vezes e veja como o novo conteúdo é adicionado ao conteúdo já existente no arquivo texto. |
C# ::: Fundamentos da Linguagem ::: Estruturas de Controle |
Como usar a instrução de salto incondicional goto da linguagem C#Quantidade de visualizações: 18837 vezes |
|
A instrução goto na linguagem C# é uma instrução de salto incondicional. Quando esta instrução é encontrada, o fluxo de execução de código salta imediatamente para a localização definida pelo goto. Embora não muito usada, esta instrução, ás vezes, tem sua utilidade. A instrução goto exige um rótulo (label), que é um identificador C# válido seguido por dois pontos. Além disso, este rótulo deve estar dentro do mesmo método no qual a instrução goto estará contida. Isso quer dizer que não é possível usar goto para saltar de um método para outro. Veja um trecho de código no qual usamos goto para contar de 0 até 10:
using System;
namespace Estudos{
class Program{
static void Main(string[] args){
int valor = 0;
// define o rótulo para o goto
inicio:
// exibe os números de 0 até 10
if (valor <= 10){
Console.WriteLine("{0}", valor);
valor++;
goto inicio;
}
Console.WriteLine("\n\nPressione uma tecla para sair...");
Console.ReadKey();
}
}
}
Ao executar este código nós teremos o seguinte resultado: 0 1 2 3 4 5 6 7 8 9 10 Pressione uma tecla para sair... É claro que este código, ainda que seja um bom exemplo do uso de goto, pode e deve ser substituído por um laço for ou while. Lembre-se: goto é usado somente em casos nos quais nenhuma outra instrução ou construção esteja disponível. Veja, por exemplo, como podemos usar goto para saltar entre as cláusulas case de uma instrução switch:
using System;
namespace Estudos{
class Program{
static void Main(string[] args) {
for (int i = 1; i < 3; i++) {
switch (i) {
case 1:
Console.WriteLine("Estou na cláusula 1.");
goto case 3;
case 2:
Console.WriteLine("Estou na cláusula 2.");
goto case 1;
case 3:
Console.WriteLine("Estou na cláusula 3.");
goto default;
default:
Console.WriteLine("Estou na cláusula padrão.");
break;
}
}
Console.WriteLine("\n\nPressione uma tecla para sair...");
Console.ReadKey();
}
}
}
Ao executar este código nós teremos o seguinte resultado: Estou na cláusula 1. Estou na cláusula 3. Estou na cláusula padrão. Estou na cláusula 2. Estou na cláusula 1. Estou na cláusula 3. Estou na cláusula padrão. Outro uso útil da instrução goto é quando precisamos sair de um laço profundamente aninhado (três ou quatro níveis já é uma tarefa complicada). Veja:
using System;
namespace Estudos{
class Program{
static void Main(string[] args) {
int i = 0, j = 0, k = 0;
for (i = 0; i < 10; i++) {
for (j = 0; j < 10; j++) {
for (k = 0; k < 10; k++) {
Console.WriteLine("i, j, k: " + i + " " +
j + " " + k);
if (k == 3) goto parada;
}
}
}
// rótulo de parada
parada:
Console.WriteLine("Parei! i, j, k: " + i + " " +
j + " " + k);
Console.WriteLine("\n\nPressione uma tecla para sair...");
Console.ReadKey();
}
}
}
Ao executar este exemplo nós teremos o seguinte resultado: i, j, k: 0 0 0 i, j, k: 0 0 1 i, j, k: 0 0 2 i, j, k: 0 0 3 Parei! i, j, k: 0 0 3 Para finalizar, tenha em mente que goto é usado para sair de um bloco de instruções. Tentar usar esta instrução para saltar para dentro de um bloco de instruções é um erro de síntaxe e o seu código não compilará. |
Python ::: Desafios e Lista de Exercícios Resolvidos ::: Python Básico |
Exercício Resolvido de Python - Como ler um número inteiro e imprimir seu sucessor e seu antecessor em PythonQuantidade de visualizações: 1948 vezes |
|
Pergunta/Tarefa: Escreva um programa Python para ler um número inteiro e imprimir seu sucessor e seu antecessor. O usuário poderá informar um valor positivo ou negativo. Sua saída deverá ser parecida com: Informe um número inteiro: 16 O número informado foi: 16 O antecessor é 15 O sucessor é: 17 Veja a resolução comentada deste exercício usando Python:
# função principal do programa
def main():
# vamos pedir para o usuário informar um número inteiro
numero = int(input("Informe um número inteiro: "))
# vamos calcular o sucessor do número informado
sucessor = numero + 1
# vamos calcular o antecessor do número informado
antecessor = numero - 1
# e agora mostramos os resultados
print("O número informado foi: {0}".format(numero))
print("O antecessor é {0}".format(antecessor))
print("O sucessor é: {0}".format(sucessor))
if __name__== "__main__":
main()
|
Delphi ::: Dicas & Truques ::: Trigonometria - Funções Trigonométricas |
Como calcular o cateto oposto dadas as medidas da hipotenusa e do cateto adjascente em DelphiQuantidade de visualizações: 3354 vezes |
|
Todos estamos acostumados com o Teorema de Pitágoras, que diz que "o quadrado da hipotenusa é igual à soma dos quadrados dos catetos". Baseado nessa informação, fica fácil retornar a medida do cateto oposto quando temos as medidas da hipotenusa e do cateto adjascente. Isso, claro, via programação em linguagem Delphi. Comece observando a imagem a seguir: ![]() Veja que, nessa imagem, eu já coloquei os comprimentos da hipotenusa, do cateto oposto e do cateto adjascente. Para facilitar a conferência dos cálculos, eu coloquei também os ângulos theta (que alguns livros chamam de alfa) e beta já devidamente calculados. A medida da hipotenusa é, sem arredondamentos, 36.056 metros. Então, sabendo que o quadrado da hipotenusa é igual à soma dos quadrados dos catetos (Teorema de Pitógoras): \[c^2 = a^2 + b^2\] Tudo que temos que fazer é mudar a fórmula para: \[a^2 = c^2 - b^2\] Veja que agora o quadrado do cateto oposto é igual ao quadrado da hipotenusa menos o quadrado do cateto adjascente. Não se esqueça de que a hipotenusa é o maior lado do triângulo retângulo. Veja agora como esse cálculo é feito em linguagem Delphi:
procedure TForm2.Button1Click(Sender: TObject);
var
a, b, c: Real;
begin
c := 36.056; // medida da hipotenusa
b := 30; // medida do cateto adjascente
// agora vamos calcular o comprimento da cateto oposto
a := sqrt(sqr(c) - sqr(b));
// e mostramos o resultado
Edit1.Text := 'A medida do cateto oposto é: ' +
FloatToStr(a);
end;
Veja que o cálculo é feito a partir do evento Click de um botão Button1 e o resultado é apresentado na propriedade Text de uma caixa de texto Edit1. Ao executar este código Delphi nós teremos o seguinte resultado: A medida do cateto oposto é: 20,0008783807112 Como podemos ver, o resultado retornado com o código Delphi confere com os valores da imagem apresentada. |
Desafios, Exercícios e Algoritmos Resolvidos de Delphi |
Veja mais Dicas e truques de Delphi |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |





