Você está na página 1de 7

Instituto Federal do Rio Grande do Sul - IFRS Campus Rio Grande

Curso Tcnico de Informtica Programa E-Tec Brasil

Disciplina Professores

Algoritmos Andr Prisco Vargas Elisa Hartmann Spotorno Veridiana Garcia Cadaval Larissa Astrogildo Freitas

Tutores

ALGORITMOS

Algoritmos

Introduo
Bem vindos disciplina de Algoritmos. Comearemos com um pouco de teoria a fim de conhecermos os conceitos de lgica e programao. Este primeiro captulo nos ajudar a entender como a lgica e a matemtica servem de base para a construo de programas de computador.

ALGORITMO
O computador uma mquina de propsito geral, ou seja, ela no faz nada em especfico e pode fazer uma srie de tarefas. O computador pode servir como um telefone via Internet, um editor de texto ou um video-game. O que muda a forma como o computador trabalha chama-se programa (software).

O software nada mais que uma sequncia de comandos finitos que dizem ao computador o que fazer. O computador no possui inteligncia, criatividade ou raciocnio de forma que tudo deve ser dito a ele, sem espao para subjetividade, por exemplo. O algoritmo , portanto, uma srie finita de comandos detalhados, coerentes e sem nenhuma ambiguidade. Os comandos so ordenados e podem ser executados diversas vezes.

Vamos ao seguinte exemplo: a troca de uma lmpada!

Trocar uma lmpada pode parecer tarefa fcil, uma vez que sabemos implicitamente tudo o que deve ser feito. Porm transform-lo em algoritmo exige certa ateno:

Trocar Lmpada (1.0) 1. trocar lmpada

IFRS - Campus Rio Grande

Disciplina de Algoritmos

Algoritmos

Vamos detalhar mais esta atividade:

Trocar Lmpada (Verso 2.0) 1. desenroscar lmpada atual 2. retirar a lmpada do bocal 3. pegar a nova lmpada 4. enroscar a nova lmpada no bocal 5. ligar a lmpada

Mas e se a lmpada nova tambm estiver queimada? Vamos melhorar nosso algoritmo para adicionar esse caso.

Trocar Lmpada (Verso 3.0) 1. desenroscar lmpada atual 2. retirar a lmpada do bocal 3. pegar a nova lmpada 4. enroscar a nova lmpada no bocal 5. ligar a lmpada 6. Se a lmpada ligar: A.1. Terminado! Se a lmpada no ligar : B.1. desenroscar lmpada atual B.2. retirar a lmpada do bocal B.3. pegar a nova lmpada B.4. enroscar a nova lmpada no bocal B.5. ligar a nova lmpada

Pronto! Agora j podemos testar se a nova lmpada tambm est queimada. Note que podemos fazer testes em nossos algoritmos, dividindo o fluxo conforme o teste (no caso, se a lmpada est ligada ou no). Falaremos disso mais tarde.

IFRS - Campus Rio Grande

Disciplina de Algoritmos

Algoritmos

Nesta etapa podemos notar que os passos B.1 a B.5 (no caso da lmpada falhar) so iguais aos itens 1 a 5. Nesta etapa os computadores mostram sua vantagem. Apesar de perderem no quesito inteligncia, eles podem repetir diversas vezes a mesma tarefa com velocidade espantosa. Dessa forma, no precisamos reescrever o cdigo, mas apenas ordenamos que o trecho se repita.

Trocar Lmpada (Verso 4.0) 1. desenroscar lmpada atual 2. retirar a lmpada do bocal 3. pegar a nova lmpada 4. enroscar a nova lmpada no bocal 5. ligar a lmpada 6. Se a lmpada ligar: A.1. Terminado! Se a lmpada no ligar : B.1. Volte ao item 1.

Veja que nesta ltima verso temos um algoritmo menor e que pode ser executado quantas vezes for necessrio. Por exemplo, se a segunda lmpada tambm estiver queimada, v para a terceira, quarta e etc.

Note tambm que em determinados contextos no explicamos exatamente como tudo deve ser feito. Por exemplo, devemos ter um segundo algoritmo para descrever o pegar a nova lmpada. Isto envolve buscar na caixa de lmpadas ou ter que ir comprar em algum mercado.

Como se pode ver o algoritmo como uma receita de bolo, em que fornecemos cada passo a ser executado e os ingredientes a serem colocados. Os passos devem ser claros e precisos, a fim de que uma mquina como o computador possa execut-lo futuramente.

IFRS - Campus Rio Grande

Disciplina de Algoritmos

Algoritmos

Os algoritmos devem possuir as seguintes caractersticas: Finitude: Um algoritmo deve sempre terminar aps um nmero finito de passos. Definio: Cada passo de um algoritmo deve ser precisamente definido. As aes devem ser definidas rigorosamente e sem ambiguidades. Entradas: Um algoritmo deve ter zero ou mais entradas, isto quantidades que so lhe so fornecidas antes do algoritmo iniciar. Sadas: Um algoritmo deve ter uma ou mais sadas, isto quantidades que tem uma relao especfica com as entradas. Efetividade: Um algoritmo deve ser efetivo. Isto significa que todas as operaes devem ser suficientemente bsicas de modo que possam ser em princpio executadas com preciso em um tempo finito por um humano usando papel e lpis.

IFRS - Campus Rio Grande

Disciplina de Algoritmos

Algoritmos

LGICA

Segundo [http://pt.wikibooks.org/wiki/L%C3%B3gica/Introdu%C3%A7%C3%A3o] a lgica a cincia que trata da criao do raciocnio perfeito. Para os estudiosos da lgica, o que importa so as proposies e as concluses, no levando em conta qualquer outro aspecto psicolgico, fsico ou subjetivo.

Veja o seguinte exemplo: O pai de um pai o av. Joo pai de Renato. Renato o pai de Jos. Logo, Joo av de Jos.

No exemplo acima, no h qualquer citao a quem Joo, Jos ou Renato. Seus nomes completos, sua vida, nacionalidade e etc. A concluso feita inteiramente utilizando as proposies colocadas no raciocnio.

Observe o prximo exemplo: Todos os ces moram na lua. Rex um co. Logo, Rex mora na lua. Apesar de apresentar um absurdo, o raciocnio vlido e a concluso verdadeira, ainda que a primeira premissa seja falsa. O que conclumos que podemos ter premissas falsas e ainda assim termos um raciocnio logicamente vlido.

IFRS - Campus Rio Grande

Disciplina de Algoritmos

Algoritmos

LGICA, COMPUTAO E MATEMTICA

A lgica est intimamente ligada computao, uma vez que os programas resultam de regras lgicas que devem gerar determinada concluso. Nestes programas, seguidamente utilizamos de expresses algbricas ou clculos sobre conjuntos para nossas tarefas, como veremos mais adiante. Estas tcnicas tm sua origem no estudo da lgica. A seguir, vamos estudar alguns exerccios a fim de entender, atravs destes exemplos, como a lgica e a construo de algoritmos devem ser empregados a fim de resolver problemas.

IFRS - Campus Rio Grande

Disciplina de Algoritmos

Você também pode gostar