quarta-feira, 5 de outubro de 2016

HashSet<T> Class

O C# possui um tipo de coleção denominada HashSet<T>. Um Sets é uma coleção não ordenada sem itens duplicado, funciona de maneira similar a uma lista, mas oferece operações de conjunto matemático como União e Interseção. 
O conceito Sets vem da matemática. Pense num conjunto de gênero (fêmea e macho) , o conjunto de dias da semana, o conjunto de variações do triangulo. Diferente de conjuntos matemáticos os conjuntos em C# não podem ser infinitos , mas podem ser tão amplos quanto a memoria disponível. 

Como Dicionários, sets são implementados usando tabelas hash. Sets são tipos de dicionários com chaves mas sem valores , fazendo com que eles tenham formas de lista.

Para criar um HashSet<T>, você pode fazer isso:

HashSet<int> pequenosNumeros = new HashSet<int>();
pequenosNumeros .Add(2);
pequenosNumeros .Add(3);

Ou, mais conveniente , você pode adicionar usando um inicializador de coleção:

HashSet<int> pequenosNumeros = new HashSet<int>{2 ,3 , 5, 7, 11, 13};

Ou você pode criar um conjunto a partir de uma coleção existente:

List<int> intList = new List<int>{0 ,1 ,2 , 3 ,4 ,5 ,6 ,7 8 , 9 ,10};
HAshSet <int> numeros = new HasSet<int>(intList);


Se você tentar adicionar u elemento que já existe no HashSet , exemplo:
pequenosNumeros .Add(2);


... o copilador não trata coo erro o método Add(), devolve verdadeiro se ocorreu a inclusão e falso se não houve alteração no conjunto.
Veremos um exemplo utilizando um importante método, o UnionWhit(). Esse método faz a união de coleções sem duplicar elementos.

Abra o console do Visual Studio e faça você o teste.

List<string> colors = new List<string> { "vermelho", "amarelo", "laranja" };
            string[] maisCores = { "laranja","amarelo","verde","azul","violeta"};
            
            //Adiciona a primeira coleção ao HashSet
            HashSet<string> cobinando = new HashSet<string>(colors);

            // Utilizando o método UnionWith()
            cobinando.UnionWith(maisCores);

            // Exibindo as cores sem duplicação
            foreach (var item in cobinando)
            {
                Console.WriteLine(item);
            }

O outro método interessante  que o HashSet possui é o IntersectWith(); que dá a você os itens sobrepostos entre duas coleções, observe o código abaixo:

Console.WriteLine("Buscando a sobreposição em duas listas");
            List<string> CandidatosPresidencia = new List<string> { "Clinton", "Eduard", "Obama" ,"McCain","Giuliani"};
            string[] senadores = { "Alexader", "Boxer", "Clinton", "Eduard", "Obama" ,"Snowe"};

            //Adiciona a primeira coleção ao HashSet
            HashSet<string> trabalhaSenado = new HashSet<string>(CandidatosPresidencia);

            // Utilizando o método IntersectWith()
            trabalhaSenado.IntersectWith(senadores);

            // Exibindo as condidatos que se repetem
            foreach (var item in trabalhaSenado)
            {
                Console.WriteLine(item);
            }
            Console.ReadKey();

E ainda existe a possibilidade de fazer de forma contrária, remove os elementos que estejam duplicados em ambas as listas com o método EXcepWith();

 Console.WriteLine("Removendo as exceções em duas listas");
            Queue<int> unicos = new Queue<int>( new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9 ,10});
            HashSet <int> impares = new HashSet<int> {1, 3, 5, 7, 9, 11};



            // Utilizando o método ExceptWith()
            impares.ExceptWith(impares);

            // Exibindo os numeros que não se repetem
            foreach (var item in impares)
            {
                Console.WriteLine(item);
            }
            Console.ReadKey();
        }

Obs: Veja a documentação deste tipo de coleção no link, Microsoft.
" A mente que se abre a uma nova ideia jamais voltará ao seu tamanho original." Albert Einstein

segunda-feira, 3 de outubro de 2016

O que é C#?

Vamos nesta postagem falar um pouco do C#, conhecer o pouco da suas características, e aqui daremos inicio a várias postagens sobres C# e suas formas orientadas a objeto de programação.

A linguagem de programação C# é uma daquelas  linguagem intermediarias que programadores usam para criar programas executáveis . O C# combina o alcance do poderoso mas copilador C++ com o fácil uso do amigável mas mais eloquente Visual Basic(a mais nova encarnação .NET do Visual Basic está quase parelha com o C#) na maioria dos aspectos. Enquanto linguagem chefe do .NET, o C# tende a introduzir a maioria das novas características primeiro).Um programa C# carrega a extensão .cs.

Alguns apontaram que C-sharp e D-flat são mesmo sinal,mas você não deve referir-se a esta nova linguagem como D-flat dentro do alcance de voz do Redmond ,Washington.

O C# é:


  • Flexível: Programas C# podem ser executados na máquina local ou ser transmitido pela web e executado em um computador distante. 
  • Poderoso: O C# tem essencialmente os mesmos comandos do C++, mas com as estremidas ásperas aparadas. 
  • Fácil de usar: O C# corrige erros dos comandos responsáveis pela maioria dos erros C++ , você gasta menos tempo caçando os erros.
  • Orientado Visualmente: A biblioteca de código .NET que o C#usa para muitas das suas capacidades fornece ajuda necessária para prontamente criar frames com listas suspensas, janelas com abas, grupo de botões, barras de rolagem e imagens de fundo, para nomear apenas alguns.
  • Amigável com a Internet: O C#representa um papel principal no .NET Framework, a abordagem atual da microsoft em programação para Windows, Internet, entre outros.
O C# trabalha na plataforma .NET que é um Framework da Microsoft, onde contem um grande quantidade de bibliotecas para melhor aproveitar o C#.
O ambiente de desenvolvimento é o Visual Studio que é a IDE que a Microsoft utiliza para realiza a produção de sistemas.

Criando seu primeiro aplicativo C#

A priori iniciaremos com o sistema console onde emite um mensagem na tela do usuário, a famosa mensagem "Hello World" .
 Se você não baixou baixe o Visual Studio aqui, é provável que a página irá te apresentar várias versões da Express a Enterprise.

Abaixo os comandos console pra imprimir a mensagem na tela:

// A Hello World! program in C#.
using System;
namespace HelloWorld
{
    class Hello 
    {
        static void Main() 
        {
            Console.WriteLine("Hello World!");

            // Keep the console window open in debug mode.
            Console.WriteLine("Press any key to exit.");
            Console.ReadKey();
        }
    }
}
Veja abaixo o vídeo da serie de tutorias, Visual C Sharp (C#) - Tutorial - Série 01 - 01 - Criando o seu primeiro Programa, onde esbouça mais detalhe do Primeiro Programa no Visual Studio.



Obs: Vídeo do canal Ivan santos no Youtube.

sexta-feira, 23 de setembro de 2016

Gerenciamento de Projetos

Projetos - O que são?

Projetos são empreendimentos temporários instituídos com a finalidade de alcançar determinado objetivo. São executados por pessoas e possuem recursos limitados. Precisam ser planejados, controlados e executados.

Os projetos são realizados em todos os níveis da organização e podem envolver uma única pessoa ou milhares de pessoas. Sua duração varia de poucas semanas a vários anos. Trata-se de um meio de organizar atividades que não podem ser abordadas dentro dos limites operacionais cotidianos da organização. Portanto, são frequentemente utilizados como um meio de atingir o plano estratégico de uma organização, seja a equipe do projeto formada por funcionários da organização ou um prestador de serviços contratado.

Os projetos são normalmente autorizados como um resultado de uma ou mais das seguintes considerações estratégicas:
  • Uma demanda de mercado (por exemplo, uma companhia de petróleo autoriza um projeto para construir uma nova refinaria em resposta a um problema crônico de falta de gasolina)¹
  • Uma necessidade organizacional (por exemplo, uma empresa de treinamento autoriza um projeto para criar um novo curso para aumentar sua receita)
  • Uma solicitação de um cliente (por exemplo, uma companhia de energia elétrica autoriza um projeto de construção de uma nova subestação para atender a um novo parque industrial);
  • Um avanço tecnológico (por exemplo, uma empresa de software autoriza um novo projeto para desenvolver uma nova geração de videogames após o lançamento de um novo equipamento para jogos por empresas de produtos eletrônicos).
  • Um requisito legal (por exemplo, um fabricante de tintas autoriza um projeto para estabelecer diretrizes para o manuseio de um novo material tóxico).²
Os projetos podem criar:
  • Um produto ou objeto produzido, quantificável e que pode ser um item final ou um item componente;
  • Uma capacidade de realizar um serviço, como funções de negócios que dão suporte à produção ou à distribuição
  • Um resultado, como resultados finais ou documentos. Por exemplo, um projeto de pesquisa desenvolve um conhecimento que pode ser usado para determinar se uma tendência está presente ou não ou se um novo processo irá beneficiar a sociedade.
Projetos são fundamentais para alcançar as necessidades do estratégicas da empresa ou organização, junto a administração o gerente de projetos da um grande suporte para realizar as expectativas da empresa a atingir seus resultados.

Veja um vídeo do Ricardo Vargas, autoridade reconhecida mundialmente em Gerenciamento de Projetos, fala a respeito da atualidade do tema. Ele fala sobre a atualidade do gerenciamento do projeto.


O texto apresentado foi retirado da apostila de pós- graduação da http://www.esab.edu.br/

quarta-feira, 29 de julho de 2015

SQL, Recuperação de Dados

  • Instrução Select geral  


  • Você tem somente um comando para recuperação de dados  - Select. Select é um comando mais poderoso e flexível em qualquer linguagem de programação. No SQL você pode recuperar dados de uma ou mais tabelas, filtrar os resultados,e aplicar a classificação de dados.
    A forma mais simples do comando Select que retorna dados de uma tabela:
    Select * from cliente.  

     No Sql Server(SGBD da Microsoft), é distribuido comais de 100 funções para agregar, analisar e manipular dados. Para que possamos usar as funções Cast e Convert para alterar o tipo de dados.
    Ex.:
    Select Cast(EnderecoId AS varchar(30)), Endereco1, Endereco2, cidade,estado   FROM Endereco.

    Select Cast(EnderecoId AS varchar), Endereco1, Endereco2, cidade,estado,         FROM Endereco.

    Select Convert(EnderecoId AS varchar(30)), Endereco1, Endereco2, cidade,estado        FROM Endereco. 

    Select Convert(varchar(30),campoData,103) AS DiaMesAno, Endereco1,      FROM Endereco. 
     
    Se você quer retorna o numero de linha em uma tabela, pode usar a função COUNT, conforme mostra aqui.

                Select COUNT(*) from Endereco 

    Existe tabém a função MAX(), que retorna o maior valor de uma coluna selecionada.

                SELECT MAX(column_name) FROM table_name;

    Com pó Distinct podemos eliminar os regitros com determinadovalor de campo  repetido.

    SELECT DISTINCT modelo FROM carro;
     
    Existe outros tipos de operadores e funções para realizar um consulta, consulte:
    Também separei um vídeo para mais esclarecimento. Videos do Boson Treinamentos.


      
    " Ensinar é aprender também."

segunda-feira, 18 de agosto de 2014


Analise de sistema

O analista se sistema

             O papel de um analista atualmente não é o de ser um especialista nas áreas tecnológicas e recursos tecnológicos para resolver problemas, mais importante que isso, o analista deve possuir uma visão diferenciada em relação a sua equipe, pois a ele cabe a completa identificação e compreensão das necessidade que darão origem a um novo projeto, assim como a análise das oportunidades que este projeto poderá promover. 
             Todo sistema demanda de uma determinada necessidade, e para que o produto atenda completamente as expectativa do cliente, cabe a analista identificar o problema-chave que gerou tal necessidade.

Perfil do analista

Para ser um bom analista de sistemas, algumas características-base são requeridas. Deve-se:
  • O analista deve ter habilidades de comunicação.
  • Conhecer o negocio da empresa.
  • Ter afinidade com as tecnologias envolvidas no projetos;
  • possuir dinamicidade na compreensão e análise das informações;
  • saber trabalhar em grupo, fornecendo, auxilio aos membros da equipe;
  • Saber analisar e identificar as melhores soluções em nível de processo;
  • ter comprometimento e seriedade, para suprir as necessidade da empresa. 
Eu sou um analista de sistema, estou novamente retornando a posta neste blog para difundir ainda mais a profissão em questão e também compartilhar conhecimento, porque conhecimento é poder. A cima conhecemos o papel do analista e o perfil exigido das empresas para que venha trazer solução a elas.