![]() |
|
|
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 Aço e Madeira |
||
|
||
|
|
||
Delphi ::: Dicas & Truques ::: Strings e Caracteres |
Como verificar se uma substring está contida no início de uma string em Delphi usando a função AnsiStartsStr()Quantidade de visualizações: 13000 vezes |
Em algumas situações precisamos verificar se uma substring está contida no início de uma string, ou seja, se a string começa com um determinado prefixo. Em Delphi isso pode ser feito com o auxílio da função AnsiStartsStr(). Esta função requer a substring a ser pesquisada e a string alvo da pesquisa. O retorno será true se a substring estiver contida no início da string. Do contrário o retorno será false. Veja o exemplo:
procedure TForm1.Button1Click(Sender: TObject);
var
frase: string;
begin
frase := 'Gosto muito de Delphi e Java';
// vamos verificar se a string começa com "Gosto"
if AnsiStartsStr('Gosto', frase) then
ShowMessage('A frase começa com a substring indicada')
else
ShowMessage('A frase NÃO começa com a substring indicada')
end;
Lembre-se de que esta função diferencia maiúsculas e minúsculas. Não se esqueça de adicionar a unit StrUtils no uses do seu formulário. Para questões de compatibilidade, esta dica foi escrita usando Delphi 2009. |
Python ::: Fundamentos da Linguagem ::: Variáveis e Constantes |
Como acessar variáveis globais a partir de seus métodos PythonQuantidade de visualizações: 13257 vezes |
|
Por padrão, nossos próprios métodos e funções em Python não enxergam as variáveis definidas fora do seu escopo, e quando o fazem, é somente para leitura, já que alterações nas variáveis fora do escopo fazem com que o interpretar crie versões locais dessas variáveis. Uma solução é usar a palavra-chave "global" antes do nome da varíável que queremos acessar. Veja como isso pode ser feito no trecho de código abaixo:
# uma variável global
nome = "Carlos"
# um método que acessa a variável global
def metodo():
global nome
nome = "Osmar J. Silva"
# função principal do programa
def main():
# chama o método
metodo()
# mostra o resultado
print("Valor alterado para:", nome)
if __name__== "__main__":
main()
Ao executar este código Python nós teremos o seguinte resultado: Valor alterado para: Osmar J. Silva |
C++ ::: Desafios e Lista de Exercícios Resolvidos ::: STL Vector C++ |
Exercício Resolvido de C++ - Escreva um programa C++ com uma função chamada possui_numeros() que recebe um Vector de strings como argumentoQuantidade de visualizações: 569 vezes |
|
Pergunta/Tarefa: Escreva um programa C++ com uma função chamada possui_numeros() que recebe um Vector de strings como argumento e retorna outro Vector contendo apenas as strings que possuem um ou mais números. Se nenhuma das strings recebidas passar no teste, retorne um Vector vazio. Sua saída deverá ser parecida com: Elementos do Vector original: livro mesa7 cami45sa porta Palavras que possuem um ou mais números: mesa7 cami45sa Veja a resolução comentada deste exercício em C++:
#include <iostream>
#include <vector>
using namespace std;
// função que recebe um vetor de strings e retorna
// outro vector contendo apenas as strings que possuem
// um ou mais números
vector<string> possui_numeros(vector<string> palavras) {
// para guardar o resultado
vector<string> resultado;
// vamos percorrer os itens do vector recebido
for(string palavra : palavras) {
// agora percorremos os caracteres de cada string
for(char carac : palavra) {
// é um caractere?
if(isdigit(carac)) {
// adicionamos no segundo vector
resultado.push_back(palavra);
break;
}
}
}
// retorna o vector obtido
return resultado;
}
// função principal do programa
int main(int argc, char *argv[]){
// vamos criar um vector de palavras
vector<string> palavras = {"livro", "mesa7", "cami45sa", "porta"};
// vamos mostrar o conteúdo do vector original
cout << "Elementos do Vector original:\n";
for (string palavra : palavras) {
cout << palavra << " ";
}
// agora obtemos um vector com as palavras que contenham um ou mais
// números
vector<string> resultado = possui_numeros(palavras);
// e mostramos o resultado
cout << "\n\nPalavras que possuem um ou mais números:\n";
for (string palavra : resultado) {
cout << palavra << " ";
}
cout << "\n\n";
system("PAUSE"); // pausa o programa
return EXIT_SUCCESS;
}
|
PHP ::: Dicas & Truques ::: Arquivos e Diretórios |
Curso de PHP - Como obter a quantidade de linhas em um arquivoQuantidade de visualizações: 10196 vezes |
|
Neste exemplo veremos como abrir um arquivo texto usando a função file() da linguagem PHP e em seguida vamos obter a quantidade de linhas neste arquivo. Veja o código completo para o exemplo: <html> <head> <title>Estudando PHP</title> </head> <body> <?php // define o nome do arquivo a ser lido $arquivo = 'dados.txt'; // obtém todas as linhas do arquivo $linhas = file($arquivo); // usa a função count() para obter a quantidade de // linhas $quant = count($linhas); echo "Este arquivo contém " . $quant . " linhas"; ?> </body> </html> Ao executar este código PHP nós teremos o seguinte resultado: Este arquivo contém 4 linhas |
C# ::: Dicas & Truques ::: Tipos de Dados |
Como usar os tipos de dados byte e sbyte da linguagem C#Quantidade de visualizações: 15923 vezes |
O tipo de dados byte é usado quando queremos armazenar valores inteiros na faixa de 0 a 255, ou seja, valores inteiros apenas positivos. Veja um exemplo de declaração e definição de uma variável deste tipo:// uma variável do tipo byte byte valor = 45; O tipo byte (que possui 8 bits não sinalizados) é um apelido C# para o tipo System.Byte da plataforma .NET. Note que quando inicializamos uma variável do tipo byte com um literal inteiro, este valor é convertido implicitamente de int para byte. Se o valor sendo definido for maior que a faixa permitida, o programa não compilará. Veja: // valor fora da faixa suportada pelo tipo byte byte valor = 290; Ao tentarmos compilar esta linha teremos o seguinte erro: Constant value '290' cannot be converted to a 'byte' Quando se trata de conversões implícitas, um valor do tipo byte pode ser convertido, sem a necessidade de cast, para os tipos short, ushort, int, uint, long, ulong, float, double ou decimal. Veja: // variável do tipo byte byte valor = 28; // variável do tipo float float valor2 = valor; O caminho oposto não é verdade, ou seja, não é possível atribuir uma variável do tipo short à uma variável do tipo byte. Veja: // variável do tipo short short valor = 50; // variável do tipo byte byte valor2 = valor; // mensagem de erro de compilação Cannot implicitly convert type 'short' to 'byte'. An explicit conversion exists (are you missing a cast?) Esta conversão não é possível, ainda que o valor contido na variável do tipo short esteja na faixa aceitável pelo tipo byte. Neste caso, um cast (conversão explícita) se faz necessário: // variável do tipo short short valor = 50; // variável do tipo byte byte valor2 = (byte)valor; Resumindo, nenhum outro tipo de dados em C# pode ser convertido para o tipo byte implicitamente. Se quiser fazê-lo, use uma conversão explícita (cast). O tipo sbyte, por sua vez, pode armazenar valores inteiros na faixa de -128 até 127 e possui 8 bits sinalizados. Este tipo é um apelido C# para o tipo de dados System.SByte da plataforma .NET. Veja um exemplo de seu uso:
static void Main(string[] args){
// variável do tipo sbyte
sbyte valor = -45;
// exibe o resultado
Console.WriteLine("O valor da variável é: " + valor);
// pausa o programa
Console.ReadKey();
}
Note que, a exemplo de byte, o tipo sbyte também é governado por algumas regras de conversão e atribuição de valores literais. Há uma conversão implícita de sbyte para os tipos short, int, long, float, double e decimal. A conversão de qualquer outro tipo de dados para o tipo sbyte só pode ser feita por meio de cast (conversão explícita). |
Desafios, Exercícios e Algoritmos Resolvidos de C# |
Veja mais Dicas e truques de C# |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |




