Aula 1 - Algorítimo

Nostradamus
em Tutoriais de Programação

Nostradamus

Serviços Prestados ao XTibia.com
avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 10/06/06Posts: 338Char no Tibia: Setyte Berseker

Para o primeiro algoritmo, é desejável que o iniciante tenha lido o tópico deste fórum explicando como funciona um algoritmo e só então voltar aqui e fazer junto com a gente esse algoritmo.

Descrição: Precisamos orientar um robô para trocar verificar a lâmpada da sala e se tiver queimada, a lâmpada deve ser trocada.

Solução:

- Início

- Vá até a sala

- Se a luz estiver desligada

* Então:

| - Vá até a chave

| - Ligue a luz

| - Se a luz não ascender

| * Então:

| | - Desligue a chave

| | - Vá até a garagem

| | - Pegue a escada

| | - Volte para a sala

| | - Abra a escada

| | - Coloque a escada abaixo da lâmpada

| | - Suba a escada

| | - Retire a lâmpada

| | - Desça a escada

| | - Leve a lâmpada até o lixo

| | - Coloque a lâmpada no lixo

| | - Volte para a sala

| | - Vá até o armário

| | - Abra o armário

| | - Pegue uma lâmpada nova

| | - Feche o armário

| | - Vá até a escada

| | - Suba a escada

| | - Coloque a lâmpada nova

| | - Desça a escada

| | - Vá até a chave

| | - Ligue a luz

| | - Se a luz ligou

| | * Então:

| | | - Está tudo ok

| | * Senão:

| | | - Procure o responsável

| | | - Avise sobre o ocorrido

| | - Vá até a escada

| | - Feche a escada

| | - Leve a escada até a garagem

| | - Guarde a escada

| | - Volte para a sala

| * Senão:

| | - Está tudo ok

| - Vá até a chave

| - Desligue a luz

* Senão:

| - Está tudo ok

- Volte para o seu lugar

- Fim

Explicação do algoritmo:

Vamos analisar agora o código.

- Perceba primeiro que ele está como descrito no tópico falando o que são algoritmos, é uma sequência de comandos lidos de cima para baixo que devem ser obedecidos rigorosamente.

- O algoritmo tem um Início e um Fim porque é uma lista de comandos FINITA

- Veja que os comandos são bem detalhados, para ter certeza de que o robô vai fazer exatamente o que pedimos para ele fazer.

- Algumas palavras estão em negrito porque são palavras-chave que marcam pontos estratégicos no nosso algoritmo para que o robô siga as instruções de acordo com o que estiver acontecendo, nesse algoritmo estamos usando uma estrutura de decisão com duas possíveis ocorrências (Se acontecer isso, faz aquilo, senão faz esse outro)

- Por fim, veja que alguns comandos estão mais distantes dos outros (mais para a direita). Estes comandos estão dentro do bloco de ações que a decisão teve que tomar e só serão executados caso aconteça o que foi testado no SE, ou seja, se for verdadeiro. Para quem usa o Windows Explorer ou qualquer programa que demonstre uma árvore de diretórios parecido com o WE, já deve estar acostumado com uma estrutura parecida onde os diretórios mais a direita estão dentro dos outros diretórios.

Exercício

Escolha um dos exercícios abaixo(caso não saiba como fazer um ou outro) ou faça os dois(recomendado):

- Faça um algoritmo que oriente um robô a fazer arroz tradicional.

- Faça um algoritmo que oriente um robô a trocar o pneu de um carro.

Boa prática.

 

________________________________________

 

 

Informação adicional

Essas condições podem variar de linguagem para linguagem, veja aqui alguns exemplos:

PHP

Se = if

Então = {

Senão = else

Final da condição = }

Sintaxe: <? if ($variavel == "Alguma coisa") {

$outravariavel = "Alguma coisa diferente";

}

else {

$outravariavel = "Alguma coisa diferente ainda";

}

?>

 

________________________________________

 

 

Visual Basic

Se = if

Então = then

Senão = else

Final da condição = end if

Sintaxe:

if text1.text = "Alguma coisa" then

text2.text = "Alguma coisa diferente"

else

text2.text = "Alguma coisa diferente ainda"

end if

 

________________________________________

 

 

C/C++

Se = if

Então = {

Senão = else

Final de condição = }

Sintaxe: if ( text == "Alguma coisa" )

{

answer = "Alguma coisa diferente";

}

else

{

answer = "Alguma coisa diferente ainda";

}

 

________________________________________

 

 

LUA

Se = if

Então = then

Senão = else

Final de condição = end

Sintaxe:

if text == "Alguma coisa" then

answer = "Alguma coisa diferente"

else

answer = "Alguma coisa diferente ainda"

end

Bom, essas são as linguagens de que tenho conheçimento.

Compare e veja a semelhança entre elas.

[twitter]ThomazYuji[/twitter]

Yosef002

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 21/10/05Posts: 48Char no Tibia: Angel Yosef

Aew mt bom, gostei mt:

Ou vc podia complementar botando assim:

que em arquivos do computador, como ot essas funções compoem a maioria dos scripts, sendo:

else=senão

if=se

then=então

end=fim

isso ajuda quem esta mexendo com scripts de o que quer que seja ( de itunes até otserv)

Atenciosamente,

Yuminir

www.RADBR.com

Servidor dedicado de 100MBPS

Mapa própio.

Jogabilidade.

Vocações balanceadas.

Rate 50x totalmente apropriada para o server.

Historias:

http://www.xtibia.com/forum/Parvndia-Histo...930#entry599930 <- Parvândia

http://www.xtibia.com/forum/index.php?showtopic=57539 <- As orbs

Sign2.gif

barfan.gif

familialostsignzz3.jpg

Nostradamus

Serviços Prestados ao XTibia.com
avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 10/06/06Posts: 338Char no Tibia: Setyte Berseker

Bom o tópico é Programação Non-Open Tibia.

Mas atualizei o post.

[twitter]ThomazYuji[/twitter]

Lucas Rap

Lucas Moreno
avatar
Cavaleiro
Cavaleiro

INFOS

Grupo: CavaleiroRegistrado: 19/11/05Posts: 168

nuss ótimo tutorial mas ond vo pegare sse talrobô e como vo mandar ele fazer essas coisa?????

ESTOU DESATIVADO!
NÃO ME MANDEM MENSAGENS, POR FAVOR.
NÃO ENTENDO MAIS DESSE NOVO TIBIA 9.ALGUMA COISA...


ÚNICO CONTATO: lucasrap8@gmail.com

xurumelous

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 25/05/06Posts: 13

@Lucas Rap

Isso foi uma ________ (esqueci o raio da palavra =/).... ele colocou o robô como se fosse o programa.

//XurumelouS



 

user posted image

Caidera

avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 10/07/05Posts: 479

É impressionante como as linguagens se parecem... Alguns termos diferentes mas é sempre a mesma base, if/else/elseif/then...

Em mrcS(mIRC Scripting) é a mesma coisa :p, com apenas algumas mudanças...

Parabéns Nostradamus

Excelente sua explicação ;)

Ciao

Atenciosamente,

Rodrigo

---

Muda-se o ano muda-se a frase... Frase do ano de 2014: "Success consists of going from failure to failure without loss of enthusiasm." - Churchill, W.

Nostradamus

Serviços Prestados ao XTibia.com
avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 10/06/06Posts: 338Char no Tibia: Setyte Berseker

@Caidera

Você poderia nos mostrar como é em mirc scripting para mim editar o post.

[twitter]ThomazYuji[/twitter]

kamimura

Old School :D
avatar
Barão
Barão

INFOS

Grupo: BarãoRegistrado: 19/04/06Posts: 201

Olá,

agora eu estou entendendo melhor essas coisas,

acho que Lógica de Programação é muito importante,

ela é a "base" de todas as linguagens...

É impressionante como as linguagens se parecem... Alguns termos diferentes mas é sempre a mesma base, if/else/elseif/then...

Concordo plenamente ;):

Abraços,

kamimura


"Sem música, a vida seria um erro." (Friedrich Nietzsche)
___________________________________________________
©1993 - 2009 kamimura™ - Todos os direitos reservados

Dendriel Rozsantares

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 14/01/07Posts: 90

Vou fazer os exercicios e seguir nas praticas para ver ate onde eu chego.

Entendi tudo o que você escreveu, não tem muito misterio mesmo.

:p

 

<noobzin da turma>

 

---------Editado-------

Fiz o exercicio do arroz, achei que ficaria grande mas ao final nao pareceu tanto.

:)

Proxima aula.

Raphael Lion

avatar
Cavaleiro
Cavaleiro

INFOS

Grupo: CavaleiroRegistrado: 07/02/07Posts: 162

Nossa, espetacular. Estou lendo tudo sobre lógica, acho que foi isso que me atrapalhou no início.

 

OBS : Não sei trocar Pneu de carro.

 

 

- Início

- Vá até o porta-malas

- Abra o porta-malas

- Tire o carpete que cobre o stepe

- Tire o stepe

- Se estiver preso

| - Utilize as ferramentas que estão no banco traseiro

- Tire o pneu com problemas

- Coloque o stepe

- Se o stepe estiver furado.

| - Ligue para o "José"

- Se estiver tudo bem

| - Guarde as ferramentas

| - Guarde o pneu com problema

- Fim

 

 

//Raphael Lion




Dark Lost

avatar
Barão
Barão

INFOS

Grupo: BarãoRegistrado: 28/05/07Posts: 217Char no Tibia: Breiak

Ahuahua Fera De Mais

To Tbm Lendo Logica de Progamaçao

O Nao Sei Troca um PNEu Direito Tbm Nao =P

 

 

Solução:

- Início

- Saia do carro

- Se o carro estiver ligado

* Então:

| - Vá até o carro

| - Rode a chave

| - e tire

| * Então:

| | - Saia do Carro

| | - Vá ao portamala

| | - Pegue o estep

| | - Volte ao Carro

| | - Pegue as ferramentas

| | - Coloque o estep no lado do pneu que ia trocar

| | - Pegue a Ferramenta

| | - Ponha nos Parafusos do Pneu

| | - Rode-a

| | - Rode-a

| | - Rode-a

| | - Tire a ferramenta

| | - Va ao Porta mala

| | - Pegue o Macaco

| | - Leve ele ao Pneu

| | - Feche o Porta mala

| | - Coleque o debaixo do Carro

| | - Faça Presao Ate Voce Poder Trocar o Pneu

| | - Tire o Pneu

| | - Pegue o estep

| | - Tire o Pneu Furado

| | - Ponha no Porta mala

| | - Aperte os Parafusos

| | * Então:

| | | - Está tudo ok

| | * Senão:

| | | - Procure o Mecanico

| | | - Avise Sobre o ocorido

| | - Pegue as Feramentas Coloque no Carro

| | - Pegue as Chaves

| | - Abra a Porta,Entre

| | - Fecha a Porta

| | - Ligue o Carro

| * Senão:

| | - Esta Tudo ok

- Volte para o carro

- Fim

 

 

Ve se Ta Bom




Para os pássaros Deus deu duas asas, para o homem duas rodas
Quatro rodas transportam um corpo, duas rodas libertam um espírito.

ppL | BrK Macaco =)
Recruted ppL Clan Server in Counter-Strike Brasil

darksoul0

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 25/03/06Posts: 28

Queria mt aprender um pouco di programaçao pois soh um grande zero a eskerda xD sei um basico pq mecho com ot mais pra fazer msm nao consigo,no max um editada....

Oke seria o | ou || ?

o resto eu intendi soh nun itendi issu ai xD


:::=Sou Fã De=:::





victor bacchi

avatar
Barão
Barão

INFOS

Grupo: BarãoRegistrado: 11/09/06Posts: 202

Como estou querendo aprender sobre programação...

FIz o exercicio do arroz....

FIcou assim:

 

- Inicio

- Pegue um fósforo

- Ligue o Gaz

- Risque o fósforo para acendelo

- SE o fosforo não acender pegue outro

- Então acenda o fogo

- Vá até o armario

- Pegue a panela

- Vá até o fogao

- Ponha a panela no fogao

- Vá até o armario

- Pegue o Oleo

- Vá até o fogao

- Ponha o oleo na panela

- Va até a geladeira

- Pegue a cebola

- Vá até a pia

- Ponha a cebola na pia

- Abra a gaveta no armario

- Pegue uma faca

- Corte a cebola com a faca

- Depois de cortar a cebola ponha a faca na pia

- Pegue a cebola picada

- Va até o fogao

- Jogue a cebola picada na panela

- Volte no armario

- Pegue o arroz

- Abra o saco de arroz com a faca que você pois na pia

- Deixe o arroz aberto encima da pia

- Vá até o armario

- Pegue um copo

- Ponha o copo encima da pia

- Pegue o saco de arroz aberto

- Encha o copo de arroz

- Ponha o saco de arroz no armario

- Pegue o copo de arroz

- Coloque todo o arroz do copo na panela

- Pegue este copo

- Vá até a pia

- Abra a torneira

- Encha ele de agua na torneira

- Feche a torneira

- Despeje a agua do copo na panela de arroz

- Encha de novo o copo de agua

- Dispejeo na Panela

- Ponha o copo na pia

- Vá ao armario

- Pegue a tampa da panela

- Volte ao fogao

- Tampe a panela com a tampa

- Espere 20 minutos

- Até secar a agua

- Desligue o fogo

- FIM

 

Acho que é assim...

 

Ja entendi a logica.. agora quero saber como ponho isso na pratica..

 

Até mais Nostra

Conheça o Marujos Marotos!

marujo.jpg

Briggzin

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 29/07/07Posts: 21Char no Tibia: Eduard'Elric

Acho que o programa varia dependendo do tipo de carro ou do gosto do usuario pelo arroz.

Begin

Va até a cozinha.

If não tem arroz pronto

then ligue o gas do fogão

acionar o primeiro bico

acender o primeiro bico

If primeiro bico não acender

then desligar o primeiro bico

acionar o segundo bico

acender o segundo bico

If segundo bico não acender

then desligar o segundo bico

acionar o terceiro bico

acender o terceiro bico

If terceiro bico não acender

then desligar o terceiro bico

acionar o quarto bico

acender o quarto bico

If quarto bico não acender

then desligar o quarto bico

finalizar o processo e entrar em contato

end if

end if

end if

end if

va até o armario

pegue uma chaleira

coloque 500ml de agua na chaleira

ponha a chaleira no fogo

acione o segundo bico

acenda o segundo bico

If segundo bico não acender

then desligar o segundo bico

acionar o terceiro bico

acender o terceiro bico

If terceiro bico não acender

then desligar o terceiro bico

acionar o quarto bico

acender o quarto bico

If quarto bico não acender

then desligar o quarto bico

finalizar o processo e entrar em contato

end if

end if

end if

va até o armario

pegue uma panela e ponha no fogo

va até o armario

pegue uma colher

pegue uma chicara

pegue um pote de oleo

coloque 3 colheres de oleo na panela

pegue o pote de arroz

If não tem arroz cru

then va até a dispensa

pegue um saco de arroz

ponha arroz no pote

ponha o saco vazio no lixo

end if

coloque o 3 chicaras de arroz na panela

va até o saleiro

pegue 1 pitada de sal e ponha no arroz

com a colher mexa o arroz na panela

desligue o fogo da chaleira

pegue a chaleira

despeje a agua da chaleira sobre o arroz

aguarde até a agua evaporar

desligue o fogo

desligue o gas

leve a panela até a mesa

end if

End

 

OBS: desculpe os possiveis erros mas ta tarde e eu queria mostrar aqui como um algoritimo memso sendo para uma tarefa simples deve ter uma grande complexidade tudo para evitar que hajam erros. Pois afinal estamos mexendo com fogão então ja imaginou se você chega em casa achando que o arroz esta pronto quando na verdade sua casa pegou fogo o.O

Tyrur

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 10/06/08Posts: 48Char no Tibia: GOD Tyrur

Muito bom o Post!

eu acho que o logaritimo é fundamental em qualquer linguagem de programação.

O cara que sabe fazer Algorítimo, aprende qualquer linguagem de sistema como facilidade.

resumindo: Vai ajudar muitas pessoas iniciando com a programação C++ aqui no xtbia.

 

Sem mais

Olá XTibiano:

Sua assinatura estava com um problema na TAG SPOILER e foi movida para a parte "Sobre mim".
Agradecemos a sua compreensão.

Atenciosamente,
JV Chequer