![]() |
|
|
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. |
||
C# ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
Como ordenar um array de strings em ordem alfabética em C# usando a classe StringComparerQuantidade de visualizações: 18260 vezes |
|
Nesta dica mostrarei como classificar um vetor de strings C# em ordem alfabética. Para isso nós vamos usar um objeto da classe StringComparer. Veja o código completo para o exemplo:
using System;
namespace Estudos {
class Program {
static void Main(string[] args) {
// cria e inicializa um array de strings
string[] cidades = {"Goiânia", "São Paulo",
"Rio de Janeiro", "Curitiba"};
Console.WriteLine("Ordem original:");
for (int i = 0; i < cidades.Length; i++) {
Console.WriteLine(cidades[i]);
}
// vamos criar um objeto da classe StringComparer
StringComparer ordenar = StringComparer.CurrentCultureIgnoreCase;
// agora classificamos o vetor em ordem alfabética
Array.Sort(cidades, ordenar);
Console.WriteLine();
Console.WriteLine("Ordem alfabética:");
for (int i = 0; i < cidades.Length; i++) {
Console.WriteLine(cidades[i]);
}
Console.WriteLine("\n\nPressione uma tecla para sair...");
Console.ReadKey();
}
}
}
Ao executar este código C# nós teremos o seguinte resultado: Ordem original: Goiânia São Paulo Rio de Janeiro Curitiba Ordem alfabética: Curitiba Goiânia Rio de Janeiro São Paulo |
C ::: Dicas & Truques ::: Recursão (Recursividade) |
Como calcular o fatorial de um número em C usando recursividadeQuantidade de visualizações: 16602 vezes |
O fatorial de um determinado número, representado por n! equivale a multiplicar este número por seus antecessores. Assim, o fatorial de 4 (4!) pode ser calculado da seguinte forma:4 x 3 x 2 x 1 = 24 Sempre que falamos de recursão, o cálculo de fatorial nos auxilia na exemplificação por ser relativamente fácil de se entender todas as etapas do processo. O código abaixo mostra uma função recursiva em C que calcula o fatorial de qualquer número. Tenha cuidado. Calcular o fatorial de um número maior que 10 pode tornar sua máquina extremamente lenta, além de, muitas vezes, não retornar os resultados esperados.
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
// cabeçalho da função fatorial recursiva
int fatorial(int n);
// função principal do programa
int main(int argc, char *argv[]){
setlocale(LC_ALL,""); // para acentos do português
// vamos calcular o fatorial de 5
int res = fatorial(5);
// exibe o resultado
printf("O fatorial de 5 é: %d", res);
printf("\n\n");
system("PAUSE");
return 0;
}
// função recursiva para calcular o fatorial
// de um determinado número
int fatorial(int n){
if(n == 0){
return 1;
}
else{
return n * fatorial(n - 1);
}
}
Ao executar este código C nós teremos o seguinte resultado: O fatorial de 5 é: 120 |
Revit Python Shell ::: Dicas & Truques ::: Grupos - Groups |
Como copiar grupos no Revit usando a função Create.PlaceGroup() e o Revit Python ShellQuantidade de visualizações: 599 vezes |
|
O código que apresento nesta dica mostra como podemos pedir para o usuário selecionar um grupo na área de desenho do Revit e, em seguida, usando a API do Revit e o Revit Python Shell, criar uma cópia do grupo escolhido e posicioná-la em um ponto escolhido pelo usuário. Em realidade, este código é o mesmo apresentado no tutorial "Como criar seu primeiro plug-in no Revit usando a Revit C# API" da documentação oficial fornecida pela Autodesk. O que fiz foi modificar o código para usar Revit Python Shell em vez de C#, como mostrado no tutorial. O primeiro passo é importar o objeto ObjectType a partir do módulo Autodesk.Revit.UI.Selection. Em seguida nós usamos __window__.Hide() para que o foco vá para a janela do Revit. Isso é necessário para que o usuário possa selecionar um grupo usando uidoc.Selection.PickObject. Note que coloquei uma mensagem TaskDialog.Show() chamando a atenção do usuário para esta tarefa. Como a função PickObject() retorna um objeto Reference, nós precisamos fornecer essa referência para a função doc.GetElement() e assim obter o elemento real que queremos manipular. Então, o passo seguinte é pedir para o usuário indicar um ponto na tela de desenho do Revit usando a função uidoc.Selection.PickPoint(). Esta função vai nos retornar um objeto da classe XYZ da API do Revit. Depois que o usuário selecionar o grupo e o ponto, nós criamos uma nova transação usando Transaction(doc, "Copiar grupo") e a iniciamos com uma chamada à sua função Start(). Então, para concluir, basta uma chamada à doc.Create.PlaceGroup(ponto, grupo.GroupType) e verificar o resultado na tela de desenho do Revit. Veja o código Revit Python Shell completo para o exemplo:
# faz o import necessário
from Autodesk.Revit.UI.Selection import ObjectType
# precisamos ocultar a janela do Revit Python Shell
__window__.Hide()
# agora fazemos uma chamada à função PickObject() do objeto Selection e retornamos
# uma Reference
TaskDialog.Show("Aviso", "Selecione um grupo")
selecionado = uidoc.Selection.PickObject(ObjectType.Element, "Selecione um grupo")
# obtemos o grupo a partir de sua referência usando a função
# GetElement() do objeto Document
grupo = doc.GetElement(selecionado)
# vamos pedir para o usuário selecionar um ponto na área de
# desenho do Revit
TaskDialog.Show("Aviso", "Selecione um ponto")
ponto = uidoc.Selection.PickPoint("Selecione um ponto para posicionar o grupo")
# criamos uma nova transação e posicionamos a cópia do
# grupo nas coordenadas indicadas pelo usuário
transacao = Transaction(doc, "Copiar grupo")
# iniciamos a transação
transacao.Start()
# copiamos o grupo selecionado pelo usuário e o colocamos no
# ponto indicado
doc.Create.PlaceGroup(ponto, grupo.GroupType)
# fechamos a transação
transacao.Commit()
# e mostramos o resultado
TaskDialog.Show("Aviso", "O grupo foi copiado com sucesso")
# depois que o usuário fizer a seleção nós mostramos a janela do
# Revit Python Shell novamente
__window__.Show()
__window__.Topmost = True
|
Portugol ::: Desafios e Lista de Exercícios Resolvidos ::: Estruturas de Controle |
Exercícios Resolvidos de Portugol - Escreva um programa que leia o ano de nascimento de um rapaz e mostre a sua situação em relação ao alistamento militarQuantidade de visualizações: 576 vezes |
|
Pergunta/Tarefa: Escreva um programa que leia o ano de nascimento de um rapaz e mostre a sua situação em relação ao alistamento militar. - Se estiver antes dos 18 anos, mostre em quantos anos faltam para o alistamento. - Se já tiver depois dos 18 anos, mostre quantos anos já se passaram do alistamento. Sua saída deverá ser parecida com: Informe o ano atual: 2025 Informe o ano do seu nascimento: 1980 Você tem 45 anos. Já se passaram 27 anos do alistamento militar. Informe o ano atual: 2025 Informe o ano do seu nascimento: 2007 Você tem 18 anos. Você já tem idade suficiente para fazer o alistamento militar. Informe o ano atual: 2025 Informe o ano do seu nascimento: 2009 Você tem 16 anos. Faltam 2 anos para você fazer o alistamento militar. Veja a resolução comentada deste exercício usando Portugol Web Studio:
programa {
funcao inicio() {
// variáveis usadas na resolução do problema
inteiro ano_nasc, ano_atual, idade, anos_faltam, anos_passaram
// vamos pedir para o usuário informar o ano atual
escreva("Informe o ano atual: ")
leia(ano_atual)
// vamos pedir para o usuário informar o ano de nascimento
escreva("Informe o ano do seu nascimento: ")
leia(ano_nasc)
// vamos calcular a idade do usuário
idade = ano_atual - ano_nasc
// vamos calcular os anos que faltam para o alistamento
anos_faltam = 18 - idade
// vamos calcular os anos que já se passaram do alistamento
anos_passaram = idade - 18
// vamos mostrar os resultados
se (idade < 18) {
escreva("\nVocê tem " + idade + " anos.")
escreva("\nFaltam " + anos_faltam +
" anos para você fazer o alistamento militar.")
}
senao se (idade == 18) {
escreva("\nVocê tem " + idade + " anos.")
escreva("\nVocê já tem idade para o alistamento militar.")
}
senao {
escreva("\nVocê tem " + idade + " anos.")
escreva("\nJá se passaram " + anos_passaram +
" anos do alistamento militar.")
}
}
}
|
Nossas 20 dicas & truques de programação mais populares |
|
Java - Como listar todo o conteúdo de um diretório usando a função listFiles() da classe File do Java |
Você também poderá gostar das dicas e truques de programação abaixo |
|
Java - Estruturas de Dados em Java - Como inserir nós no final de uma lista singularmente ligada em Java Java - Como verificar se um arquivo ou diretório existe em Java usando o método exists() da classe File |
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 |





