![]() |
|
|
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. |
||
JavaScript ::: W3C DOM - (Wide Web Consortium) Document Object Model ::: Navegação e Pesquisa de Nós (Nodes) |
Como retornar uma coleção de nós filhos de um elemento HTML usando a propriedade childNodes do DOM do JavaScriptQuantidade de visualizações: 13391 vezes |
|
Em algumas situações temos um elemento HTML (um elemento DIV, por exemplo) e gostaríamos de retornar uma coleção contendo seus elementos filhos. Para isso podemos usar a coleção childNodes, definida no World Wide Web Consortium (W3C) Document Object Model (DOM) Level 1. A coleção childNodes contém todos os descendentes diretos de um determinado elemento HTML, incluindo os nós textos (text nodes) e comentários (comment nodes). Além disso, a ordem dos elementos retornados é aquela definida no código-fonte do documento HTML. Veja uma página HTML contendo um elemento DIV e, dentro deste, um parágrafo, um link e um elemento SPAN. Note como usamos a propriedade childNodes no elemento DIV para retornar seus três elementos filhos diretos (note que as quebras de linhas e o elemento BR também serão retornados):
<html>
<head>
<title>Estudos JavaScript</title>
<script type="text/javascript">
function obterNosFilhos(){
// vamos obter uma referência ao elemento div com o id "container"
var pai = document.getElementById("container");
// vamos obter a coleção de elementos filhos
var filhos = pai.childNodes;
// vamos obter a quantidade de elementos filhos deste elemento
window.alert("O elemento div contém " + filhos.length +
" elementos filhos.");
// vamos percorrer todos os elementos
for(var i = 0; i < filhos.length; i++){
var filho = filhos[i];
// este filho é um nó texto?
if(filho.nodeType == 3){
window.alert("O " + (i + 1) + "º filho é um nó texto. " +
"Seu conteúdo é: " + filho.data);
}
// este filho é um nó elemento?
else if(filho.nodeType == 1){
window.alert("O " + (i + 1) + "º filho é um nó elemento. " +
"Seu conteúdo é: " + filho.innerHTML);
}
}
}
</script>
</head>
<body>
<div id="container">
<p>Sou um parágrafo</p>
<a href="http://www.google.com">Sou um link</a><br>
<span>E eu sou um elemento span</span>
</div>
<br>
<button onclick="obterNosFilhos()">Obter nós filhos do elemento div</button>
</body>
</html>
Ao executarmos este código JavaScript nós teremos o seguinte resultado: O elemento div contém 8 elementos filhos. O 1º filho é um nó texto. Seu conteúdo é: O 2º filho é um nó elemento. Seu conteúdo é: Sou um parágrafo O 3º filho é um nó texto. Seu conteúdo é: O 4º filho é um nó elemento. Seu conteúdo é: Sou um link O 5º filho é um nó elemento. Seu conteúdo é: O 6º filho é um nó texto. Seu conteúdo é: O 7º filho é um nó elemento. Seu conteúdo é: E eu sou um elemento span O 8º filho é um nó texto. Seu conteúdo é: Ao executar este exemplo você perceberá que a quantidade de elementos filhos no IE é diferente daquela relatada pelo Firefox. Isso acontece devido à forma que os dois browsers tratam quebras de linhas e espaços. Tenha a certeza de usar a propriedade nodeType para identificar o tipo de elemento filho sendo retornado. A coleção childNodes pode ser chamada a partir dos seguintes elementos: a, abbr, acronym, address, applet, b, bdo, big, blink, blockquote, body, button, caption, center, cite, code, col, colgroup, dd, del, dfn, dir, div, dl, dt, em, fieldset, font, form, frameset, h1, h2, h3, h4, h5, h6, head, html, i, img, ins, kbd, keygen, label, legend, li, listing, map, marquee, menu, nobr, noframes, noscript, object, ol, optgroup, option, p, plaintext, pre, q, rt, ruby, s, samp, select, small, span, strike, strong, sub, sup, table, tbody, td, textarea, tfoot, th, thead, tr, tt, u, ul, var, xml e xmp. Esta dica foi escrita e testada no Google Chrome 127.0.6533.122 (Versão oficial) 64 bits. |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Java Básico |
Exercícios Resolvidos de Java - Escreva um programa Java que leia duas notas obtidas por um aluno na disciplina de Algoritmos e Programação de Computadores, o número de aulas ministradasQuantidade de visualizações: 19497 vezes |
|
Pergunta/Tarefa: Escreva um programa Java que leia duas notas obtidas por um aluno na disciplina de Algoritmos e Programação de Computadores, o número de aulas ministradas e o número de aulas assistidas por este aluno nesta disciplina. Calcule e mostre a média final deste aluno e diga se ele foi aprovado ou reprovado. Considere que para um aluno ser aprovado ele deve obter média final igual ou maior a 6,0 e ter no mínimo 75% de frequência. Importante: Seu código Java deverá validar os dados de entrada para que as notas não sejam menores que zero nem maiores que 10. Além disso, o número de aulas assistidas não pode ser maior que o número de aulas ministradas. Seu programa Java deverá exibir uma saída parecida com: Informe a primeira nota: 9 Informe a segunda nota: 7 Quantidade de aulas ministradas: 20 Quantidade de aulas assistidas: 17 Aluno aprovado com média 8.0 e frequencia 85.0% Veja a resolução comentada deste exercício usando Java:
package estudos;
import java.util.Scanner;
public class Estudos {
public static void main(String[] args) {
// para ler a entrada do usuário
Scanner entrada = new Scanner(System.in);
// vamos ler as duas notas do aluno
System.out.print("Informe a primeira nota: ");
double n1 = Double.parseDouble(entrada.nextLine());
System.out.print("Informe a segunda nota: ");
double n2 = Double.parseDouble(entrada.nextLine());
// vamos ler a quantidade de aulas ministradas
System.out.print("Quantidade de aulas ministradas: ");
int aulas_ministradas = Integer.parseInt(entrada.nextLine());
// agora a quantidade de aulas assistidas pelo aluno
System.out.print("Quantidade de aulas assistidas: ");
int aulas_assistidas = Integer.parseInt(entrada.nextLine());
// agora temos que validar as informações inseridas
if((n1 < 0) || (n1 > 10)){
System.out.println("\nA nota n1 é inválida");
}
else if((n2 < 0) || (n2 > 10)){
System.out.println("\nA nota n2 é inválida");
}
else if(aulas_assistidas > aulas_ministradas){
System.out.println("Aulas assistidas maior que aulas ministradas");
}
else{
// vamos calcular a média do aluno
double media = (n1 + n2) / 2;
// vamos calcular a frequencia
double frequencia = (aulas_assistidas / (double)aulas_ministradas) * 100;
// vamos testar a aprovação do aluno agora
if((media >= 6.0) && (frequencia >= 75)){
System.out.println("Aluno aprovado com média " + media +
" e frequencia " + frequencia + "%");
}
else{
System.out.println("Aluno reprovado com média " + media +
" e frequencia " + frequencia + "%");
}
}
}
}
|
C++ ::: Win32 API (Windows API) ::: Aplicativos e Outros |
C++ Windows API GUI - Como criar sua primeira aplicação de interface gráfica usando C++ e WinAPIQuantidade de visualizações: 48361 vezes |
|
Esta dica mostra o código completo para uma aplicação de interface gráfica usando C++ e a Win32 (WinAPI - Windows Programming Interface). Trata-se de uma janela simples, mas com todas as características presentes em todas as janelas das aplicações Windows: uma barra de títulos, o ícone e os botões de maximizar, minimizar e fechar. Antes de executar o exemplo observe que este código contém o ponto inicial para a criação de qualquer aplicação gráfica em C++/WinAPI, a saber: A função de entrada WinMain, o laço de mensagens Message Loop, a função de callback Window Procedure e as técnicas de registrar e criar a janela. Neste momento não discutimos os detalhes do código. Em outras dicas você encontrará análises mais aprofundadas de cada parte. Este código foi escrito e testado no Dev-C++, mas, deve funcionar sem problemas em outros compiladores C++ para Windows. Assim, abra o Dev-C++, vá em File -> New -> Projec. Na aba Basic, selecione Console Application, dê um nome ao projeto e deixe a opção C++ Project marcada. Salve o projeto e inclua o código abaixo no arquivo .cpp principal:
#include <windows.h>
// define o nome da classe de janela
const char nomeJanela[] = "aCodigos";
// esta é a Window Procedure
LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM
wParam, LPARAM lParam){
switch(msg){
case WM_CLOSE:
DestroyWindow(hwnd);
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
return DefWindowProc(hwnd, msg, wParam,
lParam);
}
return 0;
}
// função de entrada da aplicação
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE
hPrevInstance, LPSTR lpCmdLine, int nCmdShow){
WNDCLASSEX wc;
HWND hwnd;
MSG Msg;
// vamos registrar a Window Class
wc.cbSize = sizeof(WNDCLASSEX);
wc.style = 0;
wc.lpfnWndProc = WndProc;
wc.cbClsExtra = 0;
wc.cbWndExtra = 0;
wc.hInstance = hInstance;
wc.hIcon = LoadIcon(NULL, IDI_APPLICATION);
wc.hCursor = LoadCursor(NULL, IDC_ARROW);
wc.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1);
wc.lpszMenuName = NULL;
wc.lpszClassName = nomeJanela;
wc.hIconSm = LoadIcon(NULL, IDI_APPLICATION);
if(!RegisterClassEx(&wc)){
MessageBox(NULL, "Erro ao registrar a janela!",
"Erro!", MB_ICONEXCLAMATION | MB_OK);
return 0;
}
// cria a janela
hwnd = CreateWindowEx(WS_EX_CLIENTEDGE, nomeJanela,
"Minha primeira aplicação Win32",
WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT,
350, 200, NULL, NULL, hInstance, NULL);
if(hwnd == NULL){
MessageBox(NULL, "Erro ao criar a janela!",
"Erro!", MB_ICONEXCLAMATION | MB_OK);
return 0;
}
// mostra a janela
ShowWindow(hwnd, nCmdShow);
UpdateWindow(hwnd);
// Este é o laço de mensagens (Message Loop)
while(GetMessage(&Msg, NULL, 0, 0) > 0){
TranslateMessage(&Msg);
DispatchMessage(&Msg);
}
return Msg.wParam;
}
Pronto! Só compilar (geralmente F9 no Dev-C++), observar o resultado e estudar o código atentamente. |
C ::: Dicas & Truques ::: Arquivos e Diretórios |
Como contar as linhas de um arquivo usando a função fgetc() da linguagem CQuantidade de visualizações: 21383 vezes |
|
Em algumas situações precisamos obter a quantidade de linhas em um arquivo em C. Nesta dica eu mostro como isso pode ser feito usando-se a função fgetc(), no header stdio.h. Note que aqui estamos assumindo que o arquivo texto não possui uma quebra de linha após a última linha de texto. Veja o código comentado:
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
// nome e local do arquivo que será aberto para
// obtermos a quantidade de linhas
FILE *arquivo = fopen("c:\\testes.txt", "r");
int caractere, existe_linhas = 0;
int quant_linhas = 0;
while((caractere = fgetc(arquivo)) != EOF){
existe_linhas = 1; // há conteúdo no arquivo
if(caractere == '\n'){ // é uma quebra de linha?
// vamos incrementar a quantidade de linhas
quant_linhas++;
}
}
// se não houver uma quebra de linha na última linha
// a contagem será sempre um a menos. Assim, é melhor
// incrementar quant_linhas mais uma vez
if(existe_linhas)
quant_linhas++;
// vamos exibir o resultado
printf("O arquivo possui %d linhas.", quant_linhas);
printf("\n\n");
system("PAUSE");
return 0;
}
|
Nossas 20 dicas & truques de programação mais populares |
|
Java - Como usar a classe Character da linguagem Java para tratar caracteres individuais em seus programas AutoCAD VBA - Como criar uma linha no AutoCAD usando Autocad VBA e a função AddLine() do objeto ModelSpace jQuery - Como remover uma classe (ou classes) de um elemento HTML usando a função removeClass() do jQuery |
Você também poderá gostar das dicas e truques de programação abaixo |
Nossas 20 dicas & truques de programação mais recentes |
Últimos Projetos e Códigos Fonte Liberados Para Apoiadores do Site |
|
Python - Como criar o jogo Pedra, Papel, Tesoura em Python - Jogo completo em Python com código comentado |
Últimos Exercícios Resolvidos |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |



