![]() |
|
|
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 - Construção Civil |
||
|
||
|
|
||
C++ ::: Fundamentos da Linguagem ::: Estruturas de Controle |
C++ para iniciantes - Como criar um laço while infinito na linguagem C++Quantidade de visualizações: 10140 vezes |
É possível criar um laço while infinito em C++ simplesmente fornecendo o valor true para o teste da condição. Veja:
#include <string>
#include <iostream>
using namespace std;
int main(int argc, char *argv[]){
// um laço while infinito
int valor = 0;
while(true){
cout << valor << "\n";
valor++;
if(valor > 10)
break;
}
cout << "\n\n";
system("PAUSE"); // pausa o programa
return EXIT_SUCCESS;
}
Veja que aqui nós usamos a instrução break para interromper a execução do laço. Tenha o cuidado de sempre monitorar os laços infinitos. Se não houver nenhum ponto de parada, seu programa executará indefinidamente até que sua máquina seja desligada ou o programa seja forçosamente terminado. |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Programação Orientada a Objetos |
Exercícios Resolvidos de Java - Escreva uma classe Biblioteca que possui uma ArrayList de objetos da classe Livro. Forneça um menu para listar, cadastrar, pesquisar e excluir livrosQuantidade de visualizações: 898 vezes |
|
Pergunta/Tarefa: Escreva um programa Java contendo duas classes: Biblioteca e Livro. A classe Biblioteca deverá ter uma coleção de livros, ou seja, uma ArrayList de objetos da classe Livro. Além da coleção de livros a classe Biblioteca deverá conter um atributo nome, que será informado assim que a classe for instanciada. A classe Livro, por sua vez, deverá possuir os atributos id, titulo, autor e paginas. O atributo id deverá ser auto-incremento, isto é, 1 para o primeiro livro cadastrado, 2 para o segundo, e assim por diante. Além disso, a exclusão de livros deverá ser feita de acordo com o seu id ou título. Seu programa deverá exibir um menu de opções para as diversas operações da biblioteca. Uma boa opção em Java é usar a estrutura switch case para a criação do menu de opções. Atenção: todos os métodos de manipulação de livros deverão estar na classe Biblioteca, e não na classe principal do programa Java. Para finalizar, tanto a classe Biblioteca quanto a classe Livro deverão apresentar boas práticas de programação orientada a objetos: nomenclatura correta de classes, atributos e métodos, encapsulamento de dados e construtores. Sua saída deverá ser parecida com: ------------------------------------------------- :: Biblioteca Programação e Artes :: ------------------------------------------------- Bem-vindo(a) ao sistema. Escolha a opção desejada 1 - Novo Livro 2 - Listar Livros 3 - Pesquisar Livro 4 - Excluir Livro 5 - Sair Sua opção: 1 Título: JAVA PARA INICIANTES Autor: OSMAR J SILVA Quant Páginas: 480 O livro foi cadastrado com sucesso Veja a resolução comentada deste exercício em Java: Código para a classe Livro, que deve estar no arquivo Livro.java:
package estudos;
// definição da classe Livro
public class Livro {
private int id; // id do livro. Não pode repetir
private String titulo;
private String autor;
private int paginas;
// construtor vazio da classe Livro
public Livro() {}
// construtor cheio da classe Livro
public Livro(int id, String titulo, String autor, int paginas) {
this.id = id;
this.titulo = titulo;
this.autor = autor;
this.paginas = paginas;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getTitulo() {
return titulo;
}
public void setTitulo(String titulo) {
this.titulo = titulo;
}
public String getAutor() {
return autor;
}
public void setAutor(String autor) {
this.autor = autor;
}
public int getPaginas() {
return paginas;
}
public void setPaginas(int paginas) {
this.paginas = paginas;
}
}
Código para a classe Biblioteca, que deve estar no arquivo Biblioteca.java:
package estudos;
// imports necessários
import java.util.ArrayList;
import java.util.Scanner;
// definição da classe Biblioteca
public class Biblioteca {
String nome;
ArrayList<Livro> livros; // ArrayList para guardar os livros
// variável do tipo int para gerar IDs auto-incremento para os livros
int idUltimoLivroCadastrado = 0;
// construtor da classe
public Biblioteca(String nome) {
this.nome = nome;
this.livros = new ArrayList();
}
// exibe o menu de opções da biblioteca
public void exibirMenu(){
// para ler a entrada do usuário
Scanner entrada = new Scanner(System.in);
// variáveis temporárias
Livro temp;
String pesquisaLivro;
// um laço infinito com as opções do menu
while(true){
System.out.println("\n-------------------------------------------------");
System.out.println(":: " + this.nome + " ::");
System.out.println("-------------------------------------------------");
System.out.println("Bem-vindo(a) ao sistema. Escolha a opção desejada\n");
System.out.println("1 - Novo Livro");
System.out.println("2 - Listar Livros");
System.out.println("3 - Pesquisar Livro");
System.out.println("4 - Excluir Livro");
System.out.println("5 - Sair");
System.out.print("\nSua opção: ");
// lê a opção do usuário
int opcao = Integer.parseInt(entrada.nextLine());
// um menu switch para ler as opções do menu
switch(opcao){
case 1: // vamos cadastrar um novo livro
System.out.print("\nTítulo: ");
String titulo = entrada.nextLine();
System.out.print("Autor: ");
String autor = entrada.nextLine();
System.out.print("Quant Páginas: ");
int quantPaginas = Integer.parseInt(entrada.nextLine());
// vamos gerar o id deste livro
int id = ++this.idUltimoLivroCadastrado;
// agora vamos criar um novo objeto da classe Livro
Livro livro = new Livro(id, titulo, autor, quantPaginas);
// e o adicionamos no ArrayList de livros
livros.add(livro);
// e finalmente mostramos uma mensagem de sucesso.
System.out.println("\nO livro foi cadastrado com sucesso");
break;
case 2: // vamos listar os livros cadastrados
if(livros.isEmpty()){
System.out.println("\nNão há nenhum livro cadastrado.");
}
else{
for(int i = 0; i < livros.size(); i++){
temp = livros.get(i); // obtém o livro da iteração atual
System.out.println("\nId: " + temp.getId());
System.out.println("Título: " + temp.getTitulo());
System.out.println("Autor: " + temp.getAutor());
System.out.println("Quant. Paginas: " + temp.getPaginas());
}
}
break;
case 3: // vamos pesquisar um livro
System.out.print("\nInforme o id ou título do livro: ");
pesquisaLivro = entrada.nextLine();
// chamamos o método que pesquisa o livro
temp = this.pesquisarLivro(pesquisaLivro);
if(temp == null){ // livro não encontrado
System.out.println("\nO livro náo foi encontrado.");
}
else{
// mostra o livro encontrado
System.out.println("\nId: " + temp.getId());
System.out.println("Título: " + temp.getTitulo());
System.out.println("Autor: " + temp.getAutor());
System.out.println("Quant. Paginas: " + temp.getPaginas());
}
break;
case 4: // vamos excluir um livro
System.out.print("\nInforme o id ou título do livro a ser excluído: ");
pesquisaLivro = entrada.nextLine();
// chamamos o método que pesquisa o livro
temp = pesquisarLivro(pesquisaLivro);
if(temp == null){ // livro não encontrado
System.out.println("\nO livro não foi encontrado.");
}
else{
// vamos excluir este livro
livros.remove(temp);
System.out.println("\nLivro excluído com sucesso.");
}
break;
case 5: // sai da aplicação
System.out.println("\nObrigado por usar a biblioteca\n");
System.exit(0);
default:
System.out.println("\nOpção inválida\n");
break;
}
}
}
// método que pesquisa um livro pelo id ou e retorna um objeto da classe Livro
public Livro pesquisarLivro(String pesquisaLivro){
Livro livro = null;
// este livro existe?
for(int i = 0; i < livros.size(); i++){
// pesquisa pelo id
if(Integer.toString(livros.get(i).getId()).equals(pesquisaLivro)){
return livros.get(i);
}
// pesquisar por título
else if(livros.get(i).getTitulo().contains(pesquisaLivro)){
return livros.get(i);
}
}
return livro;
}
}
E aqui está o código para a classe principal Estudos, no arquivo Estudos.java:
package estudos;
public class Estudos {
public static void main(String[] args) {
// vamos criar um novo objeto da classe Biblioteca
Biblioteca b = new Biblioteca("Biblioteca Programação e Artes");
// mostra o menu da biblioteca
b.exibirMenu();
}
}
|
PHP ::: Dicas & Truques ::: Arquivos e Diretórios |
Como testar se um diretório existe em PHP usando a função file_exists()Quantidade de visualizações: 19457 vezes |
|
Em algumas situações nós precisamos verificar se um determinado diretório existe no sistema antes de efetuarmos alguma operação. Para isso nós podemos usar a função file_exists(). Esta função retorna um valor true se o diretório existir e false em caso contrário. Veja um código PHP completo demonstrando o seu uso:
<?php
$diretorio = "arquivo/imagens";
if(file_exists($diretorio)){
echo "O diretório já existe.";
}
else{
echo "O diretório não existe ainda.";
}
?>
|
C ::: Dicas & Truques ::: Trigonometria - Funções Trigonométricas |
Como calcular a área de um círculo em C dado o raio do círculoQuantidade de visualizações: 9812 vezes |
A área de um círculo pode ser calculada por meio do produto entre a constante PI e a medida do raio ao quadrado (r2). Comece analisando a figura abaixo:![]() Sendo assim, temos a seguinte fórmula: ![]() Onde A é a área, PI equivale a 3,14 (aproximadamente) e r é o raio do círculo. O raio é a medida que vai do centro até um ponto da extremidade do círculo. O diâmetro é a medida equivalente ao dobro da medida do raio, passando pelo centro do círculo e dividindo-o em duas partes. A medida do diâmetro é 2 * Raio. Veja agora um código C completo que calcula a área de um círculo mediante a informação do raio:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
// vamos definir o valor de PI
#define PI 3.14159265358979323846
int main(int argc, char *argv[]){
int raio;
printf("Informe o raio do círculo: ");
// efetua a leitura do raio
scanf("%d", &raio);
// calcula a área
double area = PI * pow(raio, 2);
// mostra o resultado
printf("A area do círculo de raio %d é igual a %f\n\n",
raio, area);
system("PAUSE");
return 0;
}
Ao executarmos este código nós teremos o seguinte resultado: Informe o raio do círculo: 5 A area do círculo de raio 5 é igual a 78.539816 A circunferência é um conjunto de pontos que estão a uma mesma distância do centro. Essa distância é conhecida como raio. A circunferência é estudada pela Geometria Analítica e, em geral, em um plano cartesiano. O círculo, que é formado pela circunferência e pelos infinitos pontos que preenchem seu interior, é estudado pela Geometria Plana, pois ele ocupa um espaço e pode ter sua área calculada, diferentemente da circunferência. |
Delphi ::: Dicas & Truques ::: Trigonometria - Funções Trigonométricas |
Como calcular o cateto adjascente dadas as medidas da hipotenusa e do cateto oposto em DelphiQuantidade de visualizações: 2022 vezes |
|
Nesta dica mostrarei como podemos tirar proveito do Teorema de Pitágoras para obter a medida do cateto adjascente quando temos as medidas da hipotenusa e do cateto oposto. Este teorema diz que "o quadrado da hipotenusa é igual à soma dos quadrados dos catetos", o que torna a nossa tarefa, na linguagem Delphi, muito fácil. Comece observando 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. A medida da hipotenusa é, sem arredondamentos, 36.056 metros. 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 que fazer é mudar a fórmula para: \[b^2 = c^2 - a^2\] Veja que agora o quadrado do cateto adjascente é igual ao quadrado da hipotenusa menos o quadrado do cateto oposto. Não se esqueça de que a hipotenusa é o maior lado do triângulo retângulo. Veja agora como esse cálculo é feito em linguagem Delphi:
procedure TForm2.Button1Click(Sender: TObject);
var
a, b, c: Real;
begin
c := 36.056; // medida da hipotenusa
a := 20; // medida do cateto oposto
// agora vamos calcular a medida da cateto adjascente
b := sqrt(sqr(c) - sqr(a));
// e mostramos o resultado
Edit1.Text := 'A medida do cateto adjascente é: ' +
FloatToStr(b);
end;
Note que este cálculo foi feito a partir do evento Click de um botão Button1 e o resultado foi exibido na propriedade Text de uma caixa de texto Edit1. Ao executar este código Delphi nós teremos o seguinte resultado: A medida do cateto adjascente é: 30,0005855942847 Como podemos ver, o resultado retornado com o código Delphi confere com os valores da imagem apresentada. |
Desafios, Exercícios e Algoritmos Resolvidos de Delphi |
Veja mais Dicas e truques de Delphi |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |







