Esempio n. 1
0
        static void Main()
        {
            var tela    = new Tela("Trabalhando no Console - Exercício 8");
            var entrada = new EntradaDeDados(tela);

            tela.EscreverNaCor("Imprimir números em ordem crescente e decrescente", Tela.corInformacaoDestaque);
            tela.PularLinha();

            var numeros = new List <double>();

            while (true)
            {
                var numero = 0.0;
                if (!entrada.LerDecimal("Informe um número (vazio para sair): ", ref numero))
                {
                    break;
                }

                numeros.Add(numero);
            }

            if (numeros.Count == 0)
            {
                return;
            }

            tela.PularLinha();

            tela.EscreverNaCor("Números sem ordenação: ", Tela.corInformacaoDestaque);

            foreach (double num in numeros)
            {
                tela.EscreverNaMesmaLinhaENaCor(num + ", ", Tela.corResultado);
            }
            tela.PularLinha(2);

            // Aplica a ordenação
            numeros.Sort();

            // Ordem crescente: apresenta os items
            tela.EscreverNaCor("Números em ordem crescente: ", Tela.corInformacaoDestaque);

            foreach (double num in numeros)
            {
                tela.EscreverNaMesmaLinhaENaCor(num + ", ", Tela.corResultado);
            }
            tela.PularLinha(2);

            // Ordem decrescente: apresenta os items do último para o primeiro
            tela.EscreverNaCor("Números em ordem decrescente: ", Tela.corInformacaoDestaque);

            for (int i = numeros.Count - 1; i >= 0; i--)
            {
                tela.EscreverNaMesmaLinhaENaCor(numeros[i] + ", ", Tela.corResultado);
            }
            tela.PularLinha(2);
        }
Esempio n. 2
0
        static void MostrarOQueEhEncapsulamento()
        {
            tela.DesenharLinha();

            tela.EscreverNaCor("4) O que é encapsulamento?", Tela.corInformacaoDestaque);
            tela.PularLinha();

            tela.Escrever("Encapsulamento é a técnica que faz com que detalhes internos do funcionamento dos métodos de uma classe " +
                          "permaneçam ocultos para os objetos. Por conta dessa técnica, o conhecimento a respeito da implementação interna da classe " +
                          "é desnecessário do ponto de vista do objeto, uma vez que isso passa a ser responsabilidade dos métodos internos da classe.");
            // Fonte: https://www.devmedia.com.br/conceitos-encapsulamento-programacao-orientada-a-objetos/18702
            tela.PularLinha();

            tela.Escrever("No exemplo abaixo, a classe \"Conta\" possui o atributo \"saldo\" o qual não pode ser modificado diretamente, " +
                          "por estar encapsulado com visibilidade \"private\", sendo possível modificar o saldo apenas pelos métodos \"Sacar\" e \"Depositar\".");
            tela.PularLinha();

            var conta = new Conta();

            tela.EscreverNaMesmaLinha("Criada a conta, saldo atual: ");
            tela.EscreverNaMesmaLinhaENaCor(conta.Saldo.ToString(), Tela.corResultado);
            tela.PularLinha();

            tela.Escrever("É possível ler o atributo saldo pois o mesmo se encontra public para leitura.");
            tela.PularLinha();

            tela.Escrever("Não é possivel atribuir o valor ao atributo saldo diretamente, ocorre um erro de compilação, pelo motivo de estar " +
                          "encapsulado como private e ser acessível somente dentro da classe.");
            tela.EscreverNaCor("conta.saldo = 10;", Tela.corErro);
            tela.PularLinha();

            tela.Escrever("Modificando o atributo saldo pelo método Depositar (100)");
            conta.Depositar(100);

            tela.Escrever("Modificando o atributo saldo pelo método Sacar (50)");
            conta.Sacar(50);

            tela.EscreverNaMesmaLinha($"Saldo após lançamentos: ");
            tela.EscreverNaMesmaLinhaENaCor(conta.Saldo.ToString(), Tela.corResultado);
            tela.PularLinha(2);
        }
Esempio n. 3
0
        static void Main()
        {
            var tela = new Tela("Trabalhando no Console - Exercício 3");

            tela.EscreverNaCor("Múltiplos de 3 de 1 a 100:", Tela.corInformacao);
            tela.PularLinha();

            var numero = 3;

            while (numero <= 100)
            {
                tela.EscreverNaMesmaLinhaENaCor($"{numero}, ", Tela.corResultado);
                numero += 3;
            }

            tela.PularLinha();
        }
Esempio n. 4
0
        static void Main()
        {
            var tela    = new Tela("Trabalhando no Console - Exercício 9");
            var entrada = new EntradaDeDados(tela);

            tela.EscreverNaCor("Apresentar números utilizando LINQ", Tela.corInformacaoDestaque);
            tela.PularLinha();

            var numeros = new List <int>();

            while (true)
            {
                var numero = entrada.LerInteiro("Informe um número (zero para sair): ");
                if (numero == 0)
                {
                    break;
                }

                numeros.Add(numero);
            }

            if (numeros.Count == 0)
            {
                return;
            }

            tela.PularLinha();
            tela.EscreverNaMesmaLinhaENaCor("Imprimir todos os números da lista: ", Tela.corInformacaoDestaque);
            numeros.ForEach(n => tela.EscreverNaMesmaLinhaENaCor($"{n}, ", Tela.corResultado));

            tela.PularLinha();
            tela.EscreverNaMesmaLinhaENaCor("Imprimir todos os números da lista na ordem crescente: ", Tela.corInformacaoDestaque);
            numeros.OrderBy(n => n).ToList().ForEach(n => tela.EscreverNaMesmaLinhaENaCor($"{n}, ", Tela.corResultado));

            tela.PularLinha();
            tela.EscreverNaMesmaLinhaENaCor("Imprimir todos os números da lista na ordem decrescente: ", Tela.corInformacaoDestaque);
            numeros.OrderByDescending(n => n).ToList().ForEach(n => tela.EscreverNaMesmaLinhaENaCor($"{n}, ", Tela.corResultado));

            tela.PularLinha();
            tela.EscreverNaMesmaLinhaENaCor("Imprima apenas o primeiro número da lista: ", Tela.corInformacaoDestaque);
            tela.EscreverNaMesmaLinhaENaCor(numeros.First().ToString(), Tela.corResultado);

            tela.PularLinha();
            tela.EscreverNaMesmaLinhaENaCor("Imprima apenas o ultimo número da lista: ", Tela.corInformacaoDestaque);
            tela.EscreverNaMesmaLinhaENaCor(numeros.Last().ToString(), Tela.corResultado);

            tela.PularLinha();
            tela.EscreverNaMesmaLinhaENaCor("Insira um número no início da lista: ", Tela.corInformacaoDestaque);
            numeros.Insert(0, 1000);
            tela.EscreverNaMesmaLinhaENaCor(numeros.First().ToString(), Tela.corResultado);

            tela.PularLinha();
            tela.EscreverNaMesmaLinhaENaCor("Insira um número no final da lista: ", Tela.corInformacaoDestaque);
            numeros.Insert(numeros.Count, 2000);
            tela.EscreverNaMesmaLinhaENaCor(numeros.Last().ToString(), Tela.corResultado);

            tela.PularLinha();
            tela.EscreverNaMesmaLinhaENaCor("Remova o primeiro número: ", Tela.corInformacaoDestaque);
            numeros.RemoveAt(0);
            tela.EscreverNaMesmaLinhaENaCor(numeros.First().ToString(), Tela.corResultado);

            tela.PularLinha();
            tela.EscreverNaMesmaLinhaENaCor("Remova o último número: ", Tela.corInformacaoDestaque);
            numeros.RemoveAt(numeros.Count - 1);
            tela.EscreverNaMesmaLinhaENaCor(numeros.Last().ToString(), Tela.corResultado);

            tela.PularLinha();
            tela.EscreverNaMesmaLinhaENaCor("Retorne apenas os números pares: ", Tela.corInformacaoDestaque);
            numeros.Where(n => (n % 2) == 0).ToList().ForEach(n => tela.EscreverNaMesmaLinhaENaCor($"{n}, ", Tela.corResultado));

            tela.PularLinha();
            tela.EscreverNaCor("Retorne apenas o número informado: ", Tela.corInformacaoDestaque);
            var num         = entrada.LerInteiro("Informe um número: ");
            var numeroBusca = numeros.Where(n => (n == num)).FirstOrDefault();

            if (numeroBusca != 0)
            {
                tela.EscreverNaCor("Número encontrado", Tela.corResultado);
            }
            else
            {
                tela.EscreverNaCor("Número não encontrado", Tela.corErro);
            }

            tela.EscreverNaCor("Transforme todos os números da lista em um Array: ", Tela.corInformacaoDestaque);
            var array = numeros.ToArray();

            foreach (int n in array)
            {
                tela.EscreverNaMesmaLinhaENaCor($"{n}, ", Tela.corResultado);
            }

            tela.PularLinha();
        }