Conceitos de Linguagens de Programação
|
|
|
- Ângelo de Oliveira Cesário
- 9 Há anos
- Visualizações:
Transcrição
1 Conceitos de Linguagens de Programação Aula 01 Introdução Edirlei Soares de Lima
2 O que é uma Linguagem de Programação? Na programação de computadores, uma linguagem de programação serve como meio de comunicação entre o indivíduo que deseja resolver um determinado problema e o computador. A linguagem de programação deve fazer a ligação entre o pensamento humano (muitas vezes de natureza não estruturada) e a precisão requerida para o processamento pelo computador.
3 O que é uma Linguagem de Programação? Uma linguagem de programação auxilia o programador no processo de desenvolvimento de software: Projeto; Implementação; Teste; Verificação; Manutenção do software;
4 O que é uma Linguagem de Programação? Uma linguagem de programação é uma linguagem destinada para ser usada por uma pessoa para expressar um processo através do qual um computador possa resolver um problema. Os modelos/paradigmas de linguagens de programação correspondem a diferentes pontos de vista dos quais processos podem ser expressados. Exemplos: Imperativo, orientado a objeto, funcional, lógico
5 O que é uma Linguagem de Programação? Para que se tornem operacionais, os programas escritos em linguagens de alto nível devem ser traduzidos para linguagem de máquina.
6 O que é uma Linguagem de Programação? A conversão de um código em linguagem alto nível para linguagem de máquina é realizada através de sistemas especializados: Compiladores ou Interpretadores Esses sistemas recebem como entrada uma representação textual da solução de um problema (expresso em uma linguagem fonte) e produzem uma representação do mesmo algoritmo expresso em uma linguagem de máquina.
7
8 Por que estudar Linguagens de Programação? Aumentar a capacidade de expressar ideias: Conhecimento amplo dos recursos de linguagem reduz as limitações no desenvolvimento de software; A melhor compreensão das funções e implementação das estruturas de uma linguagem de programação nos leva a usar a linguagem de modo a extrair o máximo de sua funcionalidade e eficiência; Recursos ou facilidades podem ser simulados.
9 Por que estudar Linguagens de Programação? Maior conhecimento para escolha de linguagens apropriadas: Algumas linguagens são mais apropriadas para resolver determinados problemas; Escolher a melhor linguagem para um problema específico devido ao conhecimento de novos recursos é difícil para: Programadores antigos; Desenvolvedores sem educação formal;
10 Por que estudar Linguagens de Programação? Entender melhor a importância da implementação: Leva a um entendimento do porquê das linguagens serem projetadas de determinada maneira; Melhora as escolhas que podemos fazer entre as linguagens de programação e as consequências das opções; Nos permite desenvolver programas mais eficientes;
11 Por que estudar Linguagens de Programação? Maior capacidade para aprender novas linguagens: Na computação, o aprendizado contínuo é fundamental; Compreender os conceitos gerais das linguagens torna mais fácil entender como eles são incorporados na linguagem que está sendo aprendida; TIOBE Index for July 2015: ndex.html
12
13
14 Por que estudar Linguagens de Programação? Avanço global da computação: Nem sempre as linguagens mais populares são melhores, por quê? Imposição! Por que existem várias linguagens de programação? Resolução específica de problemas.
15 Domínios de Programação Computadores têm sido aplicados a uma infinidade de áreas...
16 Domínios de Programação Aplicações Cientificas Os primeiros computadores que surgiram na década de 40 foram projetados e utilizados para aplicações cientificas. Nesta categoria se enquadram todos os problemas que necessitam um grande volume de processamento, com operações geralmente feitas em ponto flutuante, e com poucas exigências de entrada e saída. Uma da preocupações primarias neste tipo de aplicação é a eficiência. As aplicações científicas incentivaram a criação de algumas linguagens de alto nível, como por exemplo o Fortran.
17 Fortran Exemplo program teste real a, b, s read *, a, b s = a + b print *, a, ' + ', b print *, ' = ', s end Compilador Online:
18 Domínios de Programação Aplicações Comerciais O desenvolvimento de aplicações comerciais teve inicio na década de 50. A primeira linguagem bem sucedida para o desenvolvimento de aplicações comerciais foi o COBOL (em 1960). As linguagens de programação comerciais se caracterizam pela facilidade de elaborar relatórios e armazenar números decimais e dados de caracteres.
19 IDENTIFICATION DIVISION. PROGRAM-ID. Teste. DATA DIVISION. WORKING-STORAGE SECTION. 01 Num1 PIC Num2 PIC Result PIC Operador PIC X. COBOL Exemplo PROCEDURE DIVISION. Calcula. PERFORM 3 TIMES DISPLAY "Numero 1: " ACCEPT Num1 DISPLAY "Numero 2: " ACCEPT Num2 DISPLAY "Operador (+ ou *): " ACCEPT Operador IF Operador = "+" THEN ADD Num1, Num2 GIVING Result END-IF IF Operador = "*" THEN MULTIPLY Num1 BY Num2 GIVING Result END-IF DISPLAY "Result is = ", Result END-PERFORM. STOP RUN.
20 Domínios de Programação Inteligência Artificial O desenvolvimento de aplicações para inteligência artificial teve inicio no final da década de 50. Essas aplicações caracterizam-se pelo uso de computações simbólicas em vez de numéricas (são manipulados nomes e não números); A primeira linguagem desenvolvida para IA foi a funcional LISP (1959). No início dos anos 70 surge a programação lógica: Prolog.
21 LISP Exemplo (defun fatorial (num) (cond ((zerop num) 1) (t (* num (fatorial (- num 1)))) ) ) (setq n 6) (format t "Fatorial ~d = ~d" n (fatorial n)) Compilador Online:
22 Prolog Exemplo pai(fred, marcos). pai(ricardo, pedro). pai(pedro, paulo). avo(x,y) :- pai(x, Z), pai(z, Y).?- avo(x, paulo). Compilador Online:
23 Domínios de Programação Software Básico O software básico (sistema operacional) deve possuir eficiência na execução por propiciar suporte a execução de outros aplicativos. As linguagens de programação para este tipo de sistema devem oferecer execução rápida e ter recursos de baixo nível que permitam ao software fazer interface com os dispositivos externos. O sistema operacional UNIX foi desenvolvido quase inteiramente em C (tornando-o fácil de portar para diferentes máquinas).
24 Critérios de Avaliação de Linguagens Um dos critérios mais importantes para julgar uma linguagem de programação é a facilidade com que os programas são lidos e entendidos. Antes dos anos 70: linguagens foram criadas pensado em termos de escrita de código. Eficiência e legibilidade da máquina; As linguagens foram projetadas mais do ponto de vista do computador do que do usuário. Na década de 70 foi desenvolvido o conceito de ciclo de vida de software: manutenção.
25 Critérios de Avaliação: Legibilidade A facilidade de manutenção é determinada em grande parte, pela legibilidade dos programas, dessa forma ela se tornou uma medida importante da qualidade dos programas e das linguagens. A legibilidade deve ser considerada no contexto do domínio do problema. Um programa escrito em uma linguagem não apropriada para o domínio do problema se mostra antinatural, "enrolado" e difícil de ser lido.
26 Critérios de Avaliação: Legibilidade 1. Simplicidade geral: A simplicidade geral de uma linguagem de programação afeta fortemente sua legibilidade; Uma linguagem com um grande número de componentes básicos é mais difícil de ser manipulada do que uma com poucos desses componentes. Os programadores que precisam usar uma linguagem grande tendem a aprender um subconjunto dela e ignorar seus outros recursos. Isso pode ser um problema quando o leitor do programa aprende um conjunto diferente de recursos daquele que o autor aplicou em seu programa.
27 Critérios de Avaliação: Legibilidade 1. Simplicidade geral: Uma segunda característica que complica a legibilidade é a multiplicidade de recursos (mais que uma maneira de realizar uma operação particular); Exemplo em C: cont = cont + 1; cont += 1; cont++; ++cont; Mesmo significado quando usadas em expressões separadas!
28 Critérios de Avaliação: Legibilidade 1. Simplicidade geral: Um terceiro problema é a sobrecarga de operadores, na qual um único símbolo tem mais que um significado. Apesar de ser um recurso útil, pode ser prejudicial a legibilidade se for permitido aos usuários criar suas próprias sobrecargas. Exemplo: sobrecarregar o + para adicionar inteiros, reais, concatenar strings, somar vetores...
29 Critérios de Avaliação: Legibilidade 1. Simplicidade geral: A simplicidade de linguagens, no entanto pode ser levada ao extremo, por exemplo a forma e o significado da maioria das instruções em Assembly são modelos de simplicidade, entretanto torna os programas em Assembly menos legíveis. Falta instruções de controle mais complexas, o que torna necessário o uso de mais comandos para expressar problemas do que os necessário em linguagens de alto nível.
30 section.text global _start _start: mov eax,'3' sub eax,'0' mov ebx,'4' sub ebx,'0' add eax,ebx add eax,'0' mov [sum],eax mov ecx,msg mov edx,len mov ebx,1 mov eax,4 int 0x80 mov ecx,sum mov edx,1 mov ebx,1 mov eax,4 int 0x80 mov eax,1 int 0x80 section.data msg db "Resultado:",0xA,0xD len equ $ - msg segment.bss sum resb 1 Assembly Exemplo
31 Critérios de Avaliação: Legibilidade 2. Ortogonalidade: A ortogonalidade diz respeito a possibilidade de combinar entre si, sem restrições, os componentes básicos da linguagem para construir estruturas de controle e dados. Exemplo: permitir combinações de estruturas de dados, como arrays de estruturas; Contra exemplo: não permitir que um array seja usado como parâmetro para uma função;
32 Critérios de Avaliação: Legibilidade 2. Ortogonalidade: A linguagem C possui dois tipos de dados estruturados, arrays e registros (struct), sendo que: Registros podem ser retornados de funções, arrays não. Parâmetros são passados por valor, a menos que sejam arrays que obrigatoriamente são passados por referência.
33 Critérios de Avaliação: Legibilidade 3. Instruções de controle: A revolução da programação estruturada da década de 70 foi, em parte, uma reação à má legibilidade causada pelas limitadas instruções de controle das linguagens das décadas de 50 e 60. Reconheceu-se que o uso indiscriminado de instruções goto reduz criticamente a legibilidade de programas. Em certas linguagens, entretanto, instruções goto que se ramificam para cima, às vezes, são necessárias; Exemplo: goto é usado na construção de laços while em FORTRAN.
34 Critérios de Avaliação: Legibilidade 3. Instruções de controle: Restringir instruções goto das seguintes maneiras pode tornar os programas mais legíveis: As instruções goto devem preceder seus alvos, exceto quando usadas para formar laços; Os seus alvos nunca devem estar tão distantes; O número de usos deve ser limitado; A partir do final da década de 60, as linguagens projetadas passaram a ter instruções de controle suficientes e portanto a necessidade da instrução goto foi quase eliminada.
35 Critérios de Avaliação: Legibilidade 4. Tipos de dados e estruturas: A presença de facilidades adequadas para definir tipos de dados e estruturas de dados em uma linguagem é outro auxílio significativo para a legibilidade. Exemplo: supondo que um tipo numérico seja usado para um sinalizador porque não há nenhum tipo booleano na linguagem: terminou = 1, não é tão claro como terminou = true Outro avanço: tipos enumerados.
36 Critérios de Avaliação: Legibilidade 5. Considerações sobre sintaxe: A sintaxe ou a forma dos elementos de uma linguagem tem um efeito significativo sobre a legibilidade dos programas. Exemplos de opções de projeto sintático que afetam a legibilidade: Formas identificadoras: restringir os identificadores a tamanhos muitos pequenos prejudica a legibilidade, impedindo que variáveis sejam nomeadas com nomes conotativos. Exemplos: FORTRAN 77: máximo 6 caracteres; BASIC ANSI: uma letra ou uma letra e um número;
37 Critérios de Avaliação: Legibilidade 5. Considerações sobre sintaxe: Exemplos de opções de projeto sintático que afetam a legibilidade: Palavras especiais: a aparência de um programa e sua consequente legibilidade são fortemente influenciadas pelas formas das palavras especiais de uma linguagem (begin, end, for...); Exemplos: Pascal exige pares de begin/end para formar grupos em todas as construções de controle, a linguagem C usa chaves; Ambas as linguagens sofrem porque os grupos de instruções são sempre encerrados da mesma maneira, o que torna difícil determinar qual grupo está sendo finalizado quando um end ou } aparece; O FORTAN 90 e o ADA tornam isso mais claro, usando uma sintaxe de fechamento distinta para cada tipo de grupo de instrução. (if...end if / loop...end loop);
38 Critérios de Avaliação: Capacidade de Escrita A capacidade de escrita é a medida da facilidade em que uma linguagem pode ser usada para criar programas para um domínio de problema escolhido; A maioria das características da linguagem que afetam a legibilidade também afetam a capacidade de escrita; Deve ser considerada no contexto do domínio de problemaalvo da linguagem.
39 Critérios de Avaliação: Capacidade de Escrita Exemplo: Construção de uma interface gráfica C versus C++
40 Critérios de Avaliação: Capacidade de Escrita 1. Simplicidade e Ortogonalidade: Se uma linguagem de programação tem um grande número de construções, alguns programadores não estarão familiarizados com todas; Pode acarretar o uso incorreto de alguns recursos e uma utilização escassa de outros que podem ser mais elegantes ou eficientes do que os usados; Podem ocorrer usos de recursos desconhecidos com resultados não esperados.
41 Critérios de Avaliação: Capacidade de Escrita 2. Suporte para abstração: Abstração: capacidade de definir e, depois usar estruturas ou operações complicadas de uma maneira que permita ignorar muito dos detalhes. Exemplo: uso de funções provenientes de bibliotecas; Tipos de Abstração: Abstração de Processo: algoritmos em geral; Abstração de Dados: tipos de dados e estruturas de dados.
42 Critérios de Avaliação: Capacidade de Escrita 3. Expressividade: Formas convenientes de especificar computações, onde uma expressão representa muitas computações. Exemplos: i++, ao invés de i = i + 1; for ao invés do while; cin do C++ ao invés de nextint do Java int v; cin >> v; int v; Scanner entrada; entrada = new Scanner(System.in); v = entrada.nextint();
43 Critérios de Avaliação: Confiabilidade Um programa é confiável se ele se comportar de acordo com suas especificações sob todas as condições. Recursos que afetam a confiabilidade: Verificação de Tipos; Manipulação de Exceções; Apelidos (Aliasing); Legibilidade e Facilidade de Escrita;
44 Critérios de Avaliação: Confiabilidade 1. Verificação de Tipos: Visa testar se existem erros de tipos de dados no programa por meio do compilador ou durante a execução do programa; A verificação de tipos durante a compilação é a mais indicada. Quanto antes for detectado o erro, menos caro é fazer todos os reparos necessários. Exemplo: Java A verificação de tipos em C é bastante fraca: int vet[50]; vet[100] = 8.5;
45 Critérios de Avaliação: Confiabilidade 2. Manipulação de Exceções: Capacidade de um programa de interceptar erros em tempo de execução, pôr em prática medidas corretivas e, depois, prosseguir. Exemplos em C++ e Java: try {... } catch (Exception &exception) {... } try {... } catch(exception e) {... }
46 Critérios de Avaliação: Confiabilidade 3. Apelidos (Aliasing): Consiste em ter um ou mais métodos, ou nomes, distintos para fazer referência à mesma área de memória. Exemplos em C: char c = 'x'; char *p; p = &c; *p = 'z'; union Data{ int i; float f; char str[20]; }; union Data data; data.i = 10; data.f = 220.5; strcpy(data.str, "Programa");
47 Critérios de Avaliação: Confiabilidade 4. Legibilidade e Facilidade de Escrita: Tanto a legibilidade como a facilidade de escrita influenciam a confiabilidade. Quanto mais fácil é escrever um programa, mais probabilidade ele tem de estar correto. Programas de difícil leitura complicam também sua escrita e sua modificação.
48 Critérios de Avaliação: Custo Custo final de uma linguagem de programação é uma função de muitas de suas características. Custo de Treinamento: cresce em função da simplicidade e da ortogonalidade da linguagem e da experiência dos programadores; Custo da Escrita: Os esforços originais para projetar e implementar linguagens de alto nível foram motivados pelos desejos de diminuir os custos para criar software;
49 Critérios de Avaliação: Custo Custo do Sistema de Implementação: uma linguagem de programação cujo sistema de implementação seja caro, ou rode somente em hardware caro, terá muito menos chance de tornar-se popular; Custo do Projeto da Linguagem: se uma linguagem de programação exigir muitas verificações de tipos durante a execução, proibirá a execução rápida do código; Custo de Compilação: problema amenizado com o surgimento de compiladores otimizados e de processadores mais rápidos.
50 Critérios de Avaliação: Custo Custo da Má confiabilidade: falhas podem ocasionar insucesso do software e ações judiciais; Custo de Manutenção: depende principalmente da legibilidade. O custo de manutenção pode atingir de duas a quatro vezes o custo de desenvolvimento;
51 Como Escolher uma Linguagem? Implementação: Disponibilidade quanto à plataforma; Eficiência: velocidade de execução do programa objeto; Competência: Experiência do programador; Competência do grupo envolvido; Portabilidade: Necessidade de executar em várias máquinas diferentes;
52 Como Escolher uma Linguagem? Sintaxe: Certos tipos de aplicação acomodam-se melhor em certas sintaxes; Semântica: Algumas linguagens são mais adequadas para processamento concorrente, outras são mais otimizadas para recursividade;
53 Como Escolher uma Linguagem? Ambiente de programação: Ferramentas para desenvolvimento de software diminuem o esforço de programação; Existência de bibliotecas; Modelo de computação O Paradigma Lógico pode ser mais adequado para algumas aplicações de inteligência artificial, enquanto que o Paradigma Orientado a Objeto é mais adequado para aplicações comerciais;
54 Trabalho 1 Em dupla, pesquise sobre a linguagem de programação sorteada para a sua dupla. Mostre o histórico da linguagem, características, importância, estrutura, vantagens/desvantagens, versões e classificação (nível, geração e paradigma). Apresente exemplos de código-fonte. A dupla deverá: Apresentar a pesquisa em aula (15 minutos para cada dupla); Entregar um relatório (em PDF); Data de entrega e apresentação: 10/09
55 Leitura Complementar Sebesta, Robert W. Conceitos de Linguagens de Programação. Editora Bookman, Capítulo 1: Aspectos Preliminares
Linguagens de Programação
Linguagens de Programação Aula 1 Celso Olivete Júnior [email protected] Metodologia Aulas expositivas teórico-práticas Exercícios práticos Projetos individuais e/ou em grupos Seminários sobre tópicos
Capí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
Programaçã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 [email protected] SLIDES CEDIDOS POR BRUNO MARQUES 1 Arquitetura de programação 2 O Que é um Dado? Dado é o elemento
Linguagens de Programação. Introdução. Carlos Bazilio
Linguagens de Programação Introdução Carlos Bazilio [email protected] 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
Aula 1 Java Prof. Dr. Sylvio Barbon Junior
5COP101 Linguagens de Programação Aula 1 Java Prof. Dr. Sylvio Barbon Junior Sylvio Barbon Jr [email protected] 1 Sumário 1) Razões para Estudar Conceitos de LP; 2) Domínios das Linguagens de Programação 3)
Informá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
Paradigmas 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
Conceitos de Linguagens de Programação
Conceitos de Linguagens de Programação Aula 03 Processo de Compilação Edirlei Soares de Lima Métodos de Implementação Arquitetura de Von Neumann: A linguagem de máquina de um computador
Linguagens 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: [email protected] Linguagens de Programação p. 1/5 Linguagens de
Conceitos 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
Paradigmas 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
3. 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
Programaçã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 [email protected] - http://lmarti.com Seis Camadas Problema
Ederson 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
Programação Orientada a Objetos. Manipulação de Exceções
Programação Orientada a Objetos Manipulação de Exceções Cristiano Lehrer, M.Sc. Introdução à Manipulação de Exceções (1/2) Em uma linguagem sem manipulação de exceção: Quando ocorre uma exceção, o controle
Programação I Apresentação
Programação I Apresentação Prof. Carlos Alberto [email protected] [email protected] Referências JUNIOR, D. P.; NAKAMITI, G. S.; ENGELBRECHT, A. de M. E.; BIANCHI, F. Algoritmos e Programação
Linguagens de Programação
Universidade Federal do Rio Grande do Norte Centro de Tecnologia Departamento de Computação e Automação Linguagens de Programação Professor Responsável: Luiz Affonso Henderson Guedes de Oliveira Prof.
Expressões e sentença de atribuição
Expressões e sentença de atribuição 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
Programação I A Linguagem C. Prof. Carlos Alberto
Programação I A Linguagem C Prof. Carlos Alberto [email protected] [email protected] 2 Origem A linguagem C foi desenvolvida em 1972, nos Laboratórios Bell, por Dennis Ritchie. Implementada
Arquitetura do SET de instruções Instruction SET. CISC vs RISC. What s assembly as to do with it?
Arquitetura do SET de instruções Instruction SET CISC vs RISC What s assembly as to do with it? Low-level - high-level programming language Assambley CODE section.text global _start ;must be declared for
Projeto de Linguagem. Linguagens de Programação
Projeto de Linguagem Renato Ferreira Linguagens de Programação Linguagens são adotadas para preencher uma demada Facilitar uma aplicação outrora difícil/impossível Independente da qualidade da linguagem
Questões de Paradigmas de Programação Matéria: Prova 1 4ª EDIÇÃO
Questões de Paradigmas de Programação Matéria: Prova 1 4ª EDIÇÃO QUESTÃO 1 : Enviada por: Francisco Carlos Moraes Junior Duvidas: Thaise Domínios de programação são áreas onde os computadores são usados.
Compiladores. Introdução
Compiladores Introdução Apresentação Turma Noite Continuada I 20/03 Continuada II 22/05 Atividades Regimental 05/06 Total 1 Ponto 1 Ponto 1 Ponto 7 Pontos 10 Pontos Aulas expositivas teórico-práticas Exercícios
Capítulo 7. Expressões e Sentenças de Atribuição
Capítulo 7 Expressões e Sentenças de Atribuição Introdução Expressões são os meios fundamentais de especificar computações em uma linguagem de programação Para entender a avaliação de expressões, é necessário
Compiladores. Introdução à Compiladores
Compiladores Introdução à Compiladores Cristiano Lehrer, M.Sc. Introdução (1/2) O meio mais eficaz de comunicação entre pessoas é a linguagem (língua ou idioma). Na programação de computadores, uma linguagem
Introdução à Computação
Introdução à Computação Jordana Sarmenghi Salamon [email protected] [email protected] http://inf.ufes.br/~jssalamon Departamento de Informática Universidade Federal do Espírito Santo Agenda
Revisão: linguagens de programação
Revisão: linguagens de programação Definição, histórico, paradigmas e semântica Prof. Thiago A. S. Pardo [email protected] Definição Uma linguagem de programação é uma linguagem destinada a ser usada
PROGRAMAÇÃ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
Linguagens de Programação
Linguagens de Programação de Linguagens de Programação Bruno Lopes Bruno Lopes Linguagens de Programação 1 / 11 Propriedades desejáveis Legibilidade: A leitura do programa é facilmente compreendida? Redigibilidade:
Capítulo 8. Estruturas de Controle no Nível de Sentença
Capítulo 8 Estruturas de Controle no Nível de Sentença Níveis de fluxo de controle Computações são realizadas por meio da avaliação de expressões e da atribuição dos valores a variáveis Para tornar a computação
Nomes, 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
Linguagens de Programação Conceitos e Técnicas. Amarrações
Linguagens de Programação Conceitos e Técnicas Amarrações Conceituação Amarração (ou binding) é uma associação entre entidades de programação, tais como entre uma variável e seu valor ou entre um identificador
PLANO DE UNIDADE DIDÁTICA- PUD
Professor: Marcus Vinícius Midena Ramos Coordenação: Ricardo Argenton Ramos Data: 03/08/2010 Página: 1 de 5 EMENTA: Conceitos básicos de linguagens. Histórico, classificação e principais aplicações de
Projeto de Compiladores
Projeto de Compiladores FIR Faculdade Integrada do Recife João Ferreira 12 e 13 de fevereiro de 2007 Questionário 1. Em quais linguagens de programação você já programou? 2. O que você sabe sobre compiladores?
Linguagens de Programação
Linguagens de Programação Paradigma Imperativo Matheus Hafner Tiago Xavier CET 087 - Conceitos de Linguagens de Programação (CLP) 17 de novembro de 2011 Aula Prática Instalação Fortran sudo apt-get install
Histó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: [email protected] Objetivos Geral: Estudar as características
Aula 01 Algoritmos e lógica de programação e introdução ao C++
Aula 01 Algoritmos e lógica de programação e introdução ao C++ Autor: José Martins de Castro Neto Carga Horária: 2h 21 de julho de 2015 1 Algoritmo e lógica de programação Ementa do curso 1. Definições
OFICINA 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 [email protected] www.oficinadapesquisa.com.br IMPORTÂNCIA DO ESTUDO DAS LINGUAGENS
Paradigmas de Linguagens de Programação. Expressões e Instruções de Atribuição
Expressões e Instruções de Atribuição Cristiano Lehrer Introdução Expressões são o meio fundamental de especificar computações em uma linguagem de programação: Familiarização com as ordens de avaliação
Linguagem 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
Paradigmas 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
Prof. Antonio Almeida de Barros Jr. Prof. Antonio Almeida de Barros Junior
Prof. Antonio Almeida de Barros Jr. Prof. Antonio Almeida de Barros Junior Meio pelo qual se pode indicar os passos que devem ser realizados pelo computador para resolver problemas; Através da linguagem,
Construção de Compiladores. Capítulo 1. Introdução. José Romildo Malaquias. Departamento de Computação Universidade Federal de Ouro Preto 2014.
Construção de Compiladores Capítulo 1 Introdução José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2014.2 1/22 1 Linguagens de programação 2 Compilação 2/22 Tópicos 1
Introdução à Computação: Máquinas Multiníveis
Introdução à Computação: Máquinas Multiníveis Beatriz F. M. Souza ([email protected]) http://inf.ufes.br/~bfmartins/ Computer Science Department Federal University of Espírito Santo (Ufes), Vitória,
Linguagem de Programação
Linguagem de Programação aula 4 Engenharia Elétrica e Engenharia de Automação Introdução à Computação 1.o sem/2013 Profa Suely (e-mail: [email protected]) Programas Programas são seqüências de instruções
Aspectos Preliminares
Capítulo 1 Aspectos Preliminares 1.1 Razões para estudar conceitos de linguagens de programação 1.2 Domínios de programação 1.3 Critérios de avaliação de linguagens 1.4 Influências no projeto de linguagens
Programaçã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 [email protected] www.flaviobarros.com.br ORGANIZAÇÃO BÁSICA DE UM COMPUTADOR 2 ORGANIZAÇÃO BÁSICA DE UM COMPUTADOR
Nomes, 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
1 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........................
Introdução à Programação Aula 03. Prof. Max Santana Rolemberg Farias Colegiado de Engenharia de Computação
Aula 03 Prof. Max Santana Rolemberg Farias [email protected] Colegiado de Engenharia de Computação Linguagens de Programação A primeira linguagem de programação foi criada por Ada Lovelace. Amiga
SEMÂNTICA. Rogério Rocha. rode = program simples = var x : int := 3 in x := x + 5 end.
SEMÂNTICA program simples = var x : int := 3 in x := x + 5 end. rode =? Rogério Rocha Roteiro Introdução Sintaxe Semântica Dinâmica (Métodos formais) Operacional Axiomática Denotacional Estática Conclusão
Organização de Computadores
Organização de Computadores Professor Marcus Vinícius Midena Ramos Colegiado de Engenharia de Computação (74)3614.1936 [email protected] www.univasf.edu.br/~marcus.ramos Computador Ferramenta
INE5421 LINGUAGENS FORMAIS E COMPILADORES
INE5421 LINGUAGENS FORMAIS E COMPILADORES PLANO DE ENSINO Objetivo geral Conhecer a teoria das linguagens formais visando sua aplicação na especificação de linguagens de programação e na construção de
LINGUAGEM C: VARIÁVEIS E EXPRESSÕES
LINGUAGEM C: VARIÁVEIS E EXPRESSÕES Prof. André Backes LINGUAGENS DE PROGRAMAÇÃO Linguagem de Máquina Computador entende apenas pulsos elétricos Presença ou não de pulso 1 ou 0 Tudo no computador deve
Paradigmas de Linguagens
Paradigmas de Linguagens Aula 2: Tipos de dados Professora Sheila Cáceres Tipos de dados Dados são a matéria prima da computação junto com os programas. LPs precisam manipular dados. LPS utilizam os conceitos
Como construir um compilador utilizando ferramentas Java
Como construir um compilador utilizando ferramentas Java p. 1/2 Como construir um compilador utilizando ferramentas Java Aula 1 - Introdução Prof. Márcio Delamaro [email protected] Como construir um
Programaçã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
Gabriel Giorisatto De Angelo Luiz Otávio Gerhardt Fernandes
Gabriel Giorisatto De Angelo Luiz Otávio Gerhardt Fernandes Histórico Desenvolvida em 2012 por Jeff Bezanson, Stefan Karpinski, Viral B. Shah, Alan Edelman Gratuita, Open Source e licenciada sob a Licença
Desenvolvimento de Aplicações Desktop
Desenvolvimento de Aplicações Desktop Conceitos Básicos de Programação Professor: Charles Leite O Desenvolvimento de Programas A programação consiste em indicar como o computador (hardware) deve trabalhar
Linguagens de Programação
45 Linguagens de Programação O paradigma de programação imperativo está diretamente atrelado à arquitetura básica dos computadores sobre os quais os programas eram executados. Boa parte dos computadores
Programaçã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
Existem três categorias principais de linguagem de programação: linguagem de máquina, linguagens assembly e linguagens de alto nível.
Aula 3 SOFTWARE (programas) Um programa (software) consiste em uma sequência de instruções escritas numa linguagem precisa chamada linguagem de programação. Estas instruções são traduzidas em um compilador,
Olá pessoal, Hoje vamos entender os conceitos sobre linguagem de programação. Definição, tipos de linguagens e as linguagens mais utilizadas
Olá pessoal, Hoje vamos entender os conceitos sobre linguagem de programação. Definição, tipos de linguagens e as linguagens mais utilizadas atualmente. Uma linguagem de programação é um conjunto padronizado
Algoritmos e Programação
Universidade Federal do Vale do São Francisco Curso de Engenharia da Produção / Elétrica Parte 04 Prof. Jorge Cavalcanti [email protected] www.univasf.edu.br/~jorge.cavalcanti www.twitter.com/jorgecav
Universidade de Santa Cruz do Sul UNISC Departamento de informática COMPILADORES. Introdução. Geovane Griesang
Universidade de Santa Cruz do Sul UNISC Departamento de informática COMPILADORES Introdução [email protected] Processadores de linguagem Linguagens de programação são notações para se descrever
Fundamentos de Programação. Linguagem C++ Introdução, identificadores, tipos de dados. Prof. Bruno E. G. Gomes IFRN
Fundamentos de Programação Linguagem C++ Introdução, identificadores, tipos de dados Prof. Bruno E. G. Gomes IFRN 1 Linguagem de Programação Constituída por símbolos e por regras para combinar esses símbolos
Linguagens 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
Paradigmas de Programação
Paradigmas de Programação Aula 6 Nomes, Vinculações, Verificação de Tipos e Escopos Prof.: Edilberto M. Silva http://www.edilms.eti.br Prof. Edilberto Silva / edilms.eti.br Introdução As linguagens de
