Você está aqui: Cards de Engenharia Civil - Estruturas de Concreto Armado |
||
|
||
|
|
||
Python ::: Python para Engenharia ::: Engenharia Civil - Concreto, Concreto Armado e Concretos Especiais |
Cálculo de estribos em vigas de concreto armado usando Python - Verificação da compressão diagonal do concretoQuantidade de visualizações: 974 vezes |
|
No dimensionamento de vigas de concreto armado à força cortante, ou seja, aos esforços de cisalhamento, nós adotamos, de acordo com recomendações da ABNT NBR 6118 (Projeto de estruturas de concreto armado), o modelo de treliça clássica de Ritter-Mörsh, na qual é suposto que uma carga aplicada num ponto qualquer de uma viga de concreto armado, chegue até os apoios percorrendo o caminho de uma treliça. Recordemos ainda que na treliça clássica de Ritter-Mörsh o ângulo de inclinação das bielas comprimidas é igual à 45°. Neste modelo de treliça, a compressão do banzo superior é resistida pelo concreto, enquanto a tração do banzo inferior é resistida pelo aço. As diagonais comprimidas também são resistidas pelo concreto, cabendo ao aço (estribos) o papel de reforçar as diagonais tracionadas. Notem que usei "reforçar", pois o concreto oferece também uma parcela de resistência à tração nestas diagonais. Sendo assim, um dos primeiros passos no cálculo e detalhamento das armaduras transversais, ou seja, a armadura de cisalhamento de uma viga de concreto armado, é a verificação da compressão diagonal do concreto. Neste passo nós verificamos se as bielas comprimidas resistem ao esforço cortante solicitante de projeto VSd. A verificação da compressão diagonal do concreto no Modelo I (no qual o ângulo α, que é o ângulo entre os estribos e o eixo longitudinal da viga, pode ser considerado entre 45º e 90º) pode ser realizada por meio da seguinte fórmula: \[V_\text{Rd2} = 0,27 \cdot \alpha_\text{v2} \cdot f_\text{cd} \cdot b_w \cdot d \] Onde: fcd é a resistência de cálculo do concreto, em kN/cm2; bw é a largura da viga, em centímetros; d é a altura útil da viga em centímetros; Já o αv2 pode ser calculado pela seguinte fórmula: \[\alpha_\text{v2} = 1 - \frac{f_\text{ck}}{250}\] Onde: fck é a resistência característica do concreto, em Mpa. Veja agora o código Python :
# método principal
def main():
# vamos pedir para o usuário informar a altura da viga
altura = float(input("Informe a altura h da viga em cm: "))
# vamos pedir para o usuário informar a largura da viga
largura = float(input("Informe a largura bw da viga em cm: "))
# vamos calcular a altura útil da viga
# aqui eu usei 0.9 mas alguns engenheiros usam 0.95
altura_util = 0.9 * altura
# vamos pedir para o usuário informar o FCK do concreto
fck = float(input("Informe o FCK do concreto em Mpa: "))
# vamos ler o coeficiente de minoração do concreto
yc = float(input("Informe o coeficiente de minoração yc: "))
# vamos solicitar o esforço cortante solicitante VSk
VSk = float(input("Informe o esforço cortante solicitante em kN: "))
# vamos ler o coeficiente de majoração das cargas
yf = float(input("Informe o coeficiente de majoração yf: "))
# vamos calcular o esforço cortante solicitante de cálculo VSd
VSd = yf * VSk
# agora vamos calcular o fcd do concreto
fcd = fck / yc
# vamos calcular o alfa v2
av2 = 1 - (fck / 250)
# finalmente vamos calcular o VRd2 no Modelo de Cálculo I
VRd2 = 0.27 * av2 * (fcd / 10) * largura * altura_util
# vamos mostrar os resultados
print("\n------ RESULTADOS -----------------------------")
print("O fcd do concreto é: {0} Mpa".format(round(fcd, 4)))
print("O valor de av2 é: {0}".format(round(av2, 4)))
print("O valor de VRd2 é: {0} kN".format(round(VRd2, 4)))
print("O valor de VSd é: {0} kN".format(round(VSd, 4)))
# vamos testar se as bielas de compressão não serão esmagadas
if (VSd <= VRd2):
print("VSd <= VRd2: As bielas de compressão RESISTEM")
else:
print("VSd > VRd2: As bielas de compressão NÃO RESISTEM")
if __name__ == "__main__":
main()
Ao executar este código Python nós teremos o seguinte resultado: Informe a altura h da viga em cm: 40 Informe a largura bw da viga em cm: 20 Informe o FCK do concreto em Mpa: 25 Informe o coeficiente de minoração yc: 1.4 Informe o esforço cortante solicitante em kN: 75 Informe o coeficiente de majoração yf: 1.4 ------ RESULTADOS ----------------------------- O fcd do concreto é: 17.8571 Mpa O valor de av2 é: 0.9 O valor de VRd2 é: 312.4286 kN O valor de VSd é: 105.0 kN VSd <= VRd2: As bielas de compressão RESISTEM |
C# ::: Fundamentos da Linguagem ::: Estruturas de Controle |
Tutorial C# - Como usar o laço while (enquanto) da linguagem C#Quantidade de visualizações: 13800 vezes |
O laço while (enquanto) é usado quando queremos repetir uma instrução ou bloco de instruções ENQUANTO uma condição for satisfatória. Veja um exemplo:
static void Main(string[] args){
int valor = 1;
while(valor <= 10){
Console.WriteLine("{0}", valor);
valor++;
}
Console.WriteLine("\n\nPressione uma tecla para sair...");
Console.ReadKey();
}
Este trecho de código conta de 1 até 10. Veja que antes de cada iteração do laço nós testamos se o valor da variável de controle é menor ou igual a 10. A iteração acontece somente se esta condição for satisfeita, o que nos mostra que um laço while pode nunca ser executado (o que aconteceria se a condição fosse falsa já na entrada). Note ainda que dentro de cada iteração nós incrementamos o valor da variável de controle. Isso é feito para que o laço não seja executado infinitamente. Veja um outro exemplo de laço while, desta vez simulando um menu de opções:
static void Main(string[] args){
// variável que registra a opção do usuário
int opcao;
// lê a opção
Console.Write("Informe a opção 1, 2 ou 3" +
" (-1 para sair): ");
// laço while que mostra as opções do menu enquanto
// o valor -1 não for informado
while((opcao = int.Parse(Console.ReadLine())) != -1){
switch(opcao){
case 1:
Console.WriteLine("Executando a opção 1");
break;
case 2:
Console.WriteLine("Executando a opção 2");
break;
case 3:
Console.WriteLine("Executando a opção 3");
break;
default:
Console.WriteLine("Opção incorreta");
break;
}
// mostra o texto das opções novamente
Console.Write("Informe a opção 1, 2 ou 3" +
" (-1 para sair): ");
}
Console.WriteLine("\n\nPressione uma tecla para sair...");
Console.ReadKey();
}
Se você é realmente iniciante em C#, notará que este exemplo é um pouco mais elaborado. Desta forma, estude-o atentamente. É uma técnica muito útil quando estamos escrevendo programas console, uma vez que a maioria deles possui um menu de opções. |
Delphi ::: VCL - Visual Component Library ::: TEdit |
Como obter o conteúdo de um TEdit do Delphi em tempo de execução usando a função SendMessage() da API do Windows e a mensagem WM_GETTEXTQuantidade de visualizações: 12216 vezes |
|
Embora o Delphi já nos forneça as ferramentas necessárias para obter o conteúdo de um TEdit em tempo de execução, é importante saber como realizar esta tarefa usando a API do Windows. Para isso, podemos usar a função SendMessage() em combinação com a mensagem WM_GETTEXT. A função SendMessage() da API do Windows possui a seguinte assinatura em C/C++: LRESULT SendMessage( HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam ); No arquivo Windows.pas podemos encontrar o protótipo e corpo desta função convertidos para Object Pascal:
// Protótipo
{$EXTERNALSYM SendMessage}
function SendMessage(hWnd: HWND; Msg: UINT; wParam: WPARAM;
lParam: LPARAM): LRESULT; stdcall;
// Implementação
function SendMessage; external user32 name 'SendMessageW';
Note que precisamos de um HWND (parâmetro hWnd) para a caixa de texto. Temos que fornecer também a quantidade de caracteres que serão lidos (parâmetro wParam) e um buffer no qual os caracteres lidos a partir da caixa de texto serão colocados (parâmetro lParam). Veja:
procedure TForm1.Button1Click(Sender: TObject);
var
buffer: String;
tamanho: Integer;
begin
// vamos obter a quantidade de caracteres na caixa de texto
tamanho := SendMessage(Edit1.Handle, WM_GETTEXTLENGTH, 0, 0);
// vamos ajustar o tamanho do buffer
SetLength(buffer, tamanho);
// vamos usar a mensagem WM_GETTEXT para obter o conteúdo
// da caixa de texto
SendMessage(Edit1.Handle, WM_GETTEXT, tamanho + 1, lParam(@buffer[1]));
// vamos exibir o resultado
ShowMessage('O conteúdo do edit é: ' + buffer);
end;
Veja que usei também a mensagem WM_GETTEXTLENGTH para obter a quantidade de caracteres na caixa de texto. Isso foi necessário para redimensionarmos o buffer de caracteres para um tamanho capaz de acomododar todo o conteúdo do edit. |
C# ::: Windows Forms ::: ComboBox |
Como retornar a quantidade de itens em um ComboBox do C# Windows FormsQuantidade de visualizações: 9811 vezes |
|
A quantidade de elementos (ou itens) em um ComboBox do C# Windows Forms pode ser obtida por meio da propriedade Count da classe ComboBox.ObjectCollection. Podemos ter acesso a esta classe a partir da propriedade Items da classe ComboBox. Veja um trecho de código no qual obtemos a quantidade de itens em um ComboBox chamado cidades:
private void button1_Click(object sender, EventArgs e){
int quant = cidades.Items.Count;
MessageBox.Show("O ComboBox contém " + quant + " itens");
}
|
Ruby ::: Dicas & Truques ::: Strings e Caracteres |
Como converter uma string em um valor de ponto-flutuante em Ruby usando a função to_f da classe StringQuantidade de visualizações: 7488 vezes |
|
Em algumas situações precisamos transformar um valor contido em uma string em um valor numérico do tipo ponto-flutuante (float ou double). Em Ruby podemos fazer isso usando o método to_f da classe String. Veja o exemplo: # um número fracionário declarado como string valor = "3.5" # vamos somar este número a um outro resultado = 30 + valor.to_f # exibe o resultado puts resultado Ao executar este código Ruby nós teremos o seguinte resultado: 33.5 |
Desafios, Exercícios e Algoritmos Resolvidos de Ruby |
Veja mais Dicas e truques de Ruby |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |






