Você está na página 1de 10

1.

Introduo Lgica de Programao


Neste captulo sero definidos alguns dos conceitos bsicos necessrios que vo ajudar o leitor na compreenso dos mecanismos utilizados na escrita de programas de computador. 1.1 O que Lgica? A palavra lgica est normalmente relacionada com o modo de pensar de um indivduo: racionalidade e coerncia. Sendo ela frequentemente associado matemtica, porm tem tambm sua aplicao em outras cincias.

Fig.1: Ilustrao de Lgica Fonte: Internet

Podemos relacionar a lgica com a correo do pensamento, pois uma de suas preocupaes determinar quais operaes so vlidas e quais no so, fazendo anlises das formas e leis do pensamento. Como filosofia, ela procura saber por que pensamos assim e no de outro jeito. Com arte ou tcnica, ela nos ensina a usar corretamente as leis do pensamento. Lgica de Programao
Andr Luiz Villar Forbellone

Poderamos dizer que a lgica a arte de bem pensar, que a cincia das formas do pensamento. Visto que a forma mais complexa do pensamento o raciocnio, a lgica estuda a correo do raciocnio. Podemos ainda dizer que a lgica tem em vista a ordem da razo. Isto d a entender que a nossa razo pode funcionar desordenadamente. Por isso a lgica estuda e ensina a colocar ordem no pensamento. Lgica de Programao Andr Luiz Villar Forbellone Ex.: a) Todo cachorro um mamfero. Todo mamfero um animal. Portanto, todo cachorro um animal. b) Japo um pas do continente asitico. Todos os japoneses so de Japo. Logo, todos os japoneses so asiticos. Os exemplos acima refere-se a lgica proposicional, que representam um argumento composto por duas premissas e uma concluso sendo estabelecido

uma relao que pode ser valido ou no, este um dos objetivos da lgica, estudar tcnicas de formalizao, deduo e anlise com o intuito de verificar a vaidade de argumentos. Devemos ressaltar que, apesar da aparente coerncia de um encadeamento lgico, este pode ser vlido ou no em sua estrutura. Neste sentido, a lgica tambm objetiva a criao de uma representao mais formal, que se contrape linguagem natural, que suscetvel a argumentaes informais. A lgica tambm utilizada no dia a dia, muitas vezes sem as pessoas se perceberem de to normal que ela , no momento de uma argumentao em uma conversa ou em uma justificao pela escrita. Quando quer se provar no ter cometido nenhum erro. 1.2 O que Lgica de Programao Pessoas que querem trabalhar na rea da informtica como desenvolvedor de programas e sistemas, precisam conhecer a respeito da lgica de programao, pois ela ajudar a definir uma seqncia lgica de desenvolvimento. Isto envolve pelas duas caractersticas importantes que um programador deve possuir: ordem e clareza.
Lgica de programao Tcnica de encadear pensamentos para atingir um determinado objetivo.

Fig.2: Ilustrao de Lgica de Programao Fonte: Internet

1.3 O que Seqncia Lgica Para se executar qualquer atividade na vida preciso desenvolver uma mente que possa pensar em todas as etapas de trabalho necessrias e planejar os passos para se alcanar a meta final, para se ter xito. Este processo de raciocinio pode ser descrito como uma seqncia de instrues, que devem ser seguidas para se cumprir uma determinada tarefa.
Seqncia Lgica Passos executados at atingir um objetivo ou soluo de um problema.

Fig.3: Ilustrao de Seqncia Lgica Fonte: Internet

1.4 O que so Instrues Buscando no dicionrio temos a primeira definio de Instruo: Conjunto das formalidades e informaes necessrias para elucidar uma causa e p-la em estado de ser julgada. (Michaelis) Na rea de informtica temos: palavra ou expresso nica que representa uma operao. (Michaelis). Vale aqui ressaltar que uma ordem isolada no permite realizar o processo completo, necessrio um conjunto de instrues colocadas em ordem seqencial lgica. Por exemplo, se quisermos preparar uma omelete de batatas, necessrio seguir uma seqncia de instrues: descascar as batatas, quebrar e bater os ovos, esquentar o leo, fritar as batatas, etc... Claro que essas instrues tm que ser executadas em uma ordem coerente no se podem descascar as batatas depois de frit-las. Por isto, uma instruo tomada isoladamente no faz sentido; para atingirmos o resultado desejado, preciso colocar em prtica o conjunto de todas as instrues, na ordem correta.
Instrues Conjunto de regras ou normas definidas para a realizao ou emprego de algo. Em informtica, o que indica a um computador uma ao elementar a executar.

Fig.4: Ilustrao de Instruo Fonte: Internet

1.4 O que Algoritmo? A busca de melhora no desempenho conseguido pela implementao de automao nos processos envolvidos nas atividades, assim uma tarefa deixa de ser desempenhada pelo homem e passa a ser executada por mquinas. Estes dispositivos podem ser de natureza mecnico, eletrnico ou inclusive misto. Para que esse processo automatizado de uma tarefa tenha

sucesso preciso que a mquina que vai atuar para este fim seja capaz de desempenhar com eficincia, garantindo a repetibilidade de seu trabalho. necessrio que os passos sejam especificados com clareza e exatido e serem realizados em cada uma das fases do processo a ser automatizado, bem como a seqncia em que estas fases devem ser realizadas. A especificao da seqncia ordenada de passos que deve ser seguida para a realizao de uma tarefa, garantindo a sua repetibilidade, d-se o nome de algoritmo. Outras definio: "Serve como modelo para programas, pois sua linguagem intermediria linguagem humana e s linguagens de programao, sendo ento, uma boa ferramenta na validao da lgica de tarefas a serem automatizadas." Os algoritmos servem para representar a soluo de qualquer problema, mas no caso do Processamento de Dados, eles devem seguir as regras bsicas de programao para que sejam compatveis com as linguagens de programao.

Fig.5: Exemplos de Algoritmos Fonte: Internet

A palavra algoritmo (sistema particular de notao), primeira vista, parece-nos estranha. Embora possua designao desconhecida, fazemos uso constantemente de algoritmos em nosso cotidiano: a maneira como uma pessoa toma banho um algoritmo. Outros algoritmos freqentemente encontrados so: instrues para montagem de um mvel; descrio de uma receita para preparo de um assado; preenchimento do formulrio de declarao do imposto de renda; procedimento para dirigir um veculo; clculo mensal das contas de gua, luz e telefone; etc.

A seguir esto alguns dos vrios os conceitos que se encontram citados em literaturas especializadas sobre o Algoritmo: Um conjunto finito de regras que prov uma seqncia de operaes para resolver um tipo de problema especfico (KNUTH] Seqncia ordenada, e no ambgua, de passos que levam soluo de um dado problema (TREMBLAY) Processo de clculo, ou de resoluo de um grupo de problemas semelhantes, em que se estipulam, com generalidade e sem restries, as regras formais para a obteno do resultado ou da soluo do problema
(AURLIO)

1.4.1. Por que precisamos de algoritmos? Algumas pessoas eminentes na rea da Cincia da Computao, citaram para mostrar a importncia do uso de algoritmos:

A noo de algoritmo bsica para toda a programao de computadores.


(KNUTH - Professor da Universidade de Stanford, autor da coleo The art of computer programming)

O conceito central da programao e da cincia da computao o conceito de algoritmo. (WIRTH - Professor da Universidade de Zurique, autor de diversos
livros na rea e responsvel pela criao de linguagens de programao como ALGOL, PASCAL e MODULA-2)

O computador executa operaes em uma seqncia, isto refora a necessidade de especificar uma seqncia de passos lgicos para que o ele possa executar uma tarefa solicitada qualquer, a mquina tem por si s vontade prpria e inteligncia, faz apenas o que proposto. Utilizando as vrias ferramentas algortmicas existentes no mercado, podem-se produzir solues para os problemas encontrados, sem se importar com o modelo de computador e mesmo se preocupar com a linguagem de programao a ser utilizado.
1.4.2. Caractersticas de um Algoritmo Todo algoritmo deve apresentar algumas caractersticas bsicas:

ter um incio; ter um fim; no dar margem dupla interpretao (no ter duplo sentido); capacidade de receber dado(s) de entrada do mundo exterior; poder gerar informaes de sada para o mundo externo ao do ambiente do algoritmo; ser efetivo (todas as etapas especificadas no algoritmo devem ser alcanveis em um tempo finito). 1.4.3. Formas de representao de um Algoritmo As representaes mais comuns dos passos de um algoritmo sero mostradas a seguir: 5

1.4.3.1 Descrio narrativa Nesta forma o algoritmo descrito passo a passo todas as tarefas a serem executados na lngua me, no nosso caso em portugus. Exemplo: Receita de Bolo: 1- Providenciar manteiga, ovos, 2 Kg de massa, etc. 2- Misturar os ingredientes 3- Despejar a mistura na frma de bolo 4- Levar a frma ao forno 5- Esperar 20 minutos 6- Retirar a frma do forno 7- Deixar esfriar 8- Provar Pontos fortes: escrito na lngua me, facilitando o entendimento; cada passo utiliza um verbo indicando a ao; uso de termos corriqueiros; Pontos fracos: impreciso; pouco confivel, a impreciso acarreta a desconfiana; extenso, normalmente escreve-se muito para dizer pouca coisa.

Fig.6: Ilustrao de Algoritmo com Descrio Narrativa Fonte: Internet

1.4.3.2 Fluxograma Uma das maneiras de representar os algoritmos atravs de smbolos grficos mostrando a seqncia de execuo, esta representao chamado de fluxograma. Existem smbolos padronizados para incio, entrada de dados, clculos, sada de dados, fim e outras funes.

Um algoritmo uma seqncia ordenada e finita de passos que representam o modo de execuo de uma tarefa. Como uma receita, descrio de um procedimento e a definio uma seqncia de instrues a que obedecidas atingi-se a meta desejada. Estes procedimentos no podem ser redundantes nem subjetivas na sua definio, devem ser claras e precisas.

Fig.7: Ilustrao de Diagrama de Bloco Fonte: Internet

Temos alguns algoritmos j memorizados em nossa mente que as executamos automaticamente, as das operaes bsicas de matemtica: adio, multiplicao, diviso e subtrao de nmeros reais decimais. Tambm se podem citar os manuais de instalaes de equipamentos eletrnicos, como um computador, que explicam passo-a-passo como interligar as partes que o compe, gabinete, monitor, teclado, mouse, a impressora e a conexo rede eltrica e a Internet. As coisas mais simples da vida tambm podem ser descritas por seqncias lgicas. Por exemplo: Chutar um pnalti:

.
Fig.8: Cobrana de Pnalti Fonte: Internet

1) Pegar a bola; 2) Colocar na marca do Pnalti; 3) Dar alguns passos para trs da bola; 4) Correr em direo a bola 5) Chutar a bola em direo ao gol e longe do goleiro 6) Sair para o abrao; Calcular a mdia aritmtica de duas notas:

Fig.9: Aritmtica Fonte: Internet

1) Escreva o primeiro nmero no registro B1 2) Escreva o segundo nmero no retngulo B2 3) Soma o nmero B1 com nmero B2 4) Divide o resultado da soma por 2 5) Verifica se o a mdia maior ou igual a 7 6) Se sim o aluno est aprovado 7) Se no o aluno est reprovado

Fig.10: Exemplo de Diagrama de Bloco Fonte: Internet

1.5 O que so Programas de Computadores? Os programas de computadores so compostos de comandos para execuo de uma atividade, algoritmos, escritos em uma linguagem de programao como: Pascal, C, Cobol, Java, Visual Basic e outras que podem ser interpretadas e ou executadas por um computador ou uma outra mquina programvel. Um programa segue rigorosamente a estrutura definida por um algoritmo, por isto a importncia de se fazer uma boa anlise do problema e traduzi-la em uma seqncia lgica de execuo.

Fig.:11 Programas de Computador Fonte: Internet

Programa de Computador uma coleo de instrues que descrevem uma tarefa a ser realizada por um computador. O termo pode ser uma referncia ao cdigo fonte, escrito em alguma linguagem de programao, ou ao arquivo que contm a forma executvel deste cdigo fonte. (Fonte: Wikipdia)

1.6 Exerccios de Fixao 1) Crie uma seqncia lgica para tomar banho. 2) Faa um algoritmo para somar dois nmeros e multiplicar o resultado pelo primeiro nmero. 3) Descreva a seqncia lgica para trocar um pneu de um carro. 4) Faa um algoritmo para trocar uma lmpada.

10

Você também pode gostar