Dúvidas, comentários e doaçoes: +55 62 9 8513 2505

Planilha de Dimensionamento de Tubulações Hidráulicas Água Fria e Água Quente Completa
Nossa 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 - Construção Civil
Card 1 de 28
Fases de uma obra

A Planta de Localização (escala usual 1:200) identifica a posição da obra no terreno. Serve para implantar o projeto.

Filtrar Cards
Use esta opção para filtrar os cards pelos tópicos que mais lhe interessam.
Termos:
Aviso Importante: Nos esforçamos muito para que o conteúdo dos cards e dos testes e conhecimento seja o mais correto possível. No entanto, entendemos que erros podem ocorrer. Caso isso aconteça, pedimos desculpas e estamos à disposição para as devidas correções. Além disso, o conteúdo aqui apresentado é fruto de conhecimento nosso e de pesquisas na internet e livros. Caso você encontre algum conteúdo que não deveria estar aqui, por favor, nos comunique pelos e-mails exibidos nas opções de contato.
Link para compartilhar na Internet ou com seus amigos:

C# ::: Windows Forms ::: DataGridView

Como retornar a célula atual em um DataGridView do C# Windows Forms como um objeto da classe DataGridViewCell

Quantidade de visualizações: 13494 vezes
A célula atual de um DataGridView pode ser obtida por meio da propriedade CurrentCell. Esta propriedade retorna um objeto da classe DataGridViewCell. Por meio de propriedades e métodos desta classe podemos obter os índices da coluna e da linha às quais a célula pertence, seu valor, estilo, etc.

Veja um trecho de código no qual obtemos o valor da célula atual de um DataGridView:

private void button3_Click(object sender, EventArgs e){
  // vamos obter a célula atual (que possui o foco)
  DataGridViewCell celulaAtual = dataGridView1.CurrentCell;

  // vamos exibir o valor da célula atual
  string valor = celulaAtual.Value.ToString();
  MessageBox.Show("O valor da célula atual é: "
    + valor);
}

Se não houver célula atual no DataGridView, o retorno da propriedade CurrentCell será null.


JavaScript ::: Dicas & Truques ::: Matemática e Estatística

Como calcular raiz quadrada usando o método sqrt() do objeto Math do JavaScript

Quantidade de visualizações: 15690 vezes
Em várias situações, principalmente quando estamos desenvolvendo códigos para aplicações financeiras, nós precisamos calcular a raiz quadrada de um determinado valor numérico. Para isso nós podemos usar a função sqrt() do objeto Math da linguagem JavaScript.

Esta função recebe um valor numérico (inteiro ou real) e desenvolve também um valor numérico. Veja um exemplo de seu uso:

<!doctype html>
<html>
<head>
  <title>Estudando JavaScript</title>
</head>
 
<body>
 
<script type="text/javascript">
  var numero = 9;
  var raiz = Math.sqrt(numero);
  document.write("A raiz quadrada de " + numero + " é " +
    raiz);
</script>
 
</body>
</html>

Ao executar este código JavaScript nós teremos o seguinte resultado:

A raiz quadrada de 9 é 3


Java ::: Desafios e Lista de Exercícios Resolvidos ::: Java Básico

Exercícios Resolvidos de Java - Como testar se um número é positivo ou negativo em Java

Quantidade de visualizações: 13972 vezes
Pergunta/Tarefa:

Escreva um programa Java que pede para o usuário informar um número inteiro. Em seguida seu código deverá informar se o número informado é positivo, negativo ou neutro. O zero não é um número positivo nem negativo, já que não é maior nem menor que si mesmo. Por essa razão dizemos que ele é um número neutro.

Sua saída deve ser parecida com:

Informe um número inteiro: 3
O número 3 é positivo.
Informe um número inteiro: -5
O número -5 é negativo.
Informe um número inteiro: 0
O número 0 é neutro.
Resposta/Solução:

Veja a solução comentada deste exercício usando a linguagem Java:

package estudos;

import java.util.Scanner;

public class Estudos {
  public static void main(String[] args) {
    Scanner entrada = new Scanner(System.in);
    
    // vamos ler o número
    System.out.print("Informe um número inteiro: ");
    int numero = Integer.parseInt(entrada.nextLine());
    
    // o número é positivo?
    if(numero > 0){
      System.out.println("O número " + numero + " é positivo.");
    }
    // o número é negativo?
    else if(numero < 0){
      System.out.println("O número " + numero + " é negativo.");
    }
    else{ // o número é neutro
      System.out.println("O número " + numero + " é neutro.");
    }
  }
}



Laravel ::: Artigos e Tutorias ::: CRUD - CREATE, READ, UPDATE, DELETE

Como criar um CRUD completo em Laravel 8 - CRUD em Laravel usando PHP e MySQL (MariaDB) - Parte 2

Quantidade de visualizações: 3441 vezes
Na parte 1 deste tutorial sobre CRUD em Laravel usando PHP e MySQL (MariaDB) nós criamos a base de dados MySQL para a nossa aplicação biblioteca, criamos a aplicação Laravel, fizemos a migração e rodamos a migração, o que resultou na criação de uma tabela MySQL chamada livros.

Nessa segunda parte nós vamos iniciar criando a rota de redirecionamento das ações do CRUD. Vamos criar também o controller e as primeiras views.

Criando a rota de redirecionamento - routes/web.php

Vá até o diretório C:\xampp\htdocs\biblioteca\routes e abra o arquivo web.php. Você verá que ele possui o seguinte conteúdo:

<?php

use Illuminate\Support\Facades\Route;

/*
|--------------------------------------
| Web Routes
|--------------------------------------
|
| Here is where you can register web routes
| for your application. These routes are loaded
| by the RouteServiceProvider within a group
| which contains the "web" middleware group.
| Now create something great!
|
*/

Route::get('/', function () {
    return view('welcome');
});
?>

Vamos alterar o seu conteúdo para a versão abaixo:

<?php

use Illuminate\Support\Facades\Route;
use App\Http\Controllers\LivroController;

Route::resource('livros', LivroController::class);

?>

Veja que criamos uma rota para um recurso, que neste caso será o controller LivroController. Passamos o nome livros para esta rota, de forma que a URL http://localhost/biblioteca/public/livros/create abrirá a view para cadastrar um novo livro.

Hora de criar o controller e o model - a parte controle e modelo do MVC

Com a rota de direcionamento devidamente criada, vamos partir para o controller. Abra uma janela de terminal e digite o comando abaixo:

C:\xampp\htdocs\biblioteca>php artisan make:controller LivroController --resource --model=Livro

O Artisan nos perguntará se queremos criar o modelo também. Informe "yes" e pressione Enter.

A App\Models\Livro model does not exist. Do you want to generate it? (yes/no) [yes]:
> yes

Se tudo correr bem, você verá a seguinte mensagem:

Model created successfully.
Controller created successfully.

Vá até o diretório C:\xampp\htdocs\biblioteca\app\Http\Controllers e localize o arquivo LivroController.php. Abra-o e note que temos os métodos index(), create(), store(), show(), edit(), update() e destroy(). Cada um destes métodos corresponde a uma ação que podemos executar na tabela de livros. Vamos começar com o método create(). Limpe todo o conteúdo deste controller e deixe apenas o código abaixo:

<?php

namespace App\Http\Controllers;

use App\Models\Livro;
use Illuminate\Http\Request;

class LivroController extends Controller{
  // mostra a view para cadastrar um novo livro
  public function create(){
    return view('livros.create');
  }
}

?>

O método create() apenas exibirá a página (view) que nos permitirá cadastrar um novo livro. Porém, antes de criar a primeira view, vá no diretório C:\xampp\htdocs\biblioteca\app\Models, localize e abra o arquivo Livro.php. Vamos modificá-lo para o código abaixo:

<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;

class Livro extends Model{
  use HasFactory;

  protected $fillable = [
    'titulo', 'autor', 'paginas'
  ];
}

?>

Veja que informamos, no model Livro, os campos da tabela que serão preenchidos com as nossas informações. Os campos id, created_at e updated_at serão gerenciados pelo Laravel.

A view para cadastrar um novo livro

Chegou o grande momento. Vamos criar a página que nos permitirá cadastrar os livros. Para manter as coisas simples, escreveremos um view bem simples, sem muita formatação. Mas você poderá deixá-la mais bonita mais tarde. O importante aqui é entender a funcionalidade.

Veja o código completo para a view create.blade.php:

<html>
<head>
  <meta charset="utf-8">
  <title>Biblioteca</title>
</head>
<body>

<h1>Novo Livro</h1>

@if($status = Session::get('mensagem'))
  <h2>{{ $status }}</h2>
@endif

@if($errors->any())
  <h2>Houve alguns erros ao processar o formulário</h2>
  <ul>
     @foreach($errors->all() as $error)
        <li>{{ $error }}</li>
     @endforeach
  </ul>
@endif

<form action="{{ route('livros.store') }}" method="post">
@csrf
<table width="200" border="0" cellspacing="3" 
  cellpadding="3">
  <tr>
    <td>Título:</td>
    <td><input type="text" name="titulo" id="titulo" 
      placeholder="Título"></td>
  </tr>
  <tr>
    <td>Autor:</td>
    <td><input type="text" name="autor" id="autor"
      placeholder="Autor"></td>
  </tr>
  <tr>
    <td>Páginas</td>
    <td><input type="text" size="10" name="paginas" 
      id="paginas" placeholder="Quant. Páginas"></td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td><button type="submit">Gravar</button></td>
  </tr>
</table>
</form>

</body>
</html>

Aqui nós criamos um formulário com a action apontando para {{route('livros.store')}}, e a forma de envio é POST. Temos também três elementos HTML do tipo input text, cada um com a propriedade name contendo o mesmo nome do campo na tabela livros. Salve esta view no diretório C:\xampp\htdocs\biblioteca\resources\views\livros.

Agora abra o seu navegador no endereço http://localhost/biblioteca/public/livros/create e teremos o seguinte resultado:



Agora só precisamos obter as informações do formulário e salvá-las no banco de dados.

Gravando o novo livro na tabela do banco de dados

Vamos ver agora como obter os dados do formulário, passá-los para o controller, instanciar o model e finalmente persistir no banco de dados MySQL. Você viu que os dados do form são enviados para o método store() do controller livros. Assim, abra o LivroController.php e adicione o código abaixo:

<?php

namespace App\Http\Controllers;

use App\Models\Livro;
use Illuminate\Http\Request;

class LivroController extends Controller{
  // mostra a view para cadastrar um novo livro
  public function create(){
    return view('livros.create');
  }

  // recebe as informações do formulário e as grava
  // no banco de dados
  public function store(Request $request){
    // valida o formulário
    $request->validate([
      'titulo' => 'required',
      'autor' => 'required',
      'paginas' => 'required']);
    
    // obtém os valores do form
    Livro::create($request->all());
     
    // direciona para página cadastro novamente,
    // com uma mensagem de sucesso
    return redirect()->route('livros.create')
      ->with('mensagem', 'Livro salvo com sucesso.');
  }
}

?>

Pronto! A parte CREATE do CRUD já está completa. Experimente cadastrar um novo livro e veja o resultado na tabela do banco de dados. Observe que temos também a validação dos dados do formulário (mensagens indicando quais campos não foram preenchidos) e também uma mensagem de sucesso indicando que os dados foram gravados com sucesso.

Na parte 3 deste tutorial veremos como listar os livros cadastrados e a opção de excluir e editar os livros. Até lá.

Leia a parte 3 aqui: Como criar um CRUD completo em Laravel 8 - CRUD em Laravel usando PHP e MySQL (MariaDB) - Parte 3


C++ ::: Fundamentos da Linguagem ::: Tipos de Dados

Como usar o tipo de dados long ou long int da linguagem C++

Quantidade de visualizações: 22950 vezes
O tipo de dados long (também chamado de long int) da linguagem C++ é uma variação do tipo int e geralmente possui a mesma capacidade de armazenamento deste. Nós o usamos quando queremos representar números inteiros, ou seja, sem partes fracionárias, assim como int. É importante verificar se o seu compilador trata int e long da mesma forma. Veja um trecho de código demonstrando o uso deste tipo (note que estes estudos foram feitos no Windows XP - 32 bits - usando Dev-C++):

#include <iostream>

using namespace std;

int main(int argc, char *argv[]){
  // declara uma variável do tipo long
  long quant = 590;

  cout << "Quantidade: " << quant << "\n\n";

  system("PAUSE"); // pausa o programa
  return EXIT_SUCCESS;
}

Veja que a maioria dos compiladores C++ não faz distinção entre os tipos long e long int. A capacidade de armazenamento do tipo long depende da arquitetura na qual o programa está sendo executado. Uma forma muito comum de descobrir esta capacidade é usar os símbolos LONG_MIN e LONG_MAX, definidos no header climits (limits.h). Veja:

#include <iostream>

using namespace std;

int main(int argc, char *argv[]){
  cout << "Valor mínimo: " << LONG_MIN << "\n";
  cout << "Valor máximo: " << LONG_MAX << "\n\n";

  system("PAUSE"); // pausa o programa
  return EXIT_SUCCESS;
}

Ao executar este programa você terá um resultado parecido com:

Valor mínimo: -2147483648
Valor máximo: 2147483647

Veja que o tipo long aceita valores positivos e negativos. Tudo que você tem a fazer é tomar todo o cuidado para que os valores atribuidos a variáveis deste tipo não ultrapassem a faixa permitida. Veja um trecho de código que provoca o que chamamos de transbordamento (overflow):

#include <iostream>

using namespace std;

int main(int argc, char *argv[]){
  long soma = LONG_MAX + 2;

  cout << "Resultado: " << soma << "\n";

  system("PAUSE"); // pausa o programa
  return EXIT_SUCCESS;
}

Este programa exibirá o seguinte resultado:

Resultado: -2147483647

Note que este não é o resultado esperado, visto que LONG_MAX + 2 deveria retornar:

2147483647 + 2 = 2147483649

Porém, como o valor máximo que pode ser armazenado em um long é 2147483647, o procedimento adotado pelo compilador foi tornar o número negativo e subtrair 1. É claro que, se você testar este código em arquiteturas diferentes o resultado poderá ser diferente do exemplificado aqui.

Em termos de bytes, é comum o tipo long ser armazenado em 4 bytes, o que resulta em 32 bits (um byte é formado por 8 bits, lembra?). Veja um trecho de código que mostra como usar o operador sizeof() para determinar a quantidade de bytes necessários para armazenar um variável do tipo long:

#include <iostream>

using namespace std;

int main(int argc, char *argv[]){
  cout << "Tamanho de um long: " << sizeof(long)
    << " bytes\n\n";

  system("PAUSE"); // pausa o programa
  return EXIT_SUCCESS;
}

O resultado da execução deste código será algo como:

Tamanho de um long: 4 bytes



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

E-Book 650 Dicas, Truques e Exercícios Resolvidos de Python - PDF com 1.200 páginas
Domine lógica de programação e a linguagem Python com o nosso E-Book 650 Dicas, Truques e Exercícios Exercícios de Python, para você estudar onde e quando quiser.

Este e-book contém dicas, truques e exercícios resolvidos abrangendo os tópicos: Python básico, matemática e estatística, banco de dados, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book
E-Book 350 Exercícios Resolvidos de Java - PDF com 500 páginas
Domine lógica de programação e a linguagem Java com o nosso E-Book 350 Exercícios Exercícios de Java, para você estudar onde e quando quiser.

Este e-book contém exercícios resolvidos abrangendo os tópicos: Java básico, matemática e estatística, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: C
6º lugar: Delphi
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby


E-Book 350 Exercícios Resolvidos de Java - PDF com 500 páginas
Domine lógica de programação e a linguagem Java com o nosso E-Book 350 Exercícios Exercícios de Java, para você estudar onde e quando quiser. Este e-book contém exercícios resolvidos abrangendo os tópicos: Java básico, matemática e estatística, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book Apenas R$ 19,90


© 2026 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 32 usuários muito felizes estudando em nosso site.