Você está aqui: Cards de Engenharia Civil - Estruturas de Concreto Armado |
||
|
||
|
|
||
Python ::: Dicas & Truques ::: Strings e Caracteres |
Como pesquisar uma substring em uma string usando a função find() da linguagem PythonQuantidade de visualizações: 12728 vezes |
|
Nesta dica mostrarei como podemos usar o método find() do objeto string da linguagem Python para pesquisar uma substring em uma string. A assinatura dessa função é: find(substring[, start[, end]]) onde substring é a substring a ser pesquisada e start e end são argumentos opcionais que definem os índices de início e fim da pesquisa. Se a substring não for encontrada, o valor -1 é retornado. Se for encontrada, o índice do primeiro caractere é retornado. Veja um exemplo completo do seu uso:
def main():
frase = "Gosto de Python e JavaScript"
indice = frase.find("Python")
if indice != -1:
print("A palavra foi encontrada no índice", indice)
else:
print("A palavra não foi encontrada")
if __name__== "__main__":
main()
Ao executarmos este código Python nós teremos o seguinte resultado: A palavra foi encontrada no índice 9. |
C++ Builder ::: VCL - Visual Component Library ::: TEdit |
Como obter o tamanho do texto de um TEdit usando a função SendMessage() da API do Windows e a mensagem WM_GETTEXTLENGTH usando C++ BuilderQuantidade de visualizações: 6337 vezes |
|
Embora o C++ Builder já nos forneça as ferramentas necessárias para obter a quantidade de caracteres contidos em 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_GETTEXTLENGTH. A função SendMessage() da API do Windows possui a seguinte assinatura: LRESULT SendMessage( HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam ); Note que precisamos informar o HWND (parâmetro hWnd) para a caixa de texto e a mensagem que será enviada ao controle. Os valores para os parâmetros wParam e lParam devem ser 0 (zero). Veja:
void __fastcall TForm3::Button2Click(TObject *Sender)
{
// vamos obter o tamanho do texto de um TEdit usando a função
// SendMessage() e a mensagem WM_GETTEXTLENGTH
int tam = SendMessage(Edit1->Handle, WM_GETTEXTLENGTH, 0, 0);
// vamos mostrar o resultado
ShowMessage("O Edit contém " + IntToStr(tam) + " caracteres.");
}
Ao executar este exemplo você terá um mensagem com um texto parecido com: O Edit contém 10 caracteres. |
VB.NET ::: Dicas & Truques ::: Strings e Caracteres |
Como contar as ocorrências de um caractere em uma string em VB.NET usando o método IndexOf()Quantidade de visualizações: 13073 vezes |
|
Nesta dica mostrarei como podemos usar o método IndexOf() da classe String do VB.NET e o laço While para contar quantas vezes um determinado caractere ocorre em uma palavra, frase ou string. Veja o código completo para o exemplo:
Imports System
Module Program
Sub Main(args As String())
Dim frase As String = "Gosto muito de VB.NET e você?"
Dim letra As Char = "o"
Dim quant As Integer = 0
Dim pos As Integer = -1, pos_ant As Integer = -1
Dim cont As Integer = 0
' mostra a frase
Console.WriteLine("A frase é: " & frase)
While cont < frase.Length
pos = frase.IndexOf(letra, cont)
If pos <> pos_ant And pos <> -1 Then
Console.WriteLine("""" & letra &
""" encontrada na posição " & pos)
quant += 1
End If
cont += 1
pos_ant = pos
End While
' mostra a quantidade de ocorrências da letra "o"
Console.WriteLine("Encontrei " & quant & " ocorrências da " _
& "letra " & letra)
Console.WriteLine(vbCrLf & "Pressione qualquer tecla para sair...")
' pausa o programa
Console.ReadKey()
End Sub
End Module
Ao executar este código VB.NET nós teremos o seguinte resultado: A frase é: Gosto muito de VB.NET e você? "o" encontrada na posição 1 "o" encontrada na posição 4 "o" encontrada na posição 10 "o" encontrada na posição 25 Encontrei 4 ocorrências da letra o |
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: 2194 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()
|
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Recursão (Recursividade) |
Exercícios Resolvidos de Java - Um método recursivo que recebe um valor inteiro e o exibe na ordem inversaQuantidade de visualizações: 4894 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:
public static void exibirInverso(int 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 Java console:
package exercicio;
import java.util.Scanner;
public class Exercicio{
public static void main(String[] args) {
// cria um novo objeto da classe Scanner
Scanner entrada = new Scanner(System.in);
// solicita um valor inteiro ao usuário
System.out.print("Informe um valor inteiro: ");
// lê o valor informado
int numero = Integer.parseInt(entrada.nextLine());
// exibe o valor na ordem invertida
System.out.print("O valor invertido é: ");
exibirInverso(numero);
System.out.println("\n");
}
// método recursivo que recebe um valor inteiro e o exibe na ordem
// inversa
public static void exibirInverso(int valor){
// a parada da recursividade é o valor igual a 0
if(valor != 0){
System.out.print(valor % 10);
valor = valor / 10;
exibirInverso(valor); // efetua uma nova chamada recursiva
}
}
}
|
Mais Desafios de Programação e Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |






