![]() |
|
|
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 |
||
|
||
|
|
||
VB.NET ::: Dicas & Truques ::: Strings e Caracteres |
Como converter uma string para letras maiúsculas em VB.NET usando o método ToUpper() da classe StringQuantidade de visualizações: 10931 vezes |
|
Nesta dica mostrarei como podemos usar o método ToUpper() da classe String do VB.NET para converter todos os caracteres de uma palavra, frase ou texto para letras maiúsculas. Veja o código completo para o exemplo:
Imports System
Module Program
Sub Main(args As String())
Dim frase As String = "VejA esta FRASe"
' vamos mostrar a frase original
Console.WriteLine("Frase original: " & frase)
' transforma tudo em letras maiúsculas
frase = frase.ToUpper()
' agora mostramos a frase em letras maiúsculas
Console.WriteLine("Em letras maiúsculas: " & frase)
Console.WriteLine(vbCrLf & "Pressione qualquer tecla para sair...")
' pausa o programa
Console.ReadKey()
End Sub
End Module
Ao executar este código VB.NET nós teremos o seguinte resultado: Frase original: VejA esta FRASe Em letras maiúsculas: VEJA ESTA FRASE |
Python ::: NumPy Python Library (Biblioteca Python NumPy) ::: Arrays e Matrix (Vetores e Matrizes) |
Como criar arrays (vetores e matrizes) usando o objeto ndarray da biblioteca Numpy do PythonQuantidade de visualizações: 3406 vezes |
|
O objeto ndarray é a parte mais importante da biblioteca Numpy do Python. É por meio dele que criamos vetores e matrizes. Quando falamos vetores, estamos nos referindo às matrizes de apenas uma dimensão, ou seja, uma linha e várias colunas. A forma mais comum de se criar arrays na Numpy é usando funções presentes na biblioteca. Veja: # importamos a bibliteca NumPy import numpy as np def main(): # vamos usar o método arange() para construir um # vetor de 10 elementos, começando de 0 até 9 vetor = np.arange(10) # vamos mostrar o vetor gerado print(vetor) if __name__== "__main__": main() Ao executar este código nós teremos o seguinte resultado: [0 1 2 3 4 5 6 7 8 9] Depois que criamos o vetor, seus elementos individuais podem ser acessados usando-se o nome da variável usada para representar todo o valor e o índice do elemento que queremos acessar (começando em 0). Veja:
# importamos a bibliteca NumPy
import numpy as np
def main():
# vamos usar o método arange() para construir um vetor de
# 10 elementos, começando de 0 até 9
vetor = np.arange(10)
# vamos mostrar o vetor inteiro
print("Vetor gerado: ", vetor)
# vamos mostrar o valor do terceiro elemento
print("Terceiro elemento: ", vetor[2])
if __name__== "__main__":
main()
Este código produzirá o seguinte resultado: Vetor gerado: [0 1 2 3 4 5 6 7 8 9] Terceiro elemento: 2 Uma outra forma de criarmos vetores usando a Numpy, é fornecendo os elementos do vetor como uma list. Veja:
# importamos a bibliteca NumPy
import numpy as np
def main():
# vamos criar um vetor passando uma list
valores = np.array([4, 12, 50, 8, 32])
# vamos mostrar o resultado
print("Elementos no vetor:", valores)
if __name__== "__main__":
main()
Este código vai gerar o seguinte resultado: Elementos no vetor: [ 4 12 50 8 32] Agora vamos usar essa mesma abordagem para criar uma matriz de duas dimensões (bidimensional):
# importamos a bibliteca NumPy
import numpy as np
def main():
# vamos criar uma matriz bidimensional passando
# duas lists dentro de uma list
valores = np.array([(4, 12, 50), (5, 3, 1)])
# vamos mostrar o resultado
print("Elementos no vetor:", valores)
if __name__== "__main__":
main()
Veja o resultado da execução desse código: Elementos no vetor: [[12 12 50] [ 5 3 1]] Em mais dicas dessa seção você aprenderá mais sobre as funções de criação e manipulação de vetores e matrizes usando a biblioteca NumPy do Python. |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Laços de Repetição |
Exercício Resolvido de Java - Calculando e exibindo os números primos entre 2 e 100Quantidade de visualizações: 9158 vezes |
|
Pergunta/Tarefa: Um inteiro é um número primo se ele for divisível somente por 1 e por ele mesmo. Assim, 2, 3, 5 e 7 são primos, enquanto 4, 6, 8 e 9 não são. Note que o número 1 não é primo. Escreva um programa (algorítmo) Java que usa um laço for, while ou do...while para calcular e exibir os números primos entre 2 (incluindo) e 100 (incluindo). Sua saída deverá ser parecida com: Numeros primos entre 2 e 100: 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 Veja a resolução comentada deste exercício usando Java console:
package estudos;
public class Estudos {
public static void main(String[] args) {
// limite dos números primos (incluindo)
int limite = 100;
// Lembre-se! O número 1 não é primo
System.out.println("Numeros primos entre 2 e " + limite + ": ");
// laço que percorre os valores de 2 até o limite desejado
for(int i = 2; i <= limite; i++){
boolean primo = true;
// se o valor de i for 7, a variável j do laço contará
// de 2 até 7 / 2 (divisão inteira), ou seja, 3. Se o
// módulo de 7 por qualquer um dos valores neste intervalo
// for igual a 0, então o número não é primo
for(int j = 2; j <= (i / 2); j++){
if(i % j == 0){
primo = false; // não é primo
break;
}
}
if(primo){
System.out.print(i + " ");
}
}
System.out.println();
}
}
|
Delphi ::: Dicas & Truques ::: Strings e Caracteres |
Como verificar se uma substring está contida no final de uma string usando a função AnsiEndsStr() do DelphiQuantidade de visualizações: 11805 vezes |
Em algumas situações precisamos verificar se uma substring está contida no final de uma string, ou seja, se a string termina com um determinado sufixo. Em Delphi isso pode ser feito com o auxílio da função AnsiEndsStr(). Esta função requer a substring a ser pesquisada e a string alvo da pesquisa. O retorno será true se a substring estiver contida no final da string. Do contrário o retorno será false. Veja o exemplo:
procedure TForm1.Button1Click(Sender: TObject);
var
frase: string;
begin
frase := 'Gosto muito de Delphi e Java';
// vamos verificar se a string termina com "Java"
if AnsiEndsStr('Java', frase) then
ShowMessage('A frase termina com a substring indicada')
else
ShowMessage('A frase NÃO termina com a substring indicada')
end;
Não se esqueça de adicionar a unit StrUtils no uses do seu formulário. Para questões de compatibilidade, esta dica foi escrita usando Delphi 2009. |
C++ ::: Win32 API (Windows API) ::: Arquivos e Diretórios |
Arquivos e diretórios em C++ - Como escrever em arquivos usando a função WriteFile() da API do WindowsQuantidade de visualizações: 9594 vezes |
|
A função WriteFile() da Win32 API é útil quando precisamos escrever em arquivos. Esta função foi projetada para escritas síncronas e assíncronas, enquanto WriteFileEx() é somente para escritas assíncronas. Veja o protótipo desta função: BOOL WINAPI WriteFile( HANDLE hFile, LPCVOID lpBuffer, DWORD nNumberOfBytesToWrite, LPDWORD lpNumberOfBytesWritten, LPOVERLAPPED lpOverlapped ); Antes de escrevermos em um arquivo, é importante entendermos o significado dos parâmetros da função WriteFile(): a) HANDLE hFile - Este é o handle para o arquivo no qual queremos escrever. Este handle deve ser criado com os direitos de acesso de escrita GENERIC_WRITE. b) LPCVOID lpBuffer - Um ponteiro para o buffer que contém os dados que serão escritos no arquivo. c) DWORD nNumberOfBytesToWrite - O número de bytes a serem escritos no arquivo. d) LPDWORD lpNumberOfBytesWritten - Um ponteiro para uma variável que receberá o número de bytes escritos. A função WriteFile() define o valor desta variável como zero antes de fazer seu trabalho ou verificação de erro. d) 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. Veja um trecho de código no qual usamos a função WriteFile() para escrever duas linhas em um arquivo texto:
#include <cstdlib>
#include <iostream>
#include <windows.h>
using namespace std;
int main(int argc, char *argv[]){
// dados a serem escritos no arquivo
CHAR frase[80];
DWORD nOut; // bytes escritos
// nome do arquivo
CHAR arquivo[] = "C:\\testes.txt";
// vamos abrir o arquivo para escrita.
// se o arquivo não existir nós vamos criá-lo.
HANDLE hArquivo = CreateFile(arquivo, GENERIC_WRITE, 0, NULL,
CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
if(hArquivo == INVALID_HANDLE_VALUE){
cout << "Erro ao abrir o arquivo: " << GetLastError() << endl;
}
else{
// arquivo aberto com sucesso. Vamos escrever
// dados a serem escritos no arquivo
CHAR frase1[80] = "Programar em C++ é bom demais\r\n";
CHAR frase2[80] = "E a Win32 é da hora!!!!";
DWORD nOut; // bytes escritos
// vamos escrever a primeira frase
WriteFile(hArquivo, frase1, strlen(frase1), &nOut, NULL);
cout << nOut << " bytes foram escritos. " << endl;
// vamos escrever a segunda frase
WriteFile(hArquivo, frase2, strlen(frase2), &nOut, NULL);
cout << nOut << " bytes foram escritos. " << endl;
}
// vamos fechar o handle
CloseHandle(hArquivo);
system("PAUSE");
return EXIT_SUCCESS;
}
|
Desafios, Exercícios e Algoritmos Resolvidos de C++ |
Veja mais Dicas e truques de C++ |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |




