![]() |
|
|
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 - Estruturas de Concreto Armado |
||
|
||
|
|
||
HTML5 ::: HTML5 + JavaScript ::: Geolocation API |
Como usar a API Geolocation do HTML5Quantidade de visualizações: 2318 vezes |
|
A API Geolocation foi uma das adições mais importantes ao HTML5. Por meio desta API, os usuários podem compartilhar sua localização com seus sites favoritos. Um código JavaScript pode, por exemplo, capturar sua latitude e longitude, enviar para o backend de um servidor web e permitir que algumas aplicações façam coisas tais como encontrar lojas e locais mais próximos de você ou até mesmo mostrar sua localização em um mapa. Nos dias atuais (março de 2020), a maioria dos navegadores web e dispositivos móveis (celulares, computadores de bordo de veículos, etc) dão suporte à API Geolocation. É claro que, antes de usá-la, temos que estar atentos à algumas considerações: 1) A localização mais precisa é aquela fornecida por um GPS, e este geralmente não está presente em laptops ou desktop. No entanto, alguns sistemas operacionais possuem a capacidade de obter tal localização se você estiver usando posicionamento de WI-FI e também por meio do seu endereço IP (Internet Protocol). 2) O usuário poderá se recusar a fornecer sua localização. Assim, fique atento a este fato e teste sempre a existência da API Geolocation e também a concordância do usuário antes de efetuar alguma ação crucial nas suas aplicações. 3) Alguns navegadores web restringem o acesso à API Geolocation somente em ambiente HTTPs. Fique atento a este detalhe também. Vamos agora ver um trecho de código JavaScript que verifica a existência da API Geolocation no navegador:
<html>
<head>
<title>Testando a existência da API Geolocation</title>
</head>
<body>
<script type="text/javascript">
if(window.navigator.geolocation) {
window.alert("A API Geolocation foi encontrada.");
}
else{
window.alert("A API Geolocation não foi encontrada neste navegador.");
}
</script>
</body>
</html>
Notem que o novo objeto geolocation foi adicionado ao objeto navigator, já existente nos navegadores desde suas primeiras versões, e tudo que fizemos foi testar a existência de tal objeto. Pronto! Agora que já sabemos para que serve a API Geolocation e como verificar a existência do objeto geolocation, o passo seguinte é aprender como detectar a latitude e longitude do usuário. Nesta seção você encontrará mais dicas relacionadas a isso. |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Estruturas de Dados - Listas Ligadas |
Exercícios Resolvidos de Java - Como inserir um nó em qualquer posição de uma lista ligada em Java - Escreva um programa Java que cria uma lista dinamicamente encadeadaQuantidade de visualizações: 1194 vezes |
|
Pergunta/Tarefa: Escreva um programa Java que cria uma lista dinamicamente encadeada (lista singularmente encadeada) e pede para o usuário inserir 5 elementos do tipo inteiro. Em seguida peça para o usuário informar um índice e um novo elemento e insira tal elemento no índice informado. Faça a validação dos índices para que ele não saia da faixa permitida. Sua saída deve ser parecida com: Inserindo 5 valores na lista Informe o 1.o valor: 8 Informe o 2.o valor: 2 Informe o 3.o valor: 4 Informe o 4.o valor: 7 Informe o 5.o valor: 3 Valores na lista: 8 -> 2 -> 4 -> 7 -> 3 -> null Inserindo um elemento no índice k Informe o índice desejado: 2 Informe o valor do nó: 9 Valores na lista: 8 -> 2 -> 9 -> 4 -> 7 -> 3 -> null Na saída podemos ver que o índice 2 corresponde ao terceiro elemento da lista ligada. Por isso o valor 4 foi empurrado para a frente para abrir espaço para o valor 9. Se o índice 0 fosse informado, o número 8 seria empurrado para a frente e o nó com valor 9 passaria a ser o início da lista ligada. Veja a resolução comentada deste exercício usando Java:
package estudos;
import java.util.Scanner;
// classe interna usada para representar um
// nó na lista ligada
class No {
int valor; // valor do nó
No proximo; // aponta para o novo nó
// construtor cheio da classe No
public No(int valor, No proximo) {
this.valor = valor;
this.proximo = proximo;
}
// construtor vazio da classe No
public No() {
this.valor = 0;
this.proximo = null;
}
}
public class Estudos {
public static void main(String args[]){
// para ler a entrada do usuário
Scanner entrada = new Scanner(System.in);
// vamos criar uma referência para o início da lista
No inicio = null;
// vamos inserir 5 valores inteiros na lista ligada
int valor;
System.out.println("Inserindo 5 valores na lista\n");
for (int i = 0; i < 5; i++) {
System.out.print("Informe o " + (i + 1) + ".o valor: ");
valor = Integer.parseInt(entrada.nextLine());
// vamos inserir este valor no final da lista
inicio = inserirFinal(inicio, valor);
}
// vamos exibir os valores na lista ligada
System.out.print("\nValores na lista: ");
exibirLista(inicio);
// vamos inserir um novo elemento no índice informado
System.out.println("\nInserindo um elemento no índice k\n");
System.out.print("Informe o índice desejado: ");
int indice = Integer.parseInt(entrada.nextLine());
// o índice é válido?
if ((indice < 0) || (indice > tamanhoLista(inicio) - 1)) {
System.out.println("O índice é inválido.");
}
else {
// vamos inserir o novo nó no índice indicado
System.out.print("Informe o valor do nó: ");
valor = Integer.parseInt(entrada.nextLine());
inicio = inserirIndice(inicio, indice, valor);
// vamos exibir os valores na lista ligada
System.out.print("\nValores na lista: ");
exibirLista(inicio);
}
}
// função que permite adicionar um nó em uma determinada
// posição da lista ligada
public static No inserirIndice(No inicio, int indice, int valor) {
// vamos apontar para o nó inicial
No atual = inicio;
// criamos um novo nó
No novo = criarNo(valor);
// a lista ligada ainda está vazia?
if (atual == null){
// inicio recebe o novo nó
inicio = novo;
}
else if (indice == 0) {
// o índice é igual a 0? vamos inserir
// o nó no início da lista ligada
novo.proximo = inicio;
inicio = novo;
}
else {
// vamos procurar o local adequado para inserção
// primeiro criamos um nó temporário
No temp = new No();
// apontamos o nó temporário para o início da lista
temp = inicio;
// e percorremos os nós até encontrar a posição
// de inserção
for(int i = 1; i < indice; i++) {
if (temp != null) {
// passa para o próximo nó
temp = temp.proximo;
}
}
// concluimos a inserção
novo.proximo = temp.proximo;
temp.proximo = novo;
}
// e retornamos o início da lista
return inicio;
}
// função que permite adicionar um nó no final da
// lista ligada
public static No inserirFinal(No inicio, int valor) {
// vamos apontar para o nó inicial
No atual = inicio;
// criamos um novo nó
No novo = criarNo(valor);
// a lista ligada ainda está vazia?
if (atual == null){
// inicio recebe o novo nó
inicio = novo;
}
else { // temos um ou mais nós na lista ligada
// vamos localizar o último nó
while (atual.proximo != null) {
atual = atual.proximo;
}
// encontramos o último nó. Agora vamos inserir
// o novo nó depois dele
atual.proximo = novo;
}
// e retornamos o início da lista
return inicio;
}
// função usada para construir e retornar um novo nó
public static No criarNo(int valor) {
// cria o novo nó
No no = new No(valor, null);
// retorna o nó criado
return no;
}
// função usada para percorrer a lista ligada e
// exibir os valores contidos em seus nós
public static void exibirLista(No inicio) {
// vamos apontar para o início da lista
No temp = inicio;
// a lista está vazia?
if (temp == null) {
System.out.println("A lista está vazia.");
}
else {
// esse laço se repete enquanto tempo for
// diferente de null
while (temp != null) {
// vamos mostrar o valor desse nó
System.out.print(temp.valor + " -> ");
// avança para o próximo nó
temp = temp.proximo;
}
// mostra o final da lista
System.out.println("null");
}
}
// função que retorna a quantidade de nós na lista ligada
public static int tamanhoLista(No inicio) {
int tamanho = 0;
// vamos apontar para o início da lista
No temp = inicio;
// a lista está vazia?
if (temp == null) {
return 0;
}
else {
// esse laço se repete enquanto tempo for
// diferente de null
while (temp != null) {
// vamos incrementar o tamanho
tamanho++;
// avança para o próximo nó
temp = temp.proximo;
}
}
return tamanho;
}
}
|
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Java Básico |
Exercícios Resolvidos de Java - Um programa Java que solicita ao usuário que informe sua idade em anos, meses e dias e mostre sua idade em diasQuantidade de visualizações: 14692 vezes |
|
Pergunta/Tarefa: Escreva um programa Java que solicite ao usuário que informe sua idade em anos, meses e dias, ou seja, sua idade atual em anos e a quantidade de meses e dias decorridos desde seu aniversário. Seu programa deverá exibir uma saída parecida com: Informe sua idade em anos, meses e dias Anos: 25 Meses: 2 Dias: 12 Idade expressa em dias: 9197 Resposta/Solução: Veja a resolução comentada deste exercício usando Java console (lendo a entrada do usuário por meio do uso da classe Scanner):
public static void main(String[] args){
// não se esqueça de adicionar um import para a classe Scanner
// import java.util.Scanner;
// vamos criar um objeto da classe Scanner
Scanner entrada = new Scanner(System.in);
// variáveis que vão guardar a idade em anos, meses e dias;
int anos, meses, dias;
int idade_dias; // guardará a idade em dias
System.out.println("Informe sua idade em anos, meses e dias");
// obtém os anos
System.out.print("Anos: ");
anos = Integer.parseInt(entrada.nextLine());
// obtém os meses
System.out.print("Meses: ");
meses = Integer.parseInt(entrada.nextLine());
// obtém os dias
System.out.print("Dias: ");
dias = Integer.parseInt(entrada.nextLine());
// vamos calcular a idade em dias
idade_dias = (anos * 365) + (meses * 30) + dias;
// vamos exibir o resultado
System.out.println("Idade expressa em dias: " + idade_dias);
}
|
Python ::: Desafios e Lista de Exercícios Resolvidos ::: Engenharia Civil - Cálculo Estrutural |
Exercícios Resolvidos de Python - Como calcular as reações de apoio, momento de flexão máxima e forças cortantes em uma viga bi-apoiada com carga distribuída retangular usando PythonQuantidade de visualizações: 2508 vezes |
|
Pergunta/Tarefa: Veja a seguinte figura: ![]() Nesta imagem temos uma viga bi apoiada com uma carga q distribuída de forma retangular a uma distância l. Para fins didáticos, vamos considerar que a carga q será em kN/m e a distância l será em metros. O apoio A é de segundo gênero e o apoio B é de primeiro gênero. Escreva um programa Python que solicita ao usuário que informe o valor da carga q e a distância l entre os apoios A e B. Em seguida mostre os valores das reações nos apoios A e B, o momento de flexão máxima da viga e o momento de flexão para uma determinada distância (que o usuário informará) a partir do apoio A. Mostre também as forças cortantes nos apoios A e B. Lembre-se de que, para uma carga distribuída de forma retangular, o diagrama de momento fletor é uma parábola, enquanto o diagrama de cortante é uma reta (com o valor zero para a força cortante no meio da viga). Sua saída deve ser parecida com: Valor da carga em kN/m: 10 Distância em metros: 13 A reação no apoio A é: 65.000000 kN A reação no apoio B é: 65.000000 kN O momento fletor máximo é: 211.250000 kN.m Informe uma distância a partir do apoio A: 4 O momento fletor na distância informada é: 180.000000 kN.m A força cortante no apoio A é: 65.000000 kN A força cortante no apoio B é: -65.000000 kN Veja a resolução comentada deste exercício usando Python:
# Algoritmo que calcula reação de apoio, momento fletor
# e força cortante em uma viga bi-apoiada em Python
# vamos importar o módulo Math
import math
# função principal do programa
def main():
# vamos pedir para o usuário informar o valor da carga
carga = float(input("Valor da carga em kN/m: "))
# vamos pedir para o usuário informar a distância entre os apoios
distancia = float(input("Distancia em metros: "))
# vamos calcular a reação no apoio A
reacao_a = (1.0 / 2.0) * carga * distancia
# vamos calcular a reação no apoio B
reacao_b = reacao_a
# vamos calcular o momento fletor máximo
flexao_maxima = (1.0 / 8.0) * carga * math.pow(distancia, 2.0)
# e mostramos o resultado
print("\nA reação no apoio A é: {0} kN".format(reacao_a))
print("A reação no apoio B é: {0} kN".format(reacao_b))
print("O momento fletor máximo é: {0} kN.m".format(flexao_maxima))
# vamos pedir para o usuário informar uma distância a
# partir do apoio A
distancia_temp = float(input("\nInforme uma distância a partir do apoio A: "))
# vamos mostrar o momento fletor na distância informada
if distancia_temp > distancia:
print("\nDistância inválida.")
else:
flexao_distancia = (1.0 / 2.0) * carga * distancia_temp * \
(distancia - distancia_temp)
print("O momento fletor na distância informada é: {0} kN.m".format(
flexao_distancia))
# vamos mostrar a força cortante no apoio A
cortante_a = (1.0 / 2.0) * carga * distancia
print("\nA força cortante no apoio A é: {0} kN".format(cortante_a))
# vamos mostrar a força cortante no apoio B
cortante_b = cortante_a * -1
print("A força cortante no apoio B é: {0} kN".format(cortante_b))
if __name__== "__main__":
main()
|
PHP ::: Dicas & Truques ::: Strings e Caracteres |
Como acessar os caracteres de uma string individualmente em PHP usando índicesQuantidade de visualizações: 1 vezes |
|
Em algumas situações nós gostaríamos de acessar os caracteres individuais de uma palavra, frase ou texto em PHP. Isso pode ser feito por meio da notação de índices, ou seja, usando []. Veja um exemplo abaixo: <?php $nome = "Carlos de Jesus"; echo "O primeiro caractere é " . $nome[0]; ?> Ao executar este código PHP nós teremos o seguinte resultado: O primeiro caractere é C |
Desafios, Exercícios e Algoritmos Resolvidos de PHP |
Veja mais Dicas e truques de PHP |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |





