![]() |
|
|
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 Python |
||
|
||
|
|
||
C ::: Dicas & Truques ::: Matemática e Estatística |
Como calcular MDC em CQuantidade de visualizações: 24337 vezes |
|
Atualmente a definição de Máximo Divisor Comum (MDC) pode ser assim formalizada: Sejam a, b e c números inteiros não nulos, dizemos que c é um divisor comum de a e b se c divide a (escrevemos c|a) e c divide b (c|b). Chamaremos D(a,b) o conjunto de todos os divisores comum de a e b. O trecho de código abaixo mostra como calcular o MDC de dois números informados:
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
// função que recebe dois inteiros e retorna
// o Máximo Divisor Comum dos dois
int MDC(int a, int b){
int resto;
while(b != 0){
resto = a % b;
a = b;
b = resto;
}
return a;
}
int main(int argc, char *argv[]){
int x, y;
setlocale(LC_ALL,""); // para acentos do português
printf("Este programa permite calcular o MDC\n");
printf("Informe o primeiro número: ");
scanf("%d", &x);
printf("Informe o segundo número: ");
scanf("%d", &y);
printf("O Máximo Divisor Comum de %d e %d é %d",
x, y, MDC(x, y));
printf("\n\n");
system("pause");
return 0;
}
Ao executar este código C nós teremos o seguinte resultado: Este programa permite calcular o MDC Informe o primeiro número: 12 Informe o segundo número: 9 O Máximo Divisor Comum de 12 e 9 é 3 |
Java ::: Java para Engenharia ::: Unidades de Medida |
Como converter Quilograma-Força para Newton em Java - Java para FísicaQuantidade de visualizações: 653 vezes |
|
Nesta dica mostrarei como podemos efetuar a conversão de Quilograma-Força para Newton usando Java. Este cálculo é comum quando estamos tentando resolver problemas de Física usando programação. Antes de continuarmos, vamos revisar estas duas unidades de medida. O Quilograma-Força (kgf) é a unidade de medida de uma força que faz um objeto com uma massa de 1 kg acelerar em um metro por segundo ao quadrado (1 m/s2). O Newton é a unidade utilizada para medir força no Sistema Internacional de Unidades (SI). Agora vamos à fórmula para transformar Quilograma-Força em Newton. Veja: \[\text{Newton} = \text{Quilograma-Força} \cdot 9,8 \] Note que só precisamos multiplicar Quilograma-Força por 9,8 para obtermos o resultado em Newton. Vamos ver um exemplo? Veja um código Java completo que pede para o usuário informar um valor em Quilograma-Força e o converte para Newton:
package estudos;
import java.util.Scanner;
public class Estudos {
public static void main(String[] args) {
// variáveis usadas na resolução do problema
double kgf, newton;
// para ler a entrada do usuário
Scanner entrada = new Scanner(System.in);
// vamos ler o valor em Quilograma-Força
System.out.print("Informe o valor em kgf: ");
kgf = Double.parseDouble(entrada.nextLine());
// agora vamos fazer a conversão para Newton
newton = kgf * 9.80665;
// e mostramos o resultado
System.out.println("O resultado é: " + newton + " N");
}
}
Ao executarmos este código Java nós teremos o seguinte resultado: Informe o valor em kgf: 50 O resultado é: 490.3325 N |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Laços de Repetição |
Exercícios Resolvidos de Java - Como calcular a tabuada de multiplicação para os números de 1 a 9 em JavaQuantidade de visualizações: 4472 vezes |
|
Pergunta/Tarefa: Escreva um programa Java que usa o laço for para calcular e exibir a tabuada de multiplicação dos números 1 a 9. Sua saída deve ser parecida com:
Tabuada de Multiplicação
----------------------------------------------
1 2 3 4 5 6 7 8 9
----------------------------------------------
1 | 1 2 3 4 5 6 7 8 9
2 | 2 4 6 8 10 12 14 16 18
3 | 3 6 9 12 15 18 21 24 27
4 | 4 8 12 16 20 24 28 32 36
5 | 5 10 15 20 25 30 35 40 45
6 | 6 12 18 24 30 36 42 48 54
7 | 7 14 21 28 35 42 49 56 63
8 | 8 16 24 32 40 48 56 64 72
9 | 9 18 27 36 45 54 63 72 81
Veja a resolução comentada deste exercício usando Java console:
package estudos;
public class Estudos {
public static void main(String[] args) {
// mostra o título da tabela
System.out.print(" Tabuada de Multiplicação");
System.out.println("\n----------------------------------------------");
// exibe os números na parte superior
System.out.print(" ");
for(int i = 1; i <= 9; i++){
System.out.print(" " + i);
}
System.out.println("\n----------------------------------------------");
// mostra o corpo da tabuada
for(int i = 1; i <= 9; i++){
System.out.print(i + " |");
for(int j = 1; j <= 9; j++){
System.out.printf("%4d", i * j);
}
System.out.println();
}
System.out.println("\n");
}
}
|
Java ::: Classes e Componentes ::: JTable |
Java Swing - Como detectar qual linha ou coluna está selecionada em uma tabela JTableQuantidade de visualizações: 1 vezes |
|
Nesta dica mostrarei como podemos usar o método valueChanged() da interface ListSelectionListener para detectar qual linha ou coluna está selecionada em um objeto JTable. Essa técnica interessante, pois permite facilmente a construção de tabelas mestre-detalhe, na qual selecionamos um cliente em uma JTable e outra JTable é atualizada mostrando somente os pedidos para o cliente selecionado. Eis o resultado na imagem abaixo: ![]() Veja o código completo para o exemplo:
package arquivodecodigos;
import javax.swing.*;
import java.awt.*;
import javax.swing.event.*;
public class Estudos extends JFrame{
private boolean ALLOW_COLUMN_SELECTION = false;
private boolean ALLOW_ROW_SELECTION = true;
public Estudos(){
super("Exemplo de uma tabela simples");
// colunas da tabela
String[] colunas = {"Cidade", "Estado", "Habitantes"};
// conteúdo da tabela
Object[][] conteudo = {
{"Goiânia", "GO", "43.023.432"},
{"São Paulo", "SP", "5.343.234"},
{"Rio de Janeiro", "RJ", "6.434.212"},
{"Jussara", "GO", "87.454"},
{"Barra do Garças", "MT", "64.344"}
};
// constrói a tabela
final JTable tabela = new JTable(conteudo, colunas);
tabela.setPreferredScrollableViewportSize(new Dimension(350, 50));
// permite selecionar apenas uma linha de cada vez
tabela.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
// detecta seleções de linha
if(ALLOW_ROW_SELECTION){ // verdadeiro por padrão
ListSelectionModel rowSM = tabela.getSelectionModel();
rowSM.addListSelectionListener(new ListSelectionListener(){
public void valueChanged(ListSelectionEvent e){
if(e.getValueIsAdjusting())
return;
ListSelectionModel lsm = (ListSelectionModel)e.getSource();
if(lsm.isSelectionEmpty()){
System.out.println("Nenhuma linha selecionada.");
}
else{
int selectedRow = lsm.getMinSelectionIndex();
System.out.println("Linha " + selectedRow
+ " foi selecionada.");
}
}
});
}
else{
tabela.setRowSelectionAllowed(false);
}
if(ALLOW_COLUMN_SELECTION){ // falso por padrão
if(ALLOW_ROW_SELECTION){
tabela.setCellSelectionEnabled(true);
}
tabela.setColumnSelectionAllowed(true);
ListSelectionModel colSM = tabela.getColumnModel().getSelectionModel();
colSM.addListSelectionListener(new ListSelectionListener(){
public void valueChanged(ListSelectionEvent e){
if(e.getValueIsAdjusting())
return;
ListSelectionModel lsm = (ListSelectionModel)e.getSource();
if(lsm.isSelectionEmpty()) {
System.out.println("Nenhuma coluna selecionada.");
}
else{
int selectedCol = lsm.getMinSelectionIndex();
System.out.println("Coluna "
+ selectedCol + " está selecionada.");
}
}
});
}
Container c = getContentPane();
c.setLayout(new FlowLayout());
JScrollPane scrollPane = new JScrollPane(tabela);
c.add(scrollPane);
setSize(400, 300);
setVisible(true);
}
public static void main(String args[]){
Estudos app = new Estudos();
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
|
Python ::: Desafios e Lista de Exercícios Resolvidos ::: Ordenação e Pesquisa (Busca) |
Exercícios Resolvidos de Python - Como usar a Ordenação da Bolha em Python para ordenar os valores de um vetor em ordem crescente ou decrescenteQuantidade de visualizações: 1026 vezes |
|
Pergunta/Tarefa: A Ordenação da Bolha, ou ordenação por flutuação (literalmente "por bolha"), também chamada de Bubble Sort, é um algoritmo de ordenação dos mais simples. A ideia é percorrer o array diversas vezes, a cada passagem fazendo flutuar para o topo o maior elemento da sequência. Essa movimentação lembra a forma como as bolhas em um tanque de água procuram seu próprio nível, e disso vem o nome do algoritmo. No melhor caso, o algoritmo executa n operações relevantes, onde n representa o número de elementos do vetor. No pior caso, são feitas n2 operações. A complexidade desse algoritmo é de ordem quadrática. Por isso, ele não é recomendado para programas que precisem de velocidade e operem com quantidade elevada de dados. Escreva um programa Python que declara, constrói um vetor de 10 inteiros e peça para o usuário informar os valores de seus elementos. Em seguida use a ordenação da bolha para ordenar os elementos em ordem crescente. Sua saída deverá ser parecida com: Informe o valor para o índice 0: 84 Informe o valor para o índice 1: 23 Informe o valor para o índice 2: 9 Informe o valor para o índice 3: 5 Informe o valor para o índice 4: 11 Informe o valor para o índice 5: 3 Informe o valor para o índice 6: 50 Informe o valor para o índice 7: 7 Informe o valor para o índice 8: 2 Informe o valor para o índice 9: 73 O array informado foi: 84 23 9 5 11 3 50 7 2 73 O array ordenado é: 2 3 5 7 9 11 23 50 73 84 Veja a resolução comentada deste exercício usando Python:
# função principal do programa
def main():
# vamos declarar e construir um vetor de 10 elementos
valores = [0 for x in range(10)]
# vamos pedir que o usuário informe os valores
for i in range(0, len(valores)):
valores[i] = int(input("Informe o valor para o índice {0}: ".format(i)))
# vamos mostrar o vetor informado
print("\nO array informado foi:\n\n")
for i in range(0, len(valores)):
print(valores[i], end=" ")
# vamos ordenar os elementos do vetor usando a ordenação da bolha
# laço externo de trás para frente
for i in range(len(valores) - 1, 0, -1):
for j in range(0, i): # laço interno vai no fluxo normal
if valores[j] > valores[j + 1]: # temos que trocá-los de lugar
temp = valores[j]
valores[j] = valores[j + 1]
valores[j + 1] = temp
# vamos exibir o vetor já ordenado
print("\n\nO array ordenado é:\n\n")
for i in range(0, len(valores)):
print(valores[i], end=" ")
print("\n")
if __name__== "__main__":
main()
|
Mais Desafios de Programação e Exercícios e Algoritmos Resolvidos de Python |
Veja mais Dicas e truques de Python |
Dicas e truques de outras linguagens |
|
JavaScript - JavaScript Avançado - Como remover todas as ocorrências de uma substring em uma string usando uma função recursiva |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |




