![]() |
|
|
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 |
||
|
||
|
|
||
R ::: Dicas de Estudo e Anotações ::: Variáveis e Constantes |
Regras para a escolha de nomes de variáveis na linguagem RQuantidade de visualizações: 2118 vezes |
|
A linguagem R, assim como quase todas as linguagens de programação, impõe algumas regras sobre os nomes que podemos escolher para nossos identificadores (variáveis, funções, nomes de classes, etc). Em R, nomes de variáveis devem seguir as seguintes regras: 1) Variáveis podem ter nomes curtos, tais como x, y, z, ou nomes mais descritivos, tais idade, valor_boleto, velocidade_total, etc. 2) Nomes de variáveis em R devem sempre começar com uma letra (ou o ponto) e pode ser uma combinação de letras, números, ponto (.) e underline (_). Se o nome da variável começar com um ponto (.), ele não poderá ser seguido por um número. 3) O nome de uma variável não pode começar com um número ou o caractere de underline (_). 4) Nomes de variáveis em R são case-sensitive, ou seja, há diferenciação de maiúsculas e minúsculas. Dessa forma, nome, Nome e NOME são três variáveis diferentes. 5) As palavras reservadas da linguagem (if, NULL, TRUE, FALSE, etc) não podem ser usados como nomes de variáveis, funções, nomes de classes e objetos. Veja a seguir exemplos de declaração e uso de variáveis em R: > x <- 10 [ENTER] > nome <- "Osmar" [ENTER] > pago <- TRUE [ENTER] > y <- x + 15 [ENTER] > x [ENTER] [1] 10 > nome [ENTER] [1] "Osmar" > y [ENTER] [1] 25 > pago [ENTER] [1] TRUE > |
Delphi ::: Data Controls (Controles de Dados) ::: TDBGrid |
Como obter a quantidade de linhas em um controle TDBGrid do Delphi (duas formas)Quantidade de visualizações: 11212 vezes |
A quantidade de linhas em um controle TDBGrid pode ser obtida de duas formas diferentes. A primeira consiste em fazer uma conversão de TDBGrid para TStringGrid e usar a propriedade RowCount. Veja:
procedure TForm3.Button3Click(Sender: TObject);
var
quantLinhas: Integer;
begin
// vamos obter a quantidade de linhas no DBGrid
quantLinhas := TStringGrid(DBGrid1).RowCount;
// vamos mostrar o resultado
ShowMessage('O DBGrid possui ' + IntToStr(quantLinhas) + ' linhas.');
end;
Ao executar este código você verá um mensagem parecida com: "O DBGrid possui 5 linhas." Note que a propriedade RowCount inclui a linha reservada aos títulos das colunas do DBGrid, ou seja, uma linha a mais que a quantidade de registros no controle. A segunda forma de se obter a quantidade de linhas no DBGrid consiste em obter a quantidade de registros no TDataSet no qual o DBGrid está conectado por meio de sua propriedade DataSource. Veja como isso pode ser feito:
procedure TForm3.Button3Click(Sender: TObject);
var
quantLinhas: Integer;
begin
// vamos obter a quantidade de linhas no DBGrid
quantLinhas := DBGrid1.DataSource.DataSet.RecordCount;
// vamos mostrar o resultado
ShowMessage('O DBGrid possui ' + IntToStr(quantLinhas) + ' linhas.');
end;
Veja que aqui nós usamos a propriedade RecordCount para obter a quantidade de registros no DataSet. Note que agora a contagem de linhas não inclui a linha reservada para os títulos das colunas. Esta dica foi escrita e testada no Delphi 2009. |
C++ ::: Dicas & Truques ::: Strings e Caracteres |
Como adicionar caracteres ao final de uma string C++ usando a função push_back()Quantidade de visualizações: 9654 vezes |
A função push_back() do C++ é útil quando precisamos adicionar caracteres individuais ao final de uma string. Veja um exemplo:
#include <string>
#include <iostream>
using namespace std;
int main(int argc, char *argv[]){
string str = "Gosto muito de PHP";
string temp;
// vamos percorrer os caracteres da primeira string
// e adicioná-los na segunda um de cada vez
for(int i = 0; i < str.length(); i++){
temp.push_back(str[i]);
}
// exibe o resultado
cout << temp << "\n\n";
system("PAUSE"); // pausa o programa
return EXIT_SUCCESS;
}
Ao executar este código C++ nós teremos o seguinte resultado: Gosto muito de PHP Note que usamos um laço for para percorrer individualmente todos os caracteres da primeira string e adicioná-los um de cada vez na segunda string. Veja uma variação deste código, no qual exibimos o conteúdo da primeira string invertido:
#include <string>
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
string str = "Gosto muito de PHP";
string temp;
// vamos percorrer os caracteres da primeira string
// e adicioná-los na segunda um de cada vez.
// desta vez vamos obter o resultado invertido
for(int i = str.length() - 1; i >= 0; i--){
temp.push_back(str[i]);
}
// exibe o resultado
cout << "String original: " << str << endl;
cout << "String invertida: " << temp << endl;;
system("PAUSE"); // pausa o programa
return EXIT_SUCCESS;
}
Ao executar este novo código C++ nós teremos o seguinte resultado: String original: Gosto muito de PHP String invertida: PHP ed otium otsoG |
Python ::: Dicas & Truques ::: Ordenação e Pesquisa (Busca) |
Python Insertion Sort - Como ordenar um vetor de inteiros usando a ordenação Insertion Sort (Ordenação por Inserção)Quantidade de visualizações: 4471 vezes |
|
Nesta dica veremos como implementar a ordenação Insertion Sort, Insertion-Sort, ou Ordenação por Inserção na linguagem Python. A ordenação Insertion Sort, Insertion-Sort, ou Ordenação por Inserção, possui uma complexidade de tempo de execução igual à ordenação Bubble Sort (Ordenação da Bolha), ou seja, O(n2). Embora mais rápido que o Bubble Sort, e ser um algorítmo de ordenação quadrática, a ordenação Insertion Sort é bastante eficiente para problemas com pequenas entradas, sendo o mais eficiente entre os algoritmos desta ordem de classificação, porém, nunca recomendada para um grande conjunto de dados. A forma mais comum para o entendimento da ordenação Insertion Sort é compará-la com a forma pela qual algumas pessoas organizam um baralho num jogo de cartas. Imagine que você está jogando cartas. Você está com as cartas na mão e elas estão ordenadas. Você recebe uma nova carta e deve colocá-la na posição correta da sua mão de cartas, de forma que as cartas obedeçam à ordenação. A cada nova carta adicionada à sua mão de cartas, a nova carta pode ser menor que algumas das cartas que você já tem na mão ou maior, e assim, você começa a comparar a nova carta com todas as cartas na sua mão até encontrar sua posição correta. Você insere a nova carta na posição correta, e, novamente, a sua mão é composta de cartas totalmente ordenadas. Então, você recebe outra carta e repete o mesmo procedimento. Então outra carta, e outra, e assim por diante, até não receber mais cartas. Esta é a ideia por trás da ordenação por inserção. Percorra as posições do vetor (array), começando com o índice 1 (um). Cada nova posição é como a nova carta que você recebeu, e você precisa inseri-la no lugar correto no sub-vetor ordenado à esquerda daquela posição. Vamos ver a implementação na linguagem Python agora? Observe o seguinte código, no qual temos um vetor de inteiros com os elementos {4, 6, 2, 8, 1, 9, 3, 0, 11}:
# método que permite ordenar o vetor de inteiros
# usando a ordenação Insertion Sort
def insertionSort(vetor):
# percorre todos os elementos do vetor começando
# pelo segundo elemento
for i in range(len(vetor)):
atual = vetor[i] # o valor atual a ser inserido
# começa a comparar com a célula à esquerda de i
j = i - 1
# enquanto vetor[j] estiver fora de ordem em relação
# a atual
while((j >= 0) and (vetor[j] > atual)):
# movemos vetor[j] para a direita e decrementamos j
vetor[j + 1] = vetor[j]
j = j - 1
# colocamos atual em seu devido lugar
vetor[j + 1] = atual
# função principal do programa
def main():
# cria uma lista de inteiros
valores = [4, 6, 2, 8, 1, 9, 3, 0, 11]
# exibimos o vetor na ordem original
print("Ordem original:\n")
for i in range(len(valores)):
print(valores[i], end = " ")
# vamos ordenar o vetor agora
insertionSort(valores)
# exibimos o vetor ordenado
print("\n\nOrdenado:\n")
for i in range(len(valores)):
print(valores[i], end = " ")
if __name__== "__main__":
main()
Ao executar este código Python nós teremos o seguinte resultado: Sem ordenação: 4 6 2 8 1 9 3 0 11 Ordenada usando Insertion Sort: 0 1 2 3 4 6 8 9 11 |
Java ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
Como testar se uma matriz é uma matriz identidade usando JavaQuantidade de visualizações: 1616 vezes |
|
Seja M uma matriz quadrada de ordem n. A matriz M é chamada de Matriz Identidade de ordem n (indicada por In) quando os elementos da diagonal principal são todos iguais a 1 e os elementos restantes são iguais a zero. Para melhor entendimento, veja a imagem de uma matriz identidade de ordem 3, ou seja, três linhas e três colunas: ![]() Veja um código Java completo no qual nós declaramos uma matriz quadrada de ordem 3, pedimos para o usuário informar os valores de seus elementos e no final informamos se a matriz é uma matriz identidade ou não:
package estudos;
import java.util.Scanner;
public class Estudos{
public static void main(String[] args){
int n = 3; // ordem da matriz quadrada
int matriz[][] = new int[n][n]; // matriz quadrada
// para efetuar a leitura do usuário
Scanner entrada = new Scanner(System.in);
// vamos pedir para o usuário informar os elementos da matriz
for (int i = 0; i < n; i++){
for (int j = 0; j < n; j++) {
System.out.print("Elemento na linha " + (i + 1) +
" e coluna " + (j + 1) + ": ");
matriz[i][j] = Integer.parseInt(entrada.nextLine());
}
}
// agora verificamos se a matriz é uma matriz identidade
boolean identidade = true;
for(int linha = 0; linha < n; linha++){
for(int coluna = 0; coluna < n; coluna++){
if(matriz[linha][coluna] != 1 && matriz[coluna][linha] != 0){
identidade = false;
break;
}
}
}
// agora mostramos a matriz lida
System.out.printf("\n");
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
System.out.printf("%d ", matriz[i][j]);
}
System.out.printf("\n");
}
if (identidade){
System.out.printf("\nA matriz informada é uma matriz identidade.\n");
}
else{
System.out.printf("\nA matriz informada não é uma matriz identidade.\n");
}
}
}
Ao executar este código Java nós teremos o seguinte resultado: Elemento na linha 1 e coluna 1: 1 Elemento na linha 1 e coluna 2: 0 Elemento na linha 1 e coluna 3: 0 Elemento na linha 2 e coluna 1: 0 Elemento na linha 2 e coluna 2: 1 Elemento na linha 2 e coluna 3: 0 Elemento na linha 3 e coluna 1: 0 Elemento na linha 3 e coluna 2: 0 Elemento na linha 3 e coluna 3: 1 1 0 0 0 1 0 0 0 1 A matriz informada é uma matriz identidade. |
Desafios, Exercícios e Algoritmos Resolvidos 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 |






