Delphi ::: VCL - Visual Component Library ::: TListBox |
Como excluir o item ou itens selecionados em uma TListBox do Delphi usando a função DeleteSelectedQuantidade de visualizações: 13733 vezes |
Em algumas ocasiões nós precisamos excluir o item ou os itens selecionados em uma TListBox. Isso pode ser feito com o auxílio do método DeleteSelected da classe TListBox. Veja um trecho de código no qual excluímos apenas o item selecionado:
procedure TForm3.FormCreate(Sender: TObject);
begin
// vamos adicionar alguns itens na ListBox
ListBox1.Items.Add('Goiânia');
ListBox1.Items.Add('Curitiba');
ListBox1.Items.Add('Brasilia');
end;
procedure TForm3.Button1Click(Sender: TObject);
begin
// vamos excluir o item selecionado
ListBox1.DeleteSelected;
end;
É possível conseguir o mesmo resultado usando o método Delete() do objeto Items (do tipo TStrings). Veja: procedure TForm3.Button1Click(Sender: TObject); begin // vamos excluir o item selecionado ListBox1.Items.Delete(ListBox1.ItemIndex); end; Note que o método Delete() do objeto Items exige o índice do elemento a ser removido. Com o método DeleteSelected da classe TListBox esta exigência não existe. Além disso, o método DeleteSelected permite excluir mais de um elemento selecionado, ou seja, ele excluir todos os elementos selecionados. Veja:
procedure TForm3.FormCreate(Sender: TObject);
begin
// vamos adicionar alguns itens na ListBox
ListBox1.Items.Add('Goiânia');
ListBox1.Items.Add('Curitiba');
ListBox1.Items.Add('Brasilia');
// para que este exemplo funcione corretamente, a ListBox
// deverá permitir seleção múltipla
ListBox1.MultiSelect := True;
end;
procedure TForm3.Button1Click(Sender: TObject);
begin
// vamos excluir todos os itens selecionados
ListBox1.DeleteSelected;
end;
Execute este código, selecione mais de um item e clique no botão para verificar o resultado. Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009. |
Python ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes) |
Exercícios Resolvidos de Python - Como retornar o maior elemento em cada uma das colunas de uma matriz usando PythonQuantidade de visualizações: 1393 vezes |
|
Pergunta/Tarefa: Dada a seguinte matriz: 6 10 4 2 9 7 20 3 1 Sua saída deverá ser parecida com: Maior elemento na coluna 0 é 20 Maior elemento na coluna 1 é 10 Maior elemento na coluna 2 é 7 Veja a resolução comentada deste exercício usando Python:
# método principal
def main():
# vamos declarar e constuir uma matriz de 3 linhas e três colunas
matriz = [[6, 10, 4], [2, 9, 7], [20, 3, 1]];
# vamos percorrer a matriz e exibir o maior elemento de cada coluna
# começamos com cada coluna
for i in range(len(matriz[0])):
# assumimos que o maior valor é o primeiro dessa coluna
maior = matriz[0][i]
# percorremos todos os elementos desta linha
for j in range(len(matriz)):
# o elemento atual é maior que o maior?
if matriz[j][i] > maior:
# maior assume o valor atual
maior = matriz[j][i]
# exibimos o maior elemento desta coluna
print("Maior elemento na coluna {0} é {1}".format(i, maior))
if __name__== "__main__":
main()
|
Python ::: Desafios e Lista de Exercícios Resolvidos ::: Strings e Caracteres |
Exercício Resolvido de Python - Como testar se duas palavras são anagramas uma da outra - Solução usando dicionário/hash tableQuantidade de visualizações: 2854 vezes |
|
Exercícios Resolvidos de Python - Como testar se duas palavras são anagramas uma da outra - Solução usando dicionário/hash table Pergunta/Tarefa: Dadas duas palavras p1 e p2, escreva um código Python que informa se uma palavra é anagrama da outra. Um anagrama é uma espécie de jogo de palavras criado com a reorganização das letras de uma palavra ou expressão para produzir outras palavras ou expressões, utilizando todas as letras originais exatamente uma vez. Para esta solução você deverá, obrigatoriamente, usar um dicionário Python, ou seja, um objeto dict. O objetivo é construir duas tabelas de frequências dos caracteres de cada palavra. Dicionários em Python são similares às tabelas hash (hash tables) em outras linguagens de programação. Seu programa deverá exibir a seguinte saída: ![]() Resposta/Solução: Veja a resolução com código comentado em Python:
# método que recebe duas palavras e retorna
# verdadeiro se uma palavra for anagrama da
# outra
def anagramas(palavra1, palavra2):
# o primeiro passo é verificar se os comprimentos das duas
# palavras são iguais
if(len(palavra1) != len(palavra2)):
return False
# agora criamos dois dictionaries para as frequencias de
# cada uma das palavras
freq_p1 = {}
freq_p2 = {}
# agora registramos as frequências de letras na primeira
# palavra
for letra in palavra1:
# a letra já está no dicionário?
if letra in freq_p1:
freq_p1[letra] += 1 # aumenta a frequêcia desta letra
else:
freq_p1[letra] = 1 # ainda não estava no dicionário
# agora registramos as frequências de letras na segunda
# palavra
for letra in palavra2:
# a letra já está no dicionário?
if letra in freq_p2:
freq_p2[letra] += 1 # aumenta a frequêcia desta letra
else:
freq_p2[letra] = 1 # ainda não estava no dicionário
# registradas as frequências de letras das duas palavras,
# chegou a hora de compararmos os dois dicionários
for chave in freq_p1:
# esta chave não está no segundo dicionário ou
# possui valores diferentes?
if chave not in freq_p2 or freq_p1[chave] != freq_p2[chave]:
return False
# se chegou até aqui então uma palavra é anagrama da outra
return True
def main():
# vamos ler duas palavras e verificar se uma é anagrama da outra
palavra1 = input("Informe a primeira palavra: ")
palavra2 = input("Informe a segunda palavra: ")
# vamos chamar o método que faz a verificação
if(anagramas(palavra1, palavra2)):
print("As duas palavras são anagramas")
else:
print("As duas palavras não são anagramas")
if __name__== "__main__":
main()
|
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: 962 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 |
Você também poderá gostar das dicas e truques de programação abaixo |
|
JavaScript - Como calcular o cateto oposto dadas as medidas da hipotenusa e do cateto adjascente em JavaScript |
Nossas 20 dicas & truques de programação mais recentes |
Últimos Projetos e Códigos Fonte Liberados Para Apoiadores do Site |
|
Python - Como criar o jogo Pedra, Papel, Tesoura em Python - Jogo completo em Python com código comentado |
Últimos Exercícios Resolvidos |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |






