Ir para conteúdo

Aula 1 - Algorítimo


Nostradamus

Posts Recomendados

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.

Link para o comentário
Compartilhar em outros sites

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)

Link para o comentário
Compartilhar em outros sites

É 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

Link para o comentário
Compartilhar em outros sites

  • 2 months later...

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

Link para o comentário
Compartilhar em outros sites

  • 3 months later...

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.

Editado por Dendriel Rozsantares
Link para o comentário
Compartilhar em outros sites

  • 1 month later...

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

Editado por Raphael Lion
Link para o comentário
Compartilhar em outros sites

  • 3 months later...

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

Editado por Dark Lost
Link para o comentário
Compartilhar em outros sites

  • 1 month later...

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

Link para o comentário
Compartilhar em outros sites

  • 1 month later...

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

Link para o comentário
Compartilhar em outros sites

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

Link para o comentário
Compartilhar em outros sites

  • 1 year later...

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

Link para o comentário
Compartilhar em outros sites

  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...