![]() |
|
Código-Fonte Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidadesTenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais |
|
Você está aqui: Cards de Engenharia Civil - Construção Civil |
||
|
||
|
|
||
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Laços de Repetição |
Exercícios Resolvidos de Java - Um laço for que conta de 0 até 10Quantidade de visualizações: 13924 vezes |
|
Pergunta/Tarefa: Escreva uma aplicação console Java que usa o laço for para contar de 0 até 10. Faça dois exemplos. No primeiro você deverá escrever os valores na horizontal e no segundo você deverá escrever os valores na vertical: Resposta/Solução: Este exercício é um dos primeiros sobre o uso de laços nos cursos de Java e você pode fazer usando o Bloco de Notas, Netbeans, Eclipse ou sua IDE favorita. Veja o código que usa o laço for para contar de 0 até 10 e exibir os valores na horizontal:
public static void main(String[] args){
// laço for que conta de 0 até 10 e exibe os valores na horizontal
for(int i = 0; i <= 10; i++){
System.out.print(i + " ");
}
}
Quando você executar este código, os valores deverão ser impressos da seguinte forma: 0 1 2 3 4 5 6 7 8 9 10 Agora, veja como uma pequena modificação faz com que os valores sejam impressos na vertical:
public static void main(String[] args){
// laço for que conta de 0 até 10 e exibe os valores na vertical
for(int i = 0; i <= 10; i++){
System.out.println(i + " ");
}
}
Agora os valores serão exibidos da seguinte forma: 0 1 2 3 4 5 6 7 8 9 10 |
Python ::: Python para Engenharia ::: Engenharia Civil - Cálculo Estrutural |
Como calcular o Momento Fletor Mínimo e a Excentricidade Mínima de 1ª Ordem de um pilar em Python - Python para Engenharia Civil e Cálculo EstruturalQuantidade de visualizações: 982 vezes |
![]() O cálculo e dimensionamento de pilares, sejam pilares de canto, extremidade ou intermediários, sempre seguem alguns passos cujas ordens são muito importantes, pois os dados de entrada de um passo podem vir de um ou mais passos anteriores. Em dicas anteriores do uso da linguagem Python no cálculo de pilares eu mostrei como calcular os esforços solicitantes majorados em pilares e também como calcular o índice de esbeltez de um pilar nas direções x e y. Nesta dica mostrarei como calcular o Momento Fletor Mínimo e a Excentricidade Mínima de 1ª Ordem de um pilar. Estes dados são muito importantes para a aplicação das fórmulas que embasam a área de aço a ser usada no pilar. Note que a Excentricidade Mínima de 1ª Ordem pode ser desprezada no caso de pilares intermediários (também chamados pilares de centro). O Momento Fletor Mínimo é o momento mínimo que deve ser considerado, mesmo em pilares nos quais a carga está centrada, e é calculado por meio da seguinte fórmula: \[M_\text{1d,min} = Nd \cdot (1,5 + (0,03 \cdot h) \] Onde: M1d,min é o momento fletor mínimo na direção x ou y em kN.cm. Nd são os esforços solicitantes majorados em kN. h é a dimensão do pilar na direção considerada (x ou y) em cm. A Excentricidade Mínima de 1ª Ordem do pilar pode ser calculada por meio da fórmula: \[e_\text{1,min} = \frac{M_\text{1d,min}}{Nd} \] Onde: e1,min é excentricidade mínima de 1ª ordem na direção escolhida. Nd são os esforços solicitantes majorados em kN. Note que, a exemplo do momento fletor mínimo, a excentricidade mínima de 1ª ordem também deve ser calculada nas direções x e y do pilar. Vamos ao código Python agora? Veja que o código pede para o usuário informar as dimensões do pilar nas direções x e y em centímetros, a carga total que chega ao pilar em kN e mostra o momento fletor mínimo e a excentricidade mínima de 1ª ordem no pilar, tanto na direção x quanto na direção y:
# método principal
def main():
# 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): "))
# vamos pedir a carga total no pilar em kN
Nk = float(input("Informe a carga total no pilar (em kN): "))
# vamos obter o menor lado do pilar (menor dimensão da seção transversal)
if (hx < hy):
b = hx
else:
b = hy
# agora vamos calcular a área do pilar em centímetros quadrados
area = hx * hy
# a área está de acordo com a norma NBR 6118 (ABNT, 2014)
if (area < 360):
print("A área do pilar não pode ser inferior a 360cm2")
return
# vamos calcular a força normal de projeto Nd
yn = 1.95 - (0.05 * b) # de acordo com a norma NBR 6118 (ABNT, 2014) Tabela 13.1
yf = 1.4 # regra geral para concreto armado
Nd = yn * yf * Nk
# e agora vamos calcular o momento fletor mínimo na direção x do pilar
M1d_min_x = Nd * (1.5 + (0.03 * hx))
# e agora vamos calcular o momento fletor mínimo na direção y do pilar
M1d_min_y = Nd * (1.5 + (0.03 * hy))
# agora vamos calcular a excentricidade mínima de 1ª ordem na direção x do pilar
e1x_min = M1d_min_x / Nd
# e finalmente a excentricidade mínima de 1ª ordem na direção y do pilar
e1y_min = M1d_min_y / Nd
# e mostramos os resultados
print("\nO momento fletor mínimo na direção x é: {0} kN.cm".format(
round(M1d_min_x, 2)))
print("O momento fletor mínimo na direção y é: {0} kN.cm".format(
round(M1d_min_y, 2)))
print("A excentricidade mínima de 1ª ordem na direção x é: {0} cm".format(
round(e1x_min, 2)))
print("A excentricidade mínima de 1ª ordem na direção y é: {0} cm".format(
round(e1y_min, 2)))
if __name__== "__main__":
main()
Ao executar este código Python nós teremos o seguinte resultado: 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 Informe a carga total no pilar (em kN): 841.35 O momento fletor mínimo na direção x é: 3180.3 kN.cm O momento fletor mínimo na direção y é: 2438.23 kN.cm A excentricidade mínima de 1ª ordem na direção x é: 2.7 cm A excentricidade mínima de 1ª ordem na direção y é: 2.07 cm |
C# ::: Dicas & Truques ::: Tipos de Dados |
C# para iniciantes - Como usar o tipo de dados char da linguagem C#Quantidade de visualizações: 16270 vezes |
|
O tipo de dados char é usado quando queremos declarar, definir e usar caracteres em nossos programas. Em C#, uma variável do tipo char armazena um caractere Unicode, que são caracteres de 16 bits usados para representar a maioria das linguagens escritas mais conhecidas no mundo. O tipo char é um apelido C# para o tipo System.Char da plataforma .NET e sua faixa de valores varia de U+0000 à U+ffff (de 0 à 65535). Variáveis do tipo char podem ser declaradas e receber valores literais de três formas. Veja: // define uma letra char letra = 'A'; // define um valor hexadecimal equivalente à letra "A" char letra2 = '\x0041'; // define um valor Unicode equivalente à letra "A" char letra3 = '\u0041'; Há ainda a possibilidade de efetuar um cast de um valor inteiro para o tipo char. Veja:
// converte o valor 65 para um char
char letra = (char)65;
// exibe o resultado
Console.WriteLine("A letra é: " + letra);
Quando se trata de conversões implícitas, o tipo char pode ser convertido implicitamente para os tipos ushort, int, uint, long, ulong, float, double e decimal. Contudo, o caminho contrário não é possível, ou seja, nenhum outro tipo de dados pode ser convertido para o tipo char sem a necessidade de um cast (conversão explícita). Para finalizar, veja um trecho de código que exibe o alfabeto completo em letras maiúsculas:
static void Main(string[] args){
for(int i = 65; i <= 90; i++){
char letra = (char)i;
Console.Write(letra + " ");
}
// pausa o programa
Console.ReadKey();
}
|
C# ::: Dicas & Truques ::: Arquivos e Diretórios |
Como renomear ou mover arquivos em C# usando a função Move() da classe FileQuantidade de visualizações: 16946 vezes |
O método Move() da classe File é útil quando precisamos renomear ou mover arquivos. Este método recebe os caminhos e nomes antigo e novo do arquivo a ser renomeado ou movido de diretório. Veja um trecho de código no qual mostramos como renomear um arquivo texto (sem movê-lo para um diretório diferente):
static void Main(string[] args){
// não esqueça
// using System.IO;
// caminho e nome atual do arquivo
string antigo = "C:\\estudos_csharp\\arquivo.txt";
// caminho e novo nome do arquivo
string novo = "C:\\estudos_csharp\\arquivo2.txt";
// vamos renomear o arquivo
File.Move(antigo, novo);
Console.WriteLine("Arquivo renomeado com sucesso.");
Console.WriteLine("\n\nPressione uma tecla para sair...");
Console.ReadKey();
}
|
Delphi ::: Dicas & Truques ::: MIDI Musical Instrument Digital Interface, Mapeamento e sequenciamento MIDI, Entrada e saída MIDI |
Como retornar uma lista dos dispositivos de entrada MIDI no sistema usando DelphiQuantidade de visualizações: 11536 vezes |
|
Em algumas ocasiões nós precisamos obter uma lista dos dispositivos de entrada MIDI no sistema, talvez com o propósito de selecionar um determinado dispositivo em uma ListBox ou ComboBox. O trecho de código abaixo mostra como isso pode ser feito. O primeiro passo é declarar uma variável do tipo TMidiInCaps. Este registro está declarado na unit MMSystem.pas e é uma tradução da estrutura MIDIINCAPS da API do Windows. Entre outros tipos de dados, esta estrutura possui um membro szPname que retorna o nome do dispositivo. Na unit MMSystem.pas este membro está declarado como array[0..MAXPNAMELEN-1] of AnsiChar, ou seja, uma matriz de AnsiChar que será preenchida pela API do Windows e terá seu final marcado com o caractere null (NULL terminated string). Note a conversão deste valor para o tipo String no momento de inserí-lo no ComboBox. Em versões anteriores do Delphi (estou escrevendo este código no Delphi 2009) podíamos usar a função StrPas() para esta finalidade. O passo seguinte é obter a quantidade de dispositivos de entrada MIDI. Isso é feito com uma chamada à função midiInGetNumDevs da API do Windows. Uma vez obtida a quantidade de dispositivos nós usamos um laço for e, no corpo deste laço, usamos o valor da variável de controle i para efetuar uma chamada à função midiInGetDevCaps(), também da API do Windows: midiInGetDevCaps(i, @MidiInCaps, sizeof(TMidiInCaps)); Esta função recebe o identificador do dispositivo (um valor inteiro começando em 0 e indo até a quantidade de dispositivos - 1), um ponteiro para um registro MidiInCaps e o tamanho em bytes do registro. Se a função for executada com sucesso, o registro MidiInCaps será preenchido com várias informações úteis, tais como o nome do dispositivo, o ID do fabricante, o ID do produto, versão do driver, etc. Para finalizar, nós acessamos o campo szPname do registro MidiInCaps e o adicionamos no ComboBox. Veja o código completo a seguir:
procedure TForm1.Button1Click(Sender: TObject);
var
i: Integer;
MidiInCaps: TMidiInCaps; // este record está definido em MMSystem.pas
erro: Word;
begin
// uses MMSystem
ComboBox1.Clear;
// midiInGetNumDevs retorna a quantidade de dispositivos de entrada
// MIDI no sistema
for i := 0 to midiInGetNumDevs - 1 do
begin
// vamos obter o dispositivo identificado pela variável i (uDeviceID)
erro := midiInGetDevCaps(i, @MidiInCaps, sizeof(TMidiInCaps));
if erro <> MMSYSERR_NOERROR then
raise Exception.Create('Não foi possível obter a lista de dispositivos ' +
'de entrada MIDI');
// vamos adicionar o nome do dispositivo no ComboBox
ComboBox1.Items.Add(String(MidiInCaps.szPname));
end;
end;
Ao executar este código o ComboBox será preenchido no mínimo com o valor: MPU-401 Este é o MPU 401-compatible MIDI input port, um dos dispositivos de entrada MIDI mais comuns nos PCs, embora já não esteja tão presente nos computadores mais atuais. Para fins de compatibilidade esta dica ou anotação foi escrita usando Delphi 2009. |
Desafios, Exercícios e Algoritmos Resolvidos de Delphi |
Veja mais Dicas e truques de Delphi |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |







