![]() |
|
|
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) |
Como retornar a quantidade de dimensões de uma matriz em C# usando a propriedade RankQuantidade de visualizações: 8653 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. |
C++ ::: Dicas & Truques ::: Programação Orientada a Objetos |
Programação Orientada a Objetos em C++ - Como criar e usar métodos estáticos em suas classes C++Quantidade de visualizações: 15245 vezes |
Como já vimos em outras dicas desta seção, uma classe C++ possui propriedades (variáveis) e métodos (funções). Veja a seguinte declaração de uma classe Produto:
// definição da classe Produto
class Produto{
public:
void setNome(string);
string getNome();
void setPreco(double);
double getPreco();
private:
string nome;
double preco;
};
Aqui cada instância da classe Produto terá suas próprias variáveis nome e preco e os métodos que permitem acesso e alteração destas variáveis também estão disponíveis a cada instância. Há, porém, situações nas quais gostaríamos que um determinado método estivesse atrelado à classe e não à cada instância individual. Desta forma, é possível chamar um método de uma classe sem a necessidade da criação de instâncias da mesma. Métodos estáticos em C++ podem ser criados por meio do uso da palavra-chave static. É comum tais métodos serem declarados com o modificador public, o que os torna acessíveis fora da classe na qual estes foram declarados. Veja um exemplo:
#include <cstdlib>
#include <iostream>
#include <string>
using namespace std;
// classe Pessoa com duas variáveis privadas e
// um método estático
class Pessoa{
public:
// um método estático que permite verificar a validade
// de um número de CPF
static bool isCPFValido(string);
private:
string nome;
int idade;
};
// implementação da classe Pessoa
bool Pessoa::isCPFValido(string cpf){
// alguns cálculos aqui
return true;
}
int main(int argc, char *argv[]){
// vamos efetuar uma chamada ao método isCPFValido() sem
// criar uma instância da classe Pessoa
if(Pessoa::isCPFValido("12345")){
cout << "CPF Válido" << endl;
}
else{
cout << "CPF inVálido" << endl;
}
system("PAUSE");
return EXIT_SUCCESS;
}
Aqui nós temos os códigos da definição e implementação da classe Pessoa em apenas um arquivo (main.cpp). Em uma aplicação real é interessante colocar estas partes em arquivos separados (.h e .cpp). Note que o método estático isCPFValido() foi declarado assim: static bool isCPFValido(string); Desta forma, podemos chamá-la a partir de código externo à classe sem a necessidade de criar uma nova instância da mesma. Veja: if(Pessoa::isCPFValido("12345")){} É importante notar que métodos estáticos não possuem acesso a variáveis e métodos não estáticos da classe, tampouco ao ponteiro this (que só existe quando criamos instâncias da classe). Assim, o trecho de código abaixo:
bool Pessoa::isCPFValido(string cpf){
// alguns cálculos aqui
// vamos acessar a variável não estática nome
nome = "Osmar J. Silva";
return true;
}
vai gerar o seguinte erro de compilação: invalid use of member `Pessoa::nome' in static member function. Se usarmos this->nome a mensagem de erro de compilação será: `this' is unavailable for static member functions. Métodos estáticos são úteis quando precisamos criar classes que atuarão como suporte, nas quais poderemos chamar funções (métodos) auxiliares sem a necessidade de criar novas instâncias a cada vez que estas funções forem necessárias. |
PHP ::: Fundamentos da Linguagem ::: Passos Iniciais |
PHP para iniciantes - Quais as diferenças entre include e require do PHP?Quantidade de visualizações: 14180 vezes |
A principal diferença entre as diretivas require() e include() do PHP é que, se usarmos require() para incluir um arquivo que não pode ser incluído (talvez o arquivo não exista), um erro fatal será gerado e a execução de código na página será imediatamente suspenso. Um exemplo de tal mensagem de erro é:Warning: require(inexistente.php) [function.require]: failed to open stream: No such file or directory in /public_html/testes.php on line 3 Fatal error: require() [function.require]: Failed opening required 'inexistente.php' (include_path='.:/usr/share/pear') in /public_html/testes.php on line 3 Veja que geralmente recebemos um Warning e depois um Fatal error. Experimente criar o arquivo "inexistente.php" e as mensagens de advertência e erro desaparecerão. Se usarmos include() e o arquivo de inclusão não puder ser localizado, teremos uma advertência mas a execução do código na página não será interrompida: Warning: include(inexistente.php) [function.include]: failed to open stream: No such file or directory in /public_html/testes.php on line 3 Warning: include() [function.include]: Failed opening 'inexistente.php' for inclusion (include_path='.:/usr/share/pear') in /public_html/testes.php on line 3 O uso de require() ou include() vai depender da situação: require() é melhor empregado para carregar arquivos que são essenciais para o restante da página, por exemplo, se você tiver um site usando banco de dados, então usar require() para incluir o arquivo contendo o login e senha do banco de dados é muito melhor que usar include(). Se usarmos include() nesta situação, poderemos terminar gerando mais erros e advertências que o pretendido. include() deve ser usado quando o arquivo a ser incluído não é essencial para o correto funcionamento da página. Um exemplo disso é quando incluímos um arquivo de topo ou rodapé de páginas. |
C ::: Desafios e Lista de Exercícios Resolvidos ::: Matemática e Estatística |
Exercício Resolvido de C - Escreva um programa C que pede um número inteiro e informa se o número informado é um número de ArmstrongQuantidade de visualizações: 1168 vezes |
|
Pergunta/Tarefa: Um número é chamado de número de Armstrong quando a soma de cada um dos seus dígitos, elevado à quantidade de dígitos do número, equivale ao próprio número. Por exemplo, 153 e 93084 são números de Armstrong, já que: 153 = 13 + 53 + 33 93084 = 95 + 35 + 05 + 85 + 45 Escreva um programa C que pede para o usuário informar um número inteiro e informa se o número informado é um número de Armstrong ou não. Seu código deve usar apenas os operadores matemáticos disponíveis na linguagem C. Sua saída deverá ser parecida com: Informe um número inteiro: 153 O número informado é um número de Armstrong Veja a resolução comentada deste exercício usando C:
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
#include <math.h>
int main(int argc, char *argv[]){
// variáveis usadas na resolução do problema
int numero, quant_digitos = 0, temp, resto, soma = 0;
setlocale(LC_ALL,""); // para acentos do português
// vamos pedir para o usuário informar um número
printf("Informe um número inteiro: ");
scanf("%d", &numero);
// o primeiro passo é obter a quantidade de dígitos que o número informado
// possui
temp = numero;
while(temp != 0) {
quant_digitos = quant_digitos + 1;
temp = temp / 10;
}
// agora efetuamos o cálculo que verifica se o número é um número
// de Armstrong ou não
temp = numero;
while(temp > 0){
resto = temp % 10;
soma = soma + (int)(pow(resto, quant_digitos));
temp = temp / 10;
}
if(soma == numero){
printf("O número informado é um número de Armstrong");
}
else{
printf("O número informado não é um número de Armstrong");
}
printf("\n\n");
system("PAUSE");
return 0;
}
|
Python ::: Fundamentos da Linguagem ::: Estruturas de Controle |
Apostila Python para iniciantes - Como exibir os números pares de 0 a 20 usando o laço for da linguagem PythonQuantidade de visualizações: 14163 vezes |
|
Nesta dica mostrarei como podemos usar o laço for da linguagem Python para exibir os números pares de 0 a 20. Note que usaremos os parâmetros start (valor inicial da variável de controle), stop (valor final da variável de controle, não incluído) e step (que especifica o valor de incremento da variável de controle. Veja o código completo para o exemplo:
# função principal do programa
def main():
for i in range(0, 21, 2):
print(i, end = " ")
if __name__== "__main__":
main()
Ao executar este código nós teremos o seguinte resultado: 0 2 4 6 8 10 12 14 16 18 20 |
Desafios, Exercícios e Algoritmos Resolvidos de Python |
Veja mais Dicas e truques de Python |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |





