ALGORITMO: O QUE VOCÊ PRECISA SABER
Algoritmo é uma sequência lógica e finita de passos que objetivam a execução de uma tarefa. Como mencionamos em “Lógica de programação: uma breve introdução”, algoritmo pode ser entendido como um “conjunto de regras, que nada mais é do que um processo que se assemelha a uma “receita de bolo”, que para que dê certo, precisa ser seguida obedecendo uma ordem de execução estabelecida”.
Acresce que esta sequência de passos para ser compreendida como um algoritmo, deve obrigatoriamente expressar algumas características essenciais, como ser clara e precisa, não ser redundante ou subjetiva. Assim, se ocupando do “como fazer” e não do, “o que fazer?”.
Entenda, algoritmo não é a solução de um problema, mas um conjunto de ações, um caminho que leva a solução de um problema, um dos muitos caminhos, visto que um problema pode apresentar mais de uma solução. Em nossas tarefas do cotidiano você e eu usamos algoritmos intuitivamente sem percebermos que o fazemos. Veja o exemplo.
Se desejamos somar dois números quaisquer, nós apenas o fazemos, sem pensar em como. Entretanto, mesmo não pensando na sequência de passos necessários para executar esta tarefa, nós a seguimos automaticamente.
• Entre com o primeiro número no retângulo A
• Entre com o segundo número no retângulo B
• Some o número do retângulo A com o número do retângulo B
• Coloque o resultado da soma no retângulo C
A partir do exemplo acima, podemos então compreender que algoritmo não é o resultado da operação, mas todo o processo que nos leva a ele, ao resultado da soma dos dois números, ou seja, “10”.
REPRESENTANDO O ALGORITMO COM JAVA
Neste momento não se preocupe com as palavras reservadas ou com as expressões que você não conhece, importa-nos apenas que você se familiarize com o ambiente, comece a conviver com alguns conceitos e perceba como o algoritmo pode ser representando usando uma linguagem de programação, colocando em prática a teoria que você acabou de aprender.
O código abaixo, embora simples, usado como exemplo para efeito didático de forma a facilitar o entendimento, trás algumas definições importantes, como por exemplo, variável, você sabe o que é variável?
Em nosso exemplo, “retângulo_A” e “retângulo_B” são as nossas variáveis. Ok, mas o que são variáveis e o que elas fazem? De forma simples, variável é um local na memória principal reservado para alocar um conteúdo. No código acima, o conteúdo que cada uma das variáveis armazena é o valor 5 respectivamente.
Em resumo, o que a variável é? Um local na memória. O que ela faz? Aloca um conteúdo. Agora que você tem uma ideia do que é variável, vamos avançar um pouco mais na aprendizagem do nosso pequeno algoritmo.
o resultado da nossa sequência de passos, do nosso algoritmo, foi exibido no console “RESULTADO: 10”, para exibir o resultado da operação usamos a instrução de saída “System.out.println(“ ”);”.
VÍDEO AULA DE ALGORITMOS.
Sintetizando o que acabamos de aprender, temos o algoritmo que é o processo que chega a um dado resultado, dentro deste contexto temos a lógica que é a soma, e consequentemente a sequência lógica de passos que em suma é somar o valor de “A” com o valor de “B”.
Agora que você sabe o que é um algoritmo, perceba que todas as tarefas que um computador executa são baseadas em instruções algorítmicas. Na programação estas instruções descrevem as etapas necessárias para que o software ou sistema execute as tarefas que foram expressas em linha de código.
O QUE SÃO PROGRAMAS DE COMPUTADOR?
Programas são algoritmos escritos em alguma linguagem de computador, como por exemplo, Java, JavaScript, C, C++, C#, Cobol, Phyton, PHP e muitas outras. Esta linguagem de computador também conhecida como linguagem de programação possui uma interpretação rigorosa e rígida dos algoritmos da vida real.
É curioso que muitas pessoas não atentem para o fato de que elas interagem com programas de computador o tempo todo, seja no notebook, desktop, smartphone ou tablet. Os aplicativos como Instagram, Twitter ou do seu banco, são programas desenvolvidos por um programador a partir de uma linguagem de programação.
Plataformas como o Facebook, o programa operado pela caixa do supermercado, ou aquele onde a atendente da farmácia pesquisa a disponibilidade e preço dos remédios, todos tem em comum a base – um algoritmo estruturado a partir de uma linguagem de programação, e este é o ponto que pode variar, a linguagem utilizada.
Por outro lado, embora o cenário atual desenhe um quadro distinto, se não considerarmos os avanços nos campos de IA e IoT, é interessante observar que as máquinas não foram projetadas para pensarem como nós.
Ao contrário do que acredita o senso comum, elas apenas cumprem uma sequência de instruções que resultam na realização de uma tarefa, a qual foram programadas para executar. E elas também não entendem a nossa linguagem.
O QUE É LINGUAGEM DE PROGAMAÇÃO?
Agora uma curiosidade, se você já é um programador ou começou há pouco tempo, talvez não seja uma novidade para você, mas se você está começando agora, em algum momento irá se deparar com a eterna discussão, “HTML e CSS são ou não uma linguagem de programação?”.
Uma vez que estamos falando de linguagem de computador, também conhecida como linguagem de programação, é importante que você já saiba. Então vamos lá, “o que é linguagem de programação? O que uma linguagem precisa ter para ser considerada uma linguagem de programação?”.
Respondendo a primeira questão, a Wikipédia define linguagem de programação como sendo “um método padronizado para comunicar instruções para um computador”, ratificando o que informamos acima.
Uma abordagem mais sofisticada nos diz o que a linguagem precisa ser capaz de fazer para ser considerada uma linguagem de programação. A teoria da computação diz que para uma linguagem ser considerada de programação ela precisa ser Turing-completude ou Turing-Completo.
Essa teoria afirma que um sistema, assim também com a linguagem de programação é Turing-completo se ele for capaz de resolver qualquer problema computacional.
Ora, se um sistema existe a partir de uma linguagem de programação, em outras palavras podemos dizer que, para ser considerada uma linguagem de programação ela precisa ser capaz de tomar decisões, mudar o fluxo de execução – o que é feito a partir de saltos condicionais, e também ela precisa ser capaz de produzir o resultado de qualquer cálculo e etc. Enfim, tudo o que o HTML e CSS não fazem.
Assim sendo, o w3schools define o HTML – Hypertext Markup Language ou em português Linguagem de Marcação de Hipertexto, como uma “linguagem de marcação padrão para páginas web”, ela descreve o que fazer com os dados. O CSS por sua vez descreve o estilo de um documento HTML, definindo atributos como cores, tipo de fonte, comportamento de um parágrafo e muito mais.
Agora que você compreendeu o que é um programa de computador, que seu desenvolvimento se dá a partir de algoritmos estruturados sob uma linguagem de programação específica, vamos aprender sobre pseudocódigos e como eles podem auxiliar na aprendizagem da programação.
ALGORITMOS E PSEUDOCÓDIGOS
No início deste texto lhe perguntamos se sua ambição era se tornar um bom programador? E se a sua resposta foi sim, então você obrigatoriamente passará pelo caminho dos pseudocódigos.
Pseudocódigo é a linguagem em que os algoritmos são representados. Trata-se de uma forma didática de ensinar programação simplificando-a, mas sem distanciá-la da linguagem de programação propriamente dita, ao mesmo tempo que mantém próxima da linguagem humana.
No Brasil, a forma de pseudocódigo mais conhecida é o Portugol. Esta forma de representar algoritmos é posteriormente transformada em linguagem de programação. O pseudocódigo trata de conceitos como entrada e saída de dados, processamento e variáveis.
Vamos aprender na prática como escrever um pseudocódigo, com o exemplo do cálculo da média de um aluno, a partir da entrada de dois números.
LINHA 1: Indica o início do pseudocódigo.
LINHA 3: Definição das variáveis com suas respectivas entradas.
LINHA 4: Definição da variável que receberá o resultado da operação
LINHA 6: Processamento onde ocorre soma das notas e divisão por 4
LINHA 8: saída dos dados que se dá por meio da variável resultado.
LINHA 11: Indica o fim do pseudocódigo.
E AÍ, BORA PROGRAMAR?
Como já mencionado neste mesmo texto, se você tem ambições de se tornar um programador de sucesso, precisa entender que dominar algoritmos é a base fundamental para que obtenha êxito em sua jornada.
E independente da linguagem escolhida, solidificar a base com muito estudo e dedicação é o caminho mais curto para a realização das suas aspirações. Certamente você passará por todas as etapas que salientamos aqui, precisará ter claro em sua mente o que é algoritmo, lógica e sequência lógica.
Deverá praticar pseudocódigos até estar pronto para ir de fato para os algoritmos, e então praticar, praticar e praticar mais um pouco.
E se você permanecer com a gente, aqui no Formação Java Web, garanto que essa jornada será menos solitária, temos uma comunidade ativa e cooperativa, uma equipe de suporte pronta para lhe ajudar, além dos nossos tutoriais. Muito ainda está por vir.
Aprenda mais sobre a lógica com Java.
Curso de programação para você
Selecionei os cursos on-line para você se preparar e abrir as portas para as vagas de programação. Conheça cada um dos cursos nos links oficiais abaixo.
🙂
Curso Profissional + Certificado + Acesso Vilatício + Suporte.
Full-Stack Web Java EE
Mais de 900 aulas em PrimeFaces, JSF, Spring, Hibernate, JPA, Ireport, CDI e muitos mais. Se torne Full-Stack Java Web.
Full-Stack Web PHP
Domine as principais tecnologias do mercado e se torne Desenvolvedor Full-Stack PHP, com salários na faixa dos R$ 6.000,00.