![]() |
|
|
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. |
||
C ::: Desafios e Lista de Exercícios Resolvidos ::: Struct (Estruturas, Registros) |
Exercício Resolvido de C - Programa de cálculo de médias de alunos. Escrever um programa C que cadastre o nome, a matrícula e duas notas de vários alunosQuantidade de visualizações: 3492 vezes |
|
Pergunta/Tarefa: Programa de cálculo de médias de alunos. Escrever um programa C que cadastre o nome, a matrícula e duas notas de vários alunos. Em seguida imprima a matrícula, o nome e a média de cada um deles. Seu código deverá, obrigatoriamente, usar a estrutura abaixo para a representação de cada aluno:
// estrutura Aluno
typedef struct{
int matricula;
char nome[100];
float nota1;
float nota2;
} Aluno;
LEITURA DOS ALUNOS: Matrícula do Aluno 1: 123 Nome do Aluno 1: OSMAR J SILVA Nota 1 do Aluno 1: 8,5 Nota 2 do Aluno 1: 9,3 Matrícula do Aluno 2: 432 Nome do Aluno 2: FABIANA CASTRO Nota 1 do Aluno 2: 9 Nota 2 do Aluno 2: 8,2 DADOS DOS ALUNOS: DADOS DO ALUNO 1: Matrícula: 123 Nome: OSMAR J SILVA Nota 1: 8,50 Nota 2: 9,30 Média: 8,90 DADOS DO ALUNO 2: Matrícula: 432 Nome: FABIANA CASTRO Nota 1: 9,00 Nota 2: 8,20 Média: 8,60 Veja a resolução comentada deste exercício usando C: Código para alunos.c:
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
// estrutura Aluno
typedef struct{
int matricula;
char nome[100];
float nota1;
float nota2;
} Aluno;
// define a quantidade de alunos que serão lidos
#define QUANT_ALUNOS 2
int main(int argc, char *argv[]) {
int i; // controle do laço
Aluno alunos[QUANT_ALUNOS]; // vetor de alunos
setlocale(LC_ALL,""); // para acentos do português
printf("LEITURA DOS ALUNOS:\n\n");
for(i = 0; i < QUANT_ALUNOS; i++){
// vamos ler a matrícula do aluno
printf("Matrícula do Aluno %d: ", (i + 1));
scanf("%d", &alunos[i].matricula);
fflush(stdin); // para o scanf não sair pulando o gets
// agora o nome do aluno
printf("Nome do Aluno %d: ", (i + 1));
gets(alunos[i].nome);
// vamos ler a primeira nota
printf("Nota 1 do Aluno %d: ", (i + 1));
scanf("%f", &alunos[i].nota1);
// vamos ler a segunda nota
printf("Nota 2 do Aluno %d: ", (i + 1));
scanf("%f", &alunos[i].nota2);
}
// agora vamos mostrar os alunos lidos, com suas notas
// e suas médias aritméticas
printf("\nDADOS DOS ALUNOS:\n");
for(i = 0; i < QUANT_ALUNOS; i++){
printf("\nDADOS DO ALUNO %d:\n ", (i + 1));
printf("Matrícula: %d\n", alunos[i].matricula);
printf("Nome: %s\n", alunos[i].nome);
printf("Nota 1: %.2f\n", alunos[i].nota1);
printf("Nota 2: %0.2f\n", alunos[i].nota2);
printf("Média: %.2f\n", (alunos[i].nota1 + alunos[i].nota2) / 2);
}
printf("\n\n");
system("pause");
return 0;
}
|
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: 3213 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");
}
}
|
C# ::: Dicas & Truques ::: Strings e Caracteres |
Como converter uma string em um array de char em C# usando a função ToCharArray()Quantidade de visualizações: 10483 vezes |
|
Nesta dica mostrarei como podemos usar a função ToCharArray() da classe String da linguagem C# para converter todos os caracteres de uma palavra, frase ou texto em um vetor de chars. Em seguida nós usaremos o método Reverse() da classe Array para inverter a ordem dos elementos do vetor. Finalmente nós passamos este vetor para o construtor da classe String para obter a string original novamente, só que desta vez, com a ordem de suas letras invertidas. Veja o código C# completo para o exemplo:
using System;
namespace Estudos {
class Program {
static void Main(string[] args) {
string frase = "Gosto de C#";
Console.WriteLine("Frase original: " + frase);
// obtém um array de caracteres a partir da string
char[] letras = frase.ToCharArray();
Array.Reverse(letras); // inverte o array
// transforma em string novamente
string resultado = new String(letras);
Console.WriteLine("Frase invertida: " + resultado);
Console.WriteLine();
}
}
}
Ao executar este código C# nós teremos o seguinte resultado: Frase original: Gosto de C# Frase invertida: #C ed otsoG |
Java ::: Dicas & Truques ::: Matemática e Estatística |
Como calcular raiz quadrada em Java usando a função sqrt() da classe MathQuantidade de visualizações: 8896 vezes |
|
A raiz quadrada de um algarismo é dada por um número positivo n, que ao ser elevado ao quadrado (multiplicado por ele mesmo), se iguala a x. Na área da matemática, a raiz quadrada auxilia na resolução de vários problemas, entre eles as equações de segundo grau e o Teorema de Pitágoras. Relembrando que a raiz quadrada é o inverso da potenciação com expoente dois, temos que: \[\sqrt{9} = 3\] então, pela potenciação: \[3^2 = 9\] Agora veremos como calcular a raiz quadrada usando a função sqrt() da classe Math da linguagem Java. Veja o código completo:
package arquivodecodigos;
import java.util.Scanner;
public class Estudos{
public static void main(String[] args){
Scanner entrada = new Scanner(System.in);
// vamos ler o valor
System.out.print("Informe o valor desejado: ");
double valor = Double.parseDouble(entrada.nextLine());
// vamos calcular a raiz quadrada
double raiz = Math.sqrt(valor);
// e agora mostramos o resultado
System.out.println("A raiz quadrada do valor informado é: " +
raiz);
}
}
Ao executar este código teremos o seguinte resultado: Informe o valor desejado: 9 A raiz quadrada do valor informado é: 3.0 É importante observar que, se fornecermos um valor negativo para a função sqrt(), o resultado será NaN (Not a Number, não é um número). Veja: Informe o valor desejado: -9 A raiz quadrada do valor informado é: NaN |
Nossas 20 dicas & truques de programação mais populares |
|
JavaScript - Como converter uma string para letras minúsculas em JavaScript usando a função toLowerCase() do objeto String |
Você também poderá gostar das dicas e truques de programação abaixo |
|
Java - Como corrigir um erro ClassCastException em Java - Como tratar a exceção ClassCastException do Java JavaScript - Como arredondar um valor numérico de ponto-flutuante para cima usando a função ceil() do objeto Math do JavaScript Android Java - Como detectar um clique em um botão do Android usando o evento onClick no XML de layout JavaScript - Como testar se uma string contém uma determinada substring em JavaScript usando a função includes() |
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 |





