E-Book 350 Exercícios Resolvidos de Java - PDF com 500 páginas
Domine lógica de programação e a linguagem Java com o nosso E-Book 350 Exercícios Exercícios de Java, para você estudar onde e quando quiser. Este e-book contém exercícios resolvidos abrangendo os tópicos: Java básico, matemática e estatística, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book Apenas R$ 19,90
Dart ::: Desafios e Lista de Exercícios Resolvidos ::: Estruturas de Controle

Exercícios Resolvidos de Dart - Ler os lados de um triângulo e informar se ele é isósceles, escaleno ou equilátero

Quantidade de visualizações: 1213 vezes
Pergunta/Tarefa:

Um triângulo é uma forma geométrica (polígono) composta de três lados, sendo que cada lado é menor que a soma dos outros dois lados. Assim, para que um triângulo seja válido, é preciso que seus lados A, B e C obedeçam à seguinte regra:

A < (B + C), B < (A + C) e C < (A + B).

Escreva um programa Dart que leia os três lados de um triângulo e verifique se tais valores realmente formam um triângulo. Se o teste for satisfatório, informe se o triângulo é isósceles (dois lados iguais e um diferente), escaleno (todos os lados diferentes) ou equilátero (todos os lados iguais).

Sua saída deverá ser parecida com:

Informe o primeiro lado do triângulo: 30
Informe o segundo lado do triângulo: 40
Informe o terceiro lado do triângulo: 60
O triângulo é escaleno
Resposta/Solução:

Veja a resolução comentada deste exercício usando Dart:

// Vamos importar a biblioteca dart:io
import 'dart:io';
 
void main(){
  // vamos ler o primeiro lado do triângulo
  stdout.write("Informe o primeiro lado do triângulo: ");
  int lado_a = int.parse(stdin.readLineSync());

  // vamos ler o segundo lado do triângulo
  stdout.write("Informe o segundo lado do triângulo: ");
  int lado_b = int.parse(stdin.readLineSync());  

  // vamos ler o terceiro lado do triângulo
  stdout.write("Informe o terceiro lado do triângulo: ");
  int lado_c = int.parse(stdin.readLineSync());
  
  // os lados informados formam um triângulo?
  if((lado_a < (lado_b + lado_c)) && (lado_b < (lado_a + lado_c)) 
    && (lado_c < (lado_a + lado_b))){
    // é um triângulo equilátero (todos os lados iguais)?
    if((lado_a == lado_b) && (lado_b == lado_c)){
      stdout.write("\nO triângulo é equilátero\n");  
    }
    else{
      // é isósceles (dois lados iguais e um diferente)?
      if((lado_a == lado_b) || (lado_a == lado_c) || (lado_c == lado_b)){
        stdout.write("\nO triângulo é isósceles\n");  
      }
      else{
        // é escaleno
        stdout.write("\nO triângulo é escaleno\n");
      }
    }
  }
  else{
    stdout.write("\nOs lados informados não formam um triângulo.\n");
  }
}



C# ::: Dicas & Truques ::: Data e Hora

Como adicionar ou subtrair dias de uma data em C# usando o método AddDays() da classe DateTime

Quantidade de visualizações: 27005 vezes
Em algumas situações nossos códigos precisam adicionar ou subtrair dias de uma data. Isso pode ser feito com o auxílio do método AddDays() da estrutura DateTime. Este método recebe o número de dias a serem acrescidos ou substraídos da data representada pelo DateTime atual e retorna um novo DateTime com as devidas modificações.

Veja um trecho de código no qual adicionamos 5 dias à data atual:

static void Main(string[] args){
  // vamos obter a data de hoje
  DateTime hoje = DateTime.Now;

  // exibe a data de hoje
  System.Console.WriteLine("Hoje é {0:d}", hoje);

  // vamos adicionar 5 dias à data de hoje
  DateTime data_futura = hoje.AddDays(5);

  // exibe a data daqui a cinco dias
  System.Console.WriteLine("Daqui a 5 dias será {0:d}", data_futura);

  // pausa o programa
  System.Console.Write("\nPressione qualquer tecla para sair...");
  Console.ReadKey();
}

É possível também subtrair dias. Para isso só precisamos fornecer um valor negativo para o método AddDays(). Veja:

static void Main(string[] args){
  // vamos obter a data de hoje
  DateTime hoje = DateTime.Now;

  // exibe a data de hoje
  System.Console.WriteLine("Hoje é {0:d}", hoje);

  // vamos subtrair 7 dias da data de hoje
  DateTime data_passado = hoje.AddDays(-7);

  // exibe a data sete dias atrás
  System.Console.WriteLine("Há 7 dias era {0:d}", data_passado);

  // pausa o programa
  System.Console.Write("\nPressione qualquer tecla para sair...");
  Console.ReadKey();
}

Lembre-se, contudo, que o método AddDays() pode disparar uma exceção do tipo ArgumentOutOfRangeException se o DateTime resultante for menor que MinValue ou maior que MaxValue. MinValue e MaxValue são os menor e maior valores que um DateTime pode representar.


Java ::: Dicas & Truques ::: Trigonometria - Funções Trigonométricas

Como calcular o comprimento da hipotenusa em Java dadas as medidas do cateto oposto e do cateto adjascente

Quantidade de visualizações: 1637 vezes
Nesta dica mostrarei como é possível usar a linguagem Java para retornar o comprimento da hipotenusa dadas as medidas do cateto oposto e do cateto adjascente. Vamos começar analisando a imagem a seguir:



Veja que, nessa imagem, eu já coloquei os comprimentos da hipotenusa, do cateto oposto e do cateto adjascente. Para facilitar a conferência dos cálculos, eu coloquei também os ângulos theta (que alguns livros chamam de alfa) e beta já devidamente calculados.

Então, sabendo que o quadrado da hipotenusa é igual à soma dos quadrados dos catetos (Teorema de Pitógoras), tudo que temos a fazer a converter esta fórmula para código Java. Veja:

package arquivodecodigos;

public class Estudos{
  public static void main(String args[]){
    double a = 20; // medida do cateto oposto
    double b = 30; // medida do cateto adjascente
  
    // agora vamos calcular o comprimento da hipotenusa
    double c = Math.sqrt(Math.pow(a, 2) + Math.pow(b, 2));
 
    // e mostramos o resultado
    System.out.println("O comprimento da hipotenusa é: " +
      c);
  }
}

Ao executar este código Java nós teremos o seguinte resultado:

O comprimento da hipotenusa é: 36.05551275463989

Como podemos ver, o resultado retornado com o código Java confere com os valores da imagem apresentada.


C# ::: Coleções (Collections) ::: List<T>

Como criar uma List genérica de inteiros em C#, adicionar elementos e percorrê-los usando o laço foreach

Quantidade de visualizações: 31204 vezes
Nesta dica mostrarei como podemos usar o laço foreach do C# para percorrer os elementos de uma List genérica. Primeiro nós criamos a lista de inteiros usando o construtor List<int>() e, em seguida, adicionamos itens a ela usando a função Add().

Para finalizar, usamos o laço foreach para percorrer os elementos individualmente.

Veja o código C# completo para o exemplo:

using System;
using System.Collections.Generic;

namespace Estudos {
  class Principal {
    static void Main(string[] args) {
      // cria uma List genérica de inteiros
      List<int> valores = new List<int>();

      // insere valores na lista
      valores.Add(4);
      valores.Add(2);
      valores.Add(87);
      valores.Add(23);

      // acessa os valores da lista e os exibe
      // usando um laço foreach
      Console.WriteLine("Os elementos da Lista são: ");
      foreach (int valor in valores) {
        Console.WriteLine(valor);
      }

      Console.WriteLine("\nPressione uma tecla para sair...");
      Console.ReadKey();
    }
  }
}

Ao executar este código C# nós teremos o seguinte resultado:

Os elementos da Lista são:
4
2
87
23


JavaScript ::: Dicas & Truques ::: Strings e Caracteres

Como adicionar zeros ou outro caractere ao final de uma string em JavaScript usando a função padEnd() do objeto String

Quantidade de visualizações: 1561 vezes
O método padEnd(), adicionado ao objeto String no ES2017 (ECMAScript 8) é usado quando queremos preencher o final de uma string com zeros ou qualquer outro caractere até alcançarmos um comprimento determinado.

Veja, por exemplo, como adicionar asteríscos (*) no final de uma string para alcançar o tamanho de dez caracteres:

<script type="text/javascript">
  var valor = 17;
  // vamos mostrar o valor com o tamanho de dez caracteres
  document.write("O valor é: " + valor.toString().padEnd(10, "*"));
</script>

Ao executar o exemplo você verá o valor "17********" ser exibido. Porém, como o método padEnd() foi adicionado no ES2017, pode ser que você encontre navegadores que ainda não o suportem. Assim, é sempre uma idéia testar a sua existência. Veja:

<script type="text/javascript">
  if(String.prototype.padEnd){
    window.alert("Seu browser já suporta a função padEnd().");  
  }
  else{
    window.alert("Seu browser NÃO suporta a função padEnd().");  
  }
</script>

Se o navegador não oferecer suporte a este método, você poderá usar um Polyfill, de terceiros ou uma solução que você mesmo poderá desenvolver.


Java ::: Dicas & Truques ::: Fuso Horários

Como representar fuso horário em Java usando a classe TimeZone

Quantidade de visualizações: 13097 vezes
A classe abstrata TimeZone (do pacote java.util) representa um determinado fuso horário e também identifica o horário de verão (daylight savings) de um determinado país ou região. Veja sua posição na hierarquia de classes Java:

java.lang.Object
  java.util.TimeZone
A classe TimeZone implementa ainda as interfaces Serializable e Cloneable e sua classe derivada conhecida é SimpleTimeZone.[br][br]

A melhor forma de entender o fuso horário, é consultando suas configurações regionais no Painel de Controle de seu sistema. É comum, em máquinas brasileiras encontrarmos o fuso horário "GMT -03:00 - Brasilia". Isso quer dizer que a hora oficial do Brasil é -3 horas em relação ao horário de Greenwich, Londres. Não podemos nos esquecer do horário de verão, que reduz esta diferença para -2 horas na maior parte do país.

Por padrão, A JVM detecta e trabalha com o fuso horário da máquina na qual está sendo executada. Veja um trecho de código que obtém este TimeZone padrão:

import java.util.*;

public class Estudos{ 
  public static void main(String args[]){ 
    TimeZone timeZone = TimeZone.getDefault();
    System.out.println(timeZone.getDisplayName());
    System.out.println(timeZone.getID());
  } 
}

Ao executar este código você terá um resultado semelhante à:

Brasilia Time
America/Sao_Paulo

Aqui nós usamos o método estático getDefault() para retornar o TimeZone padrão e os métodos de instância getDisplayName() e getID() para obter as informações sobre o fuso horário.


PHP ::: Dicas & Truques ::: Data e Hora

Como retornar o dia da semana para uma determinada data em PHP usando as funções mktime(), date() e o sinalizador "l"

Quantidade de visualizações: 222 vezes
Nesta dica mostrarei como podemos combinar as funções mktime(), date() e o sinalizador "l" para obtermos o nome do dia da semana para uma determinada data. Note o uso da função mktime() para construir a data 20/06/1980.

Veja o código completo para o exemplo:

<?php
  // vamos obter o dia da semana para uma 
  // determinada data - mês/dia/ano
  $timestamp = mktime(0, 0, 0, 6, 20, 1980);
  echo "O dia da semana é: " . date('l', $timestamp);
?>

Ao executar este código PHP nós teremos o seguinte resultado:

O dia da semana é: Saturday


Flutter ::: Material Library - Biblioteca Material ::: TextField

Como habilitar ou desabilitar um botão ao digitar em um widget TextField do Flutter

Quantidade de visualizações: 3777 vezes
Nesta dica eu mostro como podemos habilitar ou desabilitar um botão ElevatedButton dependendo do conteúdo de um TextField. Para isso nós vamos usar a propriedade onChanged da classe TextField para desabilitar o botão quando a caixa de texto estiver vazia e habilitá-lo em caso contrário.

O truque aqui é passar um valor null para a propriedade onPressed do ElevatedButton. Só isso já basta para que o botão fique desabilitado. Veja o código completo para o exemplo:

import 'package:flutter/material.dart';

// método principal do Dart, que inicia a aplicação
void main() {
  runApp(MeuApp());
}

class MeuApp extends StatelessWidget {
  // Este  widget é a raiz da aplicação Flutter
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Controle TextField',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: TelaInicial(),
    );
  }
}

// Vamos construir a view e retornar para a raiz da aplicação
class TelaInicial extends StatefulWidget {
  TelaInicial({Key key}) : super(key: key);
  @override
  _TelaInicialState createState() => _TelaInicialState();
}

class _TelaInicialState extends State<TelaInicial> {
  bool btnDesabilitado = true; // vamos desabilitar o botão

  @override
  Widget build(BuildContext context) {
    // vamos criar uma caixa de texto chamada nomeTxt
    final nomeTxt = TextField(
      decoration: InputDecoration(
        border: OutlineInputBorder(
          borderRadius: BorderRadius.circular(10.0)),
        hintText: 'Digite seu nome'
      ),
      // Vamos detectar a mudança de conteúdo do TextField
      onChanged: (String value) async {
        // setState() força a atualização da janela
        if(value.isEmpty) { // o campo de texto não está vazio
          setState(() {
            btnDesabilitado = true; // desabilita o botão
          });
        }
        else{
          setState(() {
            btnDesabilitado = false; // habilita o botão
          });
        }
      }
    );

    final btnNome = ElevatedButton(
      onPressed: btnDesabilitado ? null : (){},
      child: Text('Clique Aqui'),
    );

    return Scaffold(
      appBar: AppBar(
        title: Text("O Widget TextField"),
      ),
      body: Center(
        child: Container(
          child: Padding(
            padding: const EdgeInsets.all(20.0),
            child: Column(
              children: <Widget>[
                // a caixa de texto TextField vai aqui
                nomeTxt,
                // o botão vai aqui
                btnNome,
              ],
            ),
          ),
        ),
      ),
    );
  }
}



C# ::: Namespace System.Windows.Forms ::: Formulários e Janelas

Como usar a classe Form em suas aplicação C# Windows Form

Quantidade de visualizações: 1237 vezes
A classe Form é usada para representar as janelas (formulários) ou caixas de diálogo que compõem a interface gráfica de uma aplicação Windows Forms. Veja sua posição na hierarquia de classes da plataforma.NET:

System.Object 
  System.MarshalByRefObject 
    System.ComponentModel.Component 
      System.Windows.Forms.Control 
        System.Windows.Forms.ScrollableControl 
          System.Windows.Forms.ContainerControl 
            System.Windows.Forms.Form


É importante conhecer algumas classes derivadas da classe Form. Entre estas classes podemos citar:

- System.ComponentModel.Design.CollectionEditor.CollectionForm
- System.Messaging.Design.QueuePathDialog
- System.ServiceProcess.Design.ServiceInstallerDialog
- System.Web.UI.Design.WebControls.CalendarAutoFormatDialog
- System.Web.UI.Design.WebControls.RegexEditorDialog
- System.Windows.Forms.Design.ComponentEditorForm
- System.Windows.Forms.PrintPreviewDialog
- System.Windows.Forms.ThreadExceptionDialog

Uma aplicação Windows Forms em C# é construida a partir de uma ou mais janelas. A classe Form permite criar formulários padrões, de ferramentas, sem bordas e flutuantes, cada um direcionado a uma determinada funcionalidade. É possível também usar a classe Form para criar caixas de diálogo modais.

Há ainda um tipo especial de janela (ou formulário) conhecido como formulário de interface de múltiplos documentos (MDI) que contêm outros formulários chamados de filhos (MDI child forms). Uma janela do tipo MDI pode ser criada definindo-se o valor true para a propriedade IsMdiContainer da classe Form. Os formulários filhos MDI são criados definindo-se o nome do formulário-pai para a propriedade MdiParent do formulário que atuará como filho.

Por meio das propriedades disponíveis na classe Form nós podemos determinar a aparência, tamanho, cor e os aspectos de gerenciamento da janela do formulário ou caixa de diálogo que estamos criando. A propriedade Text permite definir o título da janela. As propriedades Size e DesktopLocation permitem definir o tamanho e posição inicial da janela. A propriedade ForeColor define a cor do texto padrão de todos os componentes colocados no formulário. As propriedades FormBorderStyle, MinimizeBox e MaximizeBox permitem definirmos se o formulário poderá ser minimizado, maximizado ou redimensionado em tempo de execução.

Além das propriedades, podemos usar os métodos da classe Form. Por exemplo, podemos usar o método ShowDialog() para exibir um formulário como uma caixa de diálogo modal. Podemos também efetuar uma chamada ao método SetDesktopLocation() para posicionar o formulário em uma determinada região do desktop.

Os eventos disponíveis na classe Form permitem responder às ações realizadas no formulário. Podemos, por exemplo, usar o evento Activated para realizar operações tais como atualizar as informações exibidas nos controles do formulário quando este for ativado.

Se estiver usando o Visual Studio 2005, 2008 ou mais recente, o formulário inicial de sua aplicação Windows Forms C# já será exibido inicialmente seguinte os seguintes passos:

a) Vá no menu File -> New -> Project;
b) Em Project types selecione Visual C# -> Windows;
c) Em Templates selecione Windows Application;
d) Dê um nome para o projeto, escolha um local, um nome para a solução e clique OK. Imediatamente o projeto será criado e você já verá o formulário principal da aplicação.
e) Vá em View -> Toolbox. Clique e arraste alguns componentes para o formulário;
f) Pressione F5 e execute a aplicação.

Pronto! Agora é só verificar todas as dicas, truques e anotações para aprender e tirar proveito total da classe Form.


Python ::: Dicas & Truques ::: Data e Hora

Como retornar o nome do mês de uma data no formato longo em Python usando o marcador %B do método strftime()

Quantidade de visualizações: 8088 vezes
Como retornar o nome do mês de uma data no formato longo em Python usando o marcador %B do método strftime()

Nesta dica mostrarei como podemos usar a função strftime() do objeto datetime para retornar o nome do mês de uma data no formato longo, por exemplo, "dezembro". Note que, para isso, nós vamos usar o código de formatação %B.

Para deixar o exemplo ainda mais interessante eu usei o método setlocale() da classe locale para exibir o nome do mês em Português, ou seja, de acordo com as configurações regionais. Veja o código Python completo:

from datetime import datetime
import locale

def main():
  # Configurações do usuário
  locale.setlocale(locale.LC_ALL, "")

  # Obtém um datatime da data e hora atual
  hoje = datetime.today()

  # Exibe o nome do mês no formato longo
  print(hoje.strftime("O mês é: %B"))

if __name__== "__main__":
  main()

Ao executar este código Python nós teremos o seguinte resultado:

O mês é: fevereiro

Carregar Publicações Anteriores


Nossas 20 dicas & truques de programação mais populares

Você também poderá gostar das dicas e truques de programação abaixo

Nossas 20 dicas & truques de programação mais recentes

Últimos Projetos e Códigos Fonte Liberados Para Apoiadores do Site

Últimos Exercícios Resolvidos

E-Books em PDF

E-Book 350 Exercícios Resolvidos de Java - PDF com 500 páginas
Domine lógica de programação e a linguagem Java com o nosso E-Book 350 Exercícios Exercícios de Java, para você estudar onde e quando quiser.

Este e-book contém exercícios resolvidos abrangendo os tópicos: Java básico, matemática e estatística, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book
E-Book 650 Dicas, Truques e Exercícios Resolvidos de Python - PDF com 1.200 páginas
Domine lógica de programação e a linguagem Python com o nosso E-Book 650 Dicas, Truques e Exercícios Exercícios de Python, para você estudar onde e quando quiser.

Este e-book contém dicas, truques e exercícios resolvidos abrangendo os tópicos: Python básico, matemática e estatística, banco de dados, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: C
6º lugar: Delphi
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2025 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 39 usuários muito felizes estudando em nosso site.