14.03.2015 Views

ILA - Unisinos

ILA - Unisinos

ILA - Unisinos

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Aprendendo a Programar Programando numa Linguagem Algorítmica Executável (<strong>ILA</strong>) - Página 10<br />

milhares. Rigorosamente falando, um programa dos acima citados são conjunto de programas<br />

menores, cada um deles com objetivos mais restritos, e que podem ser executados de forma<br />

integrada. É comum se utilizar a palavra oriunda do inglês software para designar um conjunto de<br />

programas com objetivos mais restritos que, sendo executados de forma integrada, propiciam a<br />

execução de ações bem mais genéricas.<br />

A parte da Ciência da Computação que trata do desenvolvimento de softwares é denominada<br />

Engenharia de Software. O estudo da Engenharia de Software deve ser precedido da aprendizagem<br />

do desenvolvimento de programas “menores”, ação que comumente é denominada de Programação<br />

de Computadores.<br />

1.4 Lógica de programação<br />

Sendo um conjunto de instruções cujas execuções redundam na realização da tarefa para a<br />

qual foi desenvolvido, o desenvolvimento de um programa requer a utilização de um raciocínio<br />

ímpar em relação aos raciocínios utilizados na solução de problemas de outros campos do saber. Por<br />

exemplo (e de forma simplificada) ao se tentar resolver um problema de Mecânica Newtoniana<br />

deve-se procurar capturar da especificação da questão as grandezas físicas envolvidas e aplicar as<br />

fórmulas que relacionam estas grandezas.<br />

Para se desenvolver um programa que resolva um determinado problema é necessário que<br />

encontremos uma seqüência de instruções que cujas execuções resultem na solução da questão. É<br />

comum se utilizar a termo algoritmo para indicar uma seqüência de instruções que resolvem um<br />

dado problema, ficando, neste caso, o termo programa para indicar um algoritmo que pode ser<br />

executado por um computador. A Lógica de Programação pode ser entendida como o conjunto de<br />

raciocínios utilizados para o desenvolvimento de algoritmos (e, portanto, de programas).<br />

Por exemplo, imagine a seguinte questão: um senhor, infelizmente bastante gordo, está numa<br />

das margens de um rio com uma raposa, uma dúzia de galinhas e um saco de milho. O senhor<br />

pretende atravessar o rio com suas cargas, num barco a remo que só comporta o senhor e uma das<br />

cargas. Evidentemente, o senhor não pode deixar em uma das margens, sozinhos, a raposa e a<br />

galinha, nem a galinha e o milho. A questão é escrever um algoritmo que oriente o senhor a realizar<br />

o seu intento. Naturalmente, na primeira viagem, ele não pode levar a raposa (neste caso, as<br />

galinhas comeriam o milho), nem o milho (caso em que a raposa devoraria as galinhas). Logo, na<br />

primeira viagem ele deve levar as galinhas. Como ele estará presente na chegada, na segunda<br />

viagem ele pode levar a raposa ou o milho. Mas, e a volta para apanhar terceira carga? A solução é<br />

ele voltar com as galinhas e, aí, atravessar o milho, já que não há problema em que a raposa e o<br />

milho fiquem juntos. Escrevendo as instruções na seqüência em que elas devem ser executadas,<br />

teremos o seguinte algoritmo.<br />

1. Atravesse as galinhas.<br />

2. Retorne sozinho.<br />

3. Atravesse a raposa.<br />

4. Retorne com as galinhas.<br />

5. Atravesse o milho.<br />

6. Retorne sozinho.<br />

7. Atravesse as galinhas.<br />

1.5 Resolução de problemas<br />

Uma pergunta que o leitor pode estar se fazendo é: como vou "descobrir" que a primeira<br />

instrução deve ser a travessia das galinhas?<br />

Algumas tarefas para as quais se pretende escrever um algoritmo podem ser vistas como um<br />

problema a ser resolvido. O exemplo anterior é um exemplo claro de uma tarefa com esta<br />

característica. Existem algumas técnicas que podem ser utilizadas para a resolução de problemas.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!