My life in English

Aiming to be a Canadian citizen.

Vamos aprender a programar em C/C++? Lição 02: Algorítmos e o casal de cururu

Posted by fabianovasconcelos on 19 de March de 2009

Salve, galerinha do país que tem a banda larga mais cara do mundo!

Aos menos atentos, notem que alguns termos são um link para páginas externas. Clique neles, se necessitar de alguma informação complementar a respeito.

Digitou alguma asneira no Google e veio dar acabou chegando aqui? Pois você veio parar num curso on line de C/C++! Clica aqui pra ver o índice!

Continuando a nossa epopeia rumo ao mundo muito trilouco da programação em C e C++, a gente vai abordar, finalmente, os tão falados algorítmos!

Muita gente que entra aqui no blog, já sabe o que é algoritmo. Alguns só ouviram falar, mas não sabem o que é. Outros, talvez uma minoria, nunca tenha ouvido falar em algoritmo. Seja qual for o seu nível de conhecimento sobre o assunto, não deixe de participar, seja com sugestões, críticas, elogios, mandando a irmãzinha gatinha ou qualquer outra coisa que poderia vir a me interessar e interessar a comunidade.

Chega de cunversêro. Vamos pôr a mão na massa.

A gente vai começar com um exemplo de algorítmo.

Imagine que você tem uma tarefa muito importante a cumprir: você percebe que a ração preferida do seu casal de cururu de estimação acabou, então, você terám que sair pra comprar mais ração, certo?

Um casal de cururu, flagrado pelos paparazzi, em seu momento de intimidade. O paparazzi se deu mal, porque depois da foto ele levou uma mijada nos olhos e cegou imediatamente.

Um casal de cururu, flagrado pelos paparazzi, em seu momento de intimidade. O paparazzi se lascou, porque depois da foto ele levou uma mijada nos olhos e cegou imediatamente.

Para que você realize essa tarefa, você vai ter que ordenar os passos necessários para o sucesso dessa nobre missão, mesmo que isso seja feito mentalmente. Vamos escrever um algorítmo para essa tarefa, passo-a-passo?

1. Entre no Corcel 79 a gasolina;
2. Dá a partida;
3. Dirige até a Cururu’s Pet Shop;
4. Saí do carro;
5. Entra na loja;
6. Pega o pacote de ração;
7. Paga no caixa;
8. Entra no carro;
9. Volta pra casa dirigindo.

Pronto.

Esperava mais o quê sobre algorítmo? Que fosse algo apocalíptico? Um ritual macabro? Uma festa de bodas de diamante? Nada disso. Algorítmo é só um conjunto de passos a serem seguidos para se realizar determinada tarefa.
Mas na real, não é tão mole assim. Prepare os coro. O algorítmo, nem sempre tem todos os passos que a gente precisa pra que a tarefa seja realizada com sucesso. Muitas vezes, os algorítmos precisam ser “refinados” para que atinjam o seu propósito. Por exemplo, no caso anterior, onde o algorítmo tem 8 passos, alguns passos que poderiam ser considerados essenciais podem ter sido esquecidos. Como o você pagou o pacote de ração? O que você fez quando entrou no carro? Você realmente alimentou os anfíbios quando chegou em casa? Para certificar-se que tudo correrá bem, vamos refinar o algorítmo anterior, acrescentando-lhe mais informação e permitindo assim que a tarefa seja cumprida:

1. Entre no Corcel 79 a gasolina;
2. Se abaixa para fazer a ligação direta entre os fios do motor de arranque, dando a partida;
3. Dirige até a Cururu’s Pet Shop;
4. Desliga o carro;
5. Saí do carro;
6. Entra na loja;
7. Pega o pacote de ração;
8. Tira o cartão de crédito da carteira;
9. Paga no caixa;
10. Pede pra embrulhar;
11. Saí da loja;
12. Entra no carro;
13. Se abaixa para fazer a ligação direta entre os fios do motor de arranque, dando a partida;
14. Volta pra casa dirigindo;
15. Em, casa, coloca a ração no recipiente pros pimpolhos comerem.

Observe que além dos 8 passos que já existiam no algorítimo anterior, foram inseridos mais 7 , perfazendo (vejam que palavra bonita que me veio a mente agora) um total de 15 passos.
Na realidade, podem ser inseridos (ou excluídos) quantos passos forem nessessários para que a missão seja completada com êxito. Te pareceu passos idiotas? Imbecis? Coisa de retardado mental, que precisa que se diga tim-tim por tim-tim o que se deve fazer? Pois essa é a idéia!
Na realidade estamos trabalhando exatamente com o dispositivo mais burro que existe: o computador. Ele só faz o que a gente manda que ele faça. E é a idéia de algorítimo (ou rotina) que deve ser casada com a ideia do computador que estudamos no post anterior.
Sendo bem claro: um programa de computador, nada mais é que um conjunto de instruções internas que dizem como ele deve se comportar. Um tocador de audio, por exemplo, tem algorítimos para tocar um arquivo de audio, parar o audio, abrir o arquivo de audio, dar pausa, usar modo reverso, etc. e um programa é escrito por humanos, para fazer exatamente o que nós queremos que ele faça, de maneira pormenorizada (detalhada), assim, como quem dá instruções para um teletubbie, porque o computador realmente é burro, só faz o que é mandado.

Ok, você agora já tem uma noção do que sejam os algorítimos. Mas as coisas não param por aqui. Ainda tem muita coisa pra ver em matéria de algorítimo, mas que será diluido ao longo do curso.

Me deixem citar aqui uma observação importante: o algorítimo pode também ser chamado de rotina. Aliás, a rotina mesmo, se refere mais propriamente ao código já escrito na linguagem desejada (no caso aqui, C/C++).

Para efeito de um entendimento maior, vamos demonstrar um algorítimo de um programa, escrito em uma pseudo-linguagem, chamada de portugol (essa linguagem não existe, viu? Haloooowwww). Escreveremos um programa que pega dois números do teclado (dispositivo padrão de entrada) e imprime o resultado da soma desses dois números no dispositivo padrão de saída, ou seja, a tela do computador, ou simplesmente na sua shell:

IMPRIME: “Bem vindo ao primeiro programa em portugol!”
IMPRIME: “Digite um número: ”
LÊ: Número1
IMPRIME: “Digite outro número: ”
LÊ: Número2
SOMA: Número1 + Número2
IMPRIME: Resultado da SOMA

Repare bem que esse programa (ou rotina, como são chamadas as sequências de linhas de códigos) é escrito numa linguagem totalmente legível ao homem, e é exatamente assim que a grande maioria dos programas são feitos: na linguagem humana. Quando ele (o programador) fala (escreve, na realidade) “IMPRIME”, o programador manda imprimir a frase seguinte, que está entre aspas, na tela do computador que vai rodar o programa. Quando ele fala “LÊ”, ele simplesmente espera que o usuário do programa digite algum número do teclado. Note também que o operador ‘+‘ soma os dois números que o usuário do programa digitou e imprime na tela do computador o seu resultado. Esse é um programa bem simples, pra que você possa entender o princípio do algorítmo.

REPETINDO: Algorítmo é uma série de passos necessários para o cumprimento de uma tarefa, seja ela de computação ou não.

Espero que a minha explicação sobre algorítmos tenha ficado clara. Se não entendeu algo, por mais idiota que seja a dúvida, por favor, não deixe de postar. Se quiser me esculhambar por eu ter dito algo que não está certo, poste também. Se quiser me elogiar ou depoisitar uma graninha na minha conta bancária, fique à vontade. Se quiser mandar a irmãzinha ou as primas, me mande um e-mail discreto, aqui não pode.

É isso aí! No próximo post eu vou falar de compiladores & IDEs e de como transformar um código escrito pro você em um programa executável!

Um grande abraço a todos! 😉


O pai da Malu Mader é o Malu Fader | Você não tem, mas o Frankstein |  Fulano assume, mas o Arnold Schuaznega | Eu não vou furar. O Juca Kfouri | Aquilo todo mundo viu. Até o Clodovil | Todo mundo só morre uma vez. Mas a Alanis Morrissette | Eu pulo do barranco. O Luciano do Valle | Você já morou nos EUA? A Marylin Monroe | Ao ver uma modelo você fala que ela é bonita. O Miguel Falabella | Você fara papel de trouxa? A Betty Faria | Eu acordo mais tarde. E o Edir Macedo | Ninguém queria pagar a conta. A Cassia Kiss | Eu pinto paredes. E o Jânio Quadros | O marido da Hilda Furacão é o Tony Tornado | Eu estou perto de casa. O Silvester Stalonge | O Pateta usa o teclado. E o Mickey Mouse | Eu escovo os dentes 3 vezes ao dia. O Joaozinho Trinta | Você já esteve na Europa? A Adriana Esteves | Eu fumo. E o Celso Pitta | Eu gosto de chá gelado. O Clark Kent | Eu fujo. O Chiquinho Scarpa | Você riu dessas piadas? Não? Mas o Damon Hill.


Copyright 2009 (C) Fabiano Bezerra de Vasconcelos – Todos os direitos reservados.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

 
%d bloggers like this: