Introdução a Linguagens de Programação
|
|
- Eduardo da Mota Esteves
- 8 Há anos
- Visualizações:
Transcrição
1 Introdução a Linguagens de Programação Prof a.dra.thatyana de Faria Piola Seraphim Universidade Federal de Itajubá thatyana@unifei.edu.br
2 Dados Importantes O material com todas as informações referentes à disciplina, podem ser encontrados na página: Datas Importantes: Nota: Prova 01 25/09. Prova 02 13/11. Substitutiva 27/11. P1+P2 2
3 Referências Bibliográcas Allen B. Tucker; Robert E. Noonan. Linguagens de Programação: Princípios e Paradigmas. McGrawHill. 2 a Edição. Marcus Vinícius Midena Ramos; João José Neto; Ítalo Santiago Vega. Linguagens Formais: Teoria, Modelagem e Implementação. Editora Bookman Harry R. Lewis; Christos H. Papadimitriou. Elementos da Teoria da Computação. Editora Bookman. 2 a Edição. Paulo Blauth Menezes. Linguagens Formais e Autômatos. Editora Bookman. 5 a Edição. Michael Sipser. Introduçao à Teoria da Computação. Editora Thompson. 2 a Edição. Tiarajú Asmuz Diverio; Paulo Blauth Menezes. Teoria da Computação: Máquinas Universais e Computabilidade. Editora Bookman. 2 a Edição.
4 Tópicos da Disciplina Programação Imperativa Programação Orientada a Objetos Programação Funcional Programação Lógica Programação Orientada a Eventos Programação Concorrente
5 Introdução O estudo dos princípios e fundamentos de linguagens de programação é essencial para qualquer prossional de programação. É a partir desse estudo que as características especícas de cada linguagem podem ser identicadas, permitindo que programas sejam desenvolvidos. Características desejáveis para linguagens de programação podem ser identicadas e cuidadosamente descritas, para serem incorporadas às linguagens novas ou já existentes. Assim como ocorre com as linguagens naturais (português, inglês, etc.), as linguagens de programação permitem seu estudo partindo de dois extremos opostos: Poliglota iletrado. Linguista teórico.
6 Introdução Poliglota Iletrado É uente em diversos idiomas. É um iletrado em assuntos de linguística. Assim, é incapaz de abstrair e generalizar as estruturas linguísticas presentes nos diversos idiomas que ele domina. Para um poliglota iletrado aprender um novo idioma é sempre difícil e penoso. O poliglota iletrado é prático.
7 Introdução Linguista Teórico Entende muito bem as estruturas linguísticas presentes em qualquer idioma. O que lhe possibilita apreciar essas estruturas em diferentes idiomas, sejam eles, conhecidos ou ainda por conhecer. Estuda essas estruturas e teoriza a respeito delas. Entretanto, é incapaz de utilizar confortavelmente os idiomas estudados em uma conversação uente. Se restringe a ser teórico.
8 Introdução Programação de Computadores Poliglota iletrado: consegue programar utilizando diversas linguagens, mas tem diculdades para explorar de forma eciente os recursos especícos oferecidos por aquelas linguagens. Linguista teórico: consegue explicar e analisar cada um dos recursos especícos de cada linguagem de programação; porém, sente grande diculdade em programar em qualquer linguagem. O objetivo desta disciplina é apresentar e estudar os principais paradigmas de programação através das linguagens.
9 Introdução Para armazenar um algoritmo na memória do computador e para que ele possa comandar as operações a serem executadas é necessário que ele seja programado. O algoritmo deve ser escrito para uma linguagem que o computador possa entender. Os computadores só podem executar diretamente os algoritmos escritos em linguagem de máquina. Linguagem de Máquina: é um conjunto de instruções capazes de ativar diretamente os dispositivos eletrônicos do computador.
10 Introdução A linguagem de máquina tem vários inconvenientes: é diferente para cada tipo de computador, pois depende de sua arquitetura; é extremamente rudimentar e exige que, mesmo as operações mais simples ainda sejam renadas, para expressá-las em termos de registros, acumuladores e outros dispositivos da máquina; a linguagem de máquina é expressa em forma numérica (binária ou hexadecimal), o que a torna pouco expressiva para alguns usuários. Nos primeiros computadores, a linguagem de máquina era a única opção para a programação. Logo surgiu a idéia de escrever programas em linguagem simbólica, conhecida também como Linguagem Assembly ou linguagem montadora.
11 Introdução Na Linguagem Assembly as instruções não são expressas apenas por números, mas também por letras e símbolos. O posicionamento dos dados e instruções na memória é também feito de forma simbólica. Para controlar o computador, um programa em Assembly, deve primeiro ser transformado em linguagem de máquina. Programa Montador ou Assembly : programa que transforma cada comando da linguagem Assembly em um comando da linguagem de máquina. Com o sucesso da linguagem Assembly, os primeiros pesquisadores criaram linguagens em que a programação era feita através de uma notação matemática e de algumas palavras da língua inglesa. Deixando ao próprio computador a tarefa de traduzir o programa para a linguagem de máquina, através de um programa chamado compilador.
12 Introdução A primeira linguagem que teve ampla aceitação é a linguagem FORTRAN (FORmula TRANslation) que surgiu em 1957 e é ainda hoje utilizada. Existe uma grande vantagem, além da facilidade, em escrever programas em linguagens de alto nível: a sua independência da máquina a ser usada. O programador não precisa se deter em particularidades do computador que irá usar. Um programa escrito em linguagem de alto nível, geralmente com poucas alterações, é aceito por qualquer computador. A escolha da linguagem de programação a ser usada em um computador depende da existência de um programa: Compilador: programa que traduz o algoritmo escrito na linguagem escolhida para a linguagem de máquina. Interpretador: programa que interpreta cada comando do programa e execute uma série de instruções que a ele correspondem.
13 Introdução A existência de compiladores ou interpretadores para diversas linguagens, a escolha pela linguagem a ser usada pode ser: pela preferência ou mais familiaridade do programador para com a linguagem; pela linguagem melhor implementada no computador; ou mesmo pela linguagem mais adequada para o tipo de aplicação que se deseja fazer. Para se resolver um problema em um computador, o mais importante do que a escolha da linguagem de programação é o desenvolvimento de um algoritmo adequado. O algoritmo deve ser desenvolvido objetivando sobretudo a clareza, permitindo que os erros cometidos sejam detectados o quanto antes, evitando excessivas revisões e visando facilitar futuras modicações.
14 Paradigmas de Programação Paradigma: é um padrão de pensamento que guia um conjunto de atividades relacionadas. Paradigma de programação: é um padrão de resolução de problemas que se relaciona a um determinado gênero de programas e linguagens. Existem quatro paradigmas de programação distintos e fundamentais que evoluíram nas últimas décadas: Programação Imperativa. Programação Orientada a Objetos. Programação Funcional. Programação Lógica.
15 Paradigmas de Programação Programação Imperativa: é o paradigma de programação mais antigo e bem desenvolvido. Surgiu com os primeiros computadores na década de Seus elementos espelham diretamente as características arquiteturais dos computadores modernos (modelo computacional clássico de von Neumann). Neste modelo, tanto o programa quanto as suas variáveis são armazenados juntos, e o programa contém uma série de comandos para: executar cálculos, atribuir valores a variáveis, obter entradas, produzir saídas ou redirecionar o controle para outro ponto nessa série de comandos. As linguagens de programação imperativas predominantes incluem Cobol, Fortran, C, Ada, Pascal e Perl.
16 Paradigmas de Programação Programação Orientada a Objetos: este paradigma fornece um modelo no qual um programa é uma coleção de objetos que interagem entre si, passando mensagens que transformam seu estado. A passagem de mensagens permite que objetos de dados se tornem ativos em vez de passivos, característica que ajuda a distinguir melhor a programação orientada a objetos da imperativa. O encapsulamento de objetos, herança e a passagem de mensagens são componentes fundamentais da programação orientada a objetos. Exemplos de linguagens de programação orientadas a objetos são: Smalltalk, C++, Java, C# e Python.
17 Paradigmas de Programação Programação Funcional: modela um problema computacional como uma coleção de funções matemáticas, cada uma com um espaço de entrada (domínio) e o respectivo resultado (faixa). Emergiu como um paradigma distinto no início da década de Sua criação foi motivada pela necessidade dos pesquisadores no desenvolvimento de inteligência articial e em seus subcampos: computação simbólica, prova de teoremas, sistemas baseados em regras e processamento de linguagens naturais. Essas necessidades não eram bem atendidas na época pelas linguagens imperativas. Exemplos de linguagens funcionais são: Lisp, Scheme, Haskell e ML.
18 Paradigmas Computacionais Programação Lógica (declarativa): surgiu como um paradigma distinto nos anos 70. Permite que o programador modele um problema declarando qual resultado o programa deve obter, em vez de como ele deve ser obtido. Essas linguagens são chamadas de linguagens baseadas em regras, já que as declarações do programa se parecem mais com um conjunto de regras ou restrições sobre o problema, em vez de uma sequência de comandos a serem executados. Interpretar as declarações de um programa lógico cria um conjunto de todas as soluções possíveis para o problema que ele especica.
19 Paradigmas de Programação Programação Lógica: Duas características são: Não-determinismo: um programa não-determinístico pode encontrar várias soluções para um problema em vez de apenas uma. Backtracking : possibilita o não-determinismo dos programas, sendo implícito em todos os programas. Este mecanismo já está dentro do interpretador Prolog. A principal linguagem de programação lógica é o Prolog.
20 Paradigmas de Programação Além dos quatro paradigmas, alguns tópicos para o projeto de linguagens de programação são destacados: Programação Orientada a Eventos. Programação Concorrente. Programação Orientada a Eventos: os programas não controlam a sequência na qual ocorrem eventos de entrada; em vez disso, eles são escritos para reagir a qualquer sequência de razoável de eventos. Um programa orientado a eventos é apenas um programa cujo comportamento é inteiramente determinado por questões de manipulação de eventos. A manipulação de eventos está frequentemente acoplada ao paradigma orientado a objetos, embora ela ocorra dentro do paradigma imperativo. O exemplo mais comum é a interface gráca do usuário.
21 Paradigmas de Programação Programação Orientada a Eventos Os dados de entrada governam a sequência de operações que são executadas pelo programa, mas o programa não determina a ordem da sequência de entrada. Um programa acionado por eventos é projetado para executar indenidamente, ou pelo menos até que o usuário selecione o botão de saída. Programas acionados por eventos também controlam aplicações baseadas na Internet, por exemplo, um sistema de reservas de uma empresa aérea. A programação orientada a eventos é também usada em dispositivos de telefonia móvel, motores de automóveis, sistema de navegação em aviões e sistemas de segurança residencial. Em sistemas de navegação de aviões, os eventos que causam respostas programadas incluem mudança na direção, velocidade do vento ou temperatura, ou seja, eventos que não ocorrem em qualquer ordem determinada ou previsível. Linguagens: Delphi, Visual Basic, Java e Tcl/Tk.
22 Paradigmas de Programação Programação Concorrente: pode ocorrer dentro do paradigma imperativo, orientado a objetos, funcional ou lógico. A concorrência ocorre quando o programa possui uma coleção de elementos assíncronos que podem compartilhar informações ou sincronizar entre si em intervalos de tempo. A concorrência também ocorre dentro de um processo individual como a execução paralela de diferentes iterações de um laço. Linguagens de programação concorrente incluem SR, Linda, e High Performance Fortran.
23 Histórico das Linguagens Década de 1940: As primeiras linguagens de programação foram as linguagens de máquina e as linguagens assembly dos primeiros computadores. Década de 1950: marcou o início da era das linguagens de ordem mais elevada (HOL em inglês). Uma HOL se distingue de uma linguagem de máquina ou assembly porque seu estilo de programação é independente de alguma arquitetura de máquina especíca. As primeiras linguagens de ordem mais alta foram Fortran, Cobol, Algol e Lisp. Fortran e Cobol sobreviveram e se desenvolveram bastante desde o seu surgimento no nal da década de Ainda existem muitos códigos legados destas linguagens. Lisp teve substancialmente seu uso diminuído e Algol desapareceu completamente.
24 Histórico das Linguagens Os projetos inovadoras dessas primeiras linguagens tiveram grande inuência sobre suas sucessoras. Exemplos: A demonstração de Fortran de que notação algébrica poderia ser traduzida em código eciente agora é admitida como padrão. A introdução da estrutura de registros em Cobol. O projeto de Pascal para a compilação em um passo. A demonstração em Algol de que uma gramática linguística poderia denir formalmente sua sintaxe. A maior motivação para o desenvolvimento de linguagens de programação nas últimas décadas foi a rápida evolução da demanda de poder computacional e as novas aplicações por parte de uma grande e diversa comunidade de usuários.
25 Histórico das Linguagens Exemplos de comunidades: Inteligência Articial: se preocupa com o desenvolvimento de programas que modelam o comportamento da inteligência humana, a dedução lógica e a cognição. A manipulação de símbolos, as expressões funcionais e o projeto de sistemas de prova lógica têm sido os objetivos centrais deste trabalho em andamento. Os paradigmas da programção funcional e da programação lógica se desenvolveram bastante por intermédio dos esforços dos programadores de IA. Linguagens de programação funcional proeminentes nos últimos anos incluem Lisp, Scheme, ML e Haskell. Prolog, na área de programação lógica, tem sido o ator principal, e a Prolog tem tido pouca inuência sobre o projeto de linguagens em outras áreas de aplicação.
26 Histórico das Linguagens Educação: nas décadas de 1960 e 1970, diversas linguagens importantes foram projetadas com o objetivo principal de ensinar programação aos alunos, destacando-se Basic e Pascal. Estas linguagens têm sido substituídas nos últimos anos nos currículos educacionais por linguagens de apelo comercial como C, C++ e Java. Ciência e Engenharia: a comunidade de programação cientíca e de engenharia desempenhou um papel importante no início da história da computação e continua a desempenhar um papel importante atualmente. Os primeiros programas foram escritos na década de 1940 para prever as trajetórias balísticas durante a 2 a Guerra Mundial. Esses programas foram escritos primeiramente em linguagem de máquina e assembly, por matemáticos.
27 Histórico das Linguagens Até hoje, a comunidade cientíca permanece como uma atividade central na história da programação e das linguagens de programação. O domínio de seus problemas se refere principalmente à execução de cálculos complexos de forma muito rápida e precisa. Os cálculos são denidos por modelos matemáticos que representam fenômenos cientícos e são implementados principalmente por meio do uso do paradigma de programação imperativa. Quanto mais complexo o fenômeno cientíco se torna, maior a necessidade de linguagens de programação e computadores altamente sosticados e paralelos.
28 Histórico das Linguagens Ciência e Engenharia: A programação concorrente é fortemente motivada pelas necessidades de tais aplicações cientícas. Algumas linguagens, como High Performance FortranHPF, suportam programação concorrente por meio da inclusão de recursos a uma linguagem básica amplamente usada (Fortran). Sistemas de Informação: programas projetados para instituições gerenciarem seus sistemas de informação provavelmente são os mais prolícos do mundo. Os sistemas de informação têm sido desenvolvidos em linguagens de programação como Cobol e SQL. Cobol (Common Business Oriented Language ) foi projetada primeiramente no nal da década de 1950 e usa a língua inglesa como base de sua sintaxe, suportando um estilo de programação imperativo.
29 Histórico das Linguagens Sistemas de Informação: SQL (Structured Query Language) emergiu na década de 1980 como uma ferramenta de programação declarativa para especicação de bancos de dados, geração de relatórios e recuperação de informações. SQL é a linguagem usada para a especicação e a recuperação de informações de bancos de dados relacionais. Sistemas e Redes: programadores de sistemas projetam e realizam a manutenção do software básico que executa os sistemas: Componentes do sistema operacional, software de rede, compiladores e depuradores de linguagens de programação, máquinas virtuais e interpretadores, sistemas embarcados e de tempo real.
30 Histórico das Linguagens Sistemas e Redes: Esses tipos de softwares estão intimamente relacionados com as arquiteturas de máquinas especícas. A maioria desses programas é escrita em C, permitindo que os programadores cheguem a um nível muito próximo do nível de linguagem de máquina. A programação de sistemas é geralmente feita com o uso do paradigma de projeto imperativo, mas os programadores de sistemas também devem lidar com a programação concorrente e orientada a eventos. Linguagens de script são largamente usadas atualmente para uma diversidade de tarefas de sistema. Exemplo: um programa awk pode ser projetado rapidamente para vericar a consistência em um arquivo de senhas de uma máquina Unix. Principais linguagens de script são awk, Tcl/Tk e Python.
31 Histórico das Linguagens World Wide Web: a área mais dinâmica para novas aplicações de programação é a Internet, que é o veículo que permite o comércio eletrônico e uma ampla gama de aplicações acadêmicas, governamentais e industriais. Linguagens de programação que suportam a computação centrada na Web usam a programação orientada a eventos, que promove a interação sistema-usuário. As linguagens de programação que suportam computação centrada na Web incluem Perl, PHP, Visual Basic, Delphi, Java e Python.
LINGUAGENS E PARADIGMAS DE PROGRAMAÇÃO. Ciência da Computação IFSC Lages. Prof. Wilson Castello Branco Neto
LINGUAGENS E PARADIGMAS DE PROGRAMAÇÃO Ciência da Computação IFSC Lages. Prof. Wilson Castello Branco Neto Conceitos de Linguagens de Roteiro: Apresentação do plano de ensino; Apresentação do plano de
Leia maisCurso Técnico em Redes
Curso Técnico em Redes Prof. Airton Ribeiro - 2012 Histórico das Linguagens de Programação O que é? É um método padronizado para expressar instruções para um computador. É um conjunto de regras sintáticas
Leia maisINTRODUÇÃO ÀS LINGUAGENS DE PROGRAMAÇÃO
Capítulo 1 INTRODUÇÃO ÀS LINGUAGENS DE PROGRAMAÇÃO 1.1 Histórico de Linguagens de Programação Para um computador executar uma dada tarefa é necessário que se informe a ele, de uma maneira clara, como ele
Leia maisConstrução de Compiladores. Construção de Compiladores. Motivação. Motivação. Contexto Histórico. Classificações: Gerações 09/03/2010
Construção de Compiladores Prof. Raimundo Santos Moura (http://www.ufpi.br/rsm) Construção de Compiladores Livro-Texto: AHO, Alfred V.; ULLMAN, Jeffrey D.; SETHI, R. Compiladores: princípios, técnicas
Leia maisIntrodução. Sumários. Objectivos da cadeira. História das linguagens de programação. Classificação das Linguagens de programação
Introdução Sumários Objectivos da cadeira História das linguagens de programação Classificação das Linguagens de programação Aplicação das linguagens de programação Noção de compiladores Software à usar
Leia mais1. NÍVEL CONVENCIONAL DE MÁQUINA
1. NÍVEL CONVENCIONAL DE MÁQUINA Relembrando a nossa matéria de Arquitetura de Computadores, a arquitetura de Computadores se divide em vários níveis como já estudamos anteriormente. Ou seja: o Nível 0
Leia maisENIAC. Introdução aos Computadores e à Programação (Noções Básicas)
ENIAC Introdução aos Computadores e à ção (Noções Básicas) Introdução aos Computadores e à ção (Noções Básicas) 1 Introdução aos Computadores e à ção (Noções Básicas) 2 O transistor foi inventado em 1947
Leia maisParadigmas de Programação
Paradigmas de Programação Aula I Apresentação Prof.: Edilberto M. Silva http://www.edilms.eti.br Prof. Edilberto Silva / edilms.eti.br Professor EDILBERTO M. SILVA edilms@yahoo.com Bacharel em Ciência
Leia maisLinguagens de Programação. Introdução. Carlos Bazilio bazilio@ic.uff.br http://www.ic.uff.br/~bazilio/cursos/lp
Linguagens de Programação Introdução Carlos Bazilio bazilio@ic.uff.br http://www.ic.uff.br/~bazilio/cursos/lp Motivação Algumas questões filosóficas Por quê existe mais de uma linguagem de programação?
Leia maisAlgoritmos. Cláudio Barbosa contato@claudiobarbosa.pro.br
Algoritmos Partes básicas de um sistema computacional: Hardware, Software e Peopleware Hardware - Componentes físicos de um sistema de computação, incluindo o processador, memória, dispositivos de entrada,
Leia maisINF1621 Linguagens de Programação I
INF1621 Linguagens de Programação I Prof.: Marcus Leal mleal@inf.puc-rio.br 4as e 6as, 15-17hs, 17hs, sala 520L Todo o material apresentado em aula será disponibilizado na web http://www.inf.puc-rio.br/~
Leia maisProgramação Funcional. Capítulo 1. Introdução. José Romildo Malaquias. Departamento de Computação Universidade Federal de Ouro Preto 2015.
Programação Funcional Capítulo 1 Introdução José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2015.1 1/13 1 Paradigmas de programação 2 Programação funcional 3 A Crise
Leia maisHardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)
Hardware (Nível 0) Organização O AS/400 isola os usuários das características do hardware através de uma arquitetura de camadas. Vários modelos da família AS/400 de computadores de médio porte estão disponíveis,
Leia maisMC-102 Aula 01. Instituto de Computação Unicamp
MC-102 Aula 01 Introdução à Programação de Computadores Instituto de Computação Unicamp 2015 Roteiro 1 Por que aprender a programar? 2 Hardware e Software 3 Organização de um ambiente computacional 4 Algoritmos
Leia maisOrganização de Computadores Software
Organização de Computadores Software 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 Objetivos: Entender
Leia maisOrganização e Arquitetura de Computadores I. de Computadores
Universidade Federal de Campina Grande Unidade Acadêmica de Sistemas e Computação Curso de Bacharelado em Ciência da Computação Organização e Arquitetura de Computadores I Organização Básica B de Computadores
Leia maisO Hardware e o Software do Computador
O Hardware e o Software do Computador Aula 3 Parte 2 Software de Computador Aplicativo Horizontal: tarefas genéricas, para quaisquer organizações Aplicativo Vertical: tarefas específicas, para organizações
Leia maisAnálise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO)
Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Parte: 1 Prof. Cristóvão Cunha Objetivos de aprendizagem
Leia maisAlgoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br
(Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br Introdução O computador como ferramenta indispensável: Faz parte das nossas vidas; Por si só não faz nada de útil; Grande capacidade de resolução
Leia maisLinguagens de. Aula 01. Profa Cristiane Koehler cristiane.koehler@canoas.ifrs.edu.br
Linguagens de III Aula 01 Profa Cristiane Koehler cristiane.koehler@canoas.ifrs.edu.br Linguagens de III Horário das Aulas: 6as feiras das 7h40 às 10h55 Objetivo principal desta disciplina é: utilizar
Leia maisO que é um programa? Programa é uma lista de instruções que descrevem uma tarefa a ser realizada pelo computador.
O que é um programa? Programa é uma lista de instruções que descrevem uma tarefa a ser realizada pelo computador. Linguagem de Programação Uma linguagem de programação é um método padronizado para expressar
Leia maisProgramação de Computadores III
Programação de Computadores III Introdução a Linguagens de Programação Professor Leandro Augusto Frata Fernandes laffernandes@ic.uff.br Material disponível em http://www.ic.uff.br/~laffernandes/teaching/2013.1/tcc-00.157
Leia maisIntrodução à Programação de Computadores
1. Objetivos Introdução à Programação de Computadores Nesta seção, vamos discutir os componentes básicos de um computador, tanto em relação a hardware como a software. Também veremos uma pequena introdução
Leia maisEngenharia de Software
Engenharia de Software O que é a engenharia de software É um conjunto integrado de métodos e ferramentas utilizadas para especificar, projetar, implementar e manter um sistema. Método É uma prescrição
Leia maisParadigmas de Linguagens de Programação
Paradigmas de Linguagens de Programação Faculdade Nova Roma Cursos de Ciências da Computação (6 Período) Prof. Adriano Avelar - Site: www.adrianoavelar.com Email: edson.avelar@yahoo.com.br Ementa Introdução
Leia maisARQUITETURA DE COMPUTADORES. Rogério Spindula Rosa
ARQUITETURA DE COMPUTADORES 1 Rogério Spindula Rosa 2 EXECUÇÃO DE PROGRAMAS PROGRAMA 3 4 INTRODUÇÃO Hoje é raro escrever um programa diretamente em linguagem de computador em virtude da enorme dificuldade
Leia maisIntrodução às Linguagens de Programação
Introdução às Linguagens de Programação Histórico de Linguagens de Programação O computador não faz nada sozinho Precisamos informar, de forma clara, como ele deve executar as tarefas Ou seja, o computador
Leia maisEsta dissertação apresentou duas abordagens para integração entre a linguagem Lua e o Common Language Runtime. O objetivo principal da integração foi
5 Conclusão Esta dissertação apresentou duas abordagens para integração entre a linguagem Lua e o Common Language Runtime. O objetivo principal da integração foi permitir que scripts Lua instanciem e usem
Leia mais1.1. Organização de um Sistema Computacional
1. INTRODUÇÃO 1.1. Organização de um Sistema Computacional Desde a antiguidade, o homem vem desenvolvendo dispositivos elétricoeletrônicos (hardware) que funciona com base em instruções e que são capazes
Leia mais1 INTRODUÇÃO 1.1 CONCEITO DE PARADIGMAS DE LINGUAGEM DE PROGRAMAÇÃO PARADIGMAS DE LINGUAGEM DE PROGRAMAÇÃO
1 INTRODUÇÃO 1.1 CONCEITO DE PARADIGMAS DE LINGUAGEM DE PROGRAMAÇÃO Desde o seu surgimento, o manuseio da computação é baseado em linguagens de programação. Ela permite que sejam construídos aplicativos
Leia maisSistemas Operacionais
Sistemas Operacionais Aula 6 Estrutura de Sistemas Operacionais Prof.: Edilberto M. Silva http://www.edilms.eti.br Baseado no material disponibilizado por: SO - Prof. Edilberto Silva Prof. José Juan Espantoso
Leia maisAULA 3 Introdução ao Software
AULA 3 Introdução ao Software Disciplina: Introdução à Informática Professor: Gustavo Leitão Email: gustavo.leitao@ifrn.edu.br Introdução ao Software Conteúdo: Conceito de Software Classificação de Softwares
Leia maisALP Algoritmos e Programação. . Linguagens para Computadores
ALP Algoritmos e Programação Iniciação aos computadores. Linguagens para Computadores. Compiladores, Interpretadores. Ambientes de Programação 1 Linguagens para Computadores. Linguagem binária: Dispositivos
Leia maisECO039 Linguagens Formais
Prof a.dra.thatyana de Faria Piola Seraphim Universidade Federal de Itajubá thatyana@unifei.edu.br Introdução ˆ As três principais áreas da teoria da computação (Autômatos, Computabilidade e Complexidade)
Leia maisFonte (livro-texto): Conceitos de Linguagens de Programação, 4ed. Robert W. Sebesta
1 Fonte (livro-texto): Conceitos de Linguagens de Programação, 4ed. Robert W. Sebesta Agenda 1. Razões para estudar conceitos de LPs 2. Domínios de programação 3. Critérios de avaliação de linguagens 4.
Leia maisEMENTAS DAS DISCIPLINAS
EMENTAS DAS DISCIPLINAS CURSO CST ANÁLISE E DESENVOLVIMENTO DE SISTEMAS INTRODUÇÃO À COMPUTAÇÃO 68 A disciplina estuda a área da informática como um todo e os conceitos fundamentais, abrangendo desde a
Leia maisAMBIENTE PARA AUXILIAR O DESENVOLVIMENTO DE PROGRAMAS MONOLÍTICOS
UNIVERSIDADE REGIONAL DE BLUMENAU CENTRO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE CIÊNCIAS DA COMPUTAÇÃO BACHARELADO AMBIENTE PARA AUXILIAR O DESENVOLVIMENTO DE PROGRAMAS MONOLÍTICOS Orientando: Oliver Mário
Leia maisProjeto Pedagógico do Bacharelado em Ciência da Computação. Comissão de Curso e NDE do BCC
Projeto Pedagógico do Bacharelado em Ciência da Computação Comissão de Curso e NDE do BCC Fevereiro de 2015 Situação Legal do Curso Criação: Resolução CONSU no. 43, de 04/07/2007. Autorização: Portaria
Leia maisConteúdo Programático de PHP
Conteúdo Programático de PHP 1 Por que PHP? No mercado atual existem diversas tecnologias especializadas na integração de banco de dados com a WEB, sendo o PHP a linguagem que mais se desenvolve, tendo
Leia maisComputador Máquina que processa uma grande quantidade de dados com rapidez e precisão.
Introdução à informática - Noções Básicas de Informática; - O que é software / hardware; - Como funciona um computador; - Componentes de um computador; - Tipos de computador; - Periféricos; - Ligar e desligar
Leia maisProgramação de Computadores
Programação de Computadores Curso Engenharia Civil Modalidade Superior Professora Michelle Nery Agenda Introdução a Programação Algoritmos VS Programa 2 Algoritmos Um algoritmo pode ser definido como uma
Leia maisIntrodução. Introdução. Introdução. Organização Estruturada de Computadores. Introdução. Máquinas Multiníveis
Ciência da Computação Arq. e Org. de Computadores Máquinas Multiníveis Prof. Sergio Ribeiro Computador digital máquina que resolve problemas executando uma série de instruções. Programa conjunto de instruções
Leia maisNesta aula... Analisamos na ultima aula a evolução e caraterísticas de computadores e linguagens de programação. Nesta aula iremos ver:
Nesta aula... Programação de Computadores Analisamos na ultima aula a evolução e caraterísticas de computadores e linguagens de programação. Nesta aula iremos ver: 1 Programação de Computadores O que é?
Leia maisIntrodução a Informática. Prof.: Roberto Franciscatto
Introdução a Informática Prof.: Roberto Franciscatto APRESENTAÇÃO Os computadores chegaram aos diversos níveis das organizações Nestes contexto: Que linguagem entendem? Que produtos podem usar? Dúvidas
Leia maisFundamentosemInformática
FundamentosemInformática 04 Software Conteúdo Conceito de Software Classificação de Softwares Conceito de Sistema Operacional(S.O.) FunçõesBásicasdeumS.O. um Arquivos Atributos Diretórios 1 -Conceitos
Leia maisDisciplina: Organização de computadores
Disciplina: Organização de computadores Professora: Carolina D. G. dos Santos E-mail: profcarolinadgs@gmail.com Página: profcarolinadgs.webnode.com.br Unip / Prof. a Carolina 1 à Computador Conceitos Básicos
Leia maisNoções de. Microsoft SQL Server. Microsoft SQL Server
Noções de 1 Considerações Iniciais Basicamente existem dois tipos de usuários do SQL Server: Implementadores Administradores 2 1 Implementadores Utilizam o SQL Server para criar e alterar base de dados
Leia maisLP II Estrutura de Dados. Introdução e Linguagem C. Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br
LP II Estrutura de Dados Introdução e Linguagem C Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br Resumo da aula Considerações Gerais Introdução a Linguagem C Variáveis e C Tipos de
Leia maisAlgoritmos e Programação I
Algoritmos e Programação I Introdução a Computação Prof. Fernando Maia da Mota mota.fernandomaia@gmail.com CPCX/UFMS Fernando Maia da Mota 1 Computadores são dispositivos que só sabem fazer um tipo de
Leia maisAULA 1: PARADIGMAS DE PROGRAMAÇÃO
1 AULA 1: PARADIGMAS DE PROGRAMAÇÃO Curso: Ciência da Computação Profª.: Luciana Balieiro Cosme Ementa 2 Programação Imperativa. Programação Paralela e Concorrente. Programação Lógica. Programação Funcional.
Leia maisProf. Marcelo Machado Cunha www.marcelomachado.com mcelobr@yahoo.com.br
Prof. Marcelo Machado Cunha www.marcelomachado.com mcelobr@yahoo.com.br Ementa Introdução a Banco de Dados (Conceito, propriedades), Arquivos de dados x Bancos de dados, Profissionais de Banco de dados,
Leia maisDisciplina: Introdução à informática Profª Érica Barcelos
Disciplina: Introdução à informática Profª Érica Barcelos CAPÍTULO 3 1. ARQUITETURA DO COMPUTAÇÃO- SOFTWARE Vimos nos capítulos anteriores que durante muitas décadas vários projetos foram realizados para
Leia maisFigura 1 - O computador
Organização e arquitectura dum computador Índice Índice... 2 1. Introdução... 3 2. Representação da informação no computador... 4 3. Funcionamento básico dum computador... 5 4. Estrutura do processador...
Leia maisIntrodução. Hardware X Software. Corpo Humano Parte Física. Capacidade de utilizar o corpo em atividades especificas explorando seus componentes
Introdução Hardware X Software Corpo Humano Parte Física Componentes 18 Capacidade de utilizar o corpo em atividades especificas explorando seus componentes Hardware Introdução Parte física: placas, periféricos,
Leia maisUniversidade Federal de Santa Maria Curso de Arquivologia. Disciplina de Banco de Dados Aplicados à Arquivística. Versao 1.
Universidade Federal de Santa Maria Curso de Arquivologia Disciplina de Banco de Dados Aplicados à Arquivística Prof. Andre Zanki Cordenonsi Versao 1.0 Março de 2008 Tópicos Abordados Conceitos sobre Banco
Leia maisParadigmas de Linguagens de Programação. Aspectos Preliminares
Aspectos Preliminares Cristiano Lehrer Motivação (1/6) Aumento da capacidade de expressar idéias: Difícil conceituar estruturas quando não se pode descreve-las. Programadores são limitados pelas linguagens.
Leia maisCOMPILADORES E INTERPRETADORES
Aula 16 Arquitetura de Computadores 12/11/2007 Universidade do Contestado UnC/Mafra Curso Sistemas de Informação Prof. Carlos Guerber COMPILADORES E INTERPRETADORES Um compilador transforma o código fonte
Leia maisLição 1 Introdução à programação de computadores
Lição Introdução à programação de computadores Introdução à Programação I Objetivos Ao final desta lição, o estudante será capaz de: Identificar os diferentes componentes de um computador Conhecer linguagens
Leia maisBanco de Dados. Uma coleção de dados relacionados [ELMASRI/NAVATHE]
1/6 Banco de Dados O que é um Banco de Dados? Uma coleção de dados relacionados [ELMASRI/NAVATHE] Conjunto de dados integrados que tem por objetivo atender a uma comunidade específica [HEUSER] Um conjunto
Leia maisProf. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO
Conceitos básicos e serviços do Sistema Operacional Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO Tipos de serviço do S.O. O S.O.
Leia maisO modelo do computador
O modelo do computador Objetivos: Mostrar como é o funcionamento dos computadores modernos Mostrar as limitações a que estamos sujeitos quando programamos Histórico Os primeiros computadores são da década
Leia maisEverson Scherrer Borges João Paulo de Brito Gonçalves
Everson Scherrer Borges João Paulo de Brito Gonçalves 1 Tipos de Sistemas Operacionais Os tipos de sistemas operacionais e sua evolução estão relacionados diretamente com a evolução do hardware e das
Leia maisSoftwares de Sistemas e de Aplicação
Fundamentos dos Sistemas de Informação Softwares de Sistemas e de Aplicação Profª. Esp. Milena Resende - milenaresende@fimes.edu.br Visão Geral de Software O que é um software? Qual a função do software?
Leia maisA lógica de programação ajuda a facilitar o desenvolvimento dos futuros programas que você desenvolverá.
INTRODUÇÃO A lógica de programação é extremamente necessária para as pessoas que queiram trabalhar na área de programação, seja em qualquer linguagem de programação, como por exemplo: Pascal, Visual Basic,
Leia mais3. O NIVEL DA LINGUAGEM DE MONTAGEM
3. O NIVEL DA LINGUAGEM DE MONTAGEM Nas aulas anteriores tivemos a oportunidade de discutir dois diferentes níveis presentes na maioria dos computadores atuais. Nesta aula dedica-se a outro nível que também
Leia maisUNIVERSIDADE FEDERAL DA BAHIA INSTITUTO DE MATEMATICA DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO LINGUAGENS DE APLICAÇÃO COMERCIAL SILAS QUEIROZ SILVA
UNIVERSIDADE FEDERAL DA BAHIA INSTITUTO DE MATEMATICA DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO LINGUAGENS DE APLICAÇÃO COMERCIAL SILAS QUEIROZ SILVA Mini-Seminário Visual Basic 6.0 Salvador - BA 18/05/2009
Leia maisArquitetura de Computadores. Introdução aos Sistemas Operacionais
Arquitetura de Computadores Introdução aos Sistemas Operacionais O que é um Sistema Operacional? Programa que atua como um intermediário entre um usuário do computador ou um programa e o hardware. Os 4
Leia maisResolução de problemas e desenvolvimento de algoritmos
SSC0101 - ICC1 Teórica Introdução à Ciência da Computação I Resolução de problemas e desenvolvimento de algoritmos Prof. Vanderlei Bonato Prof. Cláudio Fabiano Motta Toledo Sumário Análise e solução de
Leia maisUNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO
UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO Santa Maria, 01 de Novembro de 2013. Revisão aula passada Projeto de Arquitetura Decisões de projeto de Arquitetura
Leia maisAbstrações e Tecnologias Computacionais. Professor: André Luis Meneses Silva E-mail/msn: andreluis.ms@gmail.com Página: orgearq20101.wordpress.
Abstrações e Tecnologias Computacionais Professor: André Luis Meneses Silva E-mail/msn: andreluis.ms@gmail.com Página: orgearq20101.wordpress.com Agenda Introdução Sistemas Computacionais Arquitetura X
Leia maisIntrodução à Lógica de Programação
Introdução à Lógica de Programação Sistemas Numéricos As informações inseridas em um computador são traduzidos em dados, ou seja, em sinais que podem ser manipulados pelo computador. O computador trabalha
Leia maisWilson Moraes Góes. Novatec
Wilson Moraes Góes Novatec Copyright 2014 Novatec Editora Ltda. Todos os direitos reservados e protegidos pela Lei 9.610 de 19/02/1998. É proibida a reprodução desta obra, mesmo parcial, por qualquer processo,
Leia maisParte II Introdução a Linguagens de Programação
Programação de Computadores III Aula 1 Professor Leandro Augusto Frata Fernandes laffernandes@ic.uff.br Material disponível em http://www.ic.uff.br/~laffernandes/teaching/2011.1/tcc-03.063 Roteiro da Aula
Leia maisCAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES
CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES 3.1 - IDENTIFICADORES Os objetos que usamos no nosso algoritmo são uma representação simbólica de um valor de dado. Assim, quando executamos a seguinte instrução:
Leia maisConceitos básicos de programação
O QUE É UM PROGRAMA? Para executar uma dada tarefa é geralmente necessário entender o sistema onde ela é realizada. Por exemplo, para fazer um bolo temos um sistema composto por: Ingredientes Cozinheiro
Leia maisSistemas Operacionais Introdução. Professora: Michelle Nery
Sistemas Operacionais Introdução Professora: Michelle Nery Área de Atuação do Sistema Operacional Composto de dois ou mais níveis: Tipo de Sistemas Operacionais Sistemas Operacionais Monotarefas Sistemas
Leia maisFigura 01 Kernel de um Sistema Operacional
01 INTRODUÇÃO 1.5 ESTRUTURA DOS SISTEMAS OPERACIONAIS O Sistema Operacional é formado por um Conjunto de rotinas (denominado de núcleo do sistema ou kernel) que oferece serviços aos usuários e suas aplicações
Leia maisTabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008
Tabela de Símbolos Análise Semântica A Tabela de Símbolos Fabiano Baldo Após a árvore de derivação, a tabela de símbolos é o principal atributo herdado em um compilador. É possível, mas não necessário,
Leia maisIntrodução. Paradigmas de Linguagens de Programação. Heloisa de Arruda Camargo. Motivos para estudar os conceitos de linguagens de programação
Paradigmas de Linguagens de Programação Heloisa de Arruda Camargo Introdução Motivos para estudar os conceitos de linguagens de programação Aumento da capacidade de expressar idéias É difícil para as pessoas
Leia maisO que veremos nesta aula? Principais Aspectos de Sistemas Operacionais. Visão geral de um sistema computacional
O que veremos nesta aula? Principais Aspectos de Sistemas Operacionais Laboratório de Sistemas Operacionais Aula 1 Flávia Maristela (flavia@flaviamaristela.com) Tudo o que já vimos antes... Introdução
Leia maisCONCEITOS DE LINGUAGEM DE PROGRAMAÇÃO CARACTERÍSTICAS. João Gabriel Ganem Barbosa
CONCEITOS DE LINGUAGEM DE PROGRAMAÇÃO CARACTERÍSTICAS João Gabriel Ganem Barbosa Sumário Motivação História Linha do Tempo Divisão Conceitos Paradigmas Geração Tipos de Dados Operadores Estruturada vs
Leia mais1 http://www.google.com
1 Introdução A computação em grade se caracteriza pelo uso de recursos computacionais distribuídos em várias redes. Os diversos nós contribuem com capacidade de processamento, armazenamento de dados ou
Leia maisDisciplina A Disciplina B Código Disciplina C/H Curso Disciplina C/H Código Curso Ano do Currículo
Equivalências: Curso Sistemas de Informação (21806) Observação: A está CONTIDA em B B é SUBSTITUTA de A A é EQUIVALENTE de B 1º PERÍODO Código Disciplina C/H Curso Disciplina C/H Código Curso Ano do Conclusão
Leia maisProgramação I. Departamento de Engenharia Rural Centro de Ciências Agrárias
Departamento de Engenharia Rural Centro de Ciências Agrárias Programação I Prof. Bruno Vilela Oliveira bruno@cca.ufes.br http://www.brunovilela.webnode.com.br Programas e Linguagens Para executar uma tarefa
Leia maisRoteiro. Arquitetura. Tipos de Arquitetura. Questionário. Centralizado Descentralizado Hibrido
Arquitetura Roteiro Arquitetura Tipos de Arquitetura Centralizado Descentralizado Hibrido Questionário 2 Arquitetura Figura 1: Planta baixa de uma casa 3 Arquitetura Engenharia de Software A arquitetura
Leia maisPROGRAMAÇÃO AVANÇADA -CONCEITOS DE ORIENTAÇÃO A OBJETOS. Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br
PROGRAMAÇÃO AVANÇADA -CONCEITOS DE ORIENTAÇÃO A OBJETOS Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br ROTEIRO 1. Conceitos de Orientação a Objetos Introdução O paradigma da POO Classes
Leia maisIntrodução aos Computadores
Os Computadores revolucionaram as formas de processamento de Informação pela sua capacidade de tratar grandes quantidades de dados em curto espaço de tempo. Nos anos 60-80 os computadores eram máquinas
Leia mais16/09/2012. Agenda. Introdução. Introdução. Tipos de Software (Básico) Tipos de Software. Curso Conexão Noções de Informática
Curso Conexão Noções de Informática Aula 2 Arquitetura de Computadores (Software) Agenda Introdução; Tipos de Software; Básico; Aplicativo; Livre; Proprietário. Pirataria de Software; Demos, Freewares
Leia maisIntrodução à Engenharia de Computação
Introdução à Engenharia de Computação Tópico: O Computador como uma Multinível José Gonçalves - Introdução à Engenharia de Computação Visão Tradicional Monitor Placa-Mãe Processador Memória RAM Placas
Leia maisSistemas Operacionais. Conceitos de um Sistema Operacional
Sistemas Operacionais Conceitos de um Sistema Operacional Modo usuário e Modo Kernel Como já vimos são ambientes de execução diferentes no processador Há um conjunto de funções privilegiadas acessadas
Leia maisArquiteturas RISC. (Reduced Instructions Set Computers)
Arquiteturas RISC (Reduced Instructions Set Computers) 1 INOVAÇÕES DESDE O SURGIMENTO DO COMPU- TADOR DE PROGRAMA ARMAZENADO (1950)! O conceito de família: desacoplamento da arquitetura de uma máquina
Leia maisFACULDADE PITÁGORAS DISCIPLINA: ARQUITETURA DE COMPUTADORES
FACULDADE PITÁGORAS DISCIPLINA: ARQUITETURA DE COMPUTADORES Prof. Ms. Carlos José Giudice dos Santos cpgcarlos@yahoo.com.br www.oficinadapesquisa.com.br Conceito de Computador Um computador digital é
Leia maisAULA 4 VISÃO BÁSICA DE CLASSES EM PHP
AULA 4 VISÃO BÁSICA DE CLASSES EM PHP Antes de mais nada, vamos conhecer alguns conceitos, que serão importantes para o entendimento mais efetivos dos assuntos que trataremos durante a leitura desta apostila.
Leia maisICC Introdução para JavaScript
ICC Introdução para JavaScript Arquitetura Genérica de um Computador Máquina de Von Neumann Diagrama conhecido como Máquina de Von Neumann (grande nome da informática) A finalidade de um computador é receber,
Leia maisConceitos de Banco de Dados
Conceitos de Banco de Dados Autor: Luiz Antonio Junior 1 INTRODUÇÃO Objetivos Introduzir conceitos básicos de Modelo de dados Introduzir conceitos básicos de Banco de dados Capacitar o aluno a construir
Leia maisEMENTAS DAS DISCIPLINAS
EMENTAS DAS DISCIPLINAS CURSO EDUCAÇÃO A DISTÂNCIA (EAD) SISTEMAS PARA INTERNET INTRODUÇÃO À COMPUTAÇÃO 68 A disciplina estuda a área da informática como um todo e os conceitos fundamentais, abrangendo
Leia maisESTUDO SOBRE AS LINGUAGENS DE PROGRAMAÇÃO HOSPEDEIRAS SUPORTADAS PELA FERRAMENTA HTML. Aluno: Rodrigo Ristow Orientador: Wilson Pedro Carli
ESTUDO SOBRE AS LINGUAGENS DE PROGRAMAÇÃO HOSPEDEIRAS SUPORTADAS PELA FERRAMENTA HTML Aluno: Rodrigo Ristow Orientador: Wilson Pedro Carli Objetivo; Roteiro da Apresentação Visão Geral sobre Internet,
Leia maisArquitetura dos Sistemas de Informação Distribuídos
Arquitetura dos Sistemas de Informação Distribuídos Quando se projeta um sistema cuja utilização é destinada a ser feita em ambientes do mundo real, projeções devem ser feitas para que o sistema possa
Leia mais