![]() |
|
|
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 ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes) |
Exercícios Resolvidos de C - Escreva um programa C para mover todos os zeros para o final do vetor, sem alterar a ordem dos elementos já presentes no arrayQuantidade de visualizações: 1268 vezes |
|
Pergunta/Tarefa: Dado o seguinte vetor de inteiros:
// vamos declarar e construir um vetor de 8 inteiros
int valores[] = {0, 3, 0, 5, 7, 4, 0, 9};
Sua saída deverá ser parecida com: Vetor na ordem original: 0 3 0 5 7 4 0 9 Vetor com os zeros deslocados para o final: 3 5 7 4 9 0 0 0 Veja a resolução comentada deste exercício usando C:
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
int main(int argc, char *argv[]){
// vamos declarar e construir um vetor de 8 inteiros
int valores[] = {0, 3, 0, 5, 7, 4, 0, 9};
int i; // para o controle do laço
int j; // variável auxiliar
int temp; // variável temporária
setlocale(LC_ALL,""); // para acentos do português
// vamos mostrar o vetor na ordem original
printf("Vetor na ordem original:\n");
for(i = 0; i < 8; i++){
printf("%d ", valores[i]);
}
// vamos inicializar j como 0 para que ele aponte para
// o primeiro elemento do vetor
j = 0;
// agora o laço for percorre todos os elementos do vetor,
// incrementanto a variável i e deixando o j em 0
for(i = 0; i < 8; i++){
// encontramos um valor que não é 0
if(valores[i] != 0){
// fazemos a troca entre os elementos nos índices
// i e j
temp = valores[i];
valores[i] = valores[j];
valores[j] = temp;
// e avançamos o j para o elemento seguinte
j++;
}
}
// agora mostramos o resultado
printf("\n\nVetor com os zeros deslocados para o final:\n");
for(i = 0; i < 8; i++){
printf("%d ", valores[i]);
}
printf("\n\n");
system("pause");
return 0;
}
Não se esqueça: A resolução do exercício deve ser feita sem a criação de um vetor, array ou lista adicional, e os elementos diferentes de zero devem permanecer na mesma ordem que eles estavam antes. |
VB.NET ::: Fundamentos da Linguagem ::: Estruturas de Controle |
Como usar o condicional If...Then e If...Then...Else em VB.NETQuantidade de visualizações: 18563 vezes |
Uma das estruturas condicionais mais usadas em VB.NET é o If...Then. Esta estrutura avalia uma condição e executa um bloco de códigos baseado no resultado. Veja um exemplo:
Dim valor As Integer = 10
If valor > 9 Then
Console.WriteLine("Valor é maior que 10")
End If
Há casos em que queremos que um bloco de códigos seja também executado caso a condição avaliada retorne um valor falso. Para isso podemos usar a estrutura If...Then...Else. Veja:
Dim valor As Integer = 10
If valor > 10 Then
Console.WriteLine("Valor é maior que 10")
Else
Console.WriteLine("Valor é menor ou igual a 10")
End If
Veja agora como é possível testarmos três condições:
Dim valor As Integer = 10
If valor > 10 Then
Console.WriteLine("Valor é maior que 10")
ElseIf valor < 10 Then
Console.WriteLine("Valor é menor que 10")
Else
Console.WriteLine("Valor é igual a 10")
End If
Todos os testes efetuados em uma estrutura If precisam retornar um valor True ou False. Veja como isso é verdade no trecho de código a seguir:
Dim valor As Integer = 15
If (valor > 10) = True Then
Console.WriteLine("Valor é maior que 10")
End If
Veja que usamos parênteses ao redor da condição para deixar claro a quem ler nosso código, que a condição é testada e só então seu resultado é comparado com a palavra-chave True. Podemos usar mais parênteses. Veja:
Dim valor As Integer = 15
If ((valor > 10) = True) Then
Console.WriteLine("Valor é maior que 10")
End If
O compilador nunca reclama dos parênteses. Podemos usá-los à vontade para tornar o código mais légivel. |
PHP ::: Dicas & Truques ::: Programação Orientada a Objetos |
Programação Orientada a Objetos em PHP - Como usar o modificador de acesso private em suas classes PHPQuantidade de visualizações: 9269 vezes |
O modificador private serve para indicar que as propriedades ou métodos (funções) de uma classe podem ser acessados somente por código residente na mesma classe. Veja um exemplo:
<?
class Pessoa{
private $nome;
}
$pessoa = new Pessoa;
$pessoa->nome = "Osmar J. Silva";
?>
Ao executarmos este código teremos a seguinte mensagem de erro: Fatal error: Cannot access private property Pessoa::$nome in C:\Apache_Web_Server\htdocs\testes.php on line 7 Esse erro ocorre porque a variável $nome, por estar marcada com o modificador private, não pode ser acessada por código fora da classe. Veja agora um exemplo envolvendo um método privado:
<?
class Pessoa{
private function somar($a, $b){
return $a + $b;
}
}
$pessoa = new Pessoa;
echo $pessoa->somar(4, 2);
?>
Ao executarmos este código, a seguinte mensagem de erro será exibida: Fatal error: Call to private method Pessoa::somar() from context '' in C:\Apache_Web_Server\htdocs\testes.php on line 9 Novamente, este erro é causado porque o método somar() não pode ser acessado por código fora da classe Pessoa. É importante notar, contudo, que as propriedades e métodos privados de uma classe não podem ser acessados nem mesmo por suas classes derivadas (sub-classes). |
Java ::: Dicas & Truques ::: Data e Hora |
Como retornar a diferença de dias entre duas datas em Java - Datas e horas em JavaQuantidade de visualizações: 11070 vezes |
Algumas vezes precisamos obter a diferença de dias entre duas datas em Java. Esta dica mostra como isso pode ser feito usando dois objetos da classe Date. Veja que usamos o método parse() da classe SimpleDateFormat para construir as duas datas e o método getTime() da classe Date para obter a quantidade de milisegundos desde 1º de janeiro de 1970 GMT armazenada em cada um dos objetos Date. O resto é um cálculo matemático bem simples:
package arquivodecodigos;
import java.util.*;
import java.text.*;
public class Estudos{
public static void main(String args[]){
try{
// constrói a primeira data
DateFormat fm = new
SimpleDateFormat("dd/MM/yyyy");
Date data1 = (Date)fm.parse("20/12/2019");
// constrói a segunda data
fm = new SimpleDateFormat("dd/MM/yyyy");
Date data2 = (Date)fm.parse("25/01/2020");
// vamos obter a diferença em dias
long diff = data2.getTime() -
data1.getTime();
// exibe o resultado
System.out.println("Primeira data: " + data1.toString());
System.out.println("Segunda data: " + data2.toString());
System.out.println("Diferença em dias = "
+ diff / (1000 * 60 * 60 * 24));
}
catch(ParseException e){
System.out.println("Erro: " + e.getMessage());
}
}
}
Ao executarmos este código Java nós teremos o seguinte resultado: Primeira data: Fri Dec 20 00:00:00 BRST 2019 Segunda data: Sat Jan 25 00:00:00 BRST 2020 Diferença em dias = 36 |
Delphi ::: Dicas & Truques ::: Rotinas de Conversão |
Como converter uma string em um valor numérico inteiro em Delphi usando as funções StrToInt(), TryStrToInt() e StrToIntDef()Quantidade de visualizações: 34299 vezes |
|
Em algumas situações precisamos converter strings em valores numéricos do tipo inteiro. Isso acontece quando recebemos valores de caixas de texto e precisamos usuá-los em cálculos. Vamos começar com a função StrToInt() da unit SysUtils. Esta função recebe uma string representando um valor inteiro válido e retorna um valor inteiro. Veja o exemplo:
procedure TForm1.Button1Click(Sender: TObject);
var
valor1, valor2, soma: Integer;
begin
// vamos receber as strings dos TEdits e converter
// seus valores para inteiros
valor1 := StrToInt(Edit1.Text);
valor2 := StrToInt(Edit2.Text);
// vamos obter a soma dos dois valores
soma := valor1 + valor2;
// vamos exibir o resultado. Note o uso de IntToStr() para
// converter o valor inteiro em string
ShowMessage('A soma é: ' + IntToStr(soma));
end;
Note que, se a string sendo convertida possuir um valor inteiro inválido, uma exceção do tipo EConvertError será lançada. Podemos evitar isso usando a função TryStrToInt(). Esta função recebe dois argumentos: a string a ser convertida e a variável do tipo Integer que receberá o valor. O resultado será true se a conversão for feita com sucesso e false em caso contrário. Veja:
procedure TForm1.Button1Click(Sender: TObject);
var
valor: Integer;
begin
// vamos tentar converter o valor da caixa de texto
// em um inteiro
if TryStrToInt(Edit1.Text, valor) then
ShowMessage('Conversão efetuada com sucesso.')
else
ShowMessage('Erro na conversão');
end;
Há ainda uma terceira possibilidade: usar a função StrToIntDef(). Esta função funciona exatamente da mesma forma que StrToInt(), exceto que agora, se houver um erro de conversão, um valor inteiro padrão será retornado. Veja: procedure TForm1.Button1Click(Sender: TObject); var valor: Integer; begin // vamos converter o valor da caixa de texto // em um inteiro. Se a conversão não puder ser feita // o valor 10 será atribuído à varial valor valor := StrToIntDef(Edit1.Text, 10); // vamos exibir o resultado ShowMessage(IntToStr(valor)); end; Caso você precise trabalhar com inteiros de 64 bits, poderá usar as funções StrToInt64(), StrToInt64Def() e TryStrToInt64(). Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009. |
Desafios, Exercícios e Algoritmos Resolvidos de Delphi |
Veja mais Dicas e truques de Delphi |
Dicas e truques de outras linguagens |
|
JavaScript - Como adicionar zeros (ou outro caractere) no início de uma string usando o método padStart() da linguagem JavaScript C++ - Programação Orientada a Objetos em C++ - Como criar e usar métodos estáticos em suas classes C++ |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |





