sexta-feira, 28 de outubro de 2016



Este programa monta seis sanduíches diferentes a cada vez que executamos o programa.
Para isto foi criado uma nova classe com 3 matriz para carne, pão e tempero. Dentro desta classe foi criado o método que utiliza a classe Ramdom para misturar os ingredientes de cada matriz.

public class MenuMaker
    {
        public Random Randomizer;
        string[] Meats = { "Rosbife", "Salami", "Peru", "Presunto", "Pastrami" };
        string[] Condiments = {"mostarda amarela", "mostarda marrom", "mostarda com mel",
        "maionese","gosto", "molho francês"};
        string[] Breads = { "centeio", "branco", "trigo", "pumpurnickel", "pão italiano", "árabe" };
        public string GetMenuItem()
        {
            string randomMeat = Meats[Randomizer.Next(Meats.Length)];
            string randomCondiment = Condiments[Randomizer.Next(Condiments.Length)];
            string randomBread = Breads[Randomizer.Next(Breads.Length)];
            return randomMeat + " com " + randomCondiment + " no " + randomBread;

        }
    }   
}


O programa do Form é simplesmente 6 label e o seguinte código que chama o método criado acima (GetMenuItem) para criar os sanduíches para cada Label.

public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            MenuMaker menu = new MenuMaker() { Randomizer = new Random()};
            label1.Text = menu.GetMenuItem();
            label2.Text = menu.GetMenuItem();
            label3.Text = menu.GetMenuItem();
            label4.Text = menu.GetMenuItem();
            label5.Text = menu.GetMenuItem();
            label6.Text = menu.GetMenuItem();

        }




Artigo CIO - Onde a IA nos levará?

Onde a IA e os algoritmos inteligentes vão nos levar?

A Inteligência Artificial já é uma realidade e pode ser muito benéfica ou trazer riscos. Pela importância do assunto, devemos estudar e compreender mais seus impactos na sociedade global e aqui no Brasil

Cezar Taurion *

Publicada em 29 de junho de 2016 às 07h03 em CIO.

Hoje, os temas que estão em evidência na mídia especializada, em eventos e artigos, são os ligados à IA (Inteligência Artificial) e ao Aprendizado de Máquina (Machine Learning). Tecnologias que, em breve, serão tão comuns e inseridas nos sistemas que estarão à nossa volta, que  simplesmente desaparecerão. Bem, claro que previsões sobre futuro da tecnologia são recebidas com tanto ceticismo quanto previsões de economistas sobre a economia ou de meteorologistas sobre o clima. Mas, temos razoável grau de certeza para afirmar isso. Por quê?
Apesar dos altos e baixos da evolução da IA no passado, hoje temos uma combinação de capacidade computacional, dados e algoritmos que permite aos computadores realizar tarefas  impensáveis há uma década. E, com a evolução exponencial da tecnologia e dos algoritmos, muita coisa inovadora e surpreendente (para nós, hoje!) acontecerá nos próximos anos. Muitas tecnologias que causarão grandes mudanças no cenário de negócios e na sociedade já estão em uso hoje, embora ainda de forma limitada. E as que provocarão rupturas significativas, em dez a quinze anos, provavelmente já existem em protótipos de laboratórios. 
Vamos fazer um apanhado geral da realidade atual. Por exemplo, compreensão de linguagem natural. Há dez anos era quase impraticável interagir com computadores em linguagem natural e hoje temos exemplos reais como a Siri, da Apple, o Google Now, a Cortana, da Microsoft e o Echo, da Amazon. Ainda não são 100% precisos, é verdade, mas há dez anos era impensável termos uma interface dessas no nosso bolso, em um smartphone.
Atividades bem definidas já foram resolvidas pela IA, como jogar xadrez e ganhar. O Deep Blue venceu o campeão mundial Garry Kasparov em 1997. Dr.Fill ganhou competições de palavras cruzadas nos EUA. O AlphaGo, do Google, venceu o grão mestre sul-coreano de Go, Lee Se-Dol. E o Watson, da IBM, venceu dois campeões do programa Jeopardy!
Algoritmos inteligentes já estão inseridas nas nossas atividades diárias e nem percebemos. Quando vemos um filme no Netflix ou encomendamos um livro na Amazon, por trás dessa escolha há a influência de algoritmos de recomendação. A sugestão de caminho proposto pelo Waze ou a precificação de uma corrida pelo Uber também são baseados em algoritmos. Aprovação ou negação de créditos são baseados em algoritmos. Preços dinâmicos para passagens aéreas são estipulados por algoritmos. A onipresente busca que fazemos no Google é um sistema de IA. Mais da metade das ações em bolsa transacionadas nos EUA já são comandadas por algoritmos. Competições de busca por melhores algoritmos acontecem frequentemente em sites como Kaggle. Em 2011, a Universidade de Stanford, nos EUA, começou a oferecer cursos grátis e online de IA, que na sua primeira edição teve mais de 160 mil inscritos, dos quais 23 mil completaram.
O reconhecimento de imagem também já está fazendo parte de nosso dia a dia. O DeepFace, do Facebook, reconhece imagens de face friends nas fotos que postamos com quase 98% de acerto. Reconhecimento de imagens tem aplicações em diversas áreas, que vão de permitir pessoas cegas a entenderem uma foto no Facebook, a sistemas de segurança como os adotados nos serviços de imigração nos EUA e alguns países da Europa para avaliar se a pessoa pode ou não entrar no país.
Aprendizado de máquina com reconhecimento de imagem já tem várias soluções em open source, que podem ser usados e otimizados para diversas aplicações. Isso permite uma expansão mais rápida de novas soluções. Alguns exemplos práticos podem ser aplicados em bancos, extraindo imagens de pessoas em agências ou em ATMs, detectando atitudes suspeitas; no setor de seguros, analisando fotos de veículos acidentados, identificando as partes do veículo que foram afetados e o grau de dano; na saúde, analisando imagens de raios-X e identificando anomalias e assim por diante.  Na área militar drones armados podem através do reconhecimento de imagens para tomar decisões e efetuar ataques.  
Portanto, algoritmos e IA já estão no nosso dia a dia, muitas vezes inseridos em simples apps. Mas, aonde chegaremos nos próximos anos? 
Pesquisadores já apontam que uma máquina HLMI (Human-level machine intelligence), que pode ser definida como um computador que poderá efetuar a maioria das profissões humanas ao menos tão bem quanto um ser humano, tem 50% de chance de ser alcançada em torno de 2050. E que de lá para uma máquina superinteligente o passo seria de poucas décadas. A definição desta máquina superinteligente seria algo como “um intelecto que excederá largamente o desempenho cognitivo de humanos em virtualmente todos domínios de conhecimento”. 
Sem dúvida que temos um imenso desafio pela frente. Que impactos esses sistemas superinteligentes terão na nossa sociedade? Nos empregos? Teremos riscos? Um debate interessante é aprofundado pela leitura do documento “Potential risks from advanced artificial intelligence” e seus apêndices. 
Também recomendo a leitura de um estudo da Global Challenges Foundation, em parceria com o Instituto Futuro da Humanidade, da Universidade de Oxford, no Reino Unido, chamado de “Global Catastrophic Risks”. É uma leitura instigante, pois analisa e seleciona os principais perigos para a civilização humana. Entre os riscos atuais, estão as mudanças climáticas extremas, a guerra nuclear, as catástrofes ecológicas, pandemias e crises sócio-econômicos com potencial de disseminação global. Na categoria "riscos exógenos", estão um improvável impacto de asteroide e uma eventual erupção de um supervulcão. Já entre os "riscos emergentes", são listadas a biologia sintética, a nanotecnologia e a inteligência artificial.
A IA é apontada como uma das ameaças menos compreendidas, pois existem incertezas consideráveis sobre previsões de quanto tempo levará para o desenvolvimento de superinteligências e quando elas aprenderão a se desenvolver sozinhas. Os riscos mais imediatos se referem à substituição de humanos no trabalho, mas elas podem avançar tanto a ponto de saírem do controle. O estudo diz: “Tais inteligências extremas podem não ser fáceis de controlar, e poderiam agir de forma a aumentar suas próprias inteligências e a maximizar a aquisição de recursos para suas motivações iniciais. E se essas motivações não detalharem a sobrevivência e o valor da humanidade em detalhes exaustivos, a inteligência pode ser levada a construir um mundo sem humanos”.
Portanto, IA é uma realidade e pode ser muito benéfica ou trazer riscos. Pela importância do assunto devemos estudar e compreender mais seus impactos na sociedade global e aqui no Brasil. Aliás, como estamos de compreensão da IA e seus impactos no nosso país?

(*) Cezar Taurion é CEO da Litteris Consulting, autor de seis livros sobre Open Source, Inovação, Cloud Computing e Big Data

    Artigo CIO sobre computação Cognitiva

    Em 5 anos, a Computação Cognitiva mudará o mundo para melhor

    Em evento em Las Vegas, Ginni Rometty, presidente e CEO da IBM, apresenta os progressos do Watson em parceria com grandes empresas em todo o mundo e revela porque a companhia está pronta para criar a base sobre a qual toda a indústria vai se erguer

    Silvia Bassi *

    Publicada em 27 de outubro de 2016 às 13h57 na CIO.

    Em 2011, Ginni Rometty, presidente e CEO da IBM, apostou o futuro da companhia em um computador cognitivo que tinha em seu currículo o feito de ter vencido seres humanos em um programa de perguntas e respostas na televisão americana (o Jeopoardy). Cinco anos depois, Rometty subiu ao palco da conferência World of Watson na tarde da quarta-feira (26/10) e, para um auditório lotado com mais de 18 mil pessoas, junto com parceiros como a fabricante de automóveis GM, a gigante farmacêutica Teva, o Secretário de Educação do Governo norte-americano, e o renomado especialista em genoma humano, professor Satoru Miyano, mostrou que sua aposta gerou frutos e poderá de fato mudar o mundo.
    "Agradeço a todos vocês, clientes e parceiros, em nome da IBM, a confiança que depositaram desde o início na nossa estratégia com Watson", disse Rometty. A platéia correspondeu com entusiasmo, especialmente levando em conta as cifras dessa aposta: por volta de 2025, segundo a CEO da IBM, o mercado de computação cognitiva e inteligência artificial deverá representar mais de 2 trilhões de dólares.
    Os próximos cinco
    Para Rometty, nos próximos cinco anos toda decisão importante, profissional ou pessoal, poderá ser feita com a ajuda do IBM Watson. O computador cognitivo da IBM é a plataforma de todo um ecossistema que, utilizando tecnologias de inteligência artificial e aprendizado de máquina, está funcionando em diferentes verticais econômicas, como saúde, finanças, entretenimento e varejo, conectando consumidores e empresas através da nuvem e fornecendo soluções por meio do entendimento de big data e analytics.
    Rometty diz que a sigla A.I. do Watson não se refere a inteligência artificial (Artificial Intelligence) e sim a Inteligência Aumentada (Augmented Intelligence). "Nossa meta é ampliar a inteligência humana. Miramos em um mundo homem e máquina. Nosso foco é estender e ampliar o expertise humano em qualquer área. Professores, médicos, advogados, não interessa sua área de atuação, nós vamos ampliar seu conhecimento".
    O mercado de IA hoje ainda é jovem e em formação e a IBM fincou sua bandeira nele transformando seu Watson em uma das grandes forças e atraindo clientes e parceiros como General Motors, GlaxoSmithKline, Staples, Teva Pharmaceuticals, a American Cancer Society, a Cleveland Clinic e o Bradesco, entre outros.
    Até o final de 2016, a tecnologia Watson, segundo Rometty, terá tocado centenas de milhões de pessoas ao redor do mundo que, em muitos casos, nem vão notar sua presença, apenas os benefícios.
    Watson e os motoristas
    Um dos exemplos é a parceria com a GM, anunciada também na quarta-feira. A chaiman e CEO da GM, Mary Barra, subiu ao palcom junto com Rometty para falar da parceria, que leva os recursos cognitivos do Watson para dentro da plataforma móvel OnStar, que equipa os carros da montadora.
    A OnStar, que já existe há 20 anos, oferece aos motoristas comunicação intraveicular, segurança, recursos de navegação, diagnóstico remoto de problemas e chamadas externas hands-free. Com o Watson trabalhando nos bastidores do OnStar Go, os motoristas passarão a ter recursos de computação cognitiva como, por exemplo, ser alertado sobre o risco de ficar sem combustível e receber o melhor trajeto para evitar tráfego até o posto mais próximo.
    Ou pedir um café em linguagem natural, pagar de dentro do carro, e apenas passar na sua cafeteria predileta para retirar o copo da bebida quentinha (tradição para os norte-americanos) a caminho do trabalho. Ou ser lembrado pelo carro, ao voltar para casa, que precisa parar na farmácia para comprar remédios.
    A solução OnStar Go baseada em Watson começará a circular nos carros no início de 2017, e até o final do ano "milhões de carros estarão com ela", segundo Barra. "Acreditamos que a indústria automobilística verá em cinco anos muito mais mudanças do que viu nos últimos 50 anos. Vemos uma tremenda oportunidade para transformar a mobilidade pessoal. Pense como será levar o OnStar a outro patamar, conhecendo você e sua vida e o seu dia a dia e oferecendo facilidades e segurança. Podemos pegar o tempo gasto no trânsito e transformá-lo em qualidade de vida".
    Na medicina, a diferença entre vida e morte
    Revolucionar a saúde é uma das metas mais ambiciosas da IBM com Watson. E um dos convidados de Ginni Rometty ao palco, o professor Satoru Miyano, do Centro de Genoma Humano do Instituto de Ciências Médicas da Universidade de Tóquio, mostrou como o uso da plataforma pode fazer a diferença entre a vida e a morte de um paciente.
    Miyano explicou que pesquisadores e médicos enfrentam diariamente muita dificuldade para conseguir acompanhar a montanha de dados sobre suas especialidades. Só no ano passado, por exemplo, foram publicados mais de 200 mil estudos sobre câncer. Ao mesmo tempo, os oncologistas lidam com um cenário com mais de 4 milhões de mutações patológicas de genes ligadas ao câncer já identificadas.
    "Ninguém consegue ler tudo isso", disse Miyano. "Nos sentimos como uma rã no fundo do poço. Entender o câncer está acima da capacidade humana mas o Watson pode ler, entender e aprender. Por que não usá-lo?" E, de fato, os pesquisadores estão usando Watson para navegar pelo mundo de dados e, cruzando informações com fichas de pacientes e dados de específicos de cada genoma, achar a melhor forma de tratamento.
    O exemplo mais contundente veio de uma paciente de 66 anos, com leucemia. Segundo Miyano ela recebia tratamento padronizado contra a doença mas piorava, Os médicos não entendiam por que ela ficava mais doente. Usando o Watson, em 10 minutos conseguiram analisar os dados da paciente contra os dados da base gigante de conhecimento.
    Os resultados apresentados por Watson forma investigados e os médicos descobriram que Watson tinha apontado um problema em um gene que levava a um tipo diference de leucemia que exigiria outro tratamento. Mudaram a terapia e a paciente está recuperada completamente.
    Watson na frente
    Os exemplos, as parcerias e os projetos comerciais da IBM com o Watson mostram que a empresa está aproveitando o momento de "tela limpa" para se reinventar novamente e tentar dominar um mercado emergente gigantesco.
    Se vai conseguir, diz o analista da indústria Jeff Kagan, "depende de como ela conseguir definir o markeplace". "Liderar o mercado hoje é fácil para o Watson, já que a companhia começou na frente, mas para se manter na liderança em dez anos a IBM precisará desenhar muito bem o mercado e controlar as expectativas".
    Para Kagan, as chances são boas: "A IBM está em uma posição hoje de criar a base sobre a qual toda a indústria vai se erguer. Alguém tem de criar essa base".
    Depois da conferência de ontem, ficou claro que Ginni Rometty quer essa posição. E tem apoio para isso.


    (* ) Com reportagem de Sharon Gaudin, da Computerworld USA

    terça-feira, 25 de outubro de 2016

    Criação de classe com método





    Abaixo esta a classe que foi acrescentada ao projeto

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;

    namespace Cap_3___Talker
    {
        class Talker
        {
            public static int BlahBlahBlah(string thingTosay, int numberofTimes)
            {
               string finalString = "";

            for (int count = 1; count<= numberofTimes; count++)
                {
                    finalString = finalString + thingTosay + "\n";
                }
        MessageBox.Show(finalString);
                return finalString.Length;
            }





    Aqui segue o programa do forme onde chamamos o método criado dentro da classe acima.

    namespace Cap_3___Talker
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }

            private void button1_Click(object sender, EventArgs e)
            {
                int len = Talker.BlahBlahBlah(textBox1.Text, (int)numericUpDown1.Value);
                MessageBox.Show("O tamanho da mensagem é :" + len);
            }
        }
    }








    segunda-feira, 24 de outubro de 2016

    Artigo de Cezar Taurion em Revista CIO

    Blockchain e os bancos

    No âmbito da moeda virtual Bitcoin, um blockchain é a estrutura de dados que representa uma entrada de contabilidade financeira ou um registro de uma transação. Cada transação é digitalmente assinada com o objetivo de garantir sua autenticidade e garantir que ninguém a adultere, de forma que o próprio registro e as transações existentes dentro dele sejam considerados de alta integridade. CIO.com

    quarta-feira, 19 de outubro de 2016

    Artigo Agrolink - Startup de tecnologia no agronegócio

    Startups: o agronegócio e as revoluções tecnológicas

    Visitas: 614

    Startups: o agronegócio e as revoluções tecnológicas
    18/10/16 - 22:26 
    Novos modelos de negócios surgiram e criaram uma verdadeira revolução em questão de empreendedorismo, tecnologias e aceleradoras que garantem uma oportunidade com retornos financeiros.  Assim vistas como revoluções tecnológicas, as startupstambém ganharam seu lugar no agronegócio e devem estar presentes ainda mais nos próximos anos.
    Startups é uma organização humana estruturada para desenvolver um modelo de negócios para um produto, processo ou serviço de natureza inovadora.  Francisco Jardim, sócio fundador da SP Ventures explica que investir em startups, principalmente no Brasil e na atual conjuntura econômica, é uma alocação de capital de alto risco. Então a percepção de insegurança não está de certa forma toda errada.  “É importante entender que esta insegurança, que nós do mercado de investimentos chamamos de risco, também significa uma oportunidade para obter maiores retornos. Nenhuma classe de ativos oferece uma oportunidade de ganho tão alto quanto o investimento numa startup de tecnologia. Mas é fundamental que o processo de seleção e acompanhamento da startup seja feito com muito profissionalismo e critério técnico”, salienta Francisco.
    Trata-se de uma revolução nova no mundo: o foco dos fundos de venture capital e o empreendedorismo de alto impacto em agronegócio. Os startups de agtech são um fenômeno novo, mas avassalador.  A ideia é de que o setor descobriu que as próximas grandes inovações não sairão das empresas tradicionais. As grandes empresas do setor claramente também entraram num ciclo de crise existencial, tanto que começaram um processo de megafusões.
    “Nossa Gestora de Investimentos, SP Ventures, decidiu há algum tempo focar quase que exclusivamente nesta vertical. No Fundo atual, já apoiamos sete startups do setor de agtech. Acreditamos que o Brasil será o principal mercado de crescimento agrícola, onde estará concentrada a ampliação da produção de alimentos, para garantir a segurança alimentar de forma sustentável do planeta. Isso só será feito com enormes ganhos de produtividade através da adoção de novas tecnologias. Estas inovações virão das startups de agtech, justamente nos anos em que as empresas consolidadas estarão distraídas com seus processos de integração pós-fusão” relata o Sócio fundador da SP Ventures.
    Muitos afirmam que qualquer pequena empresa em seu período inicial pode ser considerada uma startup. Outros defendem que uma startup é uma empresa com custos de manutenção muito baixos, mas que consegue crescer rapidamente e gerar lucros cada vez maiores. É preciso entender que, neste mundo dos negócios, não somente gerar resultados, mas estar ciente que as startups precisam de gestão, estratégia e investimentos. O momento atual no país é considerado instável, porém disto pode ser uma oportunidade para estabilizar alguns pontos - empresas tradicionais e consolidadas sofrem bem mais na crise, pois carregam estruturas operacionais pesadas. Elas têm menos flexibilidade para cortar custos e ajustar produtos.

    O Sócio Fundador da SP Ventures ainda destaca que o sistema atual no Brasil precisa evoluir em três frentes para ficar mais competitivo:
    A) Precisamos de mais recursos humanos na área de exatas, como engenheiros e cientistas da computação. A escassez crônica de mão de obra qualificada nos torna pouco competitivos num ambiente de concorrência global com Índia, China, EUA, e outros.
    B) Desburocratização e redução de custos tributários. Aqui entram as reformas tributárias, trabalhistas e simplificações nos trâmites de abertura de empresas.
    C) Redução do custo de capital. Sem acesso a capital farto e competitivo, nossas startups sempre estarão em desvantagem no cenário internacional. Esse talvez seja o processo mais difícil e demorado, mas também necessário. Com a queda da inflação, o Banco Central já deverá começar a reduzir as taxas básicas. Mas é importante que haja um ajuste forte das contas públicas para o Governo deixar de competir com o setor privado, e por consequência com as startups, por capital.
    Bruno Perin, empreendedor, consultor e autor do livro "A Revolução das Startups" afirma que as startups vem ganhando força vertiginosamente, mesmo em meio a um momento de crise, a vontade de crescimento neste setor é ainda maior. O Empreendedor ressalta que é possível notar o volume de grupos de pessoas se reunindo para novas ideias apostando no setor. “É muito comum o Brasileiro se sustentar em ideias que já deram certo no exterior. É comum acreditar que modelos que já foram comprovados como eficiente, sejam adotados”.
    Com o crescimento neste segmento, muitas empresas já adotaram as startups para seus negócios e assim trazendo recursos benéficos e práticos para o setor do agronegócio. Saiba mais sobre as apostas tecnológicas:
    Agronow:
    Software de mapeamento e produtividade agrícola que afere, com precisão superior a 90% e em tempo real, a produção futura e passada de propriedades rurais.
    agrosmart:
    Plataforma de inteligência agronômica que traz a Internet das Coisas e Big Data para o campo, reduzindo os gastos com irrigação em até 60% por meio de combinação de hardware e software em nuvem.
    PROMIP:
    Criação de ácaros predadores até 40 vezes mais eficientes que defensivos químicos no controle de pragas agrícolas.
    InCeres:
    Sistema de Agricultura de Precisão focado no manejo da fertilidade do solo, que eleva a eficiência e encurta o ciclo da análise de solo por meio de algoritmo geoestatístico proprietário.
    Sua Fazenda:
    Plataforma online que permite produtores, cooperativas e empresas atuantes no setor agrícola, identificarem oportunidades e expandir seus negócios.

    As startups – o empreendedorismo e o cenário positivo
    Quando o assunto é investimento, muitos se perguntam a hora certa de investir e os possíveis riscos de lançar-se aos novos modelos propostos.
    De acordo com Andrewes Pozeczek Koltermann, Analista de Sistemas, empresário e professor universitário, muitos empreendedores visualizam nas startups a possibilidade de ter o seu próprio negócio. E é fato que as empresas com base tecnológicas possibilitam, além de um universo de possibilidades de atuação, um grande ganho financeiro, ainda mais se forem subsidiadas por apoio, investimento ou fomento (subsídios governamentais). “Acredito que esta no momento de investir no "intraempreendedorismo", onde profissionais de empresas já maduras possam ter espaço para inovar, não apenas agregando valor, mas remodelando produtos e serviços. Isso enquanto um departamento ou no formato de uma "spi-noff", dando assim origem a novas startups, ressalta o Empresário.
    Andrewes, também consultor de negócios pela Fundação Getúlio Vargas e Mestre em Tecnologias Educacionais em Rede pela UFSM, avalia as startups não como uma revolução, visto que, hoje, já é uma realidade. As startups são geridas essencialmente por empreendedores, focados nos seus resultados, acima de tudo, muitas vezes até mesmo do lucro. Por isso que relacionamos os empreendedores às suas motivações e paixões. “A grande revolução será iniciada quando os grandes e tradicionais empresários investirem esforços para dar mais espaço em suas organizações a estes empreendedores”.
    O empresário investe esforços da sua empresa, Dois Atitude Criativa, em um projeto na cidade de Santa Maria, no Rio Grande do Sul em parceria com uma faculdade local e caso haja um grau de maturidade e sustentabilidade, a pretensão é transforma-la em uma startup.  “O cenário na cidade nunca foi tão positivo - além do Tecnoparque (http://santamariatecnoparque.com.br/institucional.html), o Centro Software (APL - Arranjo Produtivo Local que reúne empresas de Tecnologia do Centro do RS) tem profissionalizado as empresas, oportunizando acesso não somente a informações, mas principalmente a parcerias. Em minha opinião, o sucesso das startups está diretamente relacionada as parcerias existentes”  afirma o Consultor da FGV.

    Agrolink
    Autor: Aline Merladete

    terça-feira, 11 de outubro de 2016

    11-10-16 Visualizador de Imagens




    Programa onde usamos muitos comandos para a visualização de imagens, timer, menistrip, folderbrowserdialog, statuslabel.


    namespace _11_10_16_VisualizadorImagens
    {
        public partial class frm_VisualizadorImagens : Form
        {
            public frm_VisualizadorImagens()
            {
                InitializeComponent();
            }

            private void groupBox1_Enter(object sender, EventArgs e)
            {

            }

            private void sairToolStripMenuItem_Click(object sender, EventArgs e)
            {
                Close();
            }

            private void abrirFiguraToolStripMenuItem_Click(object sender, EventArgs e)
            {
                if (folderBrowserDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK) ;
                {
                    string folder, pattern, filename, pathname;
                    folder = folderBrowserDialog1.SelectedPath;
                    Globals.CurrentPictureFolder = folder;
                    this.sbarFolderLabel.Text = folder;

                    if (radJPEG.Checked == true)
                    {
                        pattern = "*.jpg";
                    }
                    else if (radBPM.Checked == true)
                    {
                        pattern = "*.bpm";
                    }
                    else
                    {
                        pattern = "*.*";
                    }

                    string[] files = null;
                    files = System.IO.Directory.GetFiles(folder, pattern);
                    lstFileName.Items.Clear();
                    foreach (string pathname_loopVariable in files)
                    {
                        pathname = pathname_loopVariable;
                        filename = System.IO.Path.GetFileName(pathname);
                        lstFileName.Items.Add(filename);
                    }
                }

               
            }

            private void menuStrip1_ItemClicked(object sender, ToolStripItemClickedEventArgs e)
            {

            }

            private void picImage_Click(object sender, EventArgs e)
            {

            }

            private void frm_VisualizadorImagens_Load(object sender, EventArgs e)
            {
                radJPEG.Checked = true;
                folderBrowserDialog1.RootFolder = Environment.SpecialFolder.Desktop;
                folderBrowserDialog1.Description = "Please location folder containing pictures to view...";

                this.sbarClockLabel.Text = System.DateTime.Now.ToString("hh:mm tt, MM-dd-yyyy");
                this.timer1.Interval = 3000;
                this.timer1.Enabled = true;
            }

            public void lstFileName_SelectedIndexChanged(object sender, EventArgs e)
            {
                string filename = null;
                string folder = null;
                string pathname = null;

                filename = lstFileName.SelectedItem.ToString();
                folder = Globals.CurrentPictureFolder;
                pathname = System.IO.Path.Combine(folder, filename);
                picImage.Image = System.Drawing.Image.FromFile(pathname);
            }

            private void statusStrip1_ItemClicked(object sender, ToolStripItemClickedEventArgs e)
            {

            }
        }
    }












    quarta-feira, 5 de outubro de 2016


    Neste exercício criamos um método e utilizamos vetor e dois tipos de busca.





    namespace _05_10_16_ArrayLinguagens



    {
     
    public partial class frm_arrayL : Form



    {
     
    string[] languages = {"Java",

    "Perl",

    "Pascal",

    "Pyton",

    "C#"}; //outra maneira de criar um vetor

    string[] sortedLangs = new string[5]; //vetor ordenado






     
    public frm_arrayL()



    {

    InitializeComponent();

    }
     
    private void radioButton3_CheckedChanged(object sender, EventArgs e)



    {

    }
     
    private void textBox1_TextChanged(object sender, EventArgs e)



    {

    }
     
    private void rdbUnsorted_CheckedChanged(object sender, EventArgs e)



    {
     
    btnSearch.Enabled = false;

    txtSearch.Enabled = false;



    showUnsorted();

    }
     
    private void showUnsorted() //método criado pelo usuário



    {


     
    lstOutPut.Items.Clear(); // limpa a listbox

    lstOutPut.Items.AddRange(languages); // carrega o vetor acima na listbox



    }
     
    private void rdbSorted_CheckedChanged(object sender, EventArgs e)



    {
     
    languages.CopyTo(sortedLangs, 0); // copia os elementos de um para o outro

    Array.Sort(sortedLangs); //ordena vetor

    btnSearch.Enabled = true;

    txtSearch.Enabled = true;



    }
     
    private void btnSearch_Click(object sender, EventArgs e)



    {
     
    int theIndex;

    string message;

    theIndex = Array.BinarySearch(sortedLangs, 0, sortedLangs.Length, txtSearch.Text);

    if (theIndex < 0)



    {
     
    message = "Não encontrado";



    }
     
    else



    {

    message = sortedLangs[theIndex];
     
    message += " está em posição ";



    message += theIndex.ToString();

    }
     
    MessageBox.Show(message);



    }
     
    private void btnForEach_Click(object sender, EventArgs e)



    {
     
    foreach (string theLang in languages) //~estrutura de repetição

    { //ForEach percorre o vetor e exibe cada elemento

    MessageBox.Show(theLang);



    }

    }

    }

    }