Você está aqui: Cards de |
||
|
||
|
|
||
Java ::: Coleções (Collections) ::: ArrayList |
Como escrever um método que retorna um objeto da classe ArrayList do JavaQuantidade de visualizações: 16628 vezes |
Em algumas situações precisamos escrever um método Java que retorna um objeto da classe ArrayList. Esta dica mostra como isso pode ser feito:
import java.util.*;
public class Estudos{
public static void main(String[] args){
// vamos obter o ArrayList do método abaixo
ArrayList<String> lista = obterLista();
// vamos exibir os valores dos elementos
for(int i = 0; i < lista.size(); i++){
System.out.println(lista.get(i));
}
System.exit(0);
}
// um método que retorna um ArrayList
public static ArrayList<String> obterLista(){
// vamos criar um ArrayList, adicionar alguns elementos
// e devolvê-la ao chamador do método
ArrayList<String> nomes = new ArrayList<String>();
nomes.add("Osmar J. Silva");
nomes.add("Fernanda de Castro");
nomes.add("Marcos de Oliveira");
return nomes;
}
}
|
Delphi ::: Data Controls (Controles de Dados) ::: TDBGrid |
Como retornar o índice da coluna da célula atual em um TDBGrid do DelphiQuantidade de visualizações: 10535 vezes |
|
Em algumas situações precisamos obter o índice da coluna da célula atual, ou seja, a célula que detém o foco no momento em um TDBGrid. Isso pode ser feito por meio da propriedade Col da classe TCustomGrid (e publicada na classe TStringGrid). Como esta propriedade não está publicada na classe TDBGrid (Delphi 2009), o que fazemos é um casting para a classe TStringGrid. Veja um trecho de código no qual usamos o evento Click de um botão para informar o índice da coluna da célula atual:
procedure TForm3.Button3Click(Sender: TObject);
var
indice: Integer;
begin
// vamos obter o índice da coluna da célula atual
indice := TStringGrid(DBGrid1).Col;
ShowMessage('O índice da coluna da célula atual é: ' +
IntToStr(indice));
end;
Execute o código e clique no botão. Você verá uma mensagem parecida com: "O índice da coluna da célula atual é: 3". Lembre-se de que o índice da coluna fixa do DBGrid é 0. Esta dica foi escrita e testada no Delphi 2009. |
Python ::: Python para Engenharia ::: Física - Hidrodinâmica |
Como representar a Equação da Continuidade em Python - Python para HidrodinâmicaQuantidade de visualizações: 492 vezes |
|
O que é a Equação da Continuidade? A Hidrodinâmica é a parte da Física que estuda os fluidos em movimento, enquanto a Equação da Continuidade, que é parte da Hidrodinâmica, determina o fluxo de um fluido através de uma área. Esta equação está muito presente quando o assunto é Dinâmica dos Fluidos ou Mecânica dos Fluidos. A Equação da Continuidade é uma consequência direta da Lei da Conservação da Massa. Por meio dessa propriedade, podemos dizer que a quantidade de massa de fluido que atravessa o tubo é a mesma na entrada e na saída. Para melhor entendimento veja a seguinte figura: ![]() Sabendo que a quantidade de água que entra na mangueira deve ser igual à mesma quantidade que sai, ao colocarmos o dedo na saída da mangueira, nós estamos estreitando a área da vazão, o que, consequentemente, aumenta a velocidade da água. Qual é a Fórmula da Equação da Continuidade? Antes de passarmos ao código Python, vamos revisar a Fórmula da Equação da Continuidade. Veja: \[ A_1 \cdot \text{v}_1 = A_2 \cdot \text{v}_2 \] Por meio dessa equação nós entramos com três valores e obtemos um quarto valor. Não se esqueça de que as velocidades são dadas em metros por segundo e as áreas são dadas em metros quadrados (de acordo com o SI - Sistema Internacional de Medidas). Tenha a certeza de efetuar as devidas conversões para não obter resultados incorretos. Vamos escrever código Python agora? A Equação da Continuidade em código Python Para exemplificar como podemos representar a Equação da Continuidade em Python, vamos resolver o seguinte problema? 1) Um fluido escoa a 2 m/s em um tubo de área transversal igual a 200 mm2. Qual é a velocidade desse fluido ao sair pelo outro lado do tubo, cuja área é de 100 mm2? a) 20 m/s b) 4 m/s c) 0,25 m/s d) 1,4 m/s e) 0,2 m/s Note que a velocidade já está em metros por segundo, mas as áreas foram dadas em milímetros quadrados. Por essa razão nós deveremos converter milímetros quadrados em metros quadrados. Veja o código Python completo para a resolução deste exercício de Equação da Continuidade:
# função principal do programa
def main():
# vamos solicitar os dados de entrada
v1 = float(input("Velocidade de entrada (m/s): "))
a1 = float(input("Área de entrada (milímetros quadrados): "))
a2 = float(input("Área de saída (milímetros quadrados): "))
# vamos converter as áreas em milímetros quadrados
# para metros quadrados
a1 = a1 / 1000000
a2 = a2 / 1000000
# agora calculamos a velocidade de saída
v2 = (a1 * v1) / a2
# e mostramos o resultado
print("A velocidade de saída é: {0} m/s".format(v2))
if __name__== "__main__":
main()
Ao executar este código Python nós teremos o seguinte resultado: Velocidade de entrada (m/s): 2 Área de entrada (milímetros quadrados): 200 Área de saída (milímetros quadrados): 100 A velocidade de saída é: 4.0 m/s Portanto, a velocidade do fluido na saída do tubo é de 4 m/s. |
Python ::: Desafios e Lista de Exercícios Resolvidos ::: Programação Orientada a Objetos |
Exercício Resolvido de Python - Uma classe para representar uma pessoa, com os atributos privados de nome, data de nascimento e alturaQuantidade de visualizações: 10031 vezes |
|
Pergunta/Tarefa: Crie uma classe para representar uma pessoa, com os atributos privados de nome, data de nascimento e altura. Crie os métodos públicos necessários para sets e gets e também um método para imprimir todos dados de uma pessoa. Crie um método para calcular a idade da pessoa. A data de nascimento pode ser informada como uma String (no formato 05/10/1982, por exemplo) e, no cálculo da idade, considere apenas o ano da data de nascimento informada. Sua saída deverá ser parecida com: ![]() Resposta/Solução: Veja a resolução comentada deste exercício usando Python console: Código para a classe Pessoa (pessoa.py):
from datetime import datetime
class Pessoa:
# construtor da classe Pessoa
def __init__(self, nome, data_nascimento, altura):
self._nome = nome
self._data_nascimento = data_nascimento
self._altura = altura
# método que imprime todos os dados da pessoa
def imprimir_dados(self):
print("Nome:", self._nome, "\nData de Nascimento:" ,
self._data_nascimento, "\nAltura:", self._altura)
# método que calcula a idade da pessoa
def calcular_idade(self):
# vamos obter o ano da data de hoje
ano_data_atual = datetime.today().year
# agora vamos obter o ano de nascimento da pessoa
partes_data_nascimento = self._data_nascimento.split("/")
ano_nascimento = partes_data_nascimento[2]
# agora mostramos a idade da pessoa
anos = ano_data_atual - int(ano_nascimento)
print("A pessoa tem", anos, "anos.")
# método que define o nome da pessoa
def set_nome(self, nome):
self._nome = nome
# método que obtém o nome da pessoa
def get_nome(self):
return self._nome
# método que define a data de nascimento da pessoa
def set_data_nascimento(self, data_nascimento):
self._data_nascimento = data_nascimento
# método que obtém a data de nascimento da pessoa
def get_data_nascimento(self):
return self._data_nascimento
# método que define a altura da pessoa
def set_altura(self, altura):
self._data_altura = altura
# método que obtém a altura da pessoa
def get_altura(self):
return self._altura
Código para o arquivo principal.py:
# importa a classe Pessoa
from pessoa import Pessoa
def main():
# cria um novo objeto da classe Pessoa
pessoa = Pessoa("Amanda Rodrigues", "12/03/1972", 1.65)
# exibe os dados da pessoa
pessoa.imprimir_dados()
# mostra a idade da pessoa
pessoa.calcular_idade()
if __name__== "__main__":
main()
|
Delphi ::: Dicas & Truques ::: Matemática e Estatística |
Como arredondar casas decimais para baixo usando a função Floor() do DelphiQuantidade de visualizações: 14243 vezes |
A função Floor(), presente na unit Math, é útil quando queremos arrendondar valores de ponto-flutuante (valores com casas decimais) para baixo, ou seja, para o maior inteiro menor ou igual ao valor fornecido. Veja um exemplo:
procedure TForm2.Button1Click(Sender: TObject);
var
valor: Real;
resultado: Integer;
begin
// uses Math
valor := 8.74;
// vamos arredondar o valor para baixo
// o resultado será 8
resultado := Floor(valor);
// exibe o resultado
ShowMessage('O valor arredondado para baixo é: ' +
IntToStr(resultado));
end;
Note que os valores 8.0001, 8.3, 8.1, 8.99, etc, serão todos arredondados para 8. No entanto, 9.0 é arredondado para 9. Para fins de compatibilidade, esta dica 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 |






