A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Introdução à Programação: uma Abordagem Funcional PD I – Engenharia Elétrica Prof.ª Claudia Boeres 2008/2.

Apresentações semelhantes


Apresentação em tema: "Introdução à Programação: uma Abordagem Funcional PD I – Engenharia Elétrica Prof.ª Claudia Boeres 2008/2."— Transcrição da apresentação:

1 Introdução à Programação: uma Abordagem Funcional PD I – Engenharia Elétrica Prof.ª Claudia Boeres 2008/2

2 Conceitos Básicos construção de programas para computadores; solução de problemas x soluções prontas devem satisfazer requisitos de qualidade construção de programas: através da descrição de funções

3 Computadores máquina de processar dados numéricos ou simbólicos hardware + software é capaz de interpretar dados, produzir novos resultados, aceitar novos conceitos para interpretação de novas situações.

4 Máquina de Von Neumann

5 Memória memória RAM (Random Acess Memory) memória ROM (Read Only Memory) memória auxiliar ou externa (cd, usb, disco rígido,...)

6 Representação/armazenamento da informação BIT:menor unidade de informação (0 ou 1) Medidas: 1 byte : 8 bits 1 Kbyte: 1024 bytes 1 Mbyte: 1024 Kbytes 1 Gbyte: 1024 Mbytes

7 Exemplos de utilização tradução e edição de textos reconhecimento de imagens gerenciamento de bancos roteamento de mensagens em redes de computadores etc.

8 O que é programar? identificar, organizar e codificar o conhecimento para a descrição de um conceito para o computador.

9 O que é necessário para programar? compreender o problema a ser resolvido; planejar uma solução; descrever a solução por meio de uma linguagem de programação; testar o programa com o objetivo de verificar se ele resolve o problema.

10 Linguagem de Programação formalismo: padrões segundo os quais um agente possa interpretar e/ou descrever informação formalismo = sintaxe + semântica

11 Por que usar linguagem de programação? não é possível ainda usar linguagem natural para programar no computador; a linguagem de máquina é difícil de ser compreendida; são mais próximas da linguagem natural, podendo-se focar no problema e não nas dificuldades de entendimento da linguagem; tradutores.

12 Propriedades de um programa correção: o programa deve descrever corretamente o conhecimento segundo a intenção desejada; desempenho: o programa deve usar de forma adequada os recursos e o tempo da máquina considerada.

13 Paradigmas de Linguagem de Programação uma forma específica de se pensar em programação procedural, funcional e o lógico

14 Programação Funcional podemos entender o computador como uma máquina funcional, capaz de: avaliar expressões escritas segundo regras sintáticas bem definidas; aceitar a definição de novas funções e considerá-las na avaliação de expressões

15 Máquina Funcional lê expressão avalia exibe resultado

16 Exemplo usuário: 4 * 3 – 2 máquina funcional: 10 usuário: f 2 + 10 máquina funcional: definição de f não conhecida usuário: carrega arquivo com funções máquina funcional: ok usuário: f 2 + 10 máquina funcional: 13 f x = x + 1 Arquivo texto

17 Funções associação entre elementos de dois conjuntos A e B tal que o conjunto de partida A seja igual ao domínio da função; em outras palavras: seja F uma função de A em B. Então F representa o conjunto de pares ordenados (x,y) tais que para todo x A, existe y B, tal que (x, y) F.

18 Funções Seja f uma função de A em B. Então: f é uma função total se Domínio (f) = A f é uma função parcial se Domínio (f) A

19 Exemplos a) A = {a, b, c}, B = {1, 2, 3} f: A B tq f = {(a,1), (b,1), (c,3)} b) A = {1, 2, 3}, B = {a, e, i, o, u} f: A B tq f = {(1,a), (2,e), (2,i), (3,o)} c) A = {a, b, c}, B = {1, 2, 3} f: A B tq f = {(a,1), (b,1)}

20 Descrições Funcionais extensional: todos os elementos são explicitados f = {(a,1), (b,2), (c,3)} intencional: os elementos são descritos através de um critério de pertinência f = {(x,y) | x e y = 2x}

21 Exemplos a) f: tq f (x) = 1/x b) g: tq g(y) = y – 1 c) f: tq f (x) = x 2 - 1

22 Por que aprender programação através do paradigma funcional? este é o momento inicial, propício para estimular a busca de problemas e apresentação dos fundamentos; o paradigma procedural requer o bom entendimento do funcionamento de um computador (máquina de Von Neumann);

23 Por que aprender programação através do paradigma funcional? o paradigma lógico: requer conhecimento de lógica matemática; o paradigma funcional: requer o conhecimento de funções; a ineficiência de linguagens funcionais tem se reduzido em relação a linguagens procedurais; descrições funcionais podem servir como especificações do programa (correção), já que descrevem o que fazer ao invés de como fazer.

24 Exercícios 1. Conceitue programação de computadores. 2. Quais os principais paradigmas de programação e o que os diferenciam. 3. Faça uma descrição intencional da função: F = {1,3,5,7,...}. 4. Faça uma listagem de outros exemplos de programas de computador que são usados hoje em diferentes áreas do conhecimento e por diferentes profissionais. 5. Apresente exemplo de outras linguagens técnicas usadas pelo ser humano para descrever conhecimento. 6. Os conceitos de correção e de desempenho, se aplicam a qualquer artefato. Escolha 3 artefatos quaisquer e discuta os dois conceitos.


Carregar ppt "Introdução à Programação: uma Abordagem Funcional PD I – Engenharia Elétrica Prof.ª Claudia Boeres 2008/2."

Apresentações semelhantes


Anúncios Google