![]() |
|
|
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 - Construção Civil |
||
|
||
|
|
||
Python ::: Fundamentos da Linguagem ::: Métodos, Procedimentos e Funções |
Como usar os argumentos padrões das funções e métodos em PythonQuantidade de visualizações: 8285 vezes |
Geralmente quando efetuamos chamadas às funções, nosso código fica responsável por fornecer os valores para os argumentos da função. Em Python é possível termos argumentos padrões, e tais argumentos já podem ter um valor pré-definido. Desta forma, a passagem dos parâmetros se torna opcional. Veja um exemplo:
# função com argumento padrão
def erro(msg = "Houve um erro."):
print(msg)
def main():
# chamada à função fornecendo o argumento
erro("Erro desconhecido.")
# chamada à função sem fornecer o argumento
erro()
if __name__== "__main__":
main()
Ao executarmos este exemplo nós teremos o seguinte resultado: Erro desconhecido. Houve um erro. Veja mais um exemplo: # função com argumentos padrões def volume(comprimento = 1, largura = 1, altura = 1): return (comprimento * largura * altura) def main(): # chamada à função fornecendo um argumento print(volume(3)) # chamada à função fornecendo dois argumentos print(volume(4, 5)) # chamada à função fornecendo três argumentos print(volume(4, 5, 7)) # chamada à função fornecendo nenhum argumento print(volume()) if __name__== "__main__": main() Ao executarmos este exemplo nós teremos o seguinte resultado: 3 20 140 1 É importante observar que os argumentos padrões devem estar sempre à direita dos demais argumentos. Falhar em cumprir esta exigência pode causar um erro do tipo: SyntaxError: non-default argument follows default argument |
C++ ::: Desafios e Lista de Exercícios Resolvidos ::: Métodos, Procedimentos e Funções |
Exercício Resolvido de C++ - Escreva uma função C++ que recebe três números inteiros e retorna o menor delesQuantidade de visualizações: 782 vezes |
|
Pergunta/Tarefa: Escreva um programa C++ que contenha uma função, método ou procedimento que recebe três números inteiros e retorne o menor deles como um inteiro. Seu método não deve produzir nenhuma saída, apenas retornar o menor número entre os três argumentos fornecidos. Sua saída deverá ser parecida com: Informe o primeiro número: 8 Informe o segundo número: 10 Informe o terceiro número: 7 O menor número é: 7 Veja a resolução comentada deste exercício em C++:
#include <iostream>
#include <algorithm>
using namespace std;
// função que recebe três números e retorna o menor deles
int menor(int a, int b, int c){
return min(min(a, b), c);
}
// função principal do programa
int main(int argc, char *argv[]){
int n1, n2, n3, menor_numero;
// vamos pedir para o usuário informar três
// números inteiros
cout << "Informe o primeiro número: ";
cin >> n1;
cout << "Informe o segundo número: ";
cin >> n2;
cout << "Informe o terceiro número: ";
cin >> n3;
// agora vamos calcular o menor número
menor_numero = menor(n1, n2, n3);
// e mostramos o resultado
cout << "O menor numero é: " << menor_numero << endl;
cout << "\n" << endl;
system("PAUSE"); // pausa o programa
return EXIT_SUCCESS;
}
|
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Laços de Repetição |
Exercício Resolvido de Java - Faça um programa que sorteie um número aleatório entre 0 e 500 e pergunte ao usuário qual é o "número mágico". O programa deveráQuantidade de visualizações: 726 vezes |
|
Pergunta/Tarefa: Faça um programa que sorteie um número aleatório entre 0 e 500 e pergunte ao usuário qual é o "número mágico". O programa deverá indicar se a tentativa efetuada pelo usuário é maior ou menor que o número mágico e contar o número de tentativas. Quando o usuário conseguir acertar o número o programa deverá classificar o usuário como: De 1 a 3 tentativas: muito sortudo De 4 a 6 tentativas: sortudo De 7 a 10 tentativas: normal > 10 tentativas: tente novamente Sua saída deverá ser parecida com: Adivinhe o número mágico: 100 Tente um número menor. Adivinhe o número mágico: 50 Tente um número maior. Adivinhe o número mágico: 60 Tente um número maior. Adivinhe o número mágico: 80 Tente um número maior. Adivinhe o número mágico: 90 Tente um número maior. Adivinhe o número mágico: 95 Tente um número menor. Adivinhe o número mágico: 94 Tente um número menor. Adivinhe o número mágico: 93 Tente um número menor. Adivinhe o número mágico: 92 Você acertou o número em 9 tentativas. Classificação: Normal Veja a resolução comentada deste exercício usando Java:
package estudos;
import java.util.Random;
import java.util.Scanner;
public class Estudos {
public static void main(String[] args) {
// variáveis usadas na resolução do problema
int numero_magico, palpite, tentativas = 0;
boolean acertou = false;
// para ler a entrada do usuário
Scanner entrada = new Scanner(System.in);
// vamos sortear o número entre 0 e 500
Random rand = new Random();
numero_magico = rand.nextInt(501);
// um laço que repete enquanto o usuário não
// acertar o número mágico
while (!acertou) {
System.out.print("Adivinhe o número mágico: ");
palpite = Integer.parseInt(entrada.nextLine());
// registra essa tentativa
tentativas = tentativas + 1;
// o usuário acertou o número mágico?
if (palpite == numero_magico) {
System.out.println("Você acertou o número em " + tentativas + " tentativas.");
// mostra a classificação do usuário
if (tentativas <= 3) {
System.out.println("Classificação: Muito Sortudo");
}
else if ((tentativas >= 4) && (tentativas <= 6)) {
System.out.println("Classificação: Sortudo");
}
else if ((tentativas >= 7) && (tentativas <= 10)) {
System.out.println("Classificação: Normal");
}
else {
System.out.println("Classificação: Tente Novamente");
}
// sai do laço
acertou = true;
}
else {
// indica se o palpite é maior ou menor
if (palpite < numero_magico) {
System.out.println("Tente um número maior.\n");
}
else {
System.out.println("Tente um número menor.\n");
}
}
}
}
}
|
Delphi ::: VCL - Visual Component Library ::: TListBox |
Como excluir o item ou itens selecionados em uma TListBox do Delphi usando a função DeleteSelectedQuantidade de visualizações: 13950 vezes |
Em algumas ocasiões nós precisamos excluir o item ou os itens selecionados em uma TListBox. Isso pode ser feito com o auxílio do método DeleteSelected da classe TListBox. Veja um trecho de código no qual excluímos apenas o item selecionado:
procedure TForm3.FormCreate(Sender: TObject);
begin
// vamos adicionar alguns itens na ListBox
ListBox1.Items.Add('Goiânia');
ListBox1.Items.Add('Curitiba');
ListBox1.Items.Add('Brasilia');
end;
procedure TForm3.Button1Click(Sender: TObject);
begin
// vamos excluir o item selecionado
ListBox1.DeleteSelected;
end;
É possível conseguir o mesmo resultado usando o método Delete() do objeto Items (do tipo TStrings). Veja: procedure TForm3.Button1Click(Sender: TObject); begin // vamos excluir o item selecionado ListBox1.Items.Delete(ListBox1.ItemIndex); end; Note que o método Delete() do objeto Items exige o índice do elemento a ser removido. Com o método DeleteSelected da classe TListBox esta exigência não existe. Além disso, o método DeleteSelected permite excluir mais de um elemento selecionado, ou seja, ele excluir todos os elementos selecionados. Veja:
procedure TForm3.FormCreate(Sender: TObject);
begin
// vamos adicionar alguns itens na ListBox
ListBox1.Items.Add('Goiânia');
ListBox1.Items.Add('Curitiba');
ListBox1.Items.Add('Brasilia');
// para que este exemplo funcione corretamente, a ListBox
// deverá permitir seleção múltipla
ListBox1.MultiSelect := True;
end;
procedure TForm3.Button1Click(Sender: TObject);
begin
// vamos excluir todos os itens selecionados
ListBox1.DeleteSelected;
end;
Execute este código, selecione mais de um item e clique no botão para verificar o resultado. Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009. |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Estruturas de Dados - Árvores Binárias e Árvores Binárias de Busca |
Exercícios Resolvidos de Java - Travessia de uma árvore binária de busca usando o percurso em-ordem (in-order, In-ordem ou ordem simétrica)Quantidade de visualizações: 3304 vezes |
|
Pergunta/Tarefa: O percurso em ordem (em-ordem, in-order, In-ordem ou ordem simétrica) é usado quando queremos exibir os valores dos nós da árvore binária de busca em ordem ascendente. Neste tipo de percurso nós visitamos primeiramente a sub-árvore da esquerda, então o nó atual e finalmente a sub-árvore à direita do nó atual. É importante notar que esta travessia é feita por meio de uma função recursiva. Escreva um programa Java que contenha uma árvore binária de busca cujos nós guardarão, além das referências para o filho esquerdo e o filho direito, apenas um valor inteiro. Forneça uma função inserir() que permitirá inserir os valores na árvore. Em seguida forneça uma função recursiva que permitirá fazer a travessia in-order da árvore. Sua saída deverá ser parecida com: Informe um valor inteiro: 7 Informe um valor inteiro: 3 Informe um valor inteiro: 18 Informe um valor inteiro: 4 Informe um valor inteiro: 9 Percurso em ordem: 3 4 7 9 18 Veja a resolução comentada deste exercício usando Java: Código para NoArvore.java:
package estudos;
public class NoArvore {
int valor; // valor armazenado no nó
NoArvore esquerdo; // filho esquerdo
NoArvore direito; // filho direito
// construtor do nó
public NoArvore(int valor){
this.valor = valor;
}
}
Código para ArvoreBinariaBusca.java:
package estudos;
public class ArvoreBinariaBusca {
private NoArvore raiz; // referência para a raiz da árvore
// método usado para inserir um novo nó na árvore
// retorna true se o nó for inserido com sucesso e false
// se o elemento não puder ser inserido (no caso de já
// existir um elemento igual)
public boolean inserir(int valor){
// a árvore ainda está vazia?
if(raiz == null){
// vamos criar o primeiro nó e definí-lo como a raiz da árvore
raiz = new NoArvore(valor); // cria um novo nó
}
else{
// localiza o nó pai
NoArvore pai = null;
NoArvore noAtual = raiz; // começa a busca pela raiz
// enquanto o nó atual for diferente de null
while(noAtual != null){
if(valor < noAtual.valor) {
pai = noAtual;
noAtual = noAtual.esquerdo;
}
else if(valor > noAtual.valor){
pai = noAtual;
noAtual = noAtual.direito;
}
else{
return false; // um nó com este valor foi encontrado
}
}
// cria o novo nó e o adiciona ao nó pai
if(valor < pai.valor){
pai.esquerdo = new NoArvore(valor);
}
else{
pai.direito = new NoArvore(valor);
}
}
return true; // retorna true para indicar que o novo nó
// foi inserido
}
// método que permite disparar a travessia em-ordem
public void emOrdem(){
emOrdem(raiz);
}
// sobrecarga do método emOrdem com uma parâmetro (esta é a
// versão recursiva do método)
private void emOrdem(NoArvore raiz){
if(raiz == null){ // condição de parada
return;
}
// visita a sub-árvore da esquerda
emOrdem(raiz.esquerdo);
// visita o nó atual
System.out.print(raiz.valor + " ");
// visita a sub-árvore da direita
emOrdem(raiz.direito);
}
}
E aqui está o código para a classe que permite testar a árvore:
package estudos;
import java.util.Scanner;
public class Estudos {
public static void main(String[] args) {
Scanner entrada = new Scanner(System.in);
// vamos criar um novo objeto da classe ArvoreBinariaBusca
ArvoreBinariaBusca arvore = new ArvoreBinariaBusca();
// vamos inserir 5 valores na árvore
for(int i = 0; i < 5; i++){
System.out.print("Informe um valor inteiro: ");
int valor = Integer.parseInt(entrada.nextLine());
// vamos inserir o nó e verificar o sucesso da operação
if(!arvore.inserir(valor)){
System.out.println("Erro. Um elemento já contém este valor.");
}
}
// vamos exibir os nós da árvore usando o percurso em ordem
System.out.println("\nPercurso em ordem:");
arvore.emOrdem();
System.out.println("\n");
}
}
|
Mais Desafios de Programação e Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
Dicas e truques de outras linguagens |
|
Delphi - Como calcular MDC em Delphi |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |





