Você está na página 1de 7

Aula 1 DISCIPLINA: Algoritmos e Lgica de Programao PROFESSOR: Leandro Fernandes da Mota EMAIL: prof.leandrofm@gmail.com EMENTA: Conceito de lgica.

Lgica aplicada programao. Tipos de algoritmos. Conceitos de variveis e constantes. Tipos primitivos de dados. Operadores: aritmticos, relacionais e lgicos. Estruturas de seleo. Estruturas de controle e repetio. OBJETIVOS: Preparar o aluno para o desenvolvimento de solues computacionais eficientes. Capacitar o aluno na elaborao de algoritmos; torn-los capazes de resolver problemas simples de forma terica e aplic-los na prtica em uma linguagem de programao pr-definida na metodologia. METODOLOGIA DE ENSINO: Nas aulas tericas os conceitos devem ser apresentados na forma de Fluxograma, Pseudocdigo e Linguagem de programao C. As aulas podem ser apresentadas por meio de utilizao de Lousa, retroprojetor, slides, transparncias, atividades individuais ou em grupo. A aula prtica ser desenvolvida em laboratrio _ a partir da semana 5 at a semana 20 _ utilizando como ferramenta a linguagem de programao C (Visual C++ 6.0). Todas as aulas prticas sero duas das quatro aulas no perodo. PLANO DE ENSINO DA PRIMEIRA AULA: Apresentao da disciplina: contedo programtico, metodologia de ensino, critrios de avaliao e bibliografias. Conceito de Algoritmo e Lgica. Formas de Representaes de Algoritmo: Descrio narrativa, Diagrama de blocos (fluxograma) e Portugus estruturado (Pseudocdigo). BIBLIOGRAFIA BSICA: MANZANO, Jos Augusto Navarro Garcia & OLIVEIRA, Jair Figueiredo de. Algoritmos: Lgica para o desenvolvimento de programao. So Paulo: Ed. rica, 2004. MIZRAHI, Victorine Viviane. Treinamento em Linguagem C Mdulo I. So Paulo: Ed. Makron Books, 1990. FORBELLONE, Andr Luiz Villar & EBERSPACHER, Henri Frederico. Lgica de Programao. Ed. Pearson Brasil, 2000. A1:D560 BIBLIOGRAFIA REFERNCIA: ARRER & BECKER, Cristiano Gonalves & FARIA, Eduardo Chaves. Algoritmos Estruturados. Ed. LTC, 1999 PREISS, Bruno R. Estrutura de dados e Algoritmos. Ed. Campos, 2001. HORRIOS DAS AULAS: Perodo noturno: 19:15 20:55 20:55 21:20 21:20 23:00 Faltas reprovam! Perodo matutino: 07:50 09:30 09:30 09:50 09:50 11:30

INTRODUO A ALGORTIMOS PROGRAMAS DE COMPUTADORES Os programas de computadores nada mais so do que algoritmos escritos numa linguagem de computador (Pascal, C, Cobol, Fortran, Visual Basic entre outras linguagens de programao) e que so interpretados e executados por uma mquina, no caso o computador. ALGORITMOS COMPUTACIONAIS - DEFINIO A palavra Algoritmos aplicada e emprega, segundo o dicionrio Aurlio, em matemtica e computao. Na matemtica est associada a um processo de clculo, ou resoluo de um grupo de problemas semelhantes. Na cincia da computao est associado ao um conjunto de regras e operaes bem definidas e ordenadas, destinadas soluo de um problema, ou de uma classe de problemas, em um nmero finito de passos. Um algoritmo formalmente uma seqncia finita de passos que levam a execuo de uma tarefa e/ou resoluo de um problema. Na medida em que precisamos especificar um sequncia de passos, necessrio utilizar ordem, ou seja, pensar com ordem, portanto precisamos utilizar lgica. Um algoritmo um processo sistemtico para a resoluo de um problema, ou de uma sequncia ordenada de passos a ser observada para a realizao de uma tarefa. (Manzano e Oliveira, 2009) Algoritmo a definio de regras formais, sequenciais e bem definidas a partir do entendimento lgico de um problema a ser resolvido por um programador com o objetivo de transform-lo em um programa que seja possvel de ser tratado e executado por um computador. DESCRIO DE ALGORITMO Um algoritmo pode ser descrito ou representado basicamente de trs formas: 1 - Descrio narrativa; 2 - Diagramas de blocos; 3 - Em linguagem de projeto de programao, conhecida como Portugus estruturado ou Portugol ou pseudocdigo. 1 - DESCRIO NARRATIVA Nada mais do que descrever, utilizando uma linguagem natural (lngua portuguesa) os algoritmos, as aes a serem realizadas no tratamento dos dados de entrada para os resultados de sada na resoluo do problema proposto.

Exemplo no computacional Receita de Bolo - Providencie manteiga, ovos, 2 Kg de massa, etc. - Misture os ingredientes - Despeje a mistura na frma de bolo - Leve a frma ao forno - Espere 20 minutos - Retire a frma do forno - Deixe esfriar - Prove 2 DIAGRAMA DE BLOCOS

Exemplo computacional Soma de 2 nmeros - Leia numero1, numero2 - Some o numero1 com o numero2 - Escreva a soma

Representao grfica utilizada no projeto de programao, baseada na norma internacional ISSO 5807:1985. Possibilita demonstrar de forma concreta a linha de raciocnio lgico que o profissional de desenvolvimento usou para escrever um programa de computador. O Diagrama de blocos estabelece visualmente a seqncia de operaes a ser efetuada por um programa de computador. Um diagrama de blocos basicamente a especificao de um algoritmo, enquanto que um fluxograma serve para descrever qualquer coisa, no necessariamente um fluxo de um algoritmo, seria uma definio mais genrica. Na elaborao dos diagramas no se leva em considerao particularidades e detalhamentos sintticos e estruturais utilizados por uma linguagem de computador, e sim apenas aes a serem realizadas. um instrumento to valioso quanto uma planta para um arquiteto ou engenheiro. Aps a elaborao do diagrama de blocos realizada a codificao do programa. Simbologia Existem diversos smbolos em um diagrama de bloco. Abaixo so apresentados alguns:

Entradas

Sadas

Dentro do smbolo sempre ter algo escrito, pois somente os smbolos no nos dizem nada. Veja no exemplo a seguir:

Diagrama de Blocos e Fluxograma Dentro do contexto de lgica de programao de computadores, existem dois profissionais de destaque: o analista de informao (analista de sistemas) e o programador de computador. O papel do analista de sistema semelhante o papel de um arquiteto. O analista de sistema responsvel por uma viso macro que o sistema deve executar e passa para a equipe de programao que deve deline-la. Assim como o arquiteto, o analista de sistemas precisa desenhar a planta do sistema (planta estrutural), a qual chamada genericamente de fluxograma. Os fluxogramas so diagramas que fornecem a representao esquemtica de um processo computacional de sua organizao funcional. Em hiptese nenhuma um fluxograma, como ferramenta de projeto, usado para demonstrar a funcionalidade lgica de um programa, pois isso feito apenas com diagramas de blocos. Se o analista de sistema tem papel semelhante a de um arquiteto, o programador semelhante a um pedreiro altamente especializado, pois responsvel por construir o programa empilhando as instrues de comando de uma linguagem de programao como se fossem tijolos e, inclusive, fazer o acabamento da construo com a elaborao do projeto visual chamado interface grfica. Alm de interpretar o fluxograma desenhado pelo analista o programador precisar de atentar aos detalhes lgicos que o programa deve executar para atender o que foi solicitado pelo analista de sistema, consequentemente atendendo a necessidade dos usurios. nesta fase que o programador deve desenhar em um nvel micro a planta operacional conhecida como diagrama de blocos. Ou seja, o diagrama de blocos e construdo a partir de um fluxograma. (Manzano & Oliveira, 2010)

3 - PORTUGUS ESTRUTURADO, PORTUGOL OU PSEUDOCDIGO Permite descrever de forma simples e sem o rigor tcnico de uma linguagem de programao formal as etapas que o programa de computador deve executar, desde que essas etapas definidas e delineadas com as ferramentas grficas existentes. O Portugol ou Portugus Estruturado, que uma pseudolinguagem (pseudo = Falso, falsa linguagem) de programao, que permite pensarmos no problema e no na mquina que vai executar o algoritmo, uma linguagem de projeto de programao e no uma linguagem de programao real, servindo como propsito inclusive de documentao. Tem como vantagem da passagem quase imediata do algoritmo para uma linguagem de programao qualquer.

O portugus estruturado formado pelas instrues:

LGICA DE PROGRAMAO DE COMPUTADORES Lgica a cincia que estuda as leis e os critrios de validade que regem o pensamento e demonstrao, ou seja, cincia dos princpios formais do raciocnio (Manzano e Oliveira, 2009) Lgica de programao significa o uso correto do pensamento, da ordem da razo e de processos de raciocnio, objetivando a racionalidade e o desenvolvimento de solues vlidas e coerentes, que resolvam com qualidade os problemas que se deseja programar. Exemplo do uso correto do pensamento, ou seja, usando lgica: Problema: Quem mais velho, Anacleto ou Marivaldo? Dados: Anacleto mais velho que Felisberto Felisberto mais velho que Marivaldo Resultado: Portanto, Anacleto mais velho que Marivaldo. O objetivo principal do estudo da Lgica de Programao a construo de algoritmos coerentes e vlidos. Algoritmos como visto anteriormente, pode ser definido como uma seqncia de passos finitos que visam a atingir um objetivo bem definido, resoluo de um problema ou concluso de uma tarefa. Na medida em que precisamos especificar uma sequncia de passos, necessrio utilizar ordem, ou seja, pensar com ordem, portanto precisamos utilizar a lgica. FIM DA PRIMEIRA AULA