1 SK - Lógica de Programação - Aulas 1 e 2 Qua 26 Set 2012, 20:12
SameKage
Membro - Postador
Aula 1
- Spoiler:
[center]Olá para todos, tudo bem? ^^
Vou começar a postar por aqui minhas aulas de Lógica de Programação, que vai influenciar muito no seu modo de pensar sobre linguagens de programação, inclusive os nossos amigos scripts, que para quem não sabe, também se trata de uma linguagem de programação (Ruby Game Scripting Language), que é derivada da linguagem Ruby.
Boa sorte a todos e bons estudos!
AULA 1 - Introdução
Conceitos básicos sobre a lógica
Nesta parte da primeira aula você começará a aprender sobre Lógica de Programação. Esta lógica está por trás de toda a tecnologia da informática, tanto em questão de Hardwares como Softwares
Podemos dizer que Lógica é o raciocínio correto que você deverá utilizar para chegar a um objetivo. Ou seja, ela também faz parte do seu cotidiano, como por exemplo, uma rua com carros passando sem parar, nesse caso a lógica seria você esperar fechar o sinal para poder atravessar. Isto é considerado lógica, mas é claro que alguns loucos ou apressados atravessaria a rua mesmo com os carros XD
Atualmente com o avanço da tecnologia, tudo é muito fácil e ao seu alcance, veja alguns exemplos:
O CONTROLE REMOTO - Você não precisa mais ir até sua TV para mudar de canal ou alterar o som.
BANCOS - Hoje em dia através dos caixas eletrônicos, você pode movimentar quase toda sua conta.
INTERNET - Através da internet, pode-se fazer pesquisas, ouvir músicas entre outra infinidade de coisas
Mas para que tudo isso funcione corretamente, pessoas comuns como eu e quem sabe futuramente você criam programas para computadores e equipamentos eletrônicos em geral, e nesse caso, o conhecimento da lógica de programação é fundamental.
Lógica
Como foi dito anteriormente, para que você consiga ser um bom programador, você precisará de bastante Lógica de Programação. O que então seria isso?
É simples, antes de você iniciar o estudo de qualquer linguagem de programação específica, é necessário que você domine a Lógica. Isso é algo indispensável para qualquer pessoa que deseje ser um bom programador, pois ter um bom raciocínio lógico é muito mais importante do que conhecer qualquer linguagem.
Com um bom raciocínio lógico, com certeza você encontrará maior facilidade em desenvolver programas utilizando qualquer linguagem. Claro que é aconselhável que você escolha uma linguagem que lhe agrada, mas como foi dito anteriormente, a Lógica é uma base indispensável.
Agora vamos direto para a ação !!
Podemos dizer que lógica de programação é uma sequência de passos que devem ser seguidos para que algo aconteça de maneira correta. É a técnica de pensar corretamente para resolver um problema de forma eficaz. A lógica ensina a colocar ordem no pensamento, fazendo uma correção do raciocínio.
Veja abaixo um exemplo lógico de como sair com um carro estacionado :
* Abrir a porta do carro * Entrar no carro
* Colocar o cinto de Segurança * Verificar os retrovisores
* Ligar o carro * Baixar o Freio de mão
* Engatar a primeira marcha * Sair com o Carro
Obviamente esta sequência poderia ser burlada. Você poderia ligar o carro para depois fazer o restante.
A sequência também poderia sofrer algum problema; você poderia tentar sair com o carro sem ter destravado o freio de mão, então você deveria fazer o seguinte : Se o freio de mão estiver destravado, saia com o carro, Senão, baixe o freio de mão primeiro antes de sair com o carro.
Para você conseguir êxito como programador, é aconselhável você fazer diversos exercícios de lógica, pois seu raciocínio lógico com certeza influenciará seus futuros programas.
Veja a seguir alguns exemplos de raciocínio lógico :
1º
O Batmóvel está na Batcaverna
O portão da Batcaverna está fechado
Portanto tenho que abrir o portão da Batcaverna para retirar o Batmóvel
2º
Derp completa 15 anos no dia 5 de fevereiro
Passados 2 anos
No dia 5 de fevereiro , Derp terá 17 anos
3º
Derpina é irmã de Derp
Ambos nasceram juntos
Derp e Derpina são gêmeos
Você pode perceber que nos exemplos acima, tudo é raciocínio lógico. Para se dar bem em programação, você deverá antes de tudo, desenvolver um caminho mais rápido e apropriado para cada parte de seu programa. Mas não se desespere, faça tudo passo a passo, sem pular nada, para que mais tarde, quando estiver desenvolvendo um programa, você não tenha que voltar nas aulas para retirar alguma dúvida.
Softwares
Quando você liga um computador, um programa é utilizado para reconhecer sua parte física, e assim iniciar seu funcionamento. Depois do computador inicializado, ele irá usar um programa que chamamos de Sistema Operacional.
Mas o computador não é apenas o sistema operacional, ele utiliza outros programas como : Aplicativos e Aplicativos Específicos
APLICATIVOS : Ao contrário do sistema operacional, os aplicativos são mais importantes para o usuário. São programas feitos por grandes empresas como a Microsoft e a Adobe, que facilitam a interação do usuário com a máquina.
Como exemplo, pode ser citado o Pacote Microsoft Office, pois nele estão disponíveis programas para digitar textos, criar planilhas, bancos de dados e etc.
APLICATIVOS ESPECÍFICOS - São programas criados mediante a solicitação de algum usuário. Por exemplo, um dono de uma loja de peças para motos pede para um programados criar um programa específico para ele. Esse programa controlaria o estoque de peças, fazer o controle de caixa...
Este programa específico será criado pelo programador utilizando alguma linguagem de programação. Essa linguagem é conhecida como linguagem de alto nível. Podemos citar como exemplo de linguagem de alto nível : Pascal, Visual Basic, Cobol e Delphi.
Pascal e Cobol são linguagens bem antigas e quase não são utilizadas mais. Existem também linguagens específicas para a Internet, como: Asp, HTML, XHTM, PHP, Java...
Mas para programas comerciais como o citado acima, as mais utilizadas são : Visual basic e Delphi, tendo um ambiente de trabalho pronto para o desenvolvimento de seu projeto.
Tipos de Programação
Desde o seu surgimento, as linguagens de programação vem evoluindo, e ficando cada vez mais fáceis de serem utilizadas pelos programadores. Estas linguagens são divididas em tipos :
PROGRAMAÇÃO LINEAR - Os programas são executados linha a linha, começando da primeira linha do código até a última. É considerado um modelo tradicional de programação. Exemplo: Cobol
PROGRAMAÇÃO ESTRUTURADA - O programa é dividido em módulos ou sub-rotinas e utiliza as estruturas básicas de controle. Exemplo : Pascal
PROGRAMAÇÃO VISUAL ORIENTADA A EVENTOS - O programa divide-se em retalhos que respondem a um evento externo iniciado pelo usuário sobre um objeto (por exemplo, clique com o botão direito do mouse). Exemplo: Visual Basic 6.0
PROGRAMAÇÃO VISUAL ORIENTADA A OBJETOS - Esta é uma nova metodologia de programação usada por versões mais novas do Visual Basic e Delphi. Tudo que foi falado para o método de programação orientada a eventos serve para este método, pois a programação orientada a eventos também faz parte da orientada a objetos. Esse método utiliza o conceito de classes e objetos. Nela, existe nas classes a codificação já pronta em um objeto que pode ser um botão ou um formulário, por exemplo
Tudo que o programador criar utilizando alguma destas linguagens, é chamado de Código fonte. Depois de pronto, o Código fonte deverá ser compilado. Isso consiste em transformar a linguagem de alto nível em linguagem de máquina para que o computador entenda.
Sequência lógica
Como foi visto anteriormente, a lógica de programação é uma técnica de raciocínio lógico para chegar a um determinado objetivo. Mas claro que dependendo do objetivo, você terá outras saídas, resultando em instruções diferentes
Instruções são conjuntos de regras ou normas pré-estabelecidas para realizar determinada tarefa.
Quando você compra um computador, antes de você instalar o sistema operacional, ele já possui instruções para que você consiga ligá-lo e assim instalar o sistema operacional
Agora... vamos supor que você queira fritar um ovo. No mesmo momento que você ouve a expressão fritar um ovo, você já sabe as instruções necessárias para isso.
Isso acontece porque você já conhece as instruções que fazem parte desta expressão. Isso também acontece com o computador, quando você clica em um ícone do Paint, por exemplo.
Por trás daquele ícone, existe o caminho da pasta onde está instalado o programa Paint. Depois deverá achar o arquivo que execute o programa. Dentro deste arquivo, existem diversas instruções para que o programa seja aberto e assim você possa utilizá-lo
Essas instruções foram feitas por programadores, para que você apenas clique em um simples ícone
Utilizando o exemplo do ovo, quando você frita um ovo você deverá seguir as seguintes instruções:
* Acender uma das chamas do fogão
* Colocar a frigideira com o óleo nesta chama para esquentar
* Quebrar a casca do ovo
* Colocar dentro da frigideira a clara com a gema
* Ir jogando óleo sobre o ovo até que fique a seu gosto
Parece ser muito simples, mas as instruções já estão em uma sequência lógica. Já pensou se você não segue corretamente essa sequencia pulando o terceiro passo e não quebrando a casca do ovo?
Você irá para o passo quatro sem quebrar o ovo, jogando ele na frigideira com casca e tudo. Através deste simplório exemplo, você poderá usar comandos de decisão : SE/ENTÃO/SENÃO
OBS: os pontos são espaços vazios, coloquei os mesmos para mostrar a quantidade de espaços que usei. Futuramente entenderá melhor o motivo
SE a gema estiver dura
.........faça
.............Coloque o ovo frito no prato para comer
SENÃO
.............Continue jogando óleo sobre ele até ficar a seu gosto
.........volte
Estes são comandos de decisão, onde você deve decidir quando parar de jogar óleo no ovo. Futuramente entenderá melhor sobre isso
Observe que você tem várias saídas para realizar uma tarefa, mas você deve usar a lógica para ver a saída mais rápida e correta.
EXERCÍCIOS
Tópico oficial e exercícios no meu fórum: Tópico Oficial
Recomendo que visitem o fórum para fazerem as atividades, pois elas são indispensáveis para que você se torne um bom programador
Por favor, aguardem a próxima aula, pois é lá que a coisa começa a esquentar.
Em breve... Aula 2- Descrição Narrativa, Fluxogramas e Pseudocódigo
Aula 2
- Spoiler:
- SK - Lógica de Programação - Aula 1
Aula 2 - Representação Lógica
Descrição Narrativa
Agora que você já tem alguma ideia de como funciona o raciocínio lógico, você será instruído ao uso de algoritmos
O algoritmo é uma sequência de instruções organizadas de forma lógica, para que se chegue a um objetivo. Lembra das instruções para sair da caverna com o Batmóvel? Aquilo era um algoritmo
Você provavelmente percebeu que o algoritmo da caverna foi escrito em uma linguagem natural que usamos para nos comunicar. Isso é possível devido ao fato de que um algoritmo pode ser representado de três formas principais :
º DESCRIÇÃO NARRATIVA - É uma forma de linguagem natural para se representar algoritmos
º FLUXOGRAMA - É uma forma de representar o algoritmo através de símbolos geométricos
º PSEUDOCÓDIGO - É uma forma de representação de algoritmos considerada como uma pseudolinguagem
Voltando ao assunto...
O problema no uso da Descrição Narrativa, é a sua exatidão. Como não é uma forma de representação muito exata, cada pessoa pode interpretar de forma diferente caso não esteja bem escrito. Lembra do exemplo do Derp e da Derpina onde eles eram gêmeos? E se Derpina fosse filha de outra mãe? O algoritmo no caso diz que são gêmeos, ou seja está especificado corretamente, caso não dissesse isso, poderiam não ser irmãos gêmeos.
Veja abaixo mais um exemplo de Descrição Narrativa :
Cálculo de Salário :
Leia o valor bruto de salário do funcionário
Leia os descontos sobre o salário bruto do funcionário
Subtraia salário bruto do desconto
Escreva o resultado como salário líquido
Neste exemplo você viu um algoritmo com um cálculo presente no seu dia a dia. Veja que está escrito de maneira simples e objetiva
Fluxograma
O fluxograma ou diagrama de blocos é uma forma de representação que utiliza símbolos geométricos. Com ele, você poderá definir uma sequência de símbolos e assim facilitar a visualização das intruções de um algoritmo. Pode-se dizer que o fluxograma está entre a descrição narrativa e o pseudocódigo.
Tudo que é feito com a descrição narrativa pode ser passado para um fluxograma, facilitando muito o entendimento do algoritmo. Dentro da informática existe uma enorme quantidade de símbolos e cada programador pode usar diferentes simbologias.
Veja abaixo os símbolos mais usados para a construção de fluxogramas:
Para que seu fluxograma fique de fácil entendimento, você deve utilizar os símbolos de forma correta. Você nunca deverá, por exemplo, usar um símbolo de processamento para iniciar um fluxograma, pois este símbolo é para cálculos
Os fluxogramas são ótimos para iniciantes pois são de fácil entendimento. É o mesmo que um guitarrista que usa uma tablatura ao invés de uma partitura para tocar. A partitura dará ao músico informações completas sobre a música, através da tablatura, o músico deverá conhecer a música previamente para poder tocá-la
Então para você criar uma rotina de cálculo, por exemplo, você deverá primeiramente utilizar a descrição narrativa colocando os passos dessa rotina. Depois você irá passar tudo que foi descrito para um fluxograma. Veja abaixo um algoritmo que irá dividir dois números em forma de descrição narrativa e depois como fluxograma :
DESCRIÇÃO NARRATIVA
º Leia o primeiro número
º Leia o segundo número
º Divida o primeiro número pelo segundo
º Escreva o resultado da divisão
FLUXOGRAMA
Veja que através do fluxograma é mais fácil entender o algoritmo
Veja agora uma breve explicação do fluxograma apresentado para refrescar sua memória :
Início - Inicio do Fluxograma
Leia n1 -Indica a leitura do primeiro número que foi obtido através do teclado
Leia n2 -Indica a leitura do segundo número que foi obtido através do teclado
Resultado = n1/n2 - Aqui é feito o processo de cálculo entre os números n1 e n2. O valor do cálculo é colocado na variável Rsultado
Escreva "Resultado =" Resultado - Aqui é mostrado o resultado do cálculo. Veja que a palavra Resultado está entre aspas duplas, irá aparecer no vídeo, a outra mostrará o valor do cálculo
Fim - Final do Fluxograma
Pseudocódigo
O pseudocódigo, também conhecido como Português estruturado ou Portugol, trata-se de uma forma de representação mais detalhada do que as anteriores.
Observação : O pseudocódigo não é realmente uma linguagem de programação. É um tipo de linguagem mais simples que poderá futuramente ser traduzida para por exemplo, Visual Basic ou Delphi
A grande vantegem de se utilizar o pseudocódigo, é que você poderá trabalhar com ele independente de qualquer linguagem de programação. Caso utilize esta forma de representação em seus algoritmos, ficará muito mais simples passá-lo para uma linguagem de programação
Para você criar um algoritmo através de um pseudocódigo, é aconselhável que se siga uma estrutura. Criando uma estrutura bem definida, futuramente você poderá passar esse algoritmo para uma linguagem de programação
ESTRUTURA
Algoritmo <nome_do_algoritmo>
<declaração de variáveis>
<declaração de constantes>
Início
<corpo_do-algoritmo>
Fim.
Pseudocódigo
Algoritmo Divisão entre dois números
Variáveis
n1, n2, Resultado : Real
Início
Leia n1,n2
Resultado = n1 / n2
[b]Escreva "Resultado =" Resultado
[b]Fim
Explicação sobre o pseudocódigo e a estrutura apresentados acima :
º Algoritmo - Indica o início de um algoritmo em forma de pseudocódigo
º Nome do algoritmo - Aqui é indicado um nome para o algoritmo ; esse nome irá diferenciá-lo de outros algoritmos
º Declaração de variáveis e constantes - Aqui você irá indicar as variáveis e constantes que serão utilizadas no algoritmo
º Início - Indica o início do corpo do algoritmo
º Corpo do algoritmo - Aqui você irá fazer o precessamento e cálculos
º Fim - Indica o final do algoritmo
E é isso aí, nesta aula vocês aprenderam sobre as Formas de Representação de Algoritmos
Na próxima aula vocês aprenderão:
º Regras Principais
º Instruções Primitivas
º Teste de Mesa
Não perca a 3ª aula !!
Siga o link para ver o tópico original com conteúdo extra ótimos exercícos para você > SK - Lógica de Programação - Aula 2 [original]
Até a próxima pessoal!!