![]() |
|
|
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 |
||
|
||
|
|
||
PHP ::: Fundamentos da Linguagem ::: Métodos, Procedimentos e Funções |
Apostila de PHP - Como criar suas próprias funções em PHPQuantidade de visualizações: 31761 vezes |
|
Uma função é um bloco de código que executa uma determinada tarefa, possivelmente baseado em um conjuntos de valores fornecidos, ou parâmetros, e possivelmente retornando um único valor. Funções permitem a melhora na leitura do código e correção de bugs, visto que blocos de códigos bem testados podem ser reutilizados inúmeras vezes em seus programas. Antes de continuarmos é bom estar ciente dos diferentes nomes que as linguagens de programação adotam quando o assunto é função. Em Java, funções são chamadas de métodos. Em Delphi, temos funções (function) e procedimentos (procedure). Se uma função em Delphi retorna um valor, ela é chamada de function. Se nenhum valor é retornado, ela é chamada de procedure. Em PHP o nome é função (function) mesmo, não importando se valores são retornados ou não. Veja um exemplo onde criamos uma função que apenas escreve na página:
<?
// define a função
function escrever(){
echo "Observe este texto";
}
// chama a função
escrever();
?>
Podemos estender este exemplo e fornecer à função o texto que deverá ser escrito. Veja:
<?
// define a função
function escrever($texto){
echo $texto;
}
// chama a função
escrever("Observe este texto");
?>
Veja que agora a função possui parâmetros, neste caso a variável local $texto. Assim, ao efetuarmos a chamada nós podemos fornecer um valor (um argumento) a esta função. Vamos progredir escrevendo uma função que soma dois valores:
<?
// define a função
function somar($valor1, $valor2){
echo "A soma é: " . ($valor1 + $valor2);
}
// chama a função
somar(3, 5);
?>
Para finalizar, vamos escrever uma função que retorna um valor. Veja:
<?
// define a função
function somar($valor1, $valor2){
return ($valor1 + $valor2);
}
// chama a função
$soma = somar(3, 5);
echo "O resultado é: " . $soma;
?>
Observe o uso da palavra-chave return para definirmos o valor que será retornado pela função. |
GNU Octave ::: Dicas & Truques ::: Trigonometria - Funções Trigonométricas |
Como calcular o comprimento da hipotenusa em GNU Octave dadas as medidas do cateto oposto e do cateto adjascenteQuantidade de visualizações: 1431 vezes |
Nesta dica mostrarei como é possível usar a linguagem GNU Octave para retornar o comprimento da hipotenusa dadas as medidas do cateto oposto e do cateto adjascente. Vamos começar analisando 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. 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 a fazer a converter esta fórmula para código GNU Octave (um script do GNU Octave). Veja:
a <- 20 # medida do cateto oposto
b <- 30 # medida do cateto adjascente
# agora vamos calcular o comprimento da hipotenusa
c <- sqrt(power(a, 2) + power(b, 2))
# e mostramos o resultado
fprintf("O comprimento da hipotenusa é: %f\n\n", c)
Ao executar este código GNU Octave nós teremos o seguinte resultado: O comprimento da hipotenusa é: 36.056000 Como podemos ver, o resultado retornado com o código GNU Octave confere com os valores da imagem apresentada. |
C# ::: Threads ::: Thread |
Como usar a classe Thread para criar threads em seus programas C#Quantidade de visualizações: 12606 vezes |
A classe Thread permite criar e controlar uma thread, além de definir sua prioridade e obter seu status. Veja a posição desta classe na hierarquia de classes da plataforma .NET:
System.Object
System.Runtime.ConstrainedExecution.CriticalFinalizerObject
System.Threading.Thread
Um processo pode criar uma ou mais threads para executar parte do código do programa associado a tal processo. Usamos um delegate ThreadStart ou um delegate ParameterizedThreadStart para especificar o código do programa que será executado pela thread. O delegate ParameterizedThreadStart nos permite passar dados para as funções a serem executadas pela thread. Durante seu ciclo de vida, uma thread está sempre em um ou mais dos estados definidos pela enumeração ThreadState. Um nível de prioridade de agendamento, como definido na enumeração ThreadPriority, pode ser requisitado para a thread, mas, este comportamento nem sempre é garantido pelo sistema operacional. O método GetHashCode() fornece identificação para threads gerenciadas. Durante o ciclo de vida de uma thread, seu código de identificação não colidirá com os códigos das demais threads, independente do domínio da aplicação a partir do qual obtemos tal valor. Veja um trecho de código no qual criamos uma thread e a agendamos para execução paralela com a thread principal da aplicação. Note como os valores dos dois laços são exibidos de forma compartilhada pelas duas threads, ou seja, um thread exibe alguns valores e pára, para permitir que a outra faça parte do seu trabalho:
class Program{
static void Main(string[] args){
// using using System.Threading;
// vamos criar uma nova instância da clase Thread
// e fornecer o método que será executado
Thread thread = new Thread(contar);
// vamos agendar a thread para futura execução
thread.Start();
// agora vamos contar na thread principal
for (int i = 0; i <= 20; i++){
Console.Write("#" + Thread.CurrentThread.GetHashCode()
+ ": " + i + ", ");
}
Console.Write("\n\nPressione uma tecla para sair...");
Console.ReadKey();
}
// método que será chamado pela thread
static void contar(){
for (int i = 0; i <= 20; i++){
Console.Write("#" + Thread.CurrentThread.GetHashCode()
+ ": " + i + ", ");
}
}
}
Aqui eu usei a sintáxe de criação de objetos da classe Thread que cria uma instância de ThreadStart nos bastidores, ou seja, forneci apenas o método a ser executado pela nova thread. Note também que uma chamada ao método Start() da thread não faz com que a thread seja executada imediatamente. Este método apenas torna a thread elegível para execução, ou seja, no estado "pronta" (Running). É o sistema operacional que determina quando a mesma será executada. |
PHP ::: Dicas & Truques ::: Strings e Caracteres |
Como usar as funções strpos() e stripos() do PHP para obter uma matriz contendo todas as posições das ocorrências de uma substring dentro de uma stringQuantidade de visualizações: 3672 vezes |
Em algumas situações percebemos que uma substring aparece mais de uma vez em uma string e gostaríamos de obter mais informações sobre tais ocorrências. No trecho de código abaixo eu mostro como usar as funções strpos() e stripos() para obter uma matriz contendo todas as posições das ocorrências de uma substring dentro de uma string:
<?php
$frase = "PHP? Gosto muito de PHP e Java. Mas prefiro PHP e Delphi";
$palavra = "PHP";
// primeiro vamos verificar se a palavra está contida na frase
if(strpos($frase, $palavra) !== false){
// agora vamos obter as posições de todas as ocorrências
$posicoes = array();
$offset = 0;
$posicao = -1;
while($offset < strlen($frase)){
$posicao = strpos($frase, $palavra, $offset);
if($posicao !== false){
$posicoes[] = $posicao;
$offset = $posicao + strlen($palavra);
}
else{
$offset++;
}
}
// percorre a matriz de posições e informa o usuário
echo "A palavra foi encontrada nas posições: ";
for($i = 0; $i < count($posicoes); $i++){
echo $posicoes[$i] . ", ";
}
}
else{
echo "A palavra não está contida na string";
}
?>
Ao executarmos este código nós teremos o seguinte resultado: A palavra foi encontrada nas posições: 0, 20, 44, Note que a função strpos() diferencia maiúsculas de minúsculas. Se você quiser efetuar uma pesquisa de substrings desconsiderando maiúsculas e minúsculas, use a função stripos(). |
C# ::: Desafios e Lista de Exercícios Resolvidos ::: Laços de Repetição |
Exercícios Resolvidos de C# - Escreva um programa (algorítmo) C# que usa o laço do...while para ler um número indeterminado de idades. A condição de parada do laço é o valor da idade igual a 0Quantidade de visualizações: 2663 vezes |
|
Pergunta/Tarefa: Escreva um programa (algorítmo) C# que usa o laço do...while para ler um número indeterminado de idades de algumas pessoas. A condição de parada do laço é o valor da idade igual a 0. Calcule a escreva a idade média deste grupo de pessoas. Sua saída deverá ser parecida com: Informe a idade: 19 Informe a idade: 30 Informe a idade: 21 Informe a idade: 45 Informe a idade: 0 A idade média é: 28,75 Veja a resolução comentada deste exercício usando C# console:
using System;
namespace Estudos {
class Program {
static void Main(string[] args) {
int idade; // guarda a idade lida de cada indivíduo
double idade_media; // a idade média calculada
int soma = 0; // a soma das idades de cada indivíduo
int contador = 0; // conta as idades lidas
// laço do...while que repetirá até que o valor da idade seja 0
do {
Console.Write("Informe a idade: ");
idade = int.Parse(Console.ReadLine());
// a idade lida é diferente de 0?
if (idade != 0) {
soma = soma + idade; // soma mais esta idade
contador++; // aumenta a quantidade de idades lidas
}
} while (idade != 0);
// calcula a idade média
// note que forcei contador para o tipo double antes da divisão
// isso faz com que o resultado seja do tipo double
idade_media = soma / (contador * 1.0);
// finalmente mostramos o resultado
Console.WriteLine("A idade média é: " + idade_media);
Console.WriteLine("\n\nPressione uma tecla para sair...");
Console.ReadKey();
}
}
}
|
Mais Desafios de Programação e 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 |





