Logica Programação.

  • Published on
    25-May-2015

  • View
    6.169

  • Download
    1

Embed Size (px)

Transcript

<ul><li> 1. LGICA DE PROGRAMA O 1 IFSP Por Claudia Miyuki Werhmuller </li></ul> <p> 2. CONTEDO PROGRAMTICO Introduo aos conceitos bsicos de lgica de programao Fundamentos da Lgica de Programao Tipos e estrutura de dados, variveis, constantes, operadores e frmulas Tcnicas de programao Anlise do problema Estrututras lgicas dos Algoritmos Projeto de programa e implementao Verificao de programas Tomada de decises Estruturas de Desvios Operadores lgicos Laos de repetio Estruturas de Loopings Loopings controlados por condies 3. CONTEDO PROGRAMTICO Matriz de uma dimenso Matrizes de uma dimenso ou vetores Operaes com matrizes Aplicaes prticas com matrizes: Classificao e pesquisa de elementos em uma matriz. Matriz com duas dimenses Matrizes de 2 dimenses Operaes com matrizes Tabela com registros Estrutura de um registro Estrutura de um registro de conjuntos Estrutura de um conjunto de registros Utilizao de sub-rotinas As sub-rotinas O mtodo Top-Down Sub-rotinas do tipo Procedimento e do tipo Funo 4. OBJETIVO Desenvolver o raciocnio lgico do aluno modelado s tcnicas e prticas recomendadas e atuais para o desenvolvimento de programao de computadores. 5. INTERDISCIPLINARIDAD E A disciplina possui ligao direta com a de Linguagem de programao 1, pois interage na forma do desenvolvimento do raciocnio lgico que em seguida o aluno o aplica na criao de programas, atravs da linguagem de programao do mdulo. 6. BIBLIOGRAFIA Livros de Linguagem C++ Estudo Dirigido Algoritmos, Jos Augusto Manzano e Jayr Figueiredo, Editora rica Algoritmos, Dirceu Salvetti e Lisbete Madsen Apostilas 7. AVALIAO Duas provas com nota de 0 a 10 , que abrangem os conceitos tericos Trabalho individual, cuja nota chegar at 10 pontos Uma nica prova substitutiva ao final do semestre para os alunos que faltarem no dia da prova. O curso em regime presencial o que impe a necessidade de 75% de freqncia que ser controlada pelo professor atravs de chamada ou lista. Os abonos de faltas sero os previstos na legislao e no regulamento da Instituio, desde que oficializados regularmente e nos prazos estabelecidos cabendo ao professor aplicar os exerccios de recuperao de contedos das aulas perdidas, na forma mais adequada a este objetivo. A mdia final ser obtida pela soma da nota da prova com a(as) notas de trabalhos MF = (P1 + P2 + T) / 3 8. DATAS DAS AVALIAES Prova P1: 14/04/09 Prova P2: 16/06/09 Trabalho T1: 23/06/09 9. COMEANDO... 10. O QUE LGICA? Cincia que estuda as leis do raciocnio. Correo/validao do pensamento. Encadeamento/ordem de idias. Arte de bem pensar. 11. LINGUAGEM DE PROGRAMAO Tipos de Linguagens: Programao Imperativa Programao Funcional Programao baseada em Lgica Programao Orientada por Objetos 12. PROGRAMAO IMPERATIVA Orientada por aes A Linguagem FORTRAN foi criada por um grupo da IBM liderado por John Backus . COBOL foi criada para aplicaes comerciais, cujo objetivo era manipular ficheiros de registros. O ALGOL, criado nos anos 60, serviu de modelo para o Pascal e C. BASIC foi criada para ser simples e usada por no-programadores. 13. PROGRAMAO IMPERATIVA PL/1 foi a 1 Linguagem Generalista, embarcando conceitos do COBOL, FORTRAN e ALGOL. O PASCAL derivou do ALGOL, a linguagem dos anos 70 e 80. A Linguagem C foi orginalmente desenhada para programao de sistemas, hoje largamente utilizadas nas aplicaes. 14. PROGRAMAO FUNCIONAL Os conceitos bsicos das linguagens funcionais originaram do LISP. Utilizada para processamento simblico em: Clculo diferencial e integral, teoria de circuitos eltricos, resoluo de jogos, I.A. 15. PROGRAMAO BASEADA EM LGICA O PROLOG foi originalmente desenhado para processamento de linguagem natural. Tal como LISP usado para processamento simblico em todas as reas da I.A. Nessa linguagem no se descreve o algoritmo para chegar ao resultado, mas a informao base (fatos) e as regras para se pdoer deduzir o resultado. 16. PROGRAMAO ORIENTADA A OBJETOS Quase todas as linguagens j existentes foram modificadas para suportar o paradigma OO (C++, MODULA 3, PROLOG++, etc.) Algumas foram originalmente projetadas para suporte a esse paradgima (SIMULA, SMALLTALK, EIFELL, JAVA), so as chamadas OO puras. 17. O ATO DE PROGRAMAR Programar no um ato mecnico, consegue-se atravs do estudo e principalmente do treino!!!! O Conhecimento da linguagem necessrio, mas no de todo suficiente. Programao o simples ato de escrever idias de outrem: ter essas idias, ser criativo e engenhoso! 18. SEQUNCIA LGICA Seqncia Lgica so passos executados at atingir um objetivo ou soluo de um problema: Chupar uma bala: Pegar a bala Retirar o papel Chupar a bala Jogar o papel no lixo 19. INSTRUES Instrues so um 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. 20. LINGUAGENS DE PROGRAMAO 21. ALGORITMO Algoritmo um conjunto finito de regras, bem definidas, para a soluo de um problema em um tempo finito e com um nmero finito de passos. 22. CARACTERSTICAS DO ALGORITMO Finitude: um algoritmo tem de terminar ao fim de um nmero finito de passos. Definitude: cada passo do algoritmo tem de ser definido com preciso. Entrada: um algoritmo pode ter zero ou mais entradas. Sadas: um algoritmo tem uma ou mais sadas. Eficcia: todas as operaes feitas por um algoritmo tm de ser bsicas. 23. ALGORITMOS Regras: Variveis sos os nicos objetos manipulados pelos algoritmos Os algoritmos s podem memorizar valores em variveis 24. PSEUDOCDIGO Os algoritmos so descritos em uma linguagem chamada pseudocdigo, que uma aluso posterior implementao em uma linguagem de programao Assim os algoritmos so independentes das linguagens de programao. Ao contrrio de uma linguagem de programao no existe um formalismo rgido de como deve ser escrito o algoritmo. 25. REGRAS PARA SE CRIAR O ALGORITMO: Usar somente um verbo por frase Imaginar que voc est desenvolvendo um algoritmo para pessoas que no trabalham com informtica Usar frases curtas e simples Ser objetivo Procurar usar palavras que no tenham sentido dbio 26. MONTAGEM DO ALGORITMO ENTRADA: So os dados de entrada do algoritmo PROCESSAMENTO: So os procedimentos utilizados para chegar ao resultado final SADA: So os dados j processados 27. EXEMPLO 1 Os alunos faro 2 provas: P1 e P2. Calcular a mdia dos alunos do 1 ano: (P1+P2) / 2 Quais os dados de entrada? Qual o processamento? Qual o dado de sada? 28. TESTE DE MESA Aps desenvolver um algoritmo ele dever sempre ser testado. Este teste chamado de TESTE DE MESA, que significa, seguir as instrues do algoritmo de maneira precisa para verificar se o procedimento utilizado est correto ou no. Utilize a tabela abaixo: P1 P2 Mdia 29. DIAGRAMA DE BLOCOS O diagrama de blocos uma forma padronizada e eficaz para representar os passos lgicos de um determinado processamento. Com o diagrama podemos definir uma seqncia de smbolos, com significado bem definido, portanto, sua principal funo a de facilitar a visualizao dos passos de um processamento. 30. O DIAGRAMA DE BLOCOS 31. EXEMPLO 1 DE DIAGRAMA 32. EXEMPLO 2 DE DIAGRAMA 33. DIAGRAMA DE CHAPLIN O diagrama foi criado por Ned Chapin, no qual substituia o fluxograma tradicional por um diagrama que apresenta uma viso hierrquica e estruturada da lgica do programa. A grande vantagem de usar este tipo de diagrama a representao das estruturas que tem um ponto de entrada e um ponto de sada e so compostas pelas estruturas bsicas de controle de seqncia, seleo e repartio 34. O DIAGRAMA DE CHAPLIN 35. REPRESENTAO DE UM ALGORITMO: Algoritmo Incio Fim. 36. PSEUDOCDIGO: Algoritmo Mdia VAR N1, N2, Mdia : real Incio Leia N1, N2 Mdia = 7) Escreva Aprovado Ento Escreva Aprovado Seno Escreva Reprovado Fim. 37. ESTRUTURAS BSICAS: Tipos de Dados Constantes Variveis 38. TIPOS DE DADOS: Inteiros: So caracterizados por dados numricos positivos ou negativos. Excluindo-se destes qualquer nmero fracionrio. Como exemplo deste tipo de dado, tem-se os valores: 35, 0, -56, 1024 entre outros. 39. TIPOS DE DADOS: Reais: So os dados numricos positivos e negativos e nmeros fracionrios. Como exemplo deste tipo de dado, tem-se os valores: 35, 0, -56, 1.2, -45.987 entre outros. 40. TIPOS DE DADOS: Caracteres: So as seqncias contendo letras, nmeros e smbolos especiais. Uma seqncia de caracteres deve ser indicada entre aspas (). Este tipo de dado tambm conhecido como alfanumrico, string, literal ou cadeia. Como exemplo deste tipo de dado, tem-se os valores: Programao, Rua Alfa, 52 Apto 1, Fone 574-9988, 04387- 030, , 7 entre outros. 41. TIPOS DE DADOS: Lgicos: So os dados com valor verdadeiro e falso, sendo que este tipo de dado poder representar apenas um dos dois valores. Ele chamado por alguns de tipo booleano, devido contribuio do filsofo e matemtico ingls George Boole na rea da lgica matemtica. 42. CONSTANTES: Tm-se como definio de constante tudo aquilo que fixo ou estvel. Existiro vrios momentos em que este conceito dever estar em uso, quando desenvolvermos programas. EX: CONST pi = 3.14159 43. VARIVEIS: Todas as variveis utilizadas em algoritmos devem ser definidas antes de serem utilizadas. Isto se faz necessrio para permitir que o compilador reserve um espao na memria para as mesmas. Ex: VAR nome: caracter[30] idade: inteiro salrio: real tem_filhos: lgico 44. EXPRESSES E OPERADORES: Operadores Aritmticos: Hierarquia das Operaes Aritmticas: 1 ( ) Parnteses 2 Exponenciao 3 Multiplicao, diviso (o que aparecer primeiro) 4 + ou (o que aparecer primeiro) 45. EXPRESSES E OPERADORES: Operadores Operacionais: 46. EXPRESSES E OPERADORES: Operadores Lgicos: E-AND, OU-OR, NO-NOT </p>