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.

Portugol ::: Dicas & Truques ::: Laços de Repetição

Como usar o laço de repetição PARA da linguagem Portugol - Apostila de Portugol para iniciantes em Algorítmos e Lógica de Programação

Quantidade de visualizações: 961 vezes
O laço de repetição PARA da linguagem Portugol é usado quando queremos repetir uma ou mais instruções de nosso código um DETERMINADO número de vezes. Isso quer dizer que esse laço de repetição é usado quando sabemos exatamente quantas vezes uma instrução ou grupo de instruções será repetida.

Vamos começar com um exemplo básico? Veja um laço PARA que escreve "Gosto de programação" cinco vezes na saída do programa:

programa {
  funcao inicio() {
    // um laço PARA que escreve uma frase 5 vezes
    para (inteiro i = 0; i < 5; i++) {
      escreva("Gosto de programar\n")
    }
  }
}

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

Gosto de programar
Gosto de programar
Gosto de programar
Gosto de programar
Gosto de programar

Note que, em Portugol, a palavra chave que representa o laço, ou seja, a palavra "para" deve ser escrita sempre em letras minúsculas. Além disso, o laço para possui uma variável de controle que, na maioria das vezes, se chama "i" e é do tipo inteiro.

Vamos ver mais um exemplo? Veja um laço PARA que escreve os números de 1 até 10 na saída do programa:

programa {
  funcao inicio() {
    // um laço PARA que conta de 1 até 10
    para (inteiro i = 1; i <= 10; i++) {
      escreva(i, "  ")
    }
  }
}

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

1 2 3 4 5 6 7 8 9 10

E que tal contar de trás para frente, ou seja, de 10 até 1? Veja:

programa {
  funcao inicio() {
    // um laço PARA que conta de 10 até 0
    para (inteiro i = 10; i >= 1; i--) {
      escreva(i, "  ")
    }
  }
}

Ao executar o código Portugol novamente nós teremos o seguinte resultado:

10 9 8 7 6 5 4 3 2 1

Para finalizar, veja algumas observações importantes em relação ao laço de repetição PARA da linguagem Portugol:

a) O laço com variável de controle possui três partes. A inicialização da variável contadora, a definição do valor final do contador e a definição do incremento. Estas três partes são escritas juntas, no início do laço.

b) A sintaxe é respectivamente a palavra reservada para, abre parênteses, a declaração de uma variável de controle, ponto e virgula, a condição a ser testada, ponto e virgula, uma alteração na variável de controle a ser feita a cada iteração, fecha parenteses, e entre chaves as instruções do programa.


VB.NET ::: Dicas & Truques ::: Geometria, Trigonometria e Figuras Geométricas

Como calcular o coeficiente angular de uma reta em VB.NET dados dois pontos no plano cartesiano

Quantidade de visualizações: 1542 vezes
O Coeficiente Angular de uma reta é a variação, na vertical, ou seja, no eixo y, pela variação horizontal, no eixo x. Sim, isso mesmo. O coeficiente angular de uma reta tem tudo a ver com a derivada, que nada mais é que a taxa de variação de y em relação a x.

Vamos começar analisando o seguinte gráfico, no qual temos dois pontos distintos no plano cartesiano:



Veja que o segmento de reta AB passa pelos pontos A (x=3, y=6) e B (x=9, y=10). Dessa forma, a fórmula para obtenção do coeficiente angular m dessa reta é:

\[\ \text{m} = \frac{y_2 - y_1}{x_2 - x_1} = \frac{\Delta y}{\Delta x} = tg \theta \]

Note que __$\Delta y__$ e __$\Delta x__$ são as variações dos valores no eixo das abscissas e no eixo das ordenadas. No triângulo retângulo que desenhei acima, a variação __$\Delta y__$ se refere ao comprimento do cateto oposto e a variação __$\Delta y__$ se refere ao comprimento do cateto adjascente.

Veja agora o trecho de código na linguagem VB.NET que solicita as coordenadas x e y dos dois pontos, efetua o cálculo e mostra o coeficiente angular m da reta que passa pelos dois pontos:

Imports System

Module Program
  Sub Main(args As String())
    ' x e y do primeiro ponto
    Console.Write("Informe a coordenada x do primeiro ponto: ")
    Dim x1 As Double = Double.Parse(Console.ReadLine())
    Console.Write("Informe a coordenada y do primeiro ponto: ")
    Dim y1 As Double = Double.Parse(Console.ReadLine())

    ' x e y do segundo ponto
    Console.Write("Informe a coordenada x do segundo ponto: ")
    Dim x2 As Double = Double.Parse(Console.ReadLine())
    Console.Write("Informe a coordenada y do segundo ponto: ")
    Dim y2 As Double = Double.Parse(Console.ReadLine())

    ' agora vamos calcular o coeficiente angular
    Dim m As Double = (y2 - y1) / (x2 - x1)

    ' e mostramos o resultado
    Console.WriteLine("O coeficiente angular é: " & m)

    Console.WriteLine("\nPressione qualquer tecla para sair...")
    ' pausa o programa
    Console.ReadKey()
  End Sub
End Module

Ao executar este código em linguagem VB.NET nós teremos o seguinte resultado:

O coeficiente angular é: 0,6666666666666666

Veja agora como podemos calcular o coeficiente angular da reta que passa pelos dois pontos usando o Teorema de Pitágoras. Note que agora nós estamos tirando proveito da tangente do ângulo Theta (__$\theta__$), também chamado de ângulo Alfa ou Alpha (__$\alpha__$):

Imports System

Module Program
  Sub Main(args As String())
    ' x e y do primeiro ponto
    Console.Write("Informe a coordenada x do primeiro ponto: ")
    Dim x1 As Double = Double.Parse(Console.ReadLine())
    Console.Write("Informe a coordenada y do primeiro ponto: ")
    Dim y1 As Double = Double.Parse(Console.ReadLine())

    ' x e y do segundo ponto
    Console.Write("Informe a coordenada x do segundo ponto: ")
    Dim x2 As Double = Double.Parse(Console.ReadLine())
    Console.Write("Informe a coordenada y do segundo ponto: ")
    Dim y2 As Double = Double.Parse(Console.ReadLine())

    ' vamos obter o comprimento do cateto oposto
    Dim cateto_oposto As Double = y2 - y1
    ' e agora o cateto adjascente
    Dim cateto_adjascente As Double = x2 - x1
    ' vamos obter o ângulo tetha, ou seja, a inclinação da hipetunesa
    ' (em radianos, não se esqueça)
    Dim tetha As Double = Math.Atan2(cateto_oposto, cateto_adjascente)
    ' e finalmente usamos a tangente desse ângulo para calcular
    ' o coeficiente angular
    Dim tangente As Double = Math.Tan(tetha)

    ' e mostramos o resultado
    Console.WriteLine("O coeficiente angular é: " & tangente)

    Console.WriteLine("\nPressione qualquer tecla para sair...")
    ' pausa o programa
    Console.ReadKey()
  End Sub
End Module

Ao executar este código você verá que o resultado é o mesmo. No entanto, fique atento às propriedades do coeficiente angular da reta:

1) O coeficiente angular é positivo quando a reta for crescente, ou seja, m > 0;

2) O coeficiente angular é negativo quando a reta for decrescente, ou seja, m < 0;

3) Se a reta estiver na horizontal, ou seja, paralela ao eixo x, seu coeficiente angular é zero (0).

4) Se a reta estiver na vertical, ou seja, paralela ao eixo y, o coeficiente angular não existe.


wxWidgets ::: Dicas & Truques ::: wxApp

Como usar a classe wxApp em suas aplicações C++ wxWidgets

Quantidade de visualizações: 2586 vezes
A classe wxApp (Application Class) é uma das primeiras classes que devemos estudar se quisermos ter um domínio perfeito do framework wxWidgets. Para usá-la, devemos incluir #include <wx/app.h> em nossos códigos. Essa classe herda de wxAppConsole.

Todas as aplicações wxWidgets definem uma classe application derivada de wxApp. Há somente uma instância dela, e essa instância representa a aplicação sendo executada no momento.

De todos os métodos herdados de wxApp, há pelo menos um que devemos implementar, e ele é a função OnInit(), que é chamada quando o wxWidgets está pronto para executar o nosso código. OnInit() equivale ao main() em C/C++ ou WinMain (aplicações Win32).

Veja um trecho de código no qual declaramos e usamos a classe wxApp:

Código para aplicacao.h:

#include <wx/wx.h>

// arquivo de definição

// declaramos a classe application
class MinhaAplicacao : public wxApp{
public:
  // é chamado no startup da aplicação
  virtual bool OnInit();
};

// declara MinhaAplicacao& GetApp()
DECLARE_APP(MinhaAplicacao)

Código para aplicacao.cpp:

#include "aplicacao.h"

// arquivo de implementação

// aqui o wxWidgets implementa nosso objeto MinhaAplicacao
IMPLEMENT_APP(MinhaAplicacao)

bool MinhaAplicacao::OnInit(){
  // vamos mostrar uma mensagem ao iniciar a aplicação
  wxMessageDialog *alerta = new wxMessageDialog(NULL,
    wxT("A aplicação foi iniciada com sucesso"), wxT("Informação"), wxOK);
  alerta->ShowModal();

  // em geral retornamos true para iniciar o loop de eventos
  // mas essa aplicação exibe apenas uma janela de mensagem. Podemos sair
  return false;
}

Veja que no arquivo de declaração (header file) nós temos a macro DECLARE_APP. Ela nos permite declarar a função wxGetApp() que retorna uma referência para o objeto aplicação. Se não fizermos isso, a única forma de obter tal referência é usando o ponteiro global wxTheApp, que é do tipo wxApp*.

A macro IMPLEMENT_APP, no arquivo de implementação, permite ao wxWidgets criar dinamicamente uma instância do objeto application no ponto apropriado da inicialização da biblioteca.

Esse trecho de código é totalmente funcional, mas teremos apenas a exibição de uma mensagem wxMessageDialog. Por essa razão eu retornei false no laço de eventos. Se tivéssemos criado uma janela wxFrame, o retorno deveria ser true, já que teríamos de lidar com eventos.

Para finalizarmos, lembre-se de que o método OnInit() da classe wxApp é o local ideal para se fazer as verificações iniciais da aplicação, tais como conexão com banco de dados, permissão do usuário, disponibilidade da rede, etc.


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

Exercícios Resolvidos de Java - Escrever um algoritmo que recebe o salário-base de um funcionário, calcule e mostre o salário a receber

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

Faça um programa (algoritmo) Java que recebe o salário-base de um funcionário, calcule e mostre o salário a receber, sabendo-se que esse funcionário tem gratificação de 5% sobre o salário-base e paga imposto de 7% sobre o salário-base.

Sua saída deverá ser parecida com:

Informe o salário base: 1450.00
Gratificação: R$ 72,50
Imposto: R$ 101,50
Salário final: R$ 1.421,00

Resposta/Solução:

Veja a resolução comentada deste exercício usando Java console:

package estudos;

import java.text.NumberFormat;
import java.util.Scanner;

public class Estudos {
  public static void main(String[] args) {
    // vamos fazer a leitura usando a classe Scanner
    Scanner entrada = new Scanner(System.in);
    
    // vamos ler o salario base
    System.out.print("Informe o salário base: ");
    double salario_base = Double.parseDouble(entrada.nextLine());
    
    // vamos calcular a gratificação
    double gratificacao = salario_base * (5.0 / 100);
    
    // vamos calcular o imposto
    double imposto = salario_base * (7.0 / 100);
    
    // e finalmente calculamos o salário final
    double salario_final = salario_base + gratificacao - imposto;
    
    // e exibimos o resultado
    NumberFormat formato = NumberFormat.getCurrencyInstance();
    System.out.println("Gratificação: " + formato.format(gratificacao));
    System.out.println("Imposto: " + formato.format(imposto));
    System.out.println("Salário final: " + formato.format(salario_final));
  }
}



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 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 Apenas R$ 32,90

Planilha Web - Planilhas e Calculadoras online para estudantes e profissionais de Engenharia Civil, Engenharia Elétrica e Engenharia Mecânica.


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