Baixe o app para aproveitar ainda mais
Prévia do material em texto
Aula 15 - 25/10/2006 1 Informática I Aula 15 http://www.ic.uff.br/~bianca/informatica1/ Aula 15 - 25/10/2006 2 Ementa – Histórico dos Computadores – Noções de Hardware e Software – Microprocessadores – Sistemas Numéricos e Representação de Dados – Estrutura e Organização da Informação – Linguagens de Programação – Sistemas Operacionais – Redes de Computadores e Internet – Engenharia de Software – Softwares Aplicativos – Aspectos Legais do Software Aula 15 - 25/10/2006 3 Tipos de Linguagens de Programação • Linguagens de baixo nível: Assembler. • Linguagens não estruturadas: Cobol e Basic. • Linguagens procedurais: C, Pascal, Fortran, Ada, Modula 2 e Modula 3. • Linguagens orientadas a objeto: Simula, Smalltalk, C++ e Java. • Linguagens funcionais: Prolog, LISP e Scheme. • Linguagens específicas: SQL, HTML, Perl. • Linguagens visuais: Simulink, Visual Basic e Delphi. Aula 15 - 25/10/2006 4 Linguagens Procedurais vs. Linguagens Funcionais • Nas linguagens procedurais, a programação é baseada na execução sequencial de comandos. – Variáveis são definidas. – Comandos alteram o valor das variáveis. – Repetição é realizada através de comandos explícitos (for, while). • Nas linguagens funcionais, a programação é feita somente através da definição de funções. – Funções podem receber outras funções como parâmetro. – A repetição é feita através da recursão: uma função chama a si mesma. Aula 15 - 25/10/2006 5 Exemplo: Números de Fibonacci • Os números de Fibonacci são uma sequência definida recursivamente por: • 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765, 10946, … Aula 15 - 25/10/2006 6 Números de Fibonacci em Linguagem Procedural (Pascal) procedure Fibonacci(n:integer); var F : array[1...n] of integer; var i : integer; begin F[1] = 0; F[2] = 1; i := 3; while (i<=n) do begin F[i] := F[i-1] + F[i-2]; i := i+1; end; end. Aula 15 - 25/10/2006 7 Números de Fibonacci em Linguagem Funcional (LISP) (defun fib(n) (if (<= n 2) 1 (+ (fib (- n 1))(fib (-n 2))) ) ) Aula 15 - 25/10/2006 8 Exercício • Programar a função fatorial em LISP: (defun fatorial(n) (if (<= n 1) 1 (* n (fatorial (-n 1))) ) Aula 15 - 25/10/2006 9 Linguagem Lisp • Foi inventada em 1958 por John McCarthy no MIT. – Segunda linguagem de programação de alto nível, veio depois de Fortran. • O nome Lisp veio de “List Processing” = Processamento de Listas. – Listas são objetos básicos em Lisp. – Trocadilho Lisp = “Lots of Irritant Stupid Parenthesis”. • A linguagem foi muito utilizada em pesquisas na área de Inteligência Artificial. • Nos anos 80 e 90, vários dialetos de LISP foram unificados no dialeto Common Lisp. – Outro dialeto que sobrevive é o Scheme.
Compartilhar