Você está aqui: Python ::: Desafios e Lista de Exercícios Resolvidos ::: Física - Mecânica - Leis de Newton |
Exercícios Resolvidos de Física usando Python - Aplica-se uma força de 20 N a um corpo de massa m. O corpo desloca-se em linha reta com velocidade que aumenta - Desafio de Programação Resolvido em PythonQuantidade de visualizações: 1809 vezes |
Pergunta/Tarefa: (UFRGS - 2017) Aplica-se uma força de 20 N a um corpo de massa m. O corpo desloca-se em linha reta com velocidade que aumenta 10 m/s a cada 2 s. Qual o valor, em kg, da massa m? a) 5. b) 4. c) 3. d) 2. e) 1. Resposta/Solução: Este é um clássico problema de Física envolvendo a Segunda Lei de Newton, cuja fórmula, em sua forma mais simples é: \[F = m \cdot a \] Olhando para o enunciado, vimos que nos é pedido a massa em kg. Nós já temos a força de 20 N, já convertida para sua medida no SI. No entanto, em vez da aceleração, o problema nos dá a variação da velocidade, que aumenta 10 m/s a cada 2 s. Assim, só precisamos nos lembrar que a aceleração é igual ao valor da variação da velocidade dividido pelo intervalo de tempo. Veja o código Python completo que pede para o usuário informar a força em newtons, a variação da velocidade em metros por segundo e a variação do tempo em segundos e nos retorna a massa em quilos: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- # função principal do programa def main(): # vamos pedir para o usuário informar a força em newtons forca = float(input("Força em newtons: ")) # vamos pedir a variação da velocidade em metros por segundo velocidade = float(input("Variação da velocidade em metros por segundo: ")) # vamos pedir a variação do tempo em segundos tempo = float(input("Variação do tempo em segundos: ")) # agora calculamos a acelaração aceleracao = velocidade / tempo # agora que já temos a aceleracao, podemos calcular a massa massa = forca / aceleracao # e mostramos o resultado print("A massa em quilos é: {0}".format(massa)) if __name__== "__main__": main() Ao executarmos o código Python para o exercício nós teremos o seguinte resultado: Força em newtons: 20 Variação da velocidade em metros por segundo: 10 Variação do tempo em segundos: 2 A massa em quilos é: 4.0 Assim, a resposta correta é a letra b (4 kg) |
![]() |
Python ::: Python para Engenharia ::: Geometria Analítica e Álgebra Linear |
Como converter Coordenadas Polares para Coordenadas Cartesianas usando Python - Python para EngenhariaQuantidade de visualizações: 5614 vezes |
Nesta nossa série de Python para Geometria Analítica e Álgebra Linear, mostrarei um código 100% funcional para fazer a conversão entre coordenadas polares e coordenadas cartesianas. Esta operação é muito frequente em computação gráfica e é parte integrante das disciplinas dos cursos de Engenharia (com maior ênfase na Engenharia Civil). Na matemática, principalmente em Geometria e Trigonometria, o Sistema de Coordenadas Polares é um sistema de coordenadas em duas dimensões no qual cada ponto no plano é determinado por sua distância a partir de um ponto de referência conhecido como raio (r) e um ângulo a partir de uma direção de referência. Este ângulo é normalmente chamado de theta (__$\theta__$). Assim, um ponto em Coordenadas Polares é conhecido por sua posição (r, __$\theta__$). Já o sistema de Coordenadas no Plano Cartesiano, ou Espaço Cartesiano, é um sistema que define cada ponto em um plano associando-o, unicamente, a um conjuntos de pontos numéricos. Dessa forma, no plano cartesiano, um ponto é representado pelas coordenadas (x, y), com o x indicando o eixo horizontal (eixo das abscissas) e o y indicando o eixo vertical (eixo das ordenadas). Quando saímos do plano (espaço 2D ou R2) para o espaço (espaço 3D ou R3), temos a inclusão do eixo z (que indica profundidade). Antes de prosseguirmos, veja uma imagem demonstrando os dois sistemas de coordenadas: ![]() A fórmula para conversão de Coordenadas Polares para Coordenadas Cartesianas é: x = raio × coseno(__$\theta__$) y = raio × seno(__$\theta__$) E aqui está o código Python completo que recebe as coordenadas polares (r, __$\theta__$) e retorna as coordenadas cartesianas (x, y): ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- # importamos a biblioteca NumPy import math as math def main(): # vamos ler o raio e o ângulo raio = float(input("Informe o raio: ")) theta = float(input("Informe o theta: ")) graus = input("Theta em graus (1) ou radianos (2): ") # o theta está em graus? if graus == "1": theta = theta * (math.pi / 180.0) # fazemos a conversão para coordenadas cartesianas x = raio * math.cos(theta) y = raio * math.sin(theta) # exibimos o resultado print('As Coordenadas Cartesianas são: (x = %0.2f, y = %0.2f)' %(x, y)) if __name__== "__main__": main() Ao executar este código nós teremos o seguinte resultado: Informe o raio: 1 Informe o theta: 1.57 Theta em graus (1) ou radianos (2): 2 As Coordenadas Cartesianas são: (x = 0.00, y = 1.00) |
Python ::: Dicas & Truques ::: Data e Hora |
Como adicionar dias à uma data em Python usando a função timedelta() da classe datetimeQuantidade de visualizações: 8970 vezes |
Nesta dica mostrarei como é possível usar o método timedelta() da classe datetime do Python para adicionar um determinado número de dias a uma data. O truque aqui é fornecer apenas o dia para o método timedelta(), obter o resultado e somá-lo com a data que já temos. Veja o código completo para o exemplo: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- import datetime # função principal do programa def main(): # dias a serem adicionados quant_dias = 2 # Obtém a data de hoje hoje = datetime.date.today() print("Hoje é:", hoje) # Adiciona dias à data dias = datetime.timedelta(days=quant_dias) hoje = hoje + dias # Exibe o resultado print("Daqui à", quant_dias, "dias será", hoje) if __name__== "__main__": main() Ao executarmos este código Python nós teremos o seguinte resultado: Hoje é: 2021-03-11 Daqui à 2 dias será 2021-03-13 |
Python ::: Desafios e Lista de Exercícios Resolvidos ::: Fenômenos dos Transportes, Hidráulica e Drenagem |
Exercício Resolvido de Python - Como calcular Vazão Volumétrica, Vazão Mássica e Vazão em Peso usando Python - Python para Fenômenos dos Transportes e HidráulicaQuantidade de visualizações: 47 vezes |
Pergunta/Tarefa: Uma torneira enche de água um tanque em 2 horas e 20 segundos. Determine a vazão em volume, em massa e em peso em unidades do SI. Considere que a densidade da água é igual a 1000 kg/m3 e g = 9,8 m/s2. Considere também que a capacidade do tanque é de 10 mil litros. Sua saída deverá ser parecida com: Informe a quantidade de horas: 2 Informe a quantidade de segundos: 20 Informe a capacidade do tanque (litros): 10000 Informe a densidade da água (kg/m3): 1000 Informe a força da gravidade (m/s2): 9.8 Total de segundos: 7220 Capacidade do tanque: 10.0 m3 Vazão Volumétrica: 0.0013850415512465374 m3/s Vazão Mássica: 1.3850415512465375 kg/s Vazão em Peso: 13.57340720221607 N/s Para obter a Vazão Volumétrica, que representa a quantidade de volume que atravessa uma região em um determinado intervalo de tempo, nós vamos usar a seguinte fórmula: \[Q_v = \frac{V}{T} \] Onde: Qv = vazão volumétrica em metros cúbicos por segundo (m3/s); V = o volume do fluido em metros cúbicos (m3); T = o tempo em segundos (s). Para obter a Vazão Mássica, que representa a quantidade de massa que atravessa uma região em um determinado intervalo de tempo, nós vamos usar a seguinte fórmula: \[Q_m = \frac{M}{T} \] Onde: Qm = vazão mássica em quilos por segundo (kg/s); M = a massa do fluido em quilos (kg); T = o tempo em segundos (s). Para a Vazão em Peso nós só precisamos multiplicar a Vazão Mássica pelo peso da gravidade, ou seja, 9.8. Dessa forma, a Vazão em Peso é dada em N/s. Obs.: No código eu mostro como converter horas em segundos e litros em m3. Veja a resolução completa para o exercício em Python, comentada linha a linha: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- # método principal def main(): # vamos ler a quantidade de horas e segundos hora = int(input("Informe a quantidade de horas: ")) segundos = int(input("Informe a quantidade de segundos: ")) # agora vamos ler a capacidade do tanque em litros capacidade_tanque = int(input("Informe a capacidade do tanque (litros): ")) # vamos ler a densidade da água densidade_agua = float(input("Informe a densidade da água (kg/m3): ")) # vamos ler a força da gravidade gravidade = float(input("Informe a força da gravidade (m/s2): ")) # vamos calcular o total de segundos segundos_hora = 3600 total_segundos = (2 * segundos_hora) + segundos # vamos converter a capacidade do tanque de litros para m3 volume = capacidade_tanque / 1000.0 # vamos calcular a vazão volumétrica vazao_volumetrica = volume / total_segundos # vamos calcular a vazão mássica vazao_massica = vazao_volumetrica * densidade_agua # vamos calcular a vazão em peso vazao_peso = vazao_massica * gravidade # e mostramos o resultado print("\nTotal de segundos: {0}".format(total_segundos)) print("Capacidade do tanque: {0} m3".format(volume)) print("Vazão Volumétrica: {0} m3/s".format(vazao_volumetrica)) print("Vazão Mássica: {0} kg/s".format(vazao_massica)) print("Vazão em Peso: {0} N/s".format(vazao_peso)) if __name__== "__main__": main() |
Python ::: Python para Engenharia ::: Hidrologia e Hidráulica |
Como calcular o volume de chuvas em Python - Fórmula do cálculo do volume de chuvas em PythonQuantidade de visualizações: 275 vezes |
O estudo da Hidrologia passa, necessariamente, pelo cálculo do volume de chuvas em uma determinada região, ou bacia hidrológica. Assim, é comum ouvirmos alguém dizer que, em um determinado local, choveu 100 mm durante um determinado período. Mas o que isso significa? O mês mais chuvoso em Goiânia é dezembro, com média de 229 milímetros de precipitação de chuva. Isso significa que, em uma área de 1 m2, a lâmina de água formada pela chuva que cai apresenta uma altura de 229 milímetros. Como sabemos que o volume é a área multiplicada pela altura, tudo que temos a fazer é considerar a área de 1 m2 multiplicada pela altura da lâmina de água (convertida também para metros). Veja a fórmula: \[\text{Volume} = \text{(Área da Base) x Altura}\] Lembre-se de que volume pode ser retornado em litros, ou seja, 1 m3 = 1000 litros. Veja agora o código Python completo que pede para o usuário informar a precipitação da chuva, ou seja, a altura da lâmina de água em milímetros e retorna o volume de água em litros. ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- # função principal do programa def main(): # vamos pedir para o usuário informar a altura da lâmina # de água em milímetros altura_lamina = float(input("Altura da lâmina de água em milímetros: ")) # o primeiro passo é converter os milímetros da lâmina de água # para metros altura_lamina = altura_lamina / 1000 # agora que já temos a altura da lâmina em metros, vamos multiplicar # pela base (1 metro quadrado) para obtermos o volume da chuva por # metro quadrado volume_chuva = (altura_lamina * 1.00) * 1000 # vamos mostrar o resultado print("O volume da chuva é: {0} litros para cada metro quadrado".format(volume_chuva)) if __name__== "__main__": main() Ao executar este código Python nós teremos o seguinte resultado: Altura da lâmina de água em milímetros: 229 O volume da chuva é: 229.0 litros para cada metro quadrado Qual é o volume de 1 mm de chuva? A altura pluviométrica é a espessura da lâmina d'água precipitada que cobre a região atingida pela chuva. Geralmente a unidade de medição é o milímetro (mm) porque o aparelho que mede a chuva, o pluviômetro, é lido em milímetros. O pluviômetro é um aparelho meteorológico destinado a medir, em milímetros, a altura da lâmina de água gerada pela chuva que caiu numa área de 1 m2. 1 mm de chuva equivale a 1 litro de água, ou 1 dm3, considerando a área de 1 m2. |
Python ::: Tkinter GUI Toolkit ::: Círculos, Ovais e Elípses |
Como desenhar círculos no Tkinter usando a função create_oval() do componente CanvasQuantidade de visualizações: 1139 vezes |
Em várias situações nós precisamos desenhar círculos não preenchidos e preenchidos em Tkinter. Para isso nós podemos usar a função create_oval() do componente Canvas. Em sua forma mais simples, a função create_oval() requer as coordenadas x e y a partir das quais o círculo ou elípse será desenhada e a largura e a altura do retângulo dentro do qual o círculo estará contido. Para desenhar uma oval ou elípse, basta manipular a largura ou altura desse retângulo. Veja um trecho de código no qual usamos a função create_oval() para desenhar um círculo com 5 pixels de largura da linha de desenho: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- # vamos importar o módulo Tkinter from tkinter import * from tkinter.ttk import * # método principal def main(): # cria a janela principal da aplicação janela_principal = Tk() # define as dimensões da janela janela_principal.geometry("400x350") # define o título da janela janela_principal.title("Uso do controle Canvas") # vamos criar o objeto Canvas canvas = Canvas(janela_principal, bg="white", width=400, height=350) # colocamos o Canvas na janela principal canvas.grid(row=0, column=0) # agora vamos desenhar um círculo no Canvas começando nas # coordenadas x=20 e y=30 centro de um retângulo de largura # 150 pixels por uma altura de 150 pixels e largura da linha # de 5 pixels canvas.create_oval(20, 30, 150, 150, width="5") # entramos no loop de eventos janela_principal.mainloop() if __name__== "__main__": main() Note que a largura da linha de desenho foi informada por meio do parâmetro width. Se quisermos definir também a cor da linha do desenho, basta usarmos o parâmetro outline e fornecer a cor desejada. |
Python ::: Dicas & Truques ::: Strings e Caracteres |
Como retornar o código ASCII ou Unicode de um caractere em Python usando a função ord()Quantidade de visualizações: 13491 vezes |
Nesta dica vou mostrar como é possível usar a função ord() da linguagem Python para retornar o código ASCII ou Unicode de um determinado caractere (letra, dígito ou símbolo). Veja o exemplo completo: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- def main(): print("O codigo ASCII ou Unicode para o caractere A é", ord('A')) if __name__== "__main__": main() Ao executarmos este código nós teremos o seguinte resultado: O codigo ASCII ou Unicode para o caractere A é 65 |
Python ::: Dicas & Truques ::: Matemática e Estatística |
Como testar se um número é par ou ímpar em Python usando o operador de módulo - Python para MatemáticaQuantidade de visualizações: 17433 vezes |
O operador de módulo do Python nos permite obter o resto de uma divisão inteira, e podemos tirar proveito desse operador para verificarmos se um determinado número inteiro é par ou ímpar. Veja o exemplo:---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- # função principal do programa def main(): # vamos pedir para o usuário informar um número numero = int(input("Informe um número: ")) # o número é par? if numero % 2 == 0: print("O numero informado é par") else: print("O numero informado é impar") if __name__== "__main__": main() Ao executar este código Python nós teremos o seguinte resultado: Informe um número: 8 O numero informado é par |
Python ::: Fundamentos da Linguagem ::: Passos Iniciais |
Como criar módulos de código reutilizável em PythonQuantidade de visualizações: 8516 vezes |
Uma das características da boa programação é reutilizar ao máximo códigos bem testados e independentes. A criação de módulos de funções e definições de classes em Python pode ser feita de forma bem simples. 1) Comece criando um arquivo chamado funcoes.py com o seguinte conteúdo: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- """ Sou um módulo Python. A única funcionalidade que ofereço é uma função que soma dois números """ def somar(num1, num2): return (num1 + num2) 2) Salve este arquivo no diretório atual de sua aplicação e vamos importá-lo. Para isso escreva um novo programa. Uma sugestão é: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- """ Sou o programa principal e vou importar o módulo que contém a função somar """ import funcoes def main(): print(funcoes.somar(3, 5)) if __name__== "__main__": main() 3) Execute o programa e veja o resultado. Para que este programa funcione corretamente, é preciso que o módulo a ser importado esteja no diretório atual ou em qualquer um dos diretórios pesquisados pelo interpretador Python, geralmente representados pelo variável de ambiente PYTHONPATH. Porém, há situações que queremos agrupar nossos módulos em um diretório dentro do diretório principal da aplicação. O exemplo abaixo mostra como importar um módulo localizado no diretório "lib" da aplicação atual: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- """ Sou o programa principal e vou importar o módulo que contém a função somar() """ # importa o módulo sys import sys # acrescenta o diretório lib na variável # de ambiente PYTHONPATH sys.path.append(sys.path[0] + '\\lib') # pode importar funcoes no diretório lib import funcoes # pode chamar o método somar agora def main(): print(funcoes.somar(3, 5)) if __name__== "__main__": main() |
Vamos testar seus conhecimentos em Engenharia Civil - Construção Civil |
Serviços preliminares e instalações provisórias A instalação de tapumes é obrigatória em atividades de construção, para impedir o acesso de pessoas estranhas ao serviço. Sobre a instalação de tapumes e serviços decorrentes: A) Os tapumes devem ter altura mínima de 2,2 m em relação ao nível do terreno. B) Em edifícios com mais de dois pavimentos, é facultativa a construção de galerias para o tráfego de pedestres sobre o passeio. C) As bordas da galeria para pedestres devem possuir tapumes com altura mínima de 2,0 m e inclinação de 45°. D) Não é obrigatória a instalação de tapume em todo o perímetro da obra, apenas na testada do lote. E) As galerias para o tráfego de pedestres devem ter altura livre mínima de 2,5 m. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Fenômeno de Transportes e Hidráulica |
Viscosidade dinâmica A viscosidade cinemática de um óleo lubrificante é de 0,028m2/s, e seu peso específico relativo é de 0,85. Qual a sua viscosidade dinâmica, em Pa.s? Sabe-se que a aceleração gravitacional local é de 10m/s2. A) 233Pa.s. B) 85Pa.s. C) 85000Pa.s. D) 23,8Pa.s. E) 2,38Pa.s. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em |
Agregados naturais A areia seca absorve água, formando uma película em torno dos grãos. Essa é uma propriedade mecânica chamada de: A) Inchamento. B) Higroscopia. C) Coesão aparente. D) Resistência à compressão. E) Friabilidade. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Ética e Legislação Profissional |
Responsabilidade civil no código de defesa do consumidor Qual é o prazo decadencial previsto em lei para reclamar o vício do produto, considerando que o vício está em um automóvel? A) 5 dias. B) 15 dias. C) 30 dias. D) 60 dias. E) 90 dias. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Fenômeno de Transportes e Hidráulica |
O manômetro Um manômetro é o instrumento utilizado para medir a pressão de fluidos contidos em recipientes fechados. O manômetro para medição da pressão absoluta é usado quando pressões devem ser medidas, independentemente da pressão atmosférica. A pressão do meio medido é determinada contra uma pressão de referência, sendo que esta última corresponde ao ponto zero da pressão absoluta. Nesse contexto, determine a pressão manométrica em P devido à deflexão do mercúrio do manômetro em U da figura a seguir. ![]() A) Aproximadamente 77kPa. B) Aproximadamente 89kPa. C) Aproximadamente 94kPa. D) Aproximadamente 106kPa. E) Aproximadamente 111kPa. Verificar Resposta Estudar Cards Todas as Questões |
Desafios, Exercícios e Algoritmos Resolvidos de Python |
Veja mais Dicas e truques de Python |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |