Sunteți pe pagina 1din 7

Algoritmos Conceitos, Caractersticas e Estruturas Parte 1

- INTRODUO No estudo da informtica o algoritmo e como o alicerce de uma casa, sem ele no se pode construir as paredes e o telhado, ou seja, sem o algoritmo no se pode criar um estudo sistematizado em nenhum campo da informtica. No mundo atual praticamente todas as tarefas podem ser automatizadas, e para isso fazemos o uso de computadores. E os computadores precisam de receberem ordens para funcionarem, da a necessidade de algoritmos. Para aprendermos a criar algoritmos no basta estudar ou copiar algoritmos, para se aprender como manipular situaes e codific-las em forma de algoritmo precisamos de escrever e criar algoritmos, pegar exerccios, e praticar. - DEFINIO O algoritmo se define por uma seqncia lgica de passos que o computador executara fielmente para que se obtenha um resultado satisfatrio. Estas seqncias podem ou no ser executadas dependendo do andamento do algoritmo, porm estes passos sempre sero alcanados em algum momento do algoritmo. - CONCEITO O conceito de algoritmo utilizado em praticamente todas as reas do conhecimento, mesmo sem utilizar o nome algoritmo. Por exemplo na administrao e contabilidade um plano de ao um algoritmo, pois nele so listados passos para que se chegue a um resultado satisfatrio. Coloquemos isto em nosso dia a dia. Voc acaba de acordar e sabe que tem que ir ao trabalho, quais os passos que voc executa para que o resultado satisfatrio (ir ao trabalho) acontea. Vejamos: 1 2 3 4 Passo Passo Passo Passo Levanta da cama Vai ao banheiro Veste a roupa Sai de casa

Quando dizemos que este passos tem que ser uma seqncia queremos dizer que, este passos tem que ser executados um aps o outro, porque ningum vai ao banheiro pela manh sem levantar da cama ou ningum sai de casa primeiro antes de se vestir. Para o estudo da informtica o raciocnio lgico e fundamental, primrio e essencial na evoluo acadmica de quem quer seguir este ramo de atividade. - CARACTERISTICAS -

Todo algoritmo tem por padro apresentar algumas caractersticas bsicas: Partir de um ponto inicial e chegar a um ponto final; No ser ambguo (ter dupla interpretao); Poder receber dados externos e ser capaz de retornar resultados aos mesmos; Ter todas suas etapas alcanveis em algum momento do programa.

- FORMAS DE REPRESENTAO Podemos representar um algoritmo de 3 formas distintas: 1 Forma: Descrio narrativa Fazemos uso da descrio narrativa, quando queremos descrever um algoritmo de forma que o receptor da informao entenda do assunto mesmo no conhecendo de algoritmos, porm neste tipo de descrio temos uma impreciso e uma falta de confiabilidade no entendimento do algoritmo alm de termos um descrio muito grande para dizer pouca coisa. Exemplo: Dobro de um nmero Digitar um nmero; Gravar em uma varivel; Pegar o nmero e multiplicar por 2; Gravar o resultado em outra varivel; Mostrar o resultado da operao.

Obs: O conceito de varivel ser visto mais adiante neste curso. 2 Forma: Fluxograma Desta forma faremos o uso de smbolos universais que nos ajudaram a compreender o que o algoritmo quer dizer. Este mais utilizado, pois se trata de um padro mundial, alm de termos smbolos dizerem muito mais que palavras, porm este complica-se a medida que o algoritmo cresce. Levando-se em

considerao o exemplo anterior temos: Legenda:

Calculo Deciso

Entrada

Sada Inicio/Fim 3 Forma: Linguagem Algortmica Consiste na representao em linguagem de programao. Lembrando que utilizaremos como linguagem de estudo de algoritmos o Turbo Pascal 7.0. Seguindo o mesmo exemplo:
CDIGO:

Program Calcula_Dobro; Uses crt; Var NUM: integer; DOBRO: integer; Begin Write (Digite um nmero:); Read (NUM); DOBRO:= 2 * NUM; Write (O dobro de , NUM, e , DOBRO); Readkey;

End.

(Outro)
CDIGO:

program Calcula_Dobro; uses wincrt; var num,dobro: integer; begin write ('Digite um nmero:'); read (num); if num=1 then dobro:=1 else dobro:= 2 * num; write ('O dobro de ', num, ' e ', dobro); readkey; end.

Obs: Foi usado o Turbo Pascal

- Linguagens Como a viso deste curso e desenvolver futuros programadores, iremos exemplificar aqui as linguagens de programao (baixo e alto nvel) para que saibamos como funciona estes tipos de linguagens. Peguemos como exemplo o seguinte fato. Voc esta viajando e de repente o pneu do carro fura e voc precisa troc-lo, j que no tem nenhum posto por perto e voc esta viajando sozinho. Qual a seqncia que voc realiza para se trocar um pneu. 1 Desce do carro; 2 - Pega o estepe; 3 Troca o Pneu; 4 Volta a viajar; Com esta seqncia possivel se trocar o pneu do carro. Porm estamos considerando que a pessoa que ira trocar o pneu sabe como executar esta atividade. Este exemplo nos mostra uma linguagem de alto nvel pois com comandos reduzidos j conseguimos executar uma tarefa com resultado satisfatrio. Agora iremos exibir o mesmo problema em uma linguagem de baixo nvel.

1 Estacionar o carro no acostamento; 2 Desligar o carro; 3 Ligar a pisca alerta; 4 Retirar o cinto de segurana; 5 Abrir a porta; 6 Colocar as pernas para fora do carro; 7 Sair do veculo; 8 Abrir o porta malas; 9 Pegar o tringulo de sinalizao; 10 Montar o tringulo; 11 Colocar o tringulo no asfalto para fazer a sinalizao; 12 Retirar o macaco do porta malas; 13 Colocar o macaco ao lado do carro; 14 Retirar o estepe do porta malas; 15 Colocar o estepe ao lado do carro; 16 Colocar o macaco sob o carro; 17 Girar a manivela para levantar o carro; 18 Pegar a chave; 19 Retirar os parafusos; 20 Retirar o pneu; 21 Colocar o estepe; 22 Parafusar o estepe; 23 Girar a manivela do macaco ao contrario; 24 Colocar o pneu no porta malas; 25 Colocar o macaco no porta malas; 26 Guardar o tringulo; 27 Fechar o porta malas; 28 Abrir a porta do carro; 29 Sentar no banco; 30 Colocar as pernas para dentro; 31 Colocar o cinto de segurana; 32 Ligar o carro; 33 Continuar a viagem;

Alto Nvel 1 2 3 4 Desce do carro - Pega o estepe - Troca o Pneu Volta a viajar

Baixo Nvel 1 Desce do carro 1 Estacionar o carro no acostamento; 2 Desligar o carro; 3 Ligar a pisca alerta; 4 Retirar o cinto de segurana; 5 Abrir a porta;

6 Colocar as pernas para fora do carro; 7 Sair do veculo; 2 - Pega o estepe 8 Abrir o porta malas; 9 Pegar o tringulo de sinalizao; 10 Montar o tringulo; 11 Colocar o tringulo no asfalto para fazer a sinalizao; 12 Retirar o macaco do porta malas; 13 Colocar o macaco ao lado do carro; 14 Retirar o estepe do porta malas; 15 Colocar o estepe ao lado do carro; 3 Troca o Pneu 16 Colocar o macaco sob o carro; 17 Girar a manivela para levantar o carro; 18 Pegar a chave; 19 Retirar os parafusos; 20 Retirar o pneu; 21 Colocar o estepe; 22 Parafusar o pneu; 23 Girar a manivela do macaco ao contrario; 24 Colocar o pneu no porta malas; 25 Colocar o macaco no porta malas; 26 Guardar o tringulo; 27 Fechar o porta malas; 4 Volta a viajar 28 Abrir a porta do carro; 29 Sentar no banco; 30 Colocar as pernas para dentro; 31 Colocar o cinto de segurana; 32 Ligar o carro; 33 Continuar a viagem; Na linguagem de alto nvel, o entendimento fica mais fcil, pois um comando em uma linguagem de alto nvel corresponde a vrios comandos em uma linguagem de baixo nvel, porm o programador fica limitado, j que se algum passo contido em um comando de alto nvel no pode ser alterado; Por exemplo no comando 4 da linguagem de alto nvel Voltar a viajar se eu quiser ligar o carro primeiro para depois colocar o cinto de segurana ser impossvel j que a linguagem de alto nvel no me permite, liberdade esta que o programador tem quando programa em linguagem de baixo nvel. Mas visualizando todos os comandos listados tem por objetivo trocar o pneu do carro. Se partirmos do ponto em que o carro esta com o pneu furado e chagar ao final com o problema resolvido, pneu trocado, isto quer dizer que meu algoritmo funcionou, tanto em uma linguagem de alto nvel quanto uma linguagem de baixo nvel.

Mas na prtica a linguagem de alto nvel simplifica a vida do programador j que vrios detalhes da programao so desconsiderveis nesta linguagem. Exemplo: Para se fazer menus no Clipper gast-se muita programao, j no Delphi e no Visual Basic basta clicar e arrastar, a programao j esta por baixo ou seja linguagem de baixo nvel. Toda a programao j esta embutida no Comando Menu do Delphi ou do vb.

S-ar putea să vă placă și