Paradigmas de Linguagem de Programação
|
|
- Mikaela Fontes di Castro
- 5 Há anos
- Visualizações:
Transcrição
1 Paradigmas de Linguagem de Programação Evolução das Linguagens de Programação Histórico das Linguagens de Programação Década de 40: código de máquina No início da década não havia nenhuma linguagem de programação de alto nível e nem linguagem de montagem; Problemas no desenvolvimento com código de máquina motivaram inventar os assemblers e as linguagens de montagem; Problemas que demoravam duas semanas para rodar em código de máquina, podiam ser programados em algumas horas usando Speedcoding. Linguagens Short code, Speedcoding. 1
2 Histórico das Linguagens de Programação Década de 50: Programação Alto Nível Formatação de entrada e saída; Nome de variáveis de até 6 caracteres (no Fortran 1, pois no Fortran 0 eram apenas 2 caracteres); Instrução de seleção IF e a instrução DO LOOP; Interesse por IA em meados do século; Fortran mudou drasticamente e para sempre o uso de computadores. Linguagens Primeira linguagem de alto nível compilada (Imperativa): Fortran Linguagem para Inteligência Artificial (Funcional): LISP Histórico das Linguagens de Programação Década de 60: Independência de Arquitetura Algol influenciou as linguagens de programação subsequente; Permitiu dois meios diferentes de passagem de parâmetros: por valor e por nome; Permitiu que os procedimentos fossem recursivos; Surge o acesso por terminal remoto a um computador (antes disso, a maioria dos programas eram introduzidos por cartão perfurados ou fita de papel); Linguagens Paradigma Estruturado: ALGOL Paradigma Orientado a Objeto: COBOL Paradigma Procedural: Basic 2
3 Histórico das Linguagens de Programação Década de 70: Simplicidade de Projeto Linguagem mais segura PASCAL; A academia troca o ensino do FORTRAN para PASCAL; Pouca contribuição para o desenvolvimento de novas linguagens; Instruções de controle adequadas e facilidades de estruturação de dados; Linguagens Paradigma Estruturado: PASCAL Paradigma Imperativo: C Histórico das Linguagens de Programação Década de 80: modularização Ênfase em mecanismos de LP e abstrações Correção de programas: verificação de tipos, exceções Programação em tempo real, e concorrente e distribuída Programação orientada a objetos (herança) Linguagens Programação distribuída: ADA 83 Orientada a Objetos: Smalltalk 3
4 Histórico das Linguagens de Programação Década de 90: base na estrutura Estruturação de Dados: encapsulamento Estruturação da Computação: classe Estruturação do Programa: classes e objetos Programação para Internet: plataforma neutra Linguagens Object Pascal C++ ADA 95 Java Histórico das Linguagens de Programação 4
5 Classificação das Linguagens de Programação 1 Quanto ao Nível 2 Quanto a Geração 3 Quanto ao Paradigma Classificação das LPs - Quanto ao Nível 1.1 Baixo Nível 1.2 Médio Nível 1.3 Alto Nível 5
6 Classificação das LPs - Quanto ao Nível Baixo Nível São linguagens voltadas para a máquina; Genericamente são chamadas de linguagens Assembly. Classificação das LPs - Quanto ao Nível Baixo Nível Vantagens: Maior velocidade de processamento; ocupa menos espaço na memória. Desvantagens: Pouca portabilidade, logo, um código gerado para um tipo de processador não serve para outro; difícil de ser programado. 6
7 Classificação das LPs - Quanto ao Nível Médio Nível São linguagens voltadas ao ser humano e a máquina; Possuem comandos muito simples e outros muito complicados; Exemplo: Linguagem C Pode-se acessar registros do sistemas, acessar diretamente a memória e, ao mesmo tempo, realizar operações de alto nível como condicionais e estrutura de repetição. Classificação das LPs - Quanto ao Nível Baixo Nível Vantagens: Linguagens poderosas, permitindo o desenvolvimento de diversos tipos de softwares, desde os mais simples aos mais complexos. Desvantagens: Alguns comandos com sintaxe muito difícil de compreender. 7
8 Classificação das LPs - Quanto ao Nível Alto Nível São linguagens voltadas ao ser humano; Utilizam sintaxe mais estruturada, tornando o seu código mais fácil de entender e de reparar; São linguagens independentes da arquitetura do computador*; Classificação das LPs - Quanto ao Nível Alto Nível Vantagens: por serem compiladas ou interpretadas, possuem maior portabilidade, podendo ser executadas em várias plataformas com o mínimo de alterações; Por ser uma linguagem menos estruturada, a programação torna-se mais fácil Desvantagens: As rotinas geradas (em linguagem de máquina) são mais genéricas e, por tanto, mais complexas e assim, são mais lentas e ocupam mais memória. 8
9 Classificação das LPs - Quanto a Geração 2.1 1ª Geração 2.2 2ª Geração 2.3 3ª Geração 2.4 4ª Geração 2.5 5ª Geração Classificação das LPs - Quanto a Geração Primeira Geração Os primeiros computadores eram programados em linguagem de máquina, em notação binária A instrução , quando executada, realiza a soma do valor armazenado no registrador 0001, com o dado armazenado na posição de memória
10 Classificação das LPs - Quanto a Geração Segunda Geração Compreende as linguagens simbólica ou de montagem (Assembly); Foi projetada para minimizar as dificuldades da programação em notação binária Códigos de operação e endereços binários foram substituídos por mnemônicos: mov, mul, add, label, goto Assim, a instrução de máquina evoluiu para: ADD R1, Total Classificação das LPs - Quanto a Geração Segunda Geração 10
11 Classificação das LPs - Quanto a Geração Segunda Geração Projeto em Delphi 22 linhas, revertendo para Assembly terá aproximadamente 15 mil linhas! Classificação das LPs - Quanto a Geração Terceira Geração Linguagem orientada ao usuário Surgiram na década de 60 Algumas são voltadas a solução de problemas científicos: Fortran, Pascal, Algol. Outras são voltadas para solução de problemas comerciais: Cobol Linguagens Procedimentais (procedurais ou imperativas) e Linguagens Declarativas 11
12 Classificação das LPs - Quanto a Geração Terceira Geração Linguagem Procedimentais: o programa específica uma sequência de passos (procedimentos) para solucionar um problema As instruções pertencem geralmente a três classes: - instruções de entrada e saída - instruções de cálculos aritméticos e lógicos - instruções de controle de fluxo de execução. Classificação das LPs - Quanto a Geração Terceira Geração Linguagens Declarativas: dividem-se em duas classes: Funcionais - Baiseiam-se na teoria das funções recursivas (LISP) Lógicas - A base é a lógica matemática, um programa declara fatos (dados e relações entre eles) e cláusulas lógicas (regras de dedução), permitindo deduzir novas verdades (PROLOG) 12
13 Classificação das LPs - Quanto a Geração Terceira Geração Exemplo Prolog: gosta(joão,flores). gosta(joão,maria). gosta(paulo,maria). Em seguida realizaremos uma questão:?- gosta(joão,x). Classificação das LPs - Quanto a Geração Terceira Geração Exemplo Prolog: Dados os fatos: pai(arthur,silvio). pai(arthur,carlos). pai(carlos,xico). pai(silvio,ricardo). Utilizaremos a seguinte regra: avo(x,z) :- pai(x,y), pai(y,z). Se colocarmos as querys abaixo, qual serão as saídas (YES ou NO)??- avo(arthur,xico),avo(arthur,ricardo).?- avo(carlos,arthur),avo(silvio,arthur). 13
14 Classificação das LPs - Quanto a Geração Terceira Geração Classificação das LPs - Quanto a Geração Quarta Geração Linguagens orientadas à aplicação Os programas escritos em linguagens de quarta geração necessitam de menor número de linhas de código Em geral, essas linguagens são projetadas para atender a classes específicas de aplicações Facilita a programação e o produto final é intuitivo para o usuário* Mais agilidade para o desenvolvimento de aplicações Minimiza o problema de depuração Exemplo de linguagens: SQL, PHP 14
15 Classificação das LPs - Quanto a Geração Quinta Geração São usadas principalmente na área de IA sistemas especialistas, processadores de linguagem natural e sistemas com bases de conhecimento Facilitam a representação do conhecimento que é essencial para a simulação de comportamentos inteligentes Armazena conhecimento complexo de modo que a máquina pode obter inferências a partir da informação codificada Classificação das LPs Quanto ao Paradigma Dicionário: 1. Algo que serve de exemplo geral ou de modelo; 2. Conjunto das formas que servem de modelo de derivação ou de flexão; 3. Conjunto dos termos ou elementos que podem ocorrer na mesma posição ou contexto de uma estrutura. 15
16 Classificação das LPs Quanto ao Paradigma Forma utilizada para resolver um problema computacional; O paradigma de uma linguagem de programação é a sua identidade Pode dizer-se que um paradigma é um ponto de vista que determina como uma realidade é entendida e como se atua sobre ela Classificação das LPs Quanto ao Paradigma Algumas linguagens criadas durante a história, introduziram novas formas de se pensar sobre programação, resultando em formas (paradigmas) distintas de soluções para problemas de algoritmos Fortran: imperativa LISP: funcional Simula: orientada a objetos Prolog: lógica 16
17 Classificação das LPs Quanto ao Paradigma Outras linguagens são evolução de linguagens mais antigas Exemplo: Linguagem C++ Trata-se de uma evolução da linguagem C (imperativa) com características de orientação a objetos, importadas de Simula Exemplo: Linguagem C++ Paradigma orientada a objetos + paradigma concorrente Exemplo: ADA Paradigma Imperativo + paradigma concorrente Classificação das LPs Quanto ao Paradigma 17
18 Alguns dos Principais Paradigmas Paradigma Imperativo (estado, atribuição, sequência) Basic, Pascal, C, Assembly, ADA Paradigma Funcional (função, aplicação, avaliação) Lisp, Miranda, Haskell, SCHEME Paradigma Lógico (relação, dedução) Prolog Paradigma Orientado a Objetos (objeto, troca de mensagem) C++, JAVA, Eiffel, Ocaml, Python Paradigma Concorrente (processo, comunicação síncrona ou assíncrona) Ada, JAVA Histórico das Linguagens de Programação As linguagens a seguir foram selecionadas com base nos rankings TIOBE e IEEE Spectrum; Como os rankings sofrem atualizações constantes, serão apresentadas as linguagens que ficaram nos primeiros lugares e outras com tendência de subir no ranking. 18
19 Ranking IEEE Spectrum Figura1 Ranking IEEE Spectrum (2017) Ranking IEEE Spectrum Figura2 Ranking IEEE Spectrum WEB (2017) 19
20 Ranking IEEE Spectrum Figura3 Ranking IEEE Spectrum MOBILE (2017) Ranking IEEE Spectrum Figura4 Ranking IEEE Spectrum Acadêmico e Empresarial (2017) 20
21 Ranking IEEE Spectrum Figura5 Ranking IEEE Spectrum Embarcado (2017) Ranking TIOBE Figura6 Ranking TIOBE (2017) 21
22 C (2º IEEE, 2º TIOBE) História Década de 70: Dennis Ritchie AT&T Bell Labs; Seu uso inicial ficou restrito a alguns laboratórios; Kernighan e Ritchie lançaram o livro The C Programming Language; A partir desta publicação, C ganhou novas características: Biblioteca padrão de I/O, structs, long int, unsign int; De 1983 a 1989 comitê ANSI. Características Paradigma Imperativo; Acesso direto a memória e disco. Hello, World! #include <stdio.h> int main(void) { for(int i=0; i<4; i++) printf("hello, world!\n"); } return 0; 22
23 C++ (4º IEEE, 3º TIOBE) História Década de 80: Bjarne Stroustrup; Objetivo inicial era criar uma nova versão para o Kernel Unix; Durante o desenvolvimento do novo kernel, novas funcionalidades foram adicionadas a linguagem C; O nome inicial era C com classes, 3 anos depois passou a ser chamada de C++. Características Multi-Paradigma; Compatibilidade com C; Portabilidade. Hello, World! #include <iostream> int main() { for(int i=0; i<4; i++) std::cout << "Hello, world!\n"; } 23
24 JAVA (3º IEEE, 1º TIOBE) História Década de 90: Projeto Green Sun Microsystem; Criar novas tecnologias que permitissem a comunicação entre diferentes dispositivos (TV, vídeo cassete, etc); O projeto não deu certo origem à Linguagem Java; A expansão da internet permitiu o crescimento e popularização da linguagem. Características Sintaxe similar a outras mais antigas como C e C++; Paradigma Orientado a Objetos; Portabilidade: WORA. Hello, World! import java.util.*; import java.lang.*; class Rextester { public static void main(string args[]) { for(int i=0; i<4; i++) System.out.println("Hello, World!"); } } 24
25 Python (1º IEEE, 5º TIOBE) História Início dos anos 90 Instituto de Pesquisa Nacional para Matemática e Ciência da Computação (CWI) Países Baixos; Parte da sintaxe deriva de C; Terceira versão da linguagem foi lançada em dezembro de 2008; Características Legibilidade do código, com sintaxe moderna e clara; Suporte a múltiplos paradigmas de programação; Poema: The Zen of Python Hello, World! for x in range(0, 4): print ("Hello, World!") 25
26 JavaScript (7º IEEE, 7º TIOBE) História JavaScript Java; Desenvolvida pela Netscape com nome de LiveScript; Criada para navegadores com objetivo de proporcionar maior interatividade nas páginas; Sua última versão é de março de 2011; Influenciada por C e Java; Características Não é exatamente uma linguagem de programação; Pode ser executada dentro de programas ou dentro de outras linguagens; Client-Side. Hello, World! for (var i = 0; i < 4; i++) { } print("hello, world!") 26
27 PHP (8º IEEE, 6º TIOBE) História Criada em 1994; Em 1997 foi lançado um pacote trazendo um interpretador de comandos SQL; A terceira versão (PHP 3) contava com o recurso de orientação a objetos; Em 1998, Zeev e Gutmans escreveram o PHP 4, abandonando completamente o PHP 3; O PHP 5 veio para corrigir algumas falhas em relação a OO presente no PHP5; Características Modularizada, ideal para servidores web; Suporte a programação estruturada e a orientação a objetos; Server-side. Hello, World! <?php for($i = 0; $i < 4; $i++){ echo "Hello, world! "; }?> 27
28 C# (5º IEEE, 4º TIOBE) História Julho 2002: Microsoft; Faz parte de um conjunto de ferramentas oferecidas na plataforma.net, a qual foi criada para melhorar a comunicação entre diferentes tecnologias utilizadas pela empresa; Pensava-se que C# era uma sobreposição de 4 símbolos +; Porém, a cerquilha se refere ao sinal sustenido, o qual aumenta em meio tom uma nota; Foram realizadas 6 versões, e a sétima está em desenvolvimento. Características Paradigma orientado a objetos; Interface Web; Componentes de softwares de diferentes linguagens podem interagir; Sintaxe simples e de fácil compreensão. Hello, World! public class Program { public static void Main(string[] args) { for(int i=0; i<4; i++) Console.WriteLine("Hello, world!"); } } 28
29 Kotlin (- IEEE, 44 TIOBE) História Junho de JetBrains; Segundo o criador, Dmitry Jemerov, a maioria das linguagens não possuíam as características que eles estavam procurando; O objetivo era criar uma linguagem que compilasse tão ou mais rápido que o java; Em 2017 o google anunciou suporte oficial para o Kotlin; Características Paradigma orientado a objetos; Interoperável com código java; Influenciada por java, C# e Scala. Hello, World! fun main(args: Array<String>) { for (i in 1..4) println("hello, world!") } 29
30 Swift (10º IEEE, 12º TIOBE) História Apresentada pela Apple em 2015; Sua criação levou 5 anos; A linguagem é uma alternativa a objective-c; Linguagem open source liberdade para os programadores; Características Uso geral; Multi-paradigmática. Hello, World! for i in 0..<4 { } print("hello, world!") 30
31 Escolha de uma linguagem de programação O programador deve escolher a mais adequada para usar em cada aplicação; A escolha da LP está diretamente ligada a três fatores: Complexidade do sistema a ser desenvolvido; Características peculiares da aplicação; Facilidades que as linguagens oferecem ao suporte de metodologias de desenvolvimento. Atividade Veja a atividade no site 31
32 Referências Material de aula professor Celso Olivete Júnior UNESP SEBESTA, Robert W. Conceitos de linguagens de programação. 9ª ed. Porto Alegre: Bookman, p. ISBN IEEE Spectrum. Disponível em: TIOBE. Disponível em: 32
Paradigmas de Linguagem de Programação. Linguagens de Programação Análise histórica e atual
Paradigmas de Linguagem de Programação Linguagens de Programação Análise histórica e atual Histórico das Linguagens de Programação Década de 40: código de máquina No início da década não havia nenhuma
Leia maisConceitos de Linguagens de Programação - Características. Paavo Soeiro
Conceitos de Linguagens de Programação - Características Paavo Soeiro Motivação Para que possa escolher uma linguagem apropriada ao problema. Melhorar o entendimento da linguagem utilizada. Facilitar o
Leia maisInformática I. Aula Aula 18-29/10/2007 1
Informática I Aula 18 http://www.ic.uff.br/~bianca/informatica1/ Aula 18-29/10/2007 1 Ementa Noções Básicas de Computação (Hardware, Software e Internet) HTML e Páginas Web Internet e a Web Javascript
Leia maisCONCEITOS DE LINGUAGENS DE PROGRAMAÇÃO
CONCEITOS DE LINGUAGENS DE PROGRAMAÇÃO ROTEIRO 1. INTRODUÇÃO 2. LINGUAGENS IMPERATIVAS 1. CONCEITO 2. PARADIGMA IMPERATIVO 3. ORIGENS 4. MODELO COMPUTACIONAL 1. ARQUITETURA DE VON NEUMANN 2. CARACTERISTICAS
Leia maisParadigmas de Linguagens
Paradigmas de Linguagens Paradigma Imperativo Professora Sheila Cáceres Paradigma Imperativo Um pouco de historia Paradigma fundamentado no conceito de máquina de Turing. A máquina de Turing é uma abstração
Leia maisAspectos preliminares
Aspectos preliminares Linguagens de Programação Marco A L Barbosa cba Este trabalho está licenciado com uma Licença Creative Commons - Atribuição-CompartilhaIgual 4.0 Internacional. http://github.com/malbarbo/na-lp-copl
Leia maisFundamentos de Programação 1
Fundamentos de Programação 1 Slides N. 2 E / Prof. SIMÃO Slides elaborados pelo Prof. Robson Linhares elaborados pelo Prof. Robson Linhares http://www.dainf.ct.utfpr.edu.br/~robson/ Jean Marcelo SIMÃO
Leia maisLinguagens de Programação
Linguagens de Programação Prof a Jerusa Marchi Departamento de Informática e Estatística Universidade Federal de Santa Catarina e-mail: jerusa@inf.ufsc.br Linguagens de Programação p. 1/5 Linguagens de
Leia maisInformática I. Aula 9. Aula 9-17/05/2006 1
Informática I Aula 9 http://www.ic.uff.br/~bianca/informatica1/ Aula 9-17/05/2006 1 Ementa Histórico dos Computadores Noções de Hardware e Software Microprocessadores Sistemas Numéricos e Representação
Leia maisAlgoritmos e Programação
ESTADO DE MATO GROSSO SECRETARIA DE ESTADO DE CIÊNCIA E TECNOLOGIA UNIVERSIDADE DO ESTADO DE MATO GROSSO CAMPUS UNIVERSITÁRIO DE SINOP FACULDADE DE CIÊNCIAS EXATAS E TECNOLÓGICAS CURSO DE ENGENHARIA ELÉTRICA
Leia maisAlgoritmos e Programação
ESTADO DE MATO GROSSO SECRETARIA DE ESTADO DE CIÊNCIA E TECNOLOGIA UNIVERSIDADE DO ESTADO DE MATO GROSSO CAMPUS UNIVERSITÁRIO DE SINOP FACULDADE DE CIÊNCIAS EXATAS E TECNOLÓGICAS Algoritmos e Programação
Leia maisLinguagens de Programação
Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação Linguagens de Programação DCA0800 - Algoritmos e Lógica de Programação Heitor Medeiros 1 Tópicos da aula
Leia maisFundamentos de Programação 1
Fundamentos de Programação 1 Slides N. 2 - A Prof. SIMÃO Jean Marcelo SIMÃO Computador Noção elementar de um computador. - Dipositivo para processar informação. Processador Sistema Operacional (SO) Aplicativos
Leia maisCurso: Análise e Desenvolvimento de Sistemas. (Introdução a disciplina Algoritmos e Programação)
Curso: Análise e Desenvolvimento de Sistemas Disciplina Algoritmos e Programação (Introdução a disciplina Algoritmos e Programação) Prof. Wagner Santos C. de Jesus wsantoscj@gmail.com Conceito de Lógica
Leia maisRevisão: linguagens de programação
Revisão: linguagens de programação Definição, histórico, paradigmas e semântica Prof. Thiago A. S. Pardo taspardo@icmc.usp.br Definição Uma linguagem de programação é uma linguagem destinada a ser usada
Leia maisProgramação de Computadores:
Instituto de C Programação de Computadores: Introdução a Linguagens de Programação Luis Martí Instituto de Computação Universidade Federal Fluminense lmarti@ic.uff.br - http://lmarti.com Seis Camadas Problema
Leia maisParadigmas. Fortran, Algol, Algol-68, Pascal, C, Cobol, PL/I
Paradigmas Paradigmas Tradicional Fortran, Algol, Algol-68, Pascal, C, Cobol, PL/I Paradigmas Tradicional Fortran, Algol, Algol-68, Pascal, C, Cobol, PL/I OO Simula-67, Smalltalk, C++, Eiffel, Object Pascal,
Leia maisIntrodução à Programação Aula 03. Prof. Max Santana Rolemberg Farias Colegiado de Engenharia de Computação
Aula 03 Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação Linguagens de Programação A primeira linguagem de programação foi criada por Ada Lovelace. Amiga
Leia mais3. Linguagem de Programação C
Introdução à Computação I IBM1006 3. Linguagem de Programação C Prof. Renato Tinós Departamento de Computação e Matemática (FFCLRP/USP) 1 Principais Tópicos 3. Linguagem de programação C 3.1. Conceitos
Leia maisLinguagens de Programação
Curso Superior em Análise e Desenvolvimento de Sistemas História da Ciência e da Tecnologia - (HCT) Linguagens de Programação Alunas: Érika H. Gamas Flávia G. Pereira Melissa B. Alcantud Thaynara da Silva
Leia maisInformática I. Aula 9. Aula 9-27/09/2006 1
Informática I Aula 9 http://www.ic.uff.br/~bianca/informatica1/ Aula 9-27/09/2006 1 Ementa Histórico dos Computadores Noções de Hardware e Software Microprocessadores Sistemas Numéricos e Representação
Leia maisProgramação de Computadores IV. Introdução a Linguagens de Programação Simone Martins SLIDES CEDIDOS POR BRUNO MARQUES 1
Programação de Computadores IV Introdução a Linguagens de Programação Simone Martins simone@ic.uff.br SLIDES CEDIDOS POR BRUNO MARQUES 1 Arquitetura de programação 2 O Que é um Dado? Dado é o elemento
Leia maisAula 1 Java Prof. Dr. Sylvio Barbon Junior
5COP101 Linguagens de Programação Aula 1 Java Prof. Dr. Sylvio Barbon Junior Sylvio Barbon Jr barbon@uel.br 1 Sumário 1) Razões para Estudar Conceitos de LP; 2) Domínios das Linguagens de Programação 3)
Leia maisParadigmas de Linguagem de Programação. Aspectos Básicos
Paradigmas de Linguagem de Programação Aspectos Básicos Introdução Nesta segunda etapa de nossos estudos, veremos: aspectos básicos de programa e linguagem de programação; revisão de conceitos de compilador
Leia maisLAPRO I. Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Informática - FACIN. Prof. Dr. Rafael Garibotti
Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Informática - FACIN LAPRO I Prof. Dr. Rafael Garibotti v Baseado no material cedido pelos Profs. Dr. Marco Mangan e Dr. Matheus Trevisan
Leia mais1 Introdução à Programação O que é? Para que serve?... 1
Nesta aula... Conteúdo 1 Introdução à Programação 1 1.1 O que é?................................. 1 1.2 Para que serve?............................. 1 2 Linguagens de programação 2 2.1 Programação estruturada........................
Leia maisLinguagens de Programação Classificação
Classificação Classificação A proximidade que a linguagem de programação tem com a humana determina sua classe (o nível): Linguagem de máquina (primeira geração) Linguagem assembly - de montagem (segunda
Leia maisParadigmas de Programação
Paradigmas de Programação Aula 3 Histórico das Linguagens Prof.: Edilberto M. Silva http://www.edilms.eti.br Prof. Edilberto Silva / edilms.eti.br Definição Linguagens de programação são usadas para descrever
Leia maisPROGRAMAÇÃO I. Introdução
PROGRAMAÇÃO I Introdução Introdução 2 Princípios da Solução de Problemas Problema 1 Fase de Resolução do Problema Solução na forma de Algoritmo Solução como um programa de computador 2 Fase de Implementação
Leia maisLinguagens de Programação. Introdução. Carlos Bazilio
Linguagens de Programação Introdução Carlos Bazilio carlosbazilio@id.uff.br http://www.ic.uff.br/~bazilio/cursos/lp ??? Pascal aux := 0 for i:=1 to 10 do aux := aux + i 10: i = 1 20: if i > 10 goto 60
Leia maisPROGRAMAÇÃO ORIENTADA A OBJETOS I -CONCEITOS PRELIMINARES. Prof. Angelo Augusto Frozza, M.Sc.
PROGRAMAÇÃO ORIENTADA A OBJETOS I -CONCEITOS PRELIMINARES Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza ROTEIRO O que é programação Linguagens de Programação Paradigmas de Programação História
Leia maisSlides trabalhados durante a quinta aula
Slides trabalhados durante a quinta aula prática Estruturas de Controle de Fluxo 3. Laços de repetição (continuação) Exercício: Construa um algoritmo, representando-o através de um pseudocódigo e de um
Leia maisParadigmas de Programação
Paradigmas de Programação Prof.: Edilberto M. Silva http://www.edilms.eti.br Aula 2 Linguagens de Programação Desenvolvimento e execução de programas Características de linguagens Execução de programas
Leia maisProgramação de Computadores
Programação de Computadores Instituto de Computação UFF Departamento de Ciência da Computação Otton Teixeira da Silveira Filho Conteúdo Alguns Conceitos sobre Linguagens Paradigmas para linguagens de Programação
Leia maisIntrodução a lógica e a Linguagem de Programação
Faculdade de Engenharia da Computação Disciplina: Lógica de Programação Introdução a lógica e a Linguagem de Programação Site : http://www1.univap.br/~wagner/ec.html Prof. Responsáveis Wagner Santos C.
Leia maisLinguagens de Programação
Visão Geral Faculdade de Computação - UFU Agosto - 2009 1 Princípios 2 O que é uma linguagem de programação? Linguagens naturais facilitam a expressão e o intercâmbio de idéias entre as pessoas. Assim
Leia maisEderson Luiz da Silva Ciência da Computação. Algoritmos e Programação
Ederson Luiz da Silva Ciência da Computação Algoritmos e Programação Linguagem de programação Linguagem de Programação Linguagem de máquina http://www.assemblyprogressivo.net/p/curso.html Linguagem de
Leia maisProgramação Estruturada
Programação Estruturada Introdução à linguagem C Professores Emílio Francesquini e Carla Negri Lintzmayer 2018.Q3 Centro de Matemática, Computação e Cognição Universidade Federal do ABC Programação estruturada
Leia maisLinguagens de Programação Aula 3
Aula 3 Celso Olivete Júnior olivete@fct.unesp.br Na aula passada... Classificação das LPs (nível, geração e paradigma) Paradigmas Imperativo, OO, funcional, lógico e concorrente 2/33 Na aula de hoje...
Leia maisLinguagens de Programação Aula 2
Linguagens de Programação Aula 2 Celso Olivete Júnior olivete@fct.unesp.br Relembrando... Aspectos preliminares das linguagens de programação Capítulo 1 Livro: Conceitos de linguagens de programação -
Leia maisIntrodução. Parte 01. Desenvolvimento de Programação Orientada a Objetos. Prof. Pedro Neto
Introdução Parte 01 Prof. Pedro Neto Aracaju Sergipe - 2011 Conteúdo 1. Introdução i. Paradigmas de ii. Motivação da OO iii. Desafio das novas tecnologias iv. Ambientes de Desenvolvimento Modernos v. OO
Leia maisProgramação de Computadores
Programação de Computadores Instituto de Computação UFF Departamento de Ciência da Computação Otton Teixeira da Silveira Filho Conteúdo Alguns Conceitos sobre Linguagens Conceito de Algoritmo Pseudocódigo
Leia maisLinguagens de Programação
Linguagens de Programação 128 13 129 Linguagens de Programação Uma linguagem de programação é um vocabulário e um conjunto de regras gramaticais usadas para escrever programas de computador. Esses programas
Leia maisHistórico de Linguagens de Programação
Bacharelado em Ciência da Computação PARADIGMAS DE PROGRAMAÇÃO Histórico de Linguagens de Programação Prof. Claudinei Dias email: prof.claudinei.dias@gmail.com Objetivos Geral: Estudar as características
Leia maisProgramação de Computadores
Programação de Computadores Instituto de Computação UFF Departamento de Ciência da Computação Otton Teixeira da Silveira Filho Conteúdo Alguns Conceitos sobre Conceito de Algoritmo Pseudocódigo Tipos de
Leia maisIntrodução à linguagem C
MCTA028 Programação Estruturada Introdução à linguagem C Material preparado a partir de slides dos profs. Jesús MenaChalco e Fabrício Olivetti Prof. Guilherme Mota Q3-2018 1 Linguagens de programação 2
Leia maisIntrodução as Máquinas de Autômatos
Faculdade de Engenharia da Computação Disciplina: Autômatos e Linguagens Formais Introdução as Máquinas de Autômatos Site : http://www1.univap.br/~wagner/ec.html Prof. Responsáveis Wagner Santos C. de
Leia maisLinguagem de Programação e Compiladores
Linguagem de Programação e Compiladores Fernando Antônio Asevedo Nóbrega Instituto de Ciências Matemáticas e de Computação USP SCC-206 Introdução à Compilação 24 de abril de 2012 1 / 20 Sumário 1 Introdução
Leia maisInformática I. Aula 19. Aula 19-31/10/2007 1
Informática I Aula 19 http://www.ic.uff.br/~bianca/informatica1/ Aula 19-31/10/2007 1 Ementa Noções Básicas de Computação (Hardware, Software e Internet) HTML e Páginas Web Internet e a Web Javascript
Leia maisMCTA028 Programação Estruturada Aula 01: - Introdução à linguagem C - Teste de avaliação
MCTA028 Programação Estruturada Aula 01: - Introdução à linguagem C - Teste de avaliação Prof. João Henrique Kleinschmidt Material elaborado pelo Prof. Jesús P. Mena-Chalco 3Q-2018 Linguagens de programação
Leia maisLinguagem de Programação. Thiago Leite Francisco Barretto
Linguagem de Programação Thiago Leite Francisco Barretto SCHILDT, H. C Completo e Total. 3ª Edição. São Paulo: Makron, 1997. Bibliografia Ementa
Leia maisProgramação Estruturada Aula - Introdução a Linguagem de Programação
Programação Estruturada Aula - Introdução a Linguagem de Programação Prof. Flávio Barros flavioifma@gmail.com www.flaviobarros.com.br ORGANIZAÇÃO BÁSICA DE UM COMPUTADOR 2 ORGANIZAÇÃO BÁSICA DE UM COMPUTADOR
Leia maisMCTA028 Programação Estruturada Aula 01: - Introdução à linguagem C - Teste de avaliação
MCTA028 Programação Estruturada Aula 01: - Introdução à linguagem C - Teste de avaliação Prof. Jesús P. Mena-Chalco jesus.mena@ufabc.edu.br 3Q-2017 1 Linguagens de programação 2 Linguagem de programação
Leia maisEVOLUÇÃO DAS LINGUAGENS DE PROGRAMAÇÃO
EVOLUÇÃO DAS LINGUAGENS DE PROGRAMAÇÃO Profª. Msc. Vanderlene Covre Rocha ALTAMIRA/PA 04 de novembro de 2016 O que são linguagens de programação? Por que elas existem? Como computadores eram programados
Leia maisIntrodução à Computação
UNIVERSIDADE ESTADUAL DE MARINGÁ DEPARTAMENTO DE INFORMÁTICA Introdução à Computação Prof. Yandre Maldonado - 1 Prof. Yandre Maldonado e Gomes da Costa yandre@din.uem.br Histórico da Computação Prof. Yandre
Leia maisInformática I. Aula 2. Aula 2-04/09/2006 1
Informática I Aula 2 http://www.ic.uff.br/~bianca/informatica1/ Aula 2-04/09/2006 1 Ementa Histórico dos Computadores Noções de Hardware e Software Microprocessadores Sistemas Numéricos e Representação
Leia maisIntrodução à Computação
UNIVERSIDADE ESTADUAL DE MARINGÁ DEPARTAMENTO DE INFORMÁTICA Introdução à Computação Prof. Yandre Maldonado - 1 Prof. Yandre Maldonado e Gomes da Costa yandre@din.uem.br Histórico da Computação Prof. Yandre
Leia maisIntrodução à Computação MAC0110
Introdução à Computação MAC0110 Prof. Dr. Paulo Miranda IME-USP Aula 1 Introdução à Computação Eventos históricos: 1) Máquina universal de Turing criada em 1936 por Alan Turing, fundamento teórico para
Leia maisProgramação Estruturada Aula - Introdução a Linguagem C
Programação Estruturada Aula - Introdução a Linguagem C Prof. Flávio Barros flavioifma@gmail.com www.flaviobarros.com.br 2 HISTÓRICO DA LINGUAGEM C HISTÓRICO DA LINGUAGEM C Como tudo iniciou... C iniciou
Leia maisDELEGAÇÃO REGIONAL DO ALENTEJO CENTRO DE FORMAÇÃO PROFISSIONAL DE ÉVORA REFLEXÃO 5
REFLEXÃO 5 Módulos 0782, 0783, 0784 e 0785 1/5 23-05-2013 Esta reflexão tem como objectivo partilhar e dar a conhecer o que aprendi nos módulos 0782 Programação em C/C++ - Estrutura Básica e Conceitos
Leia maisCapítulo 1. Aspectos Preliminares
Capítulo 1 Aspectos Preliminares Tópicos do Capítulo 1 Razões para estudar conceitos de linguagens de programação Domínios de programação Critérios de avaliação de linguagens Influências no projeto de
Leia maisIntrodução à Computação
Introdução à Computação Jordana Sarmenghi Salamon jssalamon@inf.ufes.br jordanasalamon@gmail.com http://inf.ufes.br/~jssalamon Departamento de Informática Universidade Federal do Espírito Santo Agenda
Leia maisIntrodução e Conceitos
Introdução e Conceitos Aula 1 11/08/2017 diegoquirino@gmail.com 1 Agenda 1. Motivações: porque estudar linguagens de programação? 2. Breve Histórico sobre as Linguagens de Programação 3. Processos de Tradução
Leia maisIntrodução as Linguagens de Programação (POO-II) Prof. Responsável Wagner Santos C. de Jesus. www1.univap.br/wagner
Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Introdução as Linguagens de Programação (POO-II) Prof. Responsável Wagner Santos C. de Jesus www1.univap.br/wagner 1 Assuntos
Leia maisAspectos preliminares
Aspectos preliminares Marco A L Barbosa malbarbo.pro.br Departamento de Informática Universidade Estadual de Maringá cba Este trabalho está licenciado com uma Licença Creative Commons - Atribuição-CompartilhaIgual
Leia maisOFICINA DA PESQUISA PROGRAMAÇÃO APLICADA À CIÊNCIA DA COMPUTAÇÃO
OFICINA DA PESQUISA PROGRAMAÇÃO APLICADA À CIÊNCIA DA COMPUTAÇÃO Prof. Msc. Carlos José Giudice dos Santos carlos@oficinadapesquisa.com.br www.oficinadapesquisa.com.br Compiladores e Interpretadores Compiladores
Leia mais2 Paradigmas de linguagens de programação João B. Rocha- Junior. As linguagens evoluem com o passar do tempo
Agenda Paradigmas de Linguagens de ção joao@ecomp.uefs.br Principais paradigmas de linguagem de programação imperajvo funcional declaração Departamento de Ciências Exatas Universidade Estadual de Feira
Leia maisProgramação Básica. Introdução à programação de computadores
Programação Básica Introdução à programação de computadores Software x Hardware Um computador é um equipamento capaz de processar dados de entrada gerando dados de saída. Essa saída será interpretada pelo
Leia maisParadigmas de análise e desenvolvimento de sistemas. Principais Paradigmas
Paradigmas de análise e desenvolvimento de sistemas Principais Paradigmas Rosemary Silveira Filgueiras Melo rosesfmelo@hotmail.com rosefib.webnode.com.br Tópicos abordados Conceito de Paradigma Tipos de
Leia mais#include <stdio.h> Void main() { printf( Cheguei!\n"); } INTRODUÇÃO A LINGUAGEM C
#include Void main() { printf( Cheguei!\n"); } INTRODUÇÃO A LINGUAGEM C ANTES DO C ERA A LINGUAGEM B B foi essencialmente uma simplificação da linguagem BCPL. B só tinha um tipo de dado, que
Leia maisAssunto 2 - Software. Prof. Miguel Damasco
Assunto 2 - Software UD 1 - FUNDAMENTOS DE INFORMÁTICA Prof. Miguel Damasco a. Gerações dos Softwares 1ª Geração: Linguagem de máquina notação numérica binária ou hexadecimal, linguagem de baixo nível,
Leia maisIntrodução a Programação de Jogos
Introdução a Programação de Jogos Aula 02 Algoritmos e Ciclo de Desenvolvimento Edirlei Soares de Lima Modelo de um Computador Linguagem de Máquina Um processador executa instruções
Leia maisAspectos preliminares
Aspectos preliminares Marco A L Barbosa malbarbo.pro.br Departamento de Informática Universidade Estadual de Maringá cba Este trabalho está licenciado com uma Licença Creative Commons - Atribuição-CompartilhaIgual
Leia maisSistema Computacional
Algoritmos e Lógica de Programação Conceitos Básicos Abstração Reinaldo Gomes reinaldo@cefet-al.br O que é um? Integração de componentes atuando como uma entidade, com o propósito de processar dados, i.e.
Leia maisOrganização de Computadores
Organização de Computadores Professor Marcus Vinícius Midena Ramos Colegiado de Engenharia de Computação (74)3614.1936 marcus.ramos@univasf.edu.br www.univasf.edu.br/~marcus.ramos Computador Ferramenta
Leia maisParadigmas de Linguagens Computacionais (PLC) (Apresentação da disciplina)
Paradigmas de Linguagens Computacionais (PLC) (Apresentação da disciplina) George Darmiton da Cunha Cavalcanti (gdcc@cin.ufpe.br) Informações Básicas Professor George Darmiton da Cunha Cavalcanti Monitores
Leia maisProgramação I A Linguagem C. Prof. Carlos Alberto
Programação I A Linguagem C Prof. Carlos Alberto carlos.batista@facape.br carlos36_batista@yahoo.com.br 2 Origem A linguagem C foi desenvolvida em 1972, nos Laboratórios Bell, por Dennis Ritchie. Implementada
Leia maisIntrodução à Computação: Máquinas Multiníveis
Introdução à Computação: Máquinas Multiníveis Beatriz F. M. Souza (bfmartins@inf.ufes.br) http://inf.ufes.br/~bfmartins/ Computer Science Department Federal University of Espírito Santo (Ufes), Vitória,
Leia maisIntrodução à Computação: Máquinas Multiníveis
Introdução à Computação: Máquinas Multiníveis Beatriz F. M. Souza (bfmartins@inf.ufes.br) http://inf.ufes.br/~bfmartins/ Computer Science Department Federal University of Espírito Santo (Ufes), Vitória,
Leia maisConceitos Básicos de C
Conceitos Básicos de C Bibliografia Problem Solving & Program design in C, Jeri R. Hanly e Elliot B. Kpffman, 3 a edição Data Structures and Algorithm Analysis in C, Mark Allen Weiss, 2 a edição, Addison-Wesley,
Leia maisProgramação Básica. Introdução à programação de computadores
Programação Básica Introdução à programação de computadores Software x Hardware Um computador é um equipamento capaz de processar dados de entrada gerando dados de saída. Essa saída será interpretada pelo
Leia maisa) Computador b) Estrutura do sistema i. Hardware ii.software c) Linguagens de Programação i. Paradigmas e Programação 1.
a) Computador b) Estrutura do sistema i. Hardware ii.software c) Linguagens de Programação i. Paradigmas e Programação 1. Estruturada 2. Orientada a eventos 3. Orientada a objetos d) Sistemas Operacionais
Leia maisUniversidade Estadual de Santa Cruz
Universidade Estadual de Santa Cruz Conceitos de Linguagens de Programação Linguagens Imperativas e Funcionais Prof. Dr. Rogério Vargas Ilhéus-Ba, 16 de Maio de 2013. Linguagens Imperativas Linguagens
Leia maisNoções de compilação
Noções de compilação Compilador: o que é, para que serve e estrutura geral Parentes do compilador e programas correlatos Prof. Thiago A. S. Pardo 1 Compilação: por que estudar? (parte 1) Compiladores:
Leia maisIntrodução à Computação MAC0110
Introdução à Computação MAC0110 Prof. Dr. Paulo Miranda IME-USP Aula 1 Introdução à Computação Eventos históricos: 1) Primeiro computador a válvulas, o Eletronic Numeric Integrator And Calculator (ENIAC).
Leia maisNoções de compilação
Noções de compilação Compilador: o que é, para que serve e estrutura geral Parentes do compilador e programas correlatos Prof. Thiago A. S. Pardo 1 Exercício em duplas Para esquentar... 2 1 Compilação:
Leia maisPython - Variáveis e expressões
Python - e expressões Prof. Paulo H R Gabriel (com base no material do Prof. André Backes) Linguagem de Máquina Computador entende apenas pulsos elétricos Presença ou não de pulso 1 ou 0 Tudo no computador
Leia maisAlgoritmos e Programação
Universidade Federal do Vale do São Francisco Curso de Engenharia da Produção / Elétrica Parte 04 Prof. Jorge Cavalcanti jorge.cavalcanti@univasf.edu.br www.univasf.edu.br/~jorge.cavalcanti www.twitter.com/jorgecav
Leia maisAlgoritmos e Introdução à Programação. Lógica e Linguagem de Programação
Algoritmos e Introdução à Programação Lógica e Linguagem de Programação Prof. José Honorato Ferreira Nunes honoratonunes@softwarelivre.org http://softwarelivre.org/zenorato/honoratonunes Linguagem C Prof.
Leia maisParadigmas de Linguagens
Paradigmas de Linguagens Aula 1: Introdução e Conceitos Básicos Professora Sheila Cáceres O que é um paradigma??? Paradigmas de Linguagens - Sheila Cáceres 2 O que é um paradigma??? Paradigmas de Linguagens
Leia maisProgramação I Apresentação
Programação I Apresentação Prof. Carlos Alberto carlos.batista@facape.br carlos36_batista@yahoo.com.br Referências JUNIOR, D. P.; NAKAMITI, G. S.; ENGELBRECHT, A. de M. E.; BIANCHI, F. Algoritmos e Programação
Leia maisProgramação Estruturada e OO Aula 1.2 Introdução a Paradigmas de Programação. Prof. Bruno Moreno
Programação Estruturada e OO Aula 1.2 Introdução a Paradigmas de Programação Prof. Bruno Moreno bruno.moreno@ifrn.edu.br Motivação Por que existe mais de uma LP? Propósitos diferentes; Avanços tecnológicos;
Leia maisUniversidade de Brasília Histórico e Introdução
Universidade de Brasília Histórico e Introdução Organização e Arquitetura de Computadores Objetivo Apresentar a evolução dos computadores, sua estrutura em termos de componentes básicos e funções principais.
Leia maisHistórico e Introdução
Universidade de Brasília Histórico e Introdução Organização e Arquitetura de Computadores Objetivo Apresentar a evolução dos computadores, sua estrutura em termos de componentes básicos e funções principais.
Leia maisLinguagens de Programação Funcional
Linguagens de Programação Funcional Conceitos de Linguagens de Programação Pedro Libório Setembro de 2013 2 Roteiro Introdução Funções matemáticas Fundamentos das linguagens de programação funcionais A
Leia maisLinguagens de Programação e Programação Funcional
Linguagens de Programação e Programação Funcional GSI004 Aula 01* Faculdade de Computação UFU *baseada nos slides do Professor Paulo Henrique Ribeiro Gabriel 30 de setembro de 2014 GSI004 Aula 01 30 de
Leia maisNomes, vinculações e escopos
Nomes, vinculações e escopos Marco A L Barbosa malbarbo.pro.br Departamento de Informática Universidade Estadual de Maringá cba Este trabalho está licenciado com uma Licença Creative Commons - Atribuição-CompartilhaIgual
Leia mais