segunda-feira, 27 de fevereiro de 2012

Introdução ao desenvolvimento de algoritmos

O desenvolvimento de algoritmos é um bom caminho para aqueles que iniciam cursos/estudos buscando conhecimentos na área de desenvolvimento de sistemas - programação de computadores. É fato que o estudo sobre algoritmos é abordado como disciplina em cursos técnicos e superiores como: técnicos em informática, sistemas de informação, ciência da computação dentre muitos outros.

Os programas também chamados de softwares fazem parte da nossa vida cotidiana, trazendo soluções para nossa vida, estão em nossos computadores, telefones celulares, GPS's nos carros, e nos ajudam muito na solução de muitos problemas.

E onde que entra os algoritmos? Ok. Os algoritmos são formas de resolver problemas, onde tentamos dividir os problemas em várias partes, e organizamos essas partes em uma sequência ideal, e assim vamos resolvendo as pequenas partes do problema na devida ordem, e no final temos o problema inteiro resolvido.

Sim mas o que são esses tais problemas que precisamos resolver? Bom no dia-a-dia resolvemos diversos problemas(tarefas) por exemplo: tomamos banho, preparamos nosso café, fazemos ligações telefónicas, saímos de casa para outros locais, etc.

Esses vários problemas acima citados podem ser resolvidos(e fazemos isso automaticamente) com a criação de um algoritmo para soluciona-los.

Lembra-se: algoritmo divide um problema grande em várias partes para facilitar a resolução, e coloca em uma ordem ideal.

Então vamos fazer um algoritmo para nos ajudar a preparar nosso café.

Para isso vou fazer uma descrição do tal problema: quando vou fazer o meu café eu vejo o que tem disponível para comer e beber, depois eu escolho algumas coisas, coloco os pães e frutas num prato, café ou suco em um copo de vou para a mesa.

Vamos agora quebrar o problema em partes menores e tentar colocar em uma sequência satisfatória:
  1. Ver o que tem disponível para o café
  2. Escolher o que comer e beber
  3. Pegar um prato
  4. Colocar as comidas escolhidas no prato
  5. Pegar um copo
  6. Colocar a bebida escolhida no copo
  7. Ir para a mesa tomar o café
Reparem que o que fizemos acima foi dividir a ação de "tomar café" em várias etapas menores, para facilitar a resolução da tarefa. Importante observar também a ordem, essa ordem é conhecida como sequência lógica e alterar essa sequência pode fazer com que não consigamos resolver nossa tarefa.

Imagine reescrever as tarefas descritas acima alterando a sequência como mostrado a seguir:
  1. Ir para a mesa tomar o café
  2. Escolher o que comer e beber
  3. Colocar as comidas escolhidas no prato
  4. Pegar um prato
  5. Pegar um copo
  6. Colocar a bebida escolhida no copo
  7. Ver o que tem disponível para o café
Reparem que agora com essa nova sequência ficaria impossível conseguir resolver a simples tarefa de "tomar café" . 

Como poderíamos ir para a mesa sem os mantimentos, como podemos colocar comida no prato se não estamos com o prato na mão, como podemos colocar bebida no copo se não estamos com o copo na mão?

Queremos caro leitor, deixar bem claro que é importante o entendimento de divisão de tarefas em tarefas menores. E a existência de uma sequência lógica.

Tudo certo! Mas como que está relacionado o desenvolvimento de algoritmos com programação de computador? 

Bom agora devemos entender que vamos criar algoritmos para ensinar o computador a resolver problemas da mesmo forma que fizemos anteriormente onde resolvemos o problema "Tomar Café".

Quais problemas que o computador tem que resolver? Na maioria das vezes ensinamos o computador a resolver problemas que seriam resolvidos por pessoas, ou até problemas que seriam impossíveis para uma pessoa resolver.

São exemplos de problemas que estamos acostumados a ver sendo resolvidos por computadores:
  • registrar vendas
  • controlar estoques
  • realização de saques em caixas eletrônicos
  • calcular troco de uma venda
  • fazer cálculos
  • enviar cartas (o email resolveu esse problema para o carteiro) 
 Viram como os algoritmos e computadores tem ajudado a vida do homem?

Agora querido leitor é importante entender o que falamos até o momento, já que no próximo post vamos continuar falando sobre como desenvolvemos algoritmos, e mais alguns conceitos fundamentais.


Não esqueça de deixar seus comentários.
Um abraço e até breve.


2 comentários:

  1. Boa noite.
    Sou iniciante em java e ainda estou aprendendo o Netbeans.
    Estou com dificuldades, pois quando declaro uma variável do tipo string, dá um erro e o programa dá uma mensagem assim: cannot find symbol. Symbol class string. location class Cliente.
    Será que vc poderia me ajudar.

    Grato pela atenção.

    ResponderExcluir
    Respostas
    1. Olá Armando, pelo erro que você passou vemos que a linguagem Java não reconhece a palavra/simbolo "string", isso é porque em Java devemos utilizar o símbolo "String" com o "S" maiúsculo. Para fazer referência a classe que existe e tem esse mesmo nome.

      Os outros tipos de dados (chamados em Java de tipos primitivos), são escritos com a letra inicial minúscula.

      Veja exemplo abaixo:

      Ex:

      String nome;
      String email;
      int idade;


      Excluir