![]() |
|
|
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 |
||
|
||
|
|
||
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Laços de Repetição |
Exercícios Resolvidos de Java - Laços - Faça um programa para calcular o valor das seguintes expressõesQuantidade de visualizações: 2526 vezes |
|
Exercício Resolvido de Java - Laços - Faça um programa para calcular o valor das seguintes expressões Pergunta/Tarefa: Faça um programa para calcular o valor das seguintes expressões: 1) __$S_1 = \frac{1}{1} + \frac{3}{2} + \frac{5}{3} + \frac{7}{4} + \text{...} + \frac{99}{50} __$ 2) __$S_2 = \frac{2^1}{50} + \frac{2^2}{49} + \frac{2^3}{48} + \text{...} + \frac{2^\text{50}}{1} __$ 3) __$S_3 = \frac{1}{1} - \frac{2}{4} + \frac{3}{9} - \frac{4}{16} + \frac{5}{25} - \text{...} - \frac{10}{100} __$ Resposta/Solução: Em ambas as expressões nós temos o último termo nos informando os valores limites. Dessa forma, basta fixarmos um laço for ou laço while com estes limites. Veja a resolução deste exercício em código Java console:
package arquivodecodigos;
public class Estudos{
public static void main(String[] args){
// primeira expressão
int numerador = 1;
int denominador = 1;
double resultado = 0.0;
// laço while para montar os termos e fazer a somatória
while(numerador <= 99){
resultado = resultado + ((numerador * 1.0) / denominador);
numerador = numerador + 2;
denominador++;
}
// agora mostramos o resultado
System.out.println("Primeira expressão: " + resultado);
// segunda expressão
int expoente = 1;
denominador = 50;
resultado = 0.0;
// laço while para montar os termos e fazer a somatória
while(denominador >= 1){
resultado = resultado + ((Math.pow(2, expoente) * 1.0) / denominador);
expoente++;
denominador--;
}
// agora mostramos o resultado
System.out.println("Segunda expressão: " + resultado);
// terceira expressão
numerador = 1;
denominador = 1;
resultado = 0.0;
int sinal = 1;
// laço while para montar os termos e fazer a somatória
while(numerador <= 10){
if(sinal > 0){ // somar
resultado = resultado + ((numerador * 1.0) / denominador);
}
else{ // subtrair
resultado = resultado - ((numerador * 1.0) / denominador);
}
numerador++;
denominador = numerador * numerador;
sinal = sinal * -1;
}
// agora mostramos o resultado
System.out.println("Terceira expressão: " + resultado);
}
}
Ao executar este código Java nós teremos o seguinte resultado: Primeira expressão: 95.5007946616706 Segunda expressão: 1.5608286920413398E15 Terceira expressão: 0.6456349206349207 |
Java ::: Dicas & Truques ::: Gráficos |
Como desenhar em um JComponent (JLabel, JButton, JPanel, etc) usando o método getGraphics() para obter o contexto de desenhoQuantidade de visualizações: 14334 vezes |
|
A classe JComponent possui um método chamado getGraphics() que retorna um objeto da classe Graphics que pode ser usado para desenhar na superfície do componente. Desta forma, qualquer componente que herda de JComponent pode ser usado para esta finalidade. Antes de demonstrarmos como isso funciona, tenha em mente que o contexto de desenho de um componente só está disponível após ele ser pintado pela primeira vez. Se tentarmos obter o Graphics antes que o componente tenha sido pintado, corremos o risco de lançar uma exceção NullPointerException. O trecho de código abaixo mostra como desenhar uma linha em um JLabel ao clicar em um botão. Fique atento a este código. Boa parte das dicas vistas nesta seção usam esta abordagem:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Estudos extends JFrame{
JLabel label;
public Estudos() {
super("Desenhando em um JLabel");
Container c = getContentPane();
c.setLayout(new BorderLayout());
// Cria um JLabel
label = new JLabel();
c.add(label, BorderLayout.CENTER);
// Cria um botão
JButton btn = new
JButton("Desenhar uma linha");
btn.addActionListener(
new ActionListener(){
public void actionPerformed(ActionEvent e){
// Desenha uma linha no JLabel
Graphics graphics = label.getGraphics();
graphics.drawLine(0, 0, 150, 100);
}
}
);
// Adiciona o botão à janela
c.add(btn, BorderLayout.SOUTH);
setSize(350, 250);
setVisible(true);
}
public static void main(String args[]){
Estudos app = new Estudos();
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
Há algo de interessante neste código. Se você maximizar, minimizar ou redimensionar a janela verá que o desenho é apagado. Isso acontece porque todas as vezes que a janela sofre alguma alteração, ela é pintada novamente, juntamente com seus componentes filhos. Se você deseja que o desenho seja feito automaticamente novamente, é melhor fazer uma sub-classe do componente desejado e sobrescrever seu método paintComponent(). Nesta mesma seção você encontrará exemplos de como fazer isso. |
JavaScript ::: Dicas & Truques ::: Trigonometria - Funções Trigonométricas |
Como calcular o comprimento da hipotenusa em JavaScript dadas as medidas do cateto oposto e do cateto adjascenteQuantidade de visualizações: 1185 vezes |
Nesta dica mostrarei como é possível usar a linguagem JavaScript 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 JavaScript. Veja:
<html>
<head>
<title>Estudos JavaScript</title>
</head>
<body>
<script type="text/javascript">
var a = 20; // medida do cateto oposto
var b = 30; // medida do cateto adjascente
// agora vamos calcular o comprimento da hipotenusa
var c = Math.sqrt(Math.pow(a, 2) + Math.pow(b, 2));
// e mostramos o resultado
document.writeln("O comprimento da hipotenusa é: " + c);
</script>
</body>
</html>
Ao executar este código JavaScript nós teremos o seguinte resultado: O comprimento da hipotenusa é: 36.05551275463989 Como podemos ver, o resultado retornado com o código JavaScript confere com os valores da imagem apresentada. |
C ::: Desafios e Lista de Exercícios Resolvidos ::: Struct (Estruturas, Registros) |
Exercício Resolvido de C - Programa de cálculo de médias de alunos. Escrever um programa C que cadastre o nome, a matrícula e duas notas de vários alunosQuantidade de visualizações: 3462 vezes |
|
Pergunta/Tarefa: Programa de cálculo de médias de alunos. Escrever um programa C que cadastre o nome, a matrícula e duas notas de vários alunos. Em seguida imprima a matrícula, o nome e a média de cada um deles. Seu código deverá, obrigatoriamente, usar a estrutura abaixo para a representação de cada aluno:
// estrutura Aluno
typedef struct{
int matricula;
char nome[100];
float nota1;
float nota2;
} Aluno;
LEITURA DOS ALUNOS: Matrícula do Aluno 1: 123 Nome do Aluno 1: OSMAR J SILVA Nota 1 do Aluno 1: 8,5 Nota 2 do Aluno 1: 9,3 Matrícula do Aluno 2: 432 Nome do Aluno 2: FABIANA CASTRO Nota 1 do Aluno 2: 9 Nota 2 do Aluno 2: 8,2 DADOS DOS ALUNOS: DADOS DO ALUNO 1: Matrícula: 123 Nome: OSMAR J SILVA Nota 1: 8,50 Nota 2: 9,30 Média: 8,90 DADOS DO ALUNO 2: Matrícula: 432 Nome: FABIANA CASTRO Nota 1: 9,00 Nota 2: 8,20 Média: 8,60 Veja a resolução comentada deste exercício usando C: Código para alunos.c:
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
// estrutura Aluno
typedef struct{
int matricula;
char nome[100];
float nota1;
float nota2;
} Aluno;
// define a quantidade de alunos que serão lidos
#define QUANT_ALUNOS 2
int main(int argc, char *argv[]) {
int i; // controle do laço
Aluno alunos[QUANT_ALUNOS]; // vetor de alunos
setlocale(LC_ALL,""); // para acentos do português
printf("LEITURA DOS ALUNOS:\n\n");
for(i = 0; i < QUANT_ALUNOS; i++){
// vamos ler a matrícula do aluno
printf("Matrícula do Aluno %d: ", (i + 1));
scanf("%d", &alunos[i].matricula);
fflush(stdin); // para o scanf não sair pulando o gets
// agora o nome do aluno
printf("Nome do Aluno %d: ", (i + 1));
gets(alunos[i].nome);
// vamos ler a primeira nota
printf("Nota 1 do Aluno %d: ", (i + 1));
scanf("%f", &alunos[i].nota1);
// vamos ler a segunda nota
printf("Nota 2 do Aluno %d: ", (i + 1));
scanf("%f", &alunos[i].nota2);
}
// agora vamos mostrar os alunos lidos, com suas notas
// e suas médias aritméticas
printf("\nDADOS DOS ALUNOS:\n");
for(i = 0; i < QUANT_ALUNOS; i++){
printf("\nDADOS DO ALUNO %d:\n ", (i + 1));
printf("Matrícula: %d\n", alunos[i].matricula);
printf("Nome: %s\n", alunos[i].nome);
printf("Nota 1: %.2f\n", alunos[i].nota1);
printf("Nota 2: %0.2f\n", alunos[i].nota2);
printf("Média: %.2f\n", (alunos[i].nota1 + alunos[i].nota2) / 2);
}
printf("\n\n");
system("pause");
return 0;
}
|
Angular ::: Dicas & Truques ::: Componentes Angular |
Angular para iniciantes - Como criar o seu primeiro componente Angular usando o Angular CLI - Comando ng generate componentQuantidade de visualizações: 3235 vezes |
|
Aplicações Angular são construidas em cima de componentes, e estes consistem de: a) Um template HTML que declara o que deve ser renderizado na página. b) Uma classe TypeScript que define o comportamento do componente. c) Um seletor CSS que define com o componente será usado em um template. d) Estilos CSS opcionais aplicados ao template. Todos esses aspectos acima são abordados em mais dicas dessa seção. O importante agora é entendermos como criar o componente e exibí-lo no navegador. Assim, se você ainda não o fez, crie uma nova aplicação Angular usando o Angular CLI. Você pode usar um comando parecido com: c:\estudos_angular>ng new estudos Este comando vai criar uma nova aplicação Angular com o nome estudos dentro da pasta "c:\estudos_angular". Aguarde alguns minutos e verá que o Angular CLI já criou toda a estrutura da aplicação. Para executá-la, dispare os comandos abaixo: c:\estudos_angular>cd estudos c:\estudos_angular\estudos>ng serve --open Quando a aplicação subir, veremos o seguinte resultado: ![]() Você obteve um resultado parecido? Então vamos continuar. Vá até o diretório "C:\estudos_angular\estudos\src\app" e você verá que o Angular CLI já criou para nós um componente com o nome AppComponent por meio dos arquivos app.component.css, app.component.html, app.component.spec.ts e app.component.ts. Agora vamos voltar nossa atenção para o arquivo app.module.ts. Abra ele no seu editor de texto favorito e você verá o seguinte código:
import {NgModule} from '@angular/core';
import {BrowserModule} from '@angular/platform-browser';
import {AppComponent} from './app.component';
@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }
Por ora não vamos analisar todo o conteúdo deste arquivo, apenas fique atento ao que vai acontecer com ele depois que criarmos nosso novo componente, o que faremos agora. Abra uma nova janela de terminal, navegue até o diretório raiz da aplicação e dispare o seguinte comando: c:\angular>cd estudos c:\angular\estudos>ng generate component noticia Nesse momento o Angular CLI criou uma pasta noticia com os seguintes arquivos: noticia.component.css noticia.component.html noticia.component.spec.ts noticia.component.ts Agora volte até o arquivo app.module.ts e veja que o Angular CLI o modificou, adicionando o novo componente NoticiaComponent. É importante entender bem o que acontece com este arquivo, pois é ele que indica qual componente será iniciado em primeiro lugar junto com a aplicação Angular. Agora abra o arquivo noticia.component.ts e altere o seu conteúdo para a versão abaixo:
import { Component } from '@angular/core';
@Component({
selector: 'app-noticia',
templateUrl: './noticia.component.html',
styleUrls: ['./noticia.component.css']
})
export class NoticiaComponent{
titulo = `Presidente afirma que o preço da gasolina
não sobe mais.`;
}
Agora vá em noticia.component.html e altere-o para o código abaixo:
<div>
<h2>Sou o componente Noticia</h2>
<h3>{{ titulo }}</h3>
</div>
Nosso componente está pronto. Vamos fazer uns ajustes no componente que o Angular CLI criou para nós automaticamente. Abra o arquivo app.component.ts e altere o seu conteúdo para:
import { Component } from '@angular/core';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
nome = 'AppComponent';
}
Agora vá até o arquivo app.component.html e modifique-o para o código abaixo:
<div>
<h1>Sou o componente que o Angular CLI criou</h1>
<h2>Meu nome é: {{ nome }}</h2>
</div>
<app-noticia></app-noticia>
Veja que coloquei o componente <app-noticia></app-noticia> dentro do componente principal. Agora, se você reiniciar a aplicação (é provável que as mudanças já estejam aparecendo no seu navegador) você verá o resultado abaixo: ![]() Obteve resultado parecido? Que maravilha! Agora, para terminar esta dica, abra o arquivo noticia.component.css e vamos adicionar os estilos CSS abaixo:
h2 {color: red}
div {border: 1px solid green; padding: 10px}
Veja a aplicação novamente e note como o componente Noticia já contém uma formatação diferente. Agora é só criar vários componentes, agrupá-los, aplicar formatações CSS, imagens, etc, e contruir uma aplicação realmente interessante. |
Veja mais Dicas e truques de Angular |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |








