Você está aqui: Cards de Engenharia Civil - Estruturas de Concreto Armado |
||
|
||
|
|
||
Dart ::: Desafios e Lista de Exercícios Resolvidos ::: Laços de Repetição |
Exercício Resolvido de Dart - Escreva um programa Dart que usa o laço for para desenhar um padrão de diamante de estrelasQuantidade de visualizações: 1568 vezes |
|
Pergunta/Tarefa: Neste exercício para a prática da linguagem Dart você deverá usar o laço for para desenhar o famoso padrão de diamante de estrelas. Você pode também usar o laço while, se assim você o desejar. O programa deverá pedir que o usuário informe a quantidade de linhas que marcará a metade do diamante. Seu programa deve apresentar a seguinte saída:
Informe a quantidade de linhas: 5
*
***
*****
*******
*********
*******
*****
***
*
Veja a resolução comentada deste exercício em Dart:
// Vamos importar a biblioteca dart:io
import "dart:io";
void main(){
// variáveis que vamos usar na resolução do problema
int linhas, estrelas, espacos;
// vamos pedir a quantidade de linhas
stdout.write("Informe a quantidade de linhas: ");
// vamos ler a entrada do usuário
linhas = int.parse(stdin.readLineSync());
estrelas = 1; // começamos com uma estrela (no topo do diamante)
// se linhas for igual a 5 nós começamos com 4 espaços
espacos = linhas - 1;
// repete duas vezes a quantidade de linhas informadas
for(int i = 1; i < linhas * 2; i++){
// vamos imprimir os espaços
for(int j = 1; j <= espacos; j++){
stdout.write(" ");
}
// agora vamos imprimir estrelas
for(int j = 1; j < estrelas * 2; j++){
stdout.write("*");
}
// passamos para a próxima linha
stdout.write("\n");
if(i < linhas){ // é a parte superior do diamante
espacos--; // diminui os espaços
estrelas++; // e aumenta as estrelas
}
else{ // é a parte inferior do diamente
espacos++; // aumenta os espaços
estrelas--; // e diminui as estrelas
}
}
}
|
Java ::: Dicas & Truques ::: Trigonometria - Funções Trigonométricas |
Como calcular o cateto adjascente dadas as medidas da hipotenusa e do cateto oposto em JavaQuantidade de visualizações: 1597 vezes |
|
Nesta dica mostrarei como podemos tirar proveito do Teorema de Pitágoras para obter a medida do cateto adjascente quando temos as medidas da hipotenusa e do cateto oposto. Este teorema diz que "o quadrado da hipotenusa é igual à soma dos quadrados dos catetos", o que torna a nossa tarefa, na linguagem Java, muito fácil. Comece observando a imagem a seguir: ![]() Veja que, nessa imagem, eu já coloquei os comprimentos da hipotenusa, do cateto oposto e do cateto adjascente. Para facilitar a conferência dos cálculos, eu coloquei também os ângulos theta (que alguns livros chamam de alfa) e beta já devidamente calculados. A medida da hipotenusa é, sem arredondamentos, 36.056 metros. Então, sabendo que o quadrado da hipotenusa é igual à soma dos quadrados dos catetos (Teorema de Pitógoras): \[c^2 = a^2 + b^2\] Tudo que temos que fazer é mudar a fórmula para: \[b^2 = c^2 - a^2\] Veja que agora o quadrado do cateto adjascente é igual ao quadrado da hipotenusa menos o quadrado do cateto oposto. Não se esqueça de que a hipotenusa é o maior lado do triângulo retângulo. Veja agora como esse cálculo é feito em linguagem Java:
package arquivodecodigos;
public class Estudos{
public static void main(String args[]){
double c = 36.056; // medida da hipotenusa
double a = 20; // medida do cateto oposto
// agora vamos calcular a medida da cateto adjascente
double b = Math.sqrt(Math.pow(c, 2) - Math.pow(a, 2));
// e mostramos o resultado
System.out.println("A medida do cateto adjascente é: " +
b);
}
}
Ao executar este código Java nós teremos o seguinte resultado: A medida do cateto adjascente é: 30.00058559428465 Como podemos ver, o resultado retornado com o código Java confere com os valores da imagem apresentada. |
Python ::: Python para Engenharia ::: Engenharia Civil - Cálculo Estrutural |
Como calcular o Índice de Esbeltez de um pilar em Python - Python para Engenharia Civil e Cálculo EstruturalQuantidade de visualizações: 509 vezes |
![]() O índice de esbeltez de um pilar, representado pela letra grega λ (lambda) é uma relação que mede a altura do pilar em relação à sua largura ou seção transversal. Esse índice é usado para avaliar a suscetibilidade de um pilar à flambagem, que é um tipo de falha estrutural que pode ocorrer em pilares esbeltos sob compressão. Segundo a NBR 6118, 15.8.2, os pilares devem ter índice de esbeltez menor ou igual a 200 (λ ≤ 200). Apenas no caso de postes com força normal menor que 0,10 fcd x Ac, o índice de esbeltez pode ser maior que 200. O índice de esbeltez é a razão entre o comprimento de flambagem e o raio de giração, nas direções a serem consideradas. De acordo com o comprimento de flambagem, os pilares classificam-se como: curto, se λ < 35; medianamente esbelto, se 35 < λ < 90; esbelto, se 90 < λ < 140; e muito esbelto, se 140 < λ < 200. A fórmula para o cálculo do índice de esbeltez pode ser definida como: \[\lambda = 3,46 \cdot \frac{le}{h} \] Onde: λ = número adimensional representando o índice de esbeltez ao longo da direção escolhida (x ou y); le = algura do pilar, ou seja, o comprimento do pilar em centímetros. h = dimensão escolhida (x ou y) em centímetros. De acordo com a norma NBR 6118 (ABNT, 2014), se o índice de esbeltez na direção escolhida for menor que 35, nós não precisamos considerar os efeitos locais de 2ª ordem. Vamos agora ao código Python? Pediremos ao usuário para informar o comprimento (altura) do pilar em metros, as dimensões nas direções x e y e mostraremos os índices de esbeltez nas direções x e y do pilar com as respectivas anotações da necessidade ou não da consideração dos efeitos locais de 2ª ordem. Veja:
# método principal
def main():
# vamos pedir o comprimento do pilar em metros (pé direito)
le = float(input("Informe o comprimento do pilar (em metros): "))
# vamos converter o comprimento em metros para centímetros
le = le * 100.0
# vamos pedir as dimensões do pilar
hx = float(input("Informe a dimensão do pilar na direção x (em cm): "))
hy = float(input("Informe a dimensão do pilar na direção y (em cm): "))
# agora vamos calcular o índice de esbeltez na direção x
lambda_x = 3.46 * (le / hx)
# agora vamos calcular o índice de esbeltez na direção y
lambda_y = 3.46 * (le / hy)
# e mostramos os resultados
print("\nO índice de esbeltez na direção x é: {0}".format(round(lambda_x, 2)))
# precisamos considerar os efeitos locais de segunda ordem na direção x?
if lambda_x < 35:
print("Não considerar os efeitos locais de 2ª ordem na direção x")
else:
print("Considerar os efeitos locais de 2º ordem na direção x")
print("\nO índice de esbeltez na direção y é: {0}".format(round(lambda_y, 2)))
# precisamos considerar os efeitos locais de segunda ordem na direção y?
if lambda_y < 35:
print("Não considerar os efeitos locais de 2ª ordem na direção y")
else:
print("Considerar os efeitos locais de 2ª ordem na direção y")
if __name__== "__main__":
main()
Ao executar este código Python nós teremos o seguinte resultado: Informe o comprimento do pilar (em metros): 2.88 Informe a dimensão do pilar na direção x (em cm): 40 Informe a dimensão do pilar na direção y (em cm): 19 O índice de esbeltez na direção x é: 24.91 Não considerar os efeitos locais de 2ª ordem na direção x O índice de esbeltez na direção y é: 52.45 Considerar os efeitos locais de 2ª ordem na direção y |
JavaScript ::: Dicas & Truques ::: Set (Conjunto) |
Como retornar elementos presentes no primeiro vetor e não presentes no segundo vetor em JavaScript usando o objeto SetQuantidade de visualizações: 1615 vezes |
|
Este é um código muito interessante de ser feito em JavaScript. Dados dois arrays a e b, temos que retornar os números que estão presentes no primeiro array, mas que não estão presentes no segundo array. Este código pode ser escrito usando diversas abordagens. Nesta dica mostrarei como resolvê-lo usando um objeto Set, adicionado à linguagem JavaScript na revisão ECMAScript 2015, também chamada de ES6 e ECMAScript 6. Vamos ao código então:
<html>
<head>
<title>O objeto Set do JavaScript</title>
</head>
<body>
<script type="text/javascript">
// primeiro vetor
var a = [4, 8, 1, 23, 65];
// segundo vetor
var b = [23, 8, 90, 3, 7];
// vetor resultante
var c = [];
// criamos um objeto Set e guardamos nele os
// elementos do segundo vetor
var set = new Set();
for (var i = 0; i < b.length; i++){
set.add(b[i]);
}
// agora varremos o primeiro vetor e usamos
// o método has() do objeto Set para verificar se
// o valor não está contido nele
for (var i = 0; i < a.length; i++){
if(!set.has(a[i])){
c.push(a[i]);
}
}
document.writeln("Primeiro vetor: " + a);
document.writeln("<br>Segundo vetor: " + b);
document.writeln("<br>Resultado: " + c);
</script>
</body>
</html>
Ao executar este código JavaScript nós teremos o seguinte resultado: Primeiro vetor: 4, 8, 1, 23, 65 Segundo vetor: 23, 8, 90, 3, 7 Resultado: 4, 1, 65 Note que os valores 4, 1 e 65 estão presentes no primeiro array mas não estão presentes no segundo. |
Python ::: wxPython ::: Controles Visuais Básicos do wxPython |
Como usar a função GetDefaultSize() para obter o tamanho padrão dos botões wx.Button em uma determinada plataforma e um determinado tamanho de fonteQuantidade de visualizações: 6805 vezes |
|
Quando estamos escrevendo interfaces wxPython para múltiplas plataformas, é interessante usar o método GetDefaultSize() para obter as dimensões padrão dos botões. Isso permite que o próprio sistema determine o tamanho dos botões baseado no tamanho da fonte usada. Este método retorna um objeto da classe wx.Size e as dimensões podem ser obtidas com o auxílio das propriedades width (largura) e height (altura). Veja um exemplo wxPython completo:
# vamos importar a biblioteca wxPython
import wx
class Janela(wx.Frame):
def __init__(self):
wx.Frame.__init__(self, None, -1,
"Usando wx.Button", size=(350, 200))
# Cria um painel
panel = wx.Panel(self)
# Cria um botão e o adiciona no painel
self.btn = wx.Button(panel, label="Clique Aqui",
pos=(10, 10), size=(100, 25))
# Anexa um evento ao botão
self.Bind(wx.EVT_BUTTON, self.OnBtnClick, self.btn)
# Método que será chamado ao clicar o botão
def OnBtnClick(self, event):
# obtém o tamanho padrão dos botões
# nesta plataforma
dimensoes = self.btn.GetDefaultSize()
dlg = wx.MessageDialog(None, u"A largura padrão é: "
+ str(dimensoes.width) + u" pixels e a altura " +
u"padrão é: " + str(dimensoes.height) + " pixels",
"Usando wx.Button", wx.OK | wx.ICON_INFORMATION)
result = dlg.ShowModal()
dlg.Destroy()
if __name__ == "__main__":
app = wx.App()
janela = Janela()
janela.Show(True)
app.MainLoop()
|
Desafios, Exercícios e Algoritmos Resolvidos de Python |
Veja mais Dicas e truques de Python |
Dicas e truques de outras linguagens |
|
C - Como verificar a existência de uma substring em uma string usando a função strstr() da linguagem C |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |







