Bom, lembram que falei na primeira postagem sobre programação que queria aprender algum dia? Estou tendo a oportunidade de ser um verdadeiro Desenvolvedor de software! Estou participando de uma seletiva de uma Competição Técnica promovida pelos SENAIS, de todo o país, e estou aprendendo de modo autodidata mas com algumas orientações, a fim de ser selecionado. De toda forma é um grande aprendizado! e Hoje vou começar a trilhar esse treinamento, vamos começar pela Lógica de programação que estudaremos via Portugal e via C# uma linguagem de programação adotada nessa competição e a que estarei trabalhando. o C# de modo breve é uma linguagem de programação criada para ter o poder do C,com a simplicidade do Visual Basic.
É necessário ter ciência de que tudo começa com a Lógica de programação, pois é ela que permite definir a sequência lógica para o desenvolvimento. é por assim dizer o estudo de como construir uma sequência lógica para resolução de tarefas ou problemas. A essa sequência lógica de resolução chamamos de Algoritmo.
Inicialmente, iremos entender o que é um algoritmo, e quais os exemplos que vivenciamos todos os dias que são algoritmos.
Isso para que na minha visão, seja mais fácil de entender que quando precisamos fazer algo na vida real, qualquer coisa que seja, precisamos de uma "lógica" pra isso! Ou seja, por exemplo para se fazer um bolo não podemos "pular" certas etapas, e que se algo acontece com o preparo, temos que saber que "decisão" tomar diante do acontecimento, da "condição". Resumindo para que realmente nossos ingredientes todos se tornem um bolo, é necessário que executemos certos procedimentos com eles em uma determinada ordem, com determinadas condições e com determinados ingredientes. Em seguida, mudaremos o foco dos algoritmos do dia a dia para algoritmos na computação e programação, veremos os tipos existentes de algoritmos e alguns exemplos práticos.
O que é algoritmo?
Um algoritmo é uma sequência de instruções, de passos, que seguimos para solucionar um ou mais problemas, ou até mesmo para realizar tarefas do dia dia.
Um algoritmo não é necessariamente um programa computacional, pode ser passos que iremos tomar para realizar uma determinada tarefa.
O algoritmo deve sempre chegar a um resultado satisfatório, ou seja, ao resultado final esperado, caso não chegue, o mesmo não pode ser considerado finalizado.
Exemplos: Trocar uma lâmpada, preparar o café, Fazer o bolo : ) ...
Vamos ver como seriam os passos pra realizar estas tarefas:
Fazer o Café:
Trocar uma Lâmpada:
Fazer o Bolo:
Como exemplos de Algoritmos podemos citar também as operações básicas (adição, multiplicação, divisão e subtração) de números reais decimais. Outros ainda seriam os manuais de aparelhos eletrônicos, como o manual de um telefone celular, que explica passo a passo de como realizar uma ligação por exemplo.
Mediante os exemplos apresentados anteriormente, fica mais fácil compreender a definição de um algoritmo, caracterizando-se por ser um conjunto de instruções objetivas.
Quando pensamos na definição de Algoritmo, podemos pensar em uma infinidade de coisas complexas, o mesmo se trata de um conjunto de instruções objetivas que tem como objetivo resolver um problema. Não quer dizer que não existam Algoritmos complexos! mas isso vai depender da complexidade do problema em questão.
Todos os algoritmos vistos até agora fazem parte do nosso dia a dia, são Algoritmos que frequentemente nos vemos executar. Deixando um pouco do cotidiano de lado, iremos agora entrar de cabeça no mundo computacional. Let's go!!!
Representações de um Algoritmo:
Agora que entendemos do que se trata um Algoritmo veremos as formas utilizadas para o representar. Temos várias formas de representar os Algoritmos, desde as mais simples, representadas por formas, até as mais detalhistas, contendo regras de implementação. (Exigindo uma determinada sintaxe).
Os dois tipos mais usados de representação são o Fluxograma, e o Pseudocódigo, sendo o último o mais usado no ensino de Lógica de Programação.(O Pseudocódigo trata-se de um meio didático de se aprender a programar; não se consegue construir nenhum software via pseudocódigo.) É então através de uma linguagem de programação que implementamos nossos Algoritmos de forma que os computadores os entendam e os executem, para enfim realizarmos a tarefa ou solucionarmos o problema para o qual o Algoritmo foi criado.
Fluxograma:
Representado por formas, tornam o entendimento de determinado algoritmo mais simples, pois uma figura é mais clara que várias palavras.
É definido por uma série de símbolos, em conjunto com desenhos geométricos que representam os passos do algoritmo, tais como: ínicio, entrada e saída de dados, tomada de decisões, estruturas de repetição e final do algoritmo.
O círculo alongado é utilizado para dar início ou terminar um algoritmo (sob a representação de fluxograma).
O retângulo é utilizado para executar uma instrução. (sob a formaa representação de fluxograma)
O losango é utilizado para tomadas de decisão em um algoritmo.( sob a representação de fluxograma)
Pseudocódigo:
Diferente do fluxo grama, o pseudocódigo, também conhecido como portugol ou português estruturado, Utiliza PDL - Program Design Language (Linguagem de Projeto de Programação), Ou seja, é uma espécie de narração do que o programa deve fazer. Para isso, utilizaremos o pseudocódigo em um programa chamado VisuAlg, que abordaremos em nossa próxima lição.
O pseudocódigo é a base que todos devem ter para aprender uma linguagem de programação, pois é ele que "traduz" a linguagem falada (humana) para linguagem de programação (computacional). Ele nos dá uma noção de como seria representar nosso algoritmo por meio de código, como traduzir nosso pensamento para o modo como "pensa" o computador.
Lembrando que um pseucódigo trata-se de um meio didático de se aprender a programar ; não se consegue construir nenhum software via pseudocódigo. No caso é após o entendimento de como funciona as estruturas básicas de qualquer programa, começamos a estudar uma linguagem de programação na qual vai ser possível realmente criarmos um programa. Claro elas possuem suas peculiaridades,alguns nomes próprios de comandos, determinada sintaxe, mas todas sem exceção possuem as estruturas básicas aprendidas no Portugol (Pseudocódigo).













