![]() |
|
|
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 Cards de Hidrologia |
||
|
||
|
|
||
Java ::: Tratamento de Erros ::: Erros de Tempo de Execução |
Como tratar o erro StringIndexOutOfBoundsException em seus programas Java - A exceção StringIndexOutOfBoundsException da linguagem JavaQuantidade de visualizações: 12616 vezes |
|
A exceção StringIndexOutOfBoundsException é uma exceção (erro) que acontece quando fornecemos um índice fora dos limites permitidos para o acesso de caracteres individuais em uma string, geralmente usando o método charAt. Lembre-se de que os índices dos caracteres em uma string Java começam em 0 e vão até o tamanho da string menos 1. Antes de vermos os exemplos, observe a posição da classe pública StringIndexOutOfBoundsException na hierarquia de classes da plataforma Java:
java.lang.Object
java.lang.Throwable
java.lang.Exception
java.lang.RuntimeException
java.lang.IndexOutOfBoundsException
java.lang.StringIndexOutOfBoundsException
Esta classe implementa a interface Serializable. Veja um trecho de código no qual fornecemos um índice de caractere inválido para o método charAt da classe String:
public class Estudos{
public static void main(String args[]){
String nome = "Java";
// vamos fornecer um índice inválido
System.out.println(nome.charAt(4));
System.exit(0);
}
}
Compile este código e execute-o. Você verá a seguinte mensagem de erro: Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 4 at java.lang.String.charAt(Unknown Source) at Estudos.main(Estudos.java:6) Experimente trocar a linha: System.out.println(nome.charAt(4)); por: System.out.println(nome.charAt(3)); Compile novamente e execute. Você verá que a mensagem de erro desapareceu. |
C ::: Dicas & Truques ::: Arquivos e Diretórios |
Como ler o conteúdo de um arquivo um caractere de cada vez usando a função fgetc() da linguagem CQuantidade de visualizações: 1011 vezes |
|
A função fgetc() da linguagme C pode ser usada quando queremos ler o conteúdo de um arquivo um caractere de cada vez. Esta função retorna o caractere atualmente representado pelo indicador de posição interna no arquivo. Depois de lido o caractere, o indicador de posição avança para apontar para o próximo caractere. Veja a assinatura desta função: int fgetc(FILE *file); O trecho de código abaixo mostra como usar um laço while para ler todos os caracteres do arquivo especificado e exibir o conteúdo na tela:
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
FILE *arquivo = fopen("c:\\testes.txt", "r");
int caractere;
// testa se o arquivo foi aberto com sucesso
if(arquivo != NULL){
// vamos usar um laço para ler o conteúdo do arquivo
// e exibí-lo
while((caractere = fgetc(arquivo)) != EOF)
printf("%c", caractere);
fclose(arquivo); // libera o ponteiro para o arquivo
}
else
printf("Nao foi possivel abrir o arquivo.");
printf("\n\n");
system("PAUSE");
return 0;
}
|
Python ::: Desafios e Lista de Exercícios Resolvidos ::: Recursão (Recursividade) |
Exercícios Resolvidos de Python - Um método recursivo que recebe um valor inteiro e o exibe na ordem inversaQuantidade de visualizações: 1366 vezes |
|
Pergunta/Tarefa: Escreva um método recursivo que recebe um valor inteiro (com qualquer quantidade de dígitos) e o exibe na ordem inversa. Se o método receber o valor 467, o valor inverso será 764. Seu método deverá possuir a seguinte assinatura: def exibirInverso(valor): # sua implementação aqui Sua saída deverá ser parecida com: Informe um valor inteiro: 932 O valor invertido é: 239 Veja a resolução comentada deste exercício usando Python console:
# método recursivo que recebe um valor inteiro e o exibe na ordem
# inversa
def exibirInverso(valor):
# a parada da recursividade é o valor igual a 0
if valor != 0:
print(valor % 10, end ="")
valor = valor // 10
exibirInverso(valor) # efetua uma nova chamada recursiva
# método principal
def main():
# solicita um valor inteiro ao usuário
numero = int(input("Informe um valor inteiro: "))
# exibe o valor na ordem invertida
print("O valor invertido é: ", end =" ")
exibirInverso(numero)
if __name__== "__main__":
main()
|
C++ ::: STL (Standard Template Library) ::: Vector C++ |
Como retornar uma referência ao último elemento de um vector C++ usando a função back()Quantidade de visualizações: 7576 vezes |
O último elemento de um contêiner STL vector pode ser acessado por meio da função back(). Como esta função é sobrecarregada, temos duas opções:reference back(); const_reference back() const;
#include <iostream>
#include <vector>
using namespace std;
int main(int argc, char *argv[]){
// um vector vazio que conterá inteiros
vector<int> valores;
// vamos inserir três elementos
valores.push_back(54);
valores.push_back(13);
valores.push_back(87);
// vamos obter o valor do último elemento do vector
// Note que back() pode ser usada dos dois lados
// de uma operação de atribuição
int valor = valores.back();
cout << "Último elemento: " << valor << endl;
// vamos alterar o valor do último elemento
valores.back() = 102;
// vamos testar o resultado
cout << "Último elemento: " << valores.back() << endl;
system("PAUSE"); // pausa o programa
return EXIT_SUCCESS;
}
Ao executar este código C++ nós teremos o seguinte resultado: Último elemento: 87 Último elemento: 102 Note que aqui nós usamos: int valor = valores.back(); para guardar o valor do último elemento na variável valor. Poderíamos também usar: int& valor = valores.back(); valor = 102; Agora valor é uma referência direta ao último elemento do vector. Desta forma, qualquer alteração no valor da variável valor afetará também o último elemento do vector. Observe agora o seguinte trecho de código: int valor = valores.back(); // o último elemento é 87 valores.back() = 20; cout << "Último elemento: " << valor << endl; Aqui nós acessamos o valor do último elemento, guardarmos-o na variável valor e atribuímos o valor 20 à valores.back(). Porém, ao imprimirmos a variável valor o seu conteúdo ainda é 87. De fato, o que gostaríamos é que uma alteração em valores.back() afetasse também a variável valor. Assim: int& valor = valores.back(); // o último elemento é 87 valores.back() = 20; cout << "Último elemento: " << valor << endl; Mas, como evitar alterações diretas na variável valor? Podemos declarar valor como uma referência constante, ou seja, usar a segunda versão da função back(), a saber const T&, que retorna uma referência constante. Veja: const int& valor = valores.back(); // o último elemento é 87 valores.back() = 20; valor = 300; // esta linha não compila cout << "Último elemento: " << valor << endl; Agora o efeito que queríamos é alcançado. Alterações em valores.back() afetam a variável valor, mas, não podemos alterar valor diretamente, já que esta variável é uma referência constante agora. |
Portugol ::: Dicas & Truques ::: Cadeias e Caracteres |
Como testar se uma sub-cadeia está contida em uma cadeia de caracteres em Portugol usando a função posicao_texto()Quantidade de visualizações: 921 vezes |
|
Nesta dica mostrarei como podemos verificar se uma substring está contida em uma string em Portugol. Para isso nós vamos usar a função posicao_texto() da biblioteca Texto. A função posicao_texto() pede a sub-cadeia a ser pesquisada, a cadeia na qual a pesquisa será feita e o índice do primeiro caractere a partir do qual a sub-string será pesquisada. Se a substring for encontrada, a função retorna a posição do primeiro caractere. Caso contrário o valor -1 será retornado. Veja o código completo para um programa Portugol no qual testamos se uma palavra está contida em uma frase:
programa {
// vamos importar a biblioteca Texto
inclua biblioteca Texto --> tx
funcao inicio() {
// vamos criar uma frase
cadeia frase = "Gosto de programar em Portugol"
// vamos criar uma sub-cadeia
cadeia palavra = "Portugol"
// vamos verificar se a sub-cadeia está contida na cadeia
se (tx.posicao_texto(palavra, frase, 0) != -1) {
escreva("A substring está contida na string")
}
senao {
escreva("A substring não está contida na string")
}
}
}
Ao executar este código Portugol nós teremos o seguinte resultado: A substring está contida na string. |
Desafios, Exercícios e Algoritmos Resolvidos de Portugol |
Veja mais Dicas e truques de Portugol |
Dicas e truques de outras linguagens |
|
Revit Python Shell - Como copiar grupos no Revit usando a função Create.PlaceGroup() e o Revit Python Shell JavaScript - JavaScript para iniciantes - Como obter o valor do maior número possível em JavaScript usando Number.MAX_VALUE LISP - Como converter Coordenadas Polares para Coordenadas Cartesianas em LISP - LISP para Engenharia |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |




