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

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

Introdução à Programação uma Abordagem Funcional Programação I Prof.ª Claudia Boeres CT VII - Sala 32 Departamento de Informática Centro.

Apresentações semelhantes


Apresentação em tema: "Introdução à Programação uma Abordagem Funcional Programação I Prof.ª Claudia Boeres CT VII - Sala 32 Departamento de Informática Centro."— Transcrição da apresentação:

1 Introdução à Programação uma Abordagem Funcional Programação I Prof.ª Claudia Boeres boeres@inf.ufes.br CT VII - Sala 32 Departamento de Informática Centro Tecnológico Universidade Federal do Espírito Santo

2 Por que programar? para criar ferramentas para automatizar processos para simulações computacionais …

3 A que se destina esse curso? aprendizagem de conceitos e métodos básicos para a construção de um programa em um computador para a resolução de problemas

4 O que é necessário? um computador um editor de texto aprender uma linguagem de programação aprender a utilizar um interpretador de programas no linux e/ou no windows

5 O que é um computador? máquina de processar dados numéricos ou simbólicos hardware + dispositivos software é capaz de interpretar dados, produzir novos resultados, aceitar novos conceitos para interpretação de novas situações.

6 Arquitetura de Von Neumann

7 Hardware + dispositivos todo o processamento e armazenamento de informações em um computador são realizados via sinais digitais chamados de bits: 0 (desligado) e 1 (ligado) byte: agrupamento de 8 bits Memória: memória RAM (Random Acess Memory) memória ROM (Read Only Memory) memória auxiliar ou externa (cd, usb, disco rígido,...)

8 O que faz um computador? Processamento DadosResultado resolve problemas de forma automática!!!

9 Para que usar um computador? tradução e edição de textos reconhecimento de imagens gerenciamento de bancos roteamento de mensagens em redes de computadores …

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

11 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.

12 Fonte: google images Navegação automática de robos a) qual o problema que quero resolver? b) é preciso fornecer informações? compreensão do problema dados de entrada

13 Fonte: google images Navegação automática de robos c) qual a estratégia de solução que devo adotar? planejando a solução d) como automatizar o processo? codificando por meio de um programa de computador e) funciona? TESTES!!!!

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

15 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.

16 Propriedades de um programa correção: o programa deve descrever corretamente o conhecimento segundo a intenção desejada e para cada entrada, deve executar e parar com a saída correta soma x y = x + y f x = 1/x eficiência: o programa deve usar de forma adequada os recursos da máquina (espaço de memória e tempo de execução) ordenação de elementos

17 Ordenação de elementos Bubble sortQuick sort Fonte: google images

18 Paradigmas de Linguagem de Programação uma forma específica de se pensar em programação Exemplos: – procedural – funcional partir da rua X andar 100 metros virar a direita subir e descer a ladeira virar a esquerda andar 20 metros chegou ao destino como fazer! o que fazer! Fonte: google images

19 Programação Funcional elaborar programas para uma máquina funcional que: – avalia expressões escritas segundo regras sintáticas bem definidas; – aceita a definição de novas funções; – avalia funções

20 Máquina Funcional lê expressão avalia exibe resultado 2+4 Soma de 2 e 4 6

21 Máquina funcional usuário: 4 – 2 resposta: 2 usuário: f 3 - 2 resposta: definição de f não conhecida usuário: carrega arquivo com funções resposta: ok usuário: f 3 - 2 resposta: 2 f x = x + 1 Arquivo texto

22 Recordando funções matemáticas 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.

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

24 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)}

25 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}

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

27 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 eficiência, se aplicam a qualquer artefato. Escolha 3 artefatos quaisquer e discuta os dois conceitos.


Carregar ppt "Introdução à Programação uma Abordagem Funcional Programação I Prof.ª Claudia Boeres CT VII - Sala 32 Departamento de Informática Centro."

Apresentações semelhantes


Anúncios Google