VO

Lógica De Programação - Algoritmos

Por Vodkart, 04 de mai. de 2012 em Tutoriais de Programação

script
8
2.3k
VodkartV
04 de maio de 2012 às 18:59

~~> O que é uma lógica de programação?

 

Somente após aprender lógica de programação, você estará apto a estudar e aprender as linguagens de programação, seja ela qual for.

Então por isso temos aprender a desenvolver algoritmos.

 

 

~~> O que é um Algoritmo?

 

Um algoritmo é uma sequência finita de instruções bem definidas e não ambíguas, um algoritmo é o caminho para a solução de um problema, e em geral, os caminhos que levam a uma solução são muitos.

 

~~> E como devemos aprender algoritmos?

 

 

Esse aprendizado de algoritmos não se consegue a não ser através de muitos exercícios.

 

Lembre-se que você não irá aprender se apenas: copiar algoritmos, estudar algoritmos, Você só vai aprender algoritmos só se: construir um algoritmo, testar alguns algoritmos.

 

~~> Exemplos de Algoritmos

 

 

Ir ao Shopping

 

 

1 - tomar banho

2 - ir se arrumar

3 - andar OU dirigir até o shopping

4 - olhar algumas vitrines

5 - ENQUANTO estiver no shopping paquerer algumas gatinhas

6 - SE tiver vontade de ir ao cinema ENTÃO

7 - pagar ingresso

8 - entrar no cinema

9 - assistir o filme

10 - SENÃO

11 - voltar para casa

 

 

Fritar um Ovo

 

 

1 - colocar a frigideira no fogo.

2 - SE não tiver óleo ENTÃO

3 - colocar óleo na frigideira

4 - SE já tiver oléo ENTÃO

5 - retirar o ovo da geladeira

6 - ENQUANTO oléo estiver frio, esperar o oléo ficar quente

8 - QUEBRAR o ovo separando a casca

9 - colocar o conteúdo do ovo na frigideira

10 - esperar o ovo ficar frito

11 - retirar o ovo da frigideira

12 - apagar o fogo

 

 

Para que uma pessoa possa seguir esse algoritmo, é necessário que ela saiba o significado das palavras como "colocar", "retirar", "quebrar"...

E que nenhuma instrução possua mais de um significado (não ambiguidade)

um algoritmo nada mais é do que uma receita que mostra passo a passo os procedimentos necessários para a resolução de uma tarefa, ele não responde a pergunta “o que fazer?”, mas sim “como fazer”.

 

Agora vamos analisar o script:

- Para começar, você pode ver que as ordens são dadas em sequência de cima para baixo (como fazemos a leitura).

- A pessoa tem que fazer exatamente o que está descrito ao longo do script

- Em vermelho, vemos que em certos momentos a pessoa deve tomar algumas decisões de acordo como anda a situação descrita

 

Bom vamos estudar um script agora, irei deixar em spoiler alguns identificadores léxicos

 

 

 

identificadores léxicos:

 

if -- se

then -- então

else -- senão

elseif -- senãose

end -- fim

return -- retornar

false -- falso

true -- verdadeiro

nil -- nulo

not -- não

and -- e

or -- ou

function -- função

local -- local

for -- para

in -- em

do -- fazer

break -- quebrar

repeat -- repetir

until -- até

while -- enquanto

 

 

alguns itens léxicos:

 

"==" igual que

"~=" diferente de

"<" menor que

">" maior que

"<=" igual ou menor que

">=" maior ou igual que

 

 

1 - function onSay(cid, words, param)
2 - doPlayerAddItem(cid,2173,1)
3 - if doPlayerRemoveMoney(cid, 1000) then
4 - doSendPlayerTextMessage(cid,"Você comprou um aol!",23)
5 - else
6 - doPlayerSendCancel(cid,"Você não tem dinheiro.")
7 - end
8 - return TRUE
9 - end

 

Podemos perceber que temos um erro de algoritmo neste script, na linha 2 percebemos que:

 

Ele adiciona o item ao jogador sem ter checado que iria remover ou não o dinheiro, enquanto o correto seria:

 

1 - function onSay(cid, words, param)
2 - if doPlayerRemoveMoney(cid, 1000) then
3 - doPlayerAddItem(cid,2173,1)
4 - doSendPlayerTextMessage(cid,"Você comprou um aol!",23)
5 - else
6 - doPlayerSendCancel(cid,"Você não tem dinheiro.")
7 - end
8 - return TRUE
9 - end

 

Pois agora na linha 2 ele irá checar se o jogador tem o dinheiro então só assim será executado um bloco de comandos pré definidos.

 

 

 

~~> Exercícios:

 

 

 

1° - Faça um algoritmo para ir para escola

 

2° - Faça um algoritmo para tomar banho

ZmovirZ
04 de maio de 2012 às 19:04

Escola:

 

1ºlevantar-se

2º arrumar a roupa

3ºalmoçar

4º escovar os dentes

5º SE estiver atrasado ENTÃO

6ºir correndo

7ºSE ainda as salas estiverem fechadas ENTÃO

8ºsentar e conversar com os amigos

9ºSE abrirem as salas ENTÃO

10ºentrar e bagunçar

 

Banho:

 

1ºArrumar a roupa

2ºEntrar no chuveiro

3º SE ele estiver desligado ENTÃO

4º ligar

5ºse lavar bem

6º se enxaguar

7º desligar o chuveiro

8º se secar

9º se vestir

fredpaduaF
04 de maio de 2012 às 19:14

Zmoir , oque você fez foi uma descrição narrativa..

Algoritmo usa se, senao , maior que .. por ai vai .

PsyMcKenzieP
04 de maio de 2012 às 22:29

Muito bom Vodkart, irá ajudar muito.

Obrigado pelo conteúdo.

Abraços!!

ZmovirZ
04 de maio de 2012 às 23:32

@FaltouCriatividade

 

Não e obrigado usar else quando ussase se so usa se quer

alldakieA
05 de maio de 2012 às 05:36

Tutorial Aprovado, movido para seção de "Tutoriais de Programação".

05 de maio de 2012 às 07:59

Não precisei saber algoritmos para aprender lua, fui aprendendo com os meus erros.

 

Contudo, acredito que seja mais fácil aprender através dessa forma.

fredpaduaF
05 de maio de 2012 às 18:25

@Zmovir

 

Não disse que é obrigado, mas assim vira uma descrição narrativa.

Algoritmo é já na forma para ser inserido como scrpit.