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.

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 JavaScript

Quantidade 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 ministradas

Quantidade 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%
Resposta/Solução:

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 WinAPI

Quantidade 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 C

Quantidade 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

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

Últimos Exercícios Resolvidos

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á 39 usuários muito felizes estudando em nosso site.