![]() |
|
|
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 |
||
|
||
|
|
||
C++ ::: Win32 API (Windows API) ::: Arquivos e Diretórios |
C++ Windows API - Como ler o conteúdo de um arquivo usando a função ReadFile() da Win32 APIQuantidade de visualizações: 9428 vezes |
|
A função ReadFile() é usada quando queremos ler o conteúdo de um arquivo. A leitura se inicia na posição zero do arquivo e mantém um ponteiro de arquivo, a partir do qual as leituras subsequentes ocorrerão. Esta função pode ser usada para leituras síncronas e assíncronas. Para leituras apenas assíncronas devemos usar ReadFileEx(). Veja seu protótipo na documentação da API do Windows: BOOL WINAPI ReadFile( HANDLE hFile, LPVOID lpBuffer, DWORD nNumberOfBytesToRead, LPDWORD lpNumberOfBytesRead, LPOVERLAPPED lpOverlapped ); Antes de vermos um exemplo de como usar a função ReadFile(), vamos dar uma olhada em seus parâmetros: a) HANDLE hFile - Este é o handle para o arquivo a partir do qual queremos ler. Tal handle deve ser criado com o direito de acesso GENERIC_READ. b) LPVOID lpBuffer - Um ponteiro para o buffer que receberá os dados lidos do arquivo. c) DWORD nNumberOfBytesToRead - O número máximo de bytes a serem lidos de cada vez. Geralmente este número está relacionado à quantidade de bytes dos elementos do buffer. d) LPDWORD lpNumberOfBytesRead - Um ponteiro para uma variável que receberá o número de bytes lidos. A função ReadFile() define o valor desta variável como 0 antes de cada leitura e verificação de erros. e) LPOVERLAPPED lpOverlapped - Um ponteiro para um estrutura OVERLAPPED. Esta estrutura é exigida se o handle para o arquivo for obtido usando FILE_FLAG_OVERLAPPED para o parâmetro dwFlagsAndAttributes da função CreateFile(). Geralmente usamos NULL para este parâmetro. A função ReadFile() retorna quando um erro ocorre ou a quantidade de bytes solicitados é alcançada. Veja um trecho de código no qual lemos o conteúdo de um arquivo chamado testes.txt:
#include <cstdlib>
#include <iostream>
#include <windows.h>
#define TAM_BUFFER 256 // tamanho do buffer em bytes
using namespace std;
int main(int argc, char *argv[]){
// nome do arquivo
CHAR arquivo[] = "C:\\testes.txt";
CHAR buffer[TAM_BUFFER]; // buffer para o conteúdo do arquivo
DWORD nIn; // bytes lidos
// vamos abrir o arquivo para leitura.
// se o arquivo não existir uma mensagem de erro é exibida.
HANDLE hArquivo = CreateFile(arquivo, GENERIC_READ, FILE_SHARE_READ, NULL,
OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
if(hArquivo == INVALID_HANDLE_VALUE){
cout << "Erro ao abrir o arquivo: " << GetLastError() << endl;
}
else{
// arquivo aberto com sucesso. Vamos ler
while(ReadFile(hArquivo, buffer, TAM_BUFFER, &nIn, NULL) && nIn > 0){
cout << "Efetuei a leitura de " << nIn << " bytes." << endl;
// vamos adicionar o caractere de final de linha
// caso os bytes lidos não preencham todo o buffer
buffer[nIn] = 0;
cout << "Conteudo da leitura: " << buffer << endl;
}
}
// vamos fechar o handle
CloseHandle(hArquivo);
system("PAUSE");
return EXIT_SUCCESS;
}
|
VisuAlg ::: Dicas & Truques ::: Matemática e Estatística |
Como calcular porcentagem em VisuAlg - Como efetuar cálculos de porcentagem em VisuAlgQuantidade de visualizações: 3423 vezes |
|
Cálculos de porcentagens estão presentes em boa parte das aplicações que desenvolvemos. Porém, há momentos em que a mente trava e não conseguimos lembrar com clareza como estes cálculos são feitos, principalmente em VisuAlg. Esta anotação tem o objetivo de ser uma fonte de pesquisa para os momentos em que suas habilidades matemáticas insistirem em continuar ocultas. Ex: 1 - Suponhamos que um produto que custe R$ 178,00 sofra um acréscimo de 15%. Qual o valor final do produto? Veja o código em VisuAlg:
algoritmo "Algoritmo que calcula porcentagem"
var
// variáveis usadas na resolução do problema
valor, percentual, valor_final: real
inicio
valor <- 178.00 // valor original
percentual <- 15.0 / 100.0 // 15%
valor_final <- valor + (percentual * valor)
// mostra o resultado
escreva("O valor final do produto é: ", valor_final)
// O resultado será 204,70
fimalgoritmo
Ex: 2 - Um produto, cujo valor original era de R$ 250,00, teve um desconto de 8%. Qual foi seu valor final? Veja o código em VisuAlg:
algoritmo "Algoritmo que calcula porcentagem"
var
// variáveis usadas na resolução do problema
valor, percentual, valor_final: real
inicio
valor <- 250.00; // valor original
percentual <- 8.0 / 100.0 // 8%
valor_final <- valor - (percentual * valor)
// mostra o resultado
escreva("O valor final do produto é: ", valor_final)
// O resultado será 230,00
fimalgoritmo
Ex: 3 - Em um concurso de perguntas e respostas, um jovem acertou 72 das 90 perguntas apresentadas. Qual foi a porcentagem de acertos? E a porcentagem de erros? Veja o código em VisuAlg:
algoritmo "Algoritmo que calcula porcentagem"
var
// variáveis usadas na resolução do problema
perguntas, acertos: real
inicio
perguntas <- 90.0
acertos <- 72.0
// mostra a porcentagem de acertos
escreva("Porcentagem de acertos: ")
escreval(((acertos / perguntas) * 100), "%")
// mostra a porcentagem de erros
escreva("Porcentagem de erros: ")
escreval((((perguntas - acertos) / perguntas) * 100), "%")
// Os resultados serão 80% e 20%
fimalgoritmo
Ex: 4 - Um aparelho de CD foi adquirido por R$ 300,00 e revendido por R$ 340,00. Qual foi a porcentagem de lucro na transação? Veja o código em VisuAlg:
algoritmo "Algoritmo que calcula porcentagem"
var
// variáveis usadas na resolução do problema
valor_anterior, novo_valor, porcentagem_lucro: real
inicio
valor_anterior <- 300.0 // valor anterior
novo_valor <- 340.0 // valor novo
// calcula a porcentagem de lucro
// efetua o cálculo
porcentagem_lucro <- ((novo_valor * 100) / valor_anterior) - 100
escreva("A porcentagem de lucro foi de: ", porcentagem_lucro, "%")
// O resultado será 13,33
fimalgoritmo
Ex: 5 - Uma loja repassa 5% do lucro a seus vendedores. Se um produto custa R$ 70,00, qual o valor em reais repassado a um determinado vendedor? Veja o código em VisuAlg:
algoritmo "Algoritmo que calcula porcentagem"
var
// variáveis usadas na resolução do problema
valor, percentual, comissao: real
inicio
valor <- 70.0 // valor do produto
percentual <- 5.0 / 100.0 // 5%
// calcula a comissão
comissao <- percentual * valor
// mostra o resultado
escreva("O valor repassado ao vendedor é: ", comissao)
// O resultado será 3,5
fimalgoritmo
|
C# ::: Coleções (Collections) ::: ArrayList |
Como passar uma ArrayList para um método C#Quantidade de visualizações: 9957 vezes |
|
Em algumas situações nós precisamos fornecer uma ArrayList para um método C# e manipulá-la a partir deste método. Nesta dica eu mostro como isso pode ser feito. Veja que, dentro do método Main da aplicação nós criamos um novo objeto da classe ArrayList e inserimos 5 números inteiros nela. Em seguida nós efetuamos uma chamada ao método exibirArrayList() passando a lista como referência, ou seja, qualquer alteração que fizermos na ArrayList dentro do método afetará também o objeto criado fora do método. Veja o código completo para o exemplo:
using System;
using System.Collections;
namespace Estudos {
class Program {
static void Main(string[] args) {
// Cria o ArrayList
ArrayList lista = new ArrayList();
// Adiciona 5 inteiros
lista.Add(30);
lista.Add(2);
lista.Add(98);
lista.Add(1);
lista.Add(7);
// passa o ArrayList para um método que exibirá
// seus valores
exibirArrayList(lista);
Console.WriteLine("\n\nPressione qualquer tecla para sair...");
// pausa o programa
Console.ReadKey();
}
// método que receberá e exibirá o conteúdo do ArrayList
static void exibirArrayList(ArrayList mLista) {
foreach (int valor in mLista) {
Console.Write("{0} ", valor);
}
}
}
}
Ao executar este código C# nós teremos o seguinte resultado: 30 2 98 1 7 |
PHP ::: Dicas & Truques ::: Data e Hora |
Como retornar o dia da semana para uma determinada data em PHP usando as funções mktime(), date() e o sinalizador "l"Quantidade de visualizações: 6 vezes |
|
Nesta dica mostrarei como podemos combinar as funções mktime(), date() e o sinalizador "l" para obtermos o nome do dia da semana para uma determinada data. Note o uso da função mktime() para construir a data 20/06/1980. Veja o código completo para o exemplo:
<?php
// vamos obter o dia da semana para uma
// determinada data - mês/dia/ano
$timestamp = mktime(0, 0, 0, 6, 20, 1980);
echo "O dia da semana é: " . date('l', $timestamp);
?>
Ao executar este código PHP nós teremos o seguinte resultado: O dia da semana é: Saturday |
Python ::: Desafios e Lista de Exercícios Resolvidos ::: Laços de Repetição |
Exercícios Resolvidos de Python - Como converter de binário para decimal em Python usando o laço forQuantidade de visualizações: 930 vezes |
|
Pergunta/Tarefa: Escreva um programa Python que usa o laço for para converter um número binário (como uma String) em sua representação decimal (como um int). Peça ao usuário para informar um número binário e mostre o mesmo em decimal (como um int). Sua solução deve obrigatoriamente usar o laço for. Sua saída deverá ser parecida com: Informe um número binário: 1100 A representação decimal do valor binário 1100 é 12 Veja a resolução comentada deste exercício usando Python:
# vamos importar o módulo Math
import math
# função principal do programa
def main():
# vamos ler o número binário (como uma String)
binario = input("Informe um número binário: ")
decimal = 0 # guarda a representação decimal
# vamos percorrer todos os dígitos do número binário começando do início
expoente = len(binario) - 1
for i in range(0, len(binario)):
# converte o caractere atual para inteiro
temp = int(binario[i])
decimal = decimal + (temp * int(math.pow(2, expoente)))
# reduz o expoente
expoente = expoente - 1
# mostramos o resultado
print("A representação decimal do valor binário {0} é {1}".format(
binario, decimal))
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 |
|
Firebird - Como usar o tipo de dados BLOB do Firebird para a gravação de imagens, vídeos e arquivos de música |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |



