Nesta aula... Analisamos na ultima aula a evolução e caraterísticas de computadores e linguagens de programação. Nesta aula iremos ver:

Tamanho: px
Começar a partir da página:

Download "Nesta aula... Analisamos na ultima aula a evolução e caraterísticas de computadores e linguagens de programação. Nesta aula iremos ver:"

Transcrição

1 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 é? Porquê aprender? 2 3 Programação estruturada 4

2 O que é? Porquê aprender? O que é a programação de computadores? Concepção de métodos para resolver problemas usando computadores Análise e comparação de métodos diferentes Conjunção de várias competências: matemática linguagens formais para especificar ideias engenharia projectar, juntar componentes para formar um sistema, avaliar prós/contras de alternativas ciências naturais observar comportamento de sistemas complexos, tecer hipóteses, testar previsões

3 O que é? Porquê aprender? O que é a programação de computadores? (cont.) A principal competência de um bom programador é a resolução de problemas. Capacidade para formular problemas Pensar de forma criativa em possíveis soluções Expressar as soluções de forma clara e precisa.

4 Porquê aprender a programar se não vai ser programador profissional? O que é? Porquê aprender? trabalhos científicos necessitam de processamento de dados complexo necessidade de automatizar tarefas repetitivas aplicações programáveis (e.g. Excel, GNUplot, Matlab, Maple, Mathematica... ) estrutura o pensamento para resolver problemas é um desafio intelectual é uma competência transponível para outras áreas é divertido!

5 notações formais para exprimir computação sintaxe: regras de formação (gramática) semântica: significado ou acção associados analogias: expressões aritméticas, símbolos químicos sintaxe semântica = 3 ok verdade = 4 ok falsidade + = 3, 2 erro H 2 O ok água 2zZ erro

6 Linguagens de baixo nível: linguagem máquina e5 83 ec d 0c f... linguagem nativa de um computador códigos numéricos associados a operações elementares incompreensível para humanos única linguagem directamente executável pelo computador

7 Linguagens de baixo nível: assembly 55 push %ebp 89 e5 mov %esp,%ebp 83 ec 20 sub $0x20,%esp 83 7d 0c 00 cmpl $0x0,0xc(%ebp) 75 0f jne 1b representação do código máquina em mnemónicas (texto) mais clara, para humanos, do que a linguagem máquina traduzida para código máquina por um programa assemblador continua a ser específica para cada computador/processador muito próxima da máquina: desenvolvimento lento, fastidioso, susceptível de erros usada apenas em aplicações muito específicas

8 Linguagens de alto nível Exemplo: linguagem C Programação de Computadores p = 1; for(i=2; i<=n; i++) p = p*i; printf("factorial %d = %d\n", n, p); mais naturais e mais compreensíveis (para humanos) mais próximas da formulação matemática dos problemas facilitam o desenvolvimento de programas independentes das características do hardware traduzidas para código máquina por programas especiais interpretadores: tradução é efectuada passo-a-passo compiladores: tradução é efectuada uma só vez; produz um executável em código-máquina

9 Cronologia das linguagens mais importantes 1956 Fortran I 1958 Lisp 1960 Cobol, Algol PL/I 1968 Smalltalk 1970 Pascal, Prolog 1974 Scheme 1976 Fortran 77, ML 1978 C (K&R) 1980 Smalltalk Ada Common Lisp, C++, SML 1986 Eiffel, Perl, Caml 1988 Tcl 1990 Fortran 90, Python, Java 1994 Ruby, Perl OCaml 1998 Scheme R5RS, C++(ISO), Haskell Python 2.0, C# 2004 C# 2.0(beta), Java 2 (beta) 2008 Python CoffeeScript

10 Porquê tantas linguagens? diferentes níveis de abstração: nível mais alto: mais próximo da formulação dos problemas; facilita a programação, detecção e correcção de erros nível mais baixo: mais próximo da máquina; potencialmente mais eficiente diferentes tipos de problemas: cálculo numérico: Fortran, C sistemas operativos: C/C++ sistemas críticos: Ada scripting: Perl, Tcl, Python

11 Porquê tantas linguagens? (2) diferentes paradigmas: imperativo: Algol, Pascal, C funcional: Lisp, Scheme, ML, Caml, Haskell lógico: Prolog orientado a objectos: Smalltalk, C++, Java, C# subjectividade: estilo, elegância, legibilidade

12 Programação estruturada Antes de surgir custos excediam sistematicamente orçamentos desenvolvimento tinha tipicamente atrasos substanciais produtos finais pouco fiáveis Forma de programar é disciplinada programas claros pode-se provar que/se são correctos fáceis de modificar Exemplos: Pascal (sobretudo no meio académico) C (sem as limitações do Pascal, muito usada na prática)

13 Programação declarativa Programação de Computadores ênfase é posta na apresentação do problema, não na forma de o resolver nem todos os problema são facilmente especificáveis pouco apropriada para implementação de algoritmos

14 Programação orientada por objectos Antes: foco era posto nas acções Objectos: facilitam criação de unidades de software com sentido essas unidades podem ser grandes há uma ligação entre objectos e a realidade objectos : têm propriedades desempenham acções Classes: representam grupos de objectos relacionados Com OO: foco era posto em coisas (objectos) melhor organização código mais compreensível mais reutilizável menos problemas de manutenção

15 O que é um programa? Programação de Computadores Programação estruturada Um programa é uma sequência de instruções que indicam como levar a cabo uma certa operação. A operação pode ser, por exemplo: a resolução de uma equação encontrar as raízes de um polinómio encontrar texto num documento procurar algo na Web etc.

16 O que é um programa? (2) Programação estruturada Independentemente da linguagem de programação, existem uma série de classes de instruções que aparecem em todas elas: input: obter dados do teclado ou de outro dispositivo output: mostrar dados no écran ou noutro dispositivo matemática: levar a cabo operações matemáticas execução condicional: verificar certas condições e executar uma sequência de instruções de acordo com o resultado dessa verificação repetição: executar um conjunto de instruções repetidamente, normalmente com alguma pequena variante

17 Programação estruturada Programação estruturada decompor um programa grande em pequenos módulos (analogia: blocos Lego) podem ser re-utilizados mais fáceis de modificar possibilita testar e/ou provar a correção programas devem ser escritos para serem lidos por outros programadores simples e correcto primeiro, eficiente depois

18 A linguagem Python Interpretada de forma híbrida : compilador traduz Python para um código intermédio byte-code execução é feita por um interpretador de byte-code Vantagens: Desvantagem: desenvolvimento rápido fácil testar módulos mais eficiente do que um interpretador clássico não é tão eficiente como e.g. C/C++ ou Fortran compilado

19 Simples: pode-se lerum programa quase como se lê um texto em inglês Fácil de aprender; sintaxe é muito simples Desenvolvida em código livre: pode-se copiar, distribuir, ler e modificar o código fonte, e usá-lo em novos programas livres Linguagem de alto nível Portátil (pode ser usada em Linux, Windows, FreeBSD, Mac OS, Solaris, OS/2, Amiga, AROS, AS/400, BeOS, OS/390, z/os, Palm OS, QNX, VMS, Psion, Acorn RISC OS, VxWorks, PlayStation, Sharp Zaurus, Windows CE, Pocket PC, Nokia Series 60 mobile phones) Interpretada Orientada a objectos Extensível: se se necessitar de algoritmos críticos, pode-se programa-los em C ou C++ e utilizá-los em Python Embebível: pode-se utilizar Python em programas escritos em C ou C++, para dar a estas linguagens possibilidade de scripting Muito boa biblioteca (batteries included). Usada no mundo real : Google, Microsoft, Yahoo!, NASA, Lawrence Livermore Labs, Industrial Light & Magic... Sítio oficial:

20 Nesta aula... Programação de Computadores : classificação Programa: definição Algumas características da linguagem Python

21 Próxima aula Programação de Computadores Introdução ao Python

Introdução à Programação Aula 2 Introdução à linguagem Python

Introdução à Programação Aula 2 Introdução à linguagem Python Introdução à Programação Aula 2 Introdução à linguagem Python Pedro Vasconcelos DCC/FCUP 2015 Pedro Vasconcelos (DCC/FCUP) Introdução à Programação Aula 2 Introdução à linguagem Python 2015 1 / 24 Nesta

Leia mais

1 Introdução à Programação O que é? Para que serve?... 1

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

Leia mais

Introdução à Programação / Programação I

Introdução à Programação / Programação I Introdução à Programação / Programação I Aula 2: Introdução à linguagem Python Rita P. Ribeiro 2018/2019 Departamento de Ciência de Computadores Nesta aula 1. Porquê programar? 2. Linguagens de Programação

Leia mais

Linguagens 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 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 mais

Programação I Aula 2 Apresentação da linguagem Python

Programação I Aula 2 Apresentação da linguagem Python Programação I Aula 2 Apresentação da linguagem Python Pedro Vasconcelos DCC/FCUP 2017 Pedro Vasconcelos (DCC/FCUP) Programação I Aula 2 Apresentação da linguagem Python 2017 1 / 25 Nesta aula... 1 Porquê

Leia mais

Organização de Computadores Software

Organizaçã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 mais

INF1621 Linguagens de Programação I

INF1621 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 mais

Linguagens de. Aula 01. Profa Cristiane Koehler cristiane.koehler@canoas.ifrs.edu.br

Linguagens 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 mais

1 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 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 mais

Programação de Computadores. Turma CI-180-B. Josiney de Souza. josineys@inf.ufpr.br

Programação de Computadores. Turma CI-180-B. Josiney de Souza. josineys@inf.ufpr.br Programação de Computadores Turma CI-180-B Josiney de Souza josineys@inf.ufpr.br Agenda do Dia Aula 2 (06/03/15) Como está organizado um computador Computadores antigos Modelo von-neumann Quais suas partes

Leia mais

Paradigmas de Programação

Paradigmas 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 mais

Paradigmas de Linguagens de Programação

Paradigmas 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 mais

Fonte (livro-texto): Conceitos de Linguagens de Programação, 4ed. Robert W. Sebesta

Fonte (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 mais

ENIAC. Introdução aos Computadores e à Programação (Noções Básicas)

ENIAC. 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 mais

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 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 mais

UFRPE Prof. Gustavo Callou gcallou@gmail.com

UFRPE Prof. Gustavo Callou gcallou@gmail.com UFRPE Prof. Gustavo Callou gcallou@gmail.com 1 Algoritmos Representação Exercícios Linguagens de Programação Compilador Interpretador Ambiente de Desenvolvimento Python Característica Para que serve Onde

Leia mais

Indústria de Software - Histórico

Indústria de Software - Histórico Indústria de Software - Histórico A indústria de Software está em constante evolução Década de 1960 Orientação Batch Distribuição limitada Software customizado Década de 1970 Multiusuário Tempo real Bancos

Leia mais

Linguagens de programação

Linguagens de programação 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 ser descrito em termos de 1 s ou 0 s

Leia mais

Introdução à Engenharia de Computação

Introduçã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 mais

Programaçã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. 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 mais

Curso Técnico em Redes

Curso 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 mais

CONCEITOS 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 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 mais

Programação de Computadores

Programaçã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 mais

Introduçã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 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 mais

Linguagens de Programação Aula 10

Linguagens de Programação Aula 10 Linguagens de Programação Aula 10 Celso Olivete Júnior olivete@fct.unesp.br Na aula passada As sentenças de controle das LP imperativas ocorrem em diversas categorias: seleção, seleção múltipla, iteração

Leia mais

INTRODUÇÃO ÀS LINGUAGENS DE PROGRAMAÇÃO

INTRODUÇÃ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 mais

Construçã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. 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 mais

Linguagem de Montagem

Linguagem de Montagem Linguagem de Montagem Uma introdução à Programação Assembly do PC Slides baseados em material associado ao livro Introduction to Assembly Language Programming, Sivarama Dandamudi 1 A Visão do Usuário sobre

Leia mais

Introdução. Capítulo 1. 1.1. Breve sinopse

Introdução. Capítulo 1. 1.1. Breve sinopse Capítulo 1 Introdução 1.1. Breve sinopse O C é uma linguagem de programação criada por Dennis Ritchie no início da década de 70 do século XX. É uma linguagem de complexidade baixa, estruturada, imperativa

Leia mais

Introdução a Informática. Prof.: Roberto Franciscatto

Introduçã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 mais

AULA 1: PARADIGMAS DE PROGRAMAÇÃO

AULA 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 mais

Programação de. Programa. Bibliografia. Páginas electrónicas de PM. Regras das aulas de laboratório. Métodos de Ensino - Aulas

Programação de. Programa. Bibliografia. Páginas electrónicas de PM. Regras das aulas de laboratório. Métodos de Ensino - Aulas Programa Programação de Microprocessadores 1º Ano 2º Semestre A arquitectura dos computadores A linguagem C 1 aula 7 aulas Talvez haja mais algum assunto a abordar nas aulas seguintes Mestrado Integrado

Leia mais

ARQUITECTURA DE COMPUTADORES CAPÍTULO II AULA X

ARQUITECTURA DE COMPUTADORES CAPÍTULO II AULA X ARQUITECTURA DE COMPUTADORES CAPÍTULO II AULA X Índice Traduzindo e iniciando uma aplicação Compiladores Assembladores Linkers Loaders DLLs Iniciando um programa em Java Após toda a matéria abordada nesta

Leia mais

INTRODUÇÃO À PROGRAMAÇÃO

INTRODUÇÃO À PROGRAMAÇÃO O que é um programa? Matlab vs outras linguagens de programação Paradigma de programação Fases de desenvolvimento de um programa CPU Hardware Periféricos Sistema Software Aplicação O que é um programa?

Leia mais

Introdução à Arquitetura de Computadores. Renan Manola Introdução ao Computador 2010/01

Introdução à Arquitetura de Computadores. Renan Manola Introdução ao Computador 2010/01 Introdução à Arquitetura de Computadores Renan Manola Introdução ao Computador 2010/01 Introdução Conceitos (1) Computador Digital É uma máquina que pode resolver problemas executando uma série de instruções

Leia mais

TRABALHO DE PROGRAMAÇÃO FUNCIONAL LINGUAGEM DE PROGRAMAÇÃO I

TRABALHO DE PROGRAMAÇÃO FUNCIONAL LINGUAGEM DE PROGRAMAÇÃO I TRABALHO DE PROGRAMAÇÃO FUNCIONAL LINGUAGEM DE PROGRAMAÇÃO I Raimundo Alan F. Moreira, Antônio Victor C. Passos, Otavio R. Neto, José Almeida Júnior. Bacharelado em Ciências da Computação Centro de Ciências

Leia mais

Carga horária : 4 aulas semanais (laboratório) Professores: Custódio, Daniel, Julio foco: introdução a uma linguagem de programação Linguagem Java

Carga horária : 4 aulas semanais (laboratório) Professores: Custódio, Daniel, Julio foco: introdução a uma linguagem de programação Linguagem Java Carga horária : 4 aulas semanais (laboratório) Professores: Custódio, Daniel, Julio foco: introdução a uma linguagem de programação Linguagem Java 1 Objetivo: O aluno deverá adquirir capacidades e habilidades

Leia mais

Introdução às Linguagens de Programação

Introduçã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 mais

O COMPUTADOR. Introdução à Computação

O COMPUTADOR. Introdução à Computação O COMPUTADOR Introdução à Computação Sumário O Hardware O Software Linguagens de Programação Histórico da Linguagem C Componentes Básicos do Computador O HARDWARE: O equipamento propriamente dito. Inclui:

Leia mais

MC-102 Aula 01. Instituto de Computação Unicamp

MC-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 mais

UNIVERSIDADE 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 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 mais

Introdução à Engenharia de Computação

Introdução à Engenharia de Computação Introdução à Engenharia de Computação Tópico: O Computador como uma Máquina Multinível (cont.) José Gonçalves - LPRM/DI/UFES Introdução à Engenharia de Computação Máquina Multinível Moderna Figura 1 Máquina

Leia mais

UNIP - UNIVERSIDADE PAULISTA. Arquitetura de computadores

UNIP - UNIVERSIDADE PAULISTA. Arquitetura de computadores UNIP - UNIVERSIDADE PAULISTA Arquitetura de computadores ORGANIZAÇÃO DE COMPUTADORES Bibliografia: MONTEIRO, M. A. Introdução à organização de computadores. 4 ed. RJ. LTC 2001. TANEMBAUM, A. S. Organização

Leia mais

Programação de Computadores

Programação de Computadores Não é permitida a alteração do layout. Qualquer alteração nos conteúdos, deverá ser comunicada aos autores. Autoria: Autoria: Ernesto Ernesto R. R. Afonso, Afonso, Eng.º Eng.º Manuel Manuel A. A. E. E.

Leia mais

O Windows é um software de sistema, que permite ao utilizador interagir com o computador e com os seus periféricos.

O Windows é um software de sistema, que permite ao utilizador interagir com o computador e com os seus periféricos. Sistema Operativo Windows - Ambiente de trabalho - Janelas - Atalhos - Programas - Gestão de pastas e ficheiros - Menu iniciar O Windows é um software de sistema, que permite ao utilizador interagir com

Leia mais

Sist i em em I a n I fo f rm r at m i at zad

Sist i em em I a n I fo f rm r at m i at zad Sistema Informatizado Software Software Formado por algoritmos e suas representações para o computador (programas) Instruções codificadas necessárias para transformar dados em informações X Quando pessoas

Leia mais

Paradigmas de Linguagens de Programação. Aspectos Preliminares

Paradigmas 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 mais

Introdução à Informática

Introdução à Informática Curso Introdução à Informática Ano/Semestre Ano Lectivo Área Científica Dpt. EMP 1ºAno / 1ºS 2005/06 Informática DSI Professor Responsável da Disciplina Miguel Boavida Docente Co-Responsável Martinha Piteira

Leia mais

Ruby. Simplicidade e produtividade

Ruby. Simplicidade e produtividade Ruby Simplicidade e produtividade Ruby é... Uma linguagem de tipagem dinâmica e forte, com gerenciamento de memória automático, open source com foco na simplicidade e na produtividade. Tem uma sintaxe

Leia mais

2-Introdução e Conceitos Básicos das TIC

2-Introdução e Conceitos Básicos das TIC Agrupamento de escolas de Pevidém 2-Introdução e Conceitos Básicos das TIC Conhecer e adotar regras de ergonomia e exploração de diferentes tipos de software Prof.: Alexandra Matias Sumário Conhecer as

Leia mais

Computador Digital Circuitos de um computador (Hardware)

Computador Digital Circuitos de um computador (Hardware) Computador Digital SIS17 - Arquitetura de Computadores (Parte I) Máquina que pode resolver problemas executando uma série de instruções que lhe são fornecidas. Executa Programas conjunto de instruções

Leia mais

Breve Histórico & Conceitos Básicos

Breve Histórico & Conceitos Básicos Breve Histórico & Conceitos Básicos compiladores interpretadores montadores filtros pré-processadores carregadores linkers compilador cruzado (cross-compiler) auto-compilável (bootstraping) auto-residente

Leia mais

Apostila da disciplina Introdução à Engenharia de Software Professor: Sandro Melo Faculdades São José Curso de Tecnologia de Sistemas de Informação

Apostila da disciplina Introdução à Engenharia de Software Professor: Sandro Melo Faculdades São José Curso de Tecnologia de Sistemas de Informação Capítulo 1: Software e Engenharia de Software O que é? E quem produz? Porque é importante? Quais são as fases? Qual o resultado? Como avaliar? Arcabouço: processo, conjunto de métodos e ferramentas. 1.1

Leia mais

Curso de Eng. Informática Linguagens de Programação. C Sharp University Data Processing. (C Sharp Universidade de Processamento de Dados) Docente:

Curso de Eng. Informática Linguagens de Programação. C Sharp University Data Processing. (C Sharp Universidade de Processamento de Dados) Docente: Trabalho elaborado por: Carlos Palma nº5608 Curso de Eng. Informática Linguagens de Programação C Sharp University Data Processing (C Sharp Universidade de Processamento de Dados) Docente: José Jasnau

Leia mais

BREVE HISTÓRIA DA LINGUAGEM FORTRAN

BREVE HISTÓRIA DA LINGUAGEM FORTRAN 2 BREVE HISTÓRIA DA LINGUAGEM FORTRAN 2.1 Os primeiros tempos Nos primórdios dos computadores, programar era uma tarefa extremamente complicada e, de certa forma, extenuante. Aos programadores era exigido

Leia mais

Introdução. Introdução. Introdução. Organização Estruturada de Computadores. Introdução. Máquinas Multiníveis

Introduçã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 mais

ASP.NET 2.0 e PHP. Autor: Glauber de Almeida e Juarez Fernandes

ASP.NET 2.0 e PHP. Autor: Glauber de Almeida e Juarez Fernandes ASP.NET 2.0 e PHP Autor: Glauber de Almeida e Juarez Fernandes Linguagens pesquisadas ASP.NET 2.0 e PHP. 1 - ASP.NET 2.0 ASP.NET não é nem uma linguagem de programação como VBScript, php, nem um servidor

Leia mais

Roteiro. MC-102 Aula 01. Hardware e dispositivos. O que é um computador? Primeiro Semestre de 2008 3 A linguagem C

Roteiro. MC-102 Aula 01. Hardware e dispositivos. O que é um computador? Primeiro Semestre de 2008 3 A linguagem C Roteiro Introdução à Programação de Computadores 1 Instituto de Computação Unicamp 2 Primeiro Semestre de 2008 3 O que é um computador? Computador: o que computa, calculador, calculista. (dicionário Houaiss).

Leia mais

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 05 Estrutura e arquitetura do SO Parte 2. Cursos de Computação

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 05 Estrutura e arquitetura do SO Parte 2. Cursos de Computação Cursos de Computação Sistemas Operacionais Prof. M.Sc. Sérgio Teixeira Aula 05 Estrutura e arquitetura do SO Parte 2 Referência: MACHADO, F.B. ; MAIA, L.P. Arquitetura de Sistemas Operacionais. 4.ed. LTC,

Leia mais

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

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 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 mais

Introdução à Programação

Introdução à Programação Introdução à Programação INF 1005 e INF1004 - Programação I Pontifícia Universidade Católica Departamento de Informática 1 Modelo de um Computador 2 1 CPU: Unidade Central de Processamento Principal componente

Leia mais

Algoritmos e Programação Aula 01 Introdução a Computação

Algoritmos e Programação Aula 01 Introdução a Computação Algoritmos e Programação Aula 01 Introdução a Computação Felipe S. L. G. Duarte Felipelageduarte+fatece@gmail.com Baseado no material do Prof. Luis Otavio Alvares e do Prof. Dr. Rodrigo Fernandes de Mello

Leia mais

Engenharia de Software

Engenharia de Software Conceitos básicos sobre E.S: Ambiência Caracterização do software Fases de desenvolvimento 1 Introdução Aspectos Introdutórios Crise do Software Definição de Engenharia do Software 2 Crise do Software

Leia mais

Introdução. Paradigmas de Linguagens de Programação. Heloisa de Arruda Camargo. Motivos para estudar os conceitos de linguagens de programação

Introduçã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 mais

MODELIX SYSTEM SOFTWARE DE PROGRAMAÇÃO DE ROBÔS

MODELIX SYSTEM SOFTWARE DE PROGRAMAÇÃO DE ROBÔS MODELIX SYSTEM SOFTWARE DE PROGRAMAÇÃO DE ROBÔS A Modelix Robotics é pioneira dentre as empresas nacionais no segmento de robótica educacional (uso acadêmico e educação tecnológica) e robótica para usuário

Leia mais

AULA TEÓRICA 10 Tema 9. Introdução à programação. Desenho de Algoritmos

AULA TEÓRICA 10 Tema 9. Introdução à programação. Desenho de Algoritmos AULA TEÓRICA 10 Tema 9. Introdução à programação. Desenho de Algoritmos Ø Resolução de problemas. Ø Algoritmo. Ø Pseudo-código. Ø Fluxograma. Ø Tipos de fluxogramas. Fluxograma sequencial. 1 Resolução

Leia mais

Paradigmas. Fortran, Algol, Algol-68, Pascal, C, Cobol, PL/I

Paradigmas. 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 mais

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)

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) 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 mais

Sistemas Operacionais Arquitetura e organização de sistemas operacionais: Introdução. Prof. MSc. Hugo Souza

Sistemas Operacionais Arquitetura e organização de sistemas operacionais: Introdução. Prof. MSc. Hugo Souza Sistemas Operacionais Arquitetura e organização de sistemas operacionais: Introdução Prof. MSc. Hugo Souza Começando nossa disciplina sobre os sistemas operacionais modernos iremos abordar inicialmente

Leia mais

COMPILADORES E INTERPRETADORES

COMPILADORES 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 mais

IB I M B - PC. 1982 ( C ( P C U U

IB I M B - PC. 1982 ( C ( P C U U Microinformática 1981 (CPU 80086 e 80088 8bits/16bits XT) O MS-DOS funciona em um protótipo do IBM- PC. 1982 (CPU 80286 16bits AT) Intel lança chip 286, com 134.000 transistores. Sai a planilha eletrônica

Leia mais

Programação Estruturada. Programação Estruturada. Idéias Básicas da Programação Estruturada

Programação Estruturada. Programação Estruturada. Idéias Básicas da Programação Estruturada Programação Estruturada Programação Estruturada Paradigmas de Linguagens de Programação As linguagens desse paradigma são muitas vezes chamadas de linguagens convencionais, procedurais ou imperativas.

Leia mais

Tudo o que Você Sempre Quis Saber Sobre Linguagens de Programação* (*Mas Tinha Medo de Perguntar) Diego Padilha Rubert FACOM

Tudo o que Você Sempre Quis Saber Sobre Linguagens de Programação* (*Mas Tinha Medo de Perguntar) Diego Padilha Rubert FACOM Tudo o que Você Sempre Quis Saber Sobre Linguagens de Programação* (*Mas Tinha Medo de Perguntar) Diego Padilha Rubert FACOM Por quê? O aprendizado em Algoritmos e Programação visa lógica de programação

Leia mais

Introdução a Computação

Introdução a Computação Introdução a Computação 08 - Licenças, Tipos de Softwares, Tradutores. Linguagens de Máquina, de Baixo Nível e de Alto Nível Márcio Daniel Puntel marcio.puntel@ulbra.edu.br Software Livre GPL BSD Software

Leia mais

Programação I. Departamento de Engenharia Rural Centro de Ciências Agrárias

Programaçã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 mais

Programação I. Departamento de Engenharia Rural Centro de Ciências Agrárias

Programaçã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 Aulas 2-3-4-5-6-7-8 Lógica Algoritmos Portugol

Leia mais

Algoritmos e Estruturas de Dados I. Universidade Federal de São João del-rei Pedro Mitsuo Shiroma Sala 119 Bloco 3

Algoritmos e Estruturas de Dados I. Universidade Federal de São João del-rei Pedro Mitsuo Shiroma Sala 119 Bloco 3 Algoritmos e Estruturas de Dados I Universidade Federal de São João del-rei Pedro Mitsuo Shiroma Sala 119 Bloco 3 Laboratório de AEDS 1 Aula 01 Linguagens de Programação Cada linguagem de programação obedece

Leia mais

Algoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br

Algoritmos 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 mais

Programação de Computadores III

Programaçã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 mais

Lógica para a Programação - 1º semestre AULA 01 Prof. André Moraes

Lógica para a Programação - 1º semestre AULA 01 Prof. André Moraes Pág 4 Lógica para a Programação - 1º semestre AULA 01 Prof. André Moraes 1 APRESENTAÇÃO DA UNIDADE CURRICULAR A unidade curricular de Lógica para a programação tem como objetivo promover o estudo dos principais

Leia mais

Algoritmos DCC 119. Introdução e Conceitos Básicos

Algoritmos DCC 119. Introdução e Conceitos Básicos Algoritmos DCC 119 Introdução e Conceitos Básicos Sumário Sistemas de Numeração Sistemas Computacionais Estrutura de um Computador Digital Sistemas Operacionais Algoritmo Introdução Formas de representação

Leia mais

ONE TOONE CURSOS PARTICULARES JAVASCRIPT

ONE TOONE CURSOS PARTICULARES JAVASCRIPT ONE TOONE CURSOS PARTICULARES JAVASCRIPT Plano do Curso. Curso One. Os Cursos desenvolvidos pela One To One, são reflexo da experiência profissional no âmbito da Formação, do Design e Comunicação, apresentando

Leia mais

Departamento de Informática

Departamento de Informática Departamento de Informática Licenciatura em Engenharia Informática Sistemas Distribuídos época de recurso, 28 de Janeiro de 2009 1º Semestre, 2008/2009 NOTAS: Leia com atenção cada questão antes de responder.

Leia mais

Introduçã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. 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 mais

Convertendo Algoritmos para a Linguagem C

Convertendo Algoritmos para a Linguagem C onvertendo Algoritmos para a Linguagem Notas de Aula Prof. Francisco Rapchan www.geocities.com/chicorapchan O objetivo deste texto é mostrar alguns programas em, dando uma breve descrição de seu funcionamento

Leia mais

O 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. 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 mais

MC102 Algoritmos e Programação de Computadores 1ª Aula Introdução à Programação de Computadores

MC102 Algoritmos e Programação de Computadores 1ª Aula Introdução à Programação de Computadores MC102 Algoritmos e Programação de Computadores 1ª Aula Introdução à Programação de Computadores 1. Objetivos Situar a atividade de programação de computadores Apresentar conceitos fundamentais relativos

Leia mais

PROGRAMAÇÃO ORIENTADA A OBJETOS EM JAVA*

PROGRAMAÇÃO ORIENTADA A OBJETOS EM JAVA* PROGRAMAÇÃO ORIENTADA A OBJETOS EM JAVA* Adair Santa Catarina Curso de Ciência da Computação Unioeste Campus de Cascavel PR Fev/2014 *Adaptado de PACHECO, R C S & RIEKE, R N INE UFSC Disponível em: http://wwwstelaufscbr/~pacheco/dsoo/htm/downloadshtm

Leia mais

EVOLUÇÃO DAS TECNOLOGIAS

EVOLUÇÃO DAS TECNOLOGIAS A ERA DA COMPUTAÇÃO EVOLUÇÃO DAS TECNOLOGIAS Wagner de Oliveira Década de 40 1946: Konrad Zuze desenvolve a Plankalkul: a primeira linguagem de programação de alto nível, não foi usada. 1949: Aparece a

Leia mais

Engenharia de Software. Tema 1. Introdução à Engenharia de Software Profa. Susana M. Iglesias

Engenharia de Software. Tema 1. Introdução à Engenharia de Software Profa. Susana M. Iglesias Engenharia de Software Tema 1. Introdução à Engenharia de Software Profa. Susana M. Iglesias Sistemas Computacionais Automatiza ou apóia a realização de atividades humanas (processamento da informação)

Leia mais

Objetivos: -Dar uma visão integrada do que é a Informática -Refletir sobre as motivações e problemas que envolvem o uso de ferramentas computacionais

Objetivos: -Dar uma visão integrada do que é a Informática -Refletir sobre as motivações e problemas que envolvem o uso de ferramentas computacionais Informática I Objetivos: -Dar uma visão integrada do que é a Informática -Refletir sobre as motivações e problemas que envolvem o uso de ferramentas computacionais -Introduzir os aspectos conceituais e

Leia mais

Aspectos de Sistemas Operativos

Aspectos de Sistemas Operativos Paulo Sérgio Almeida Grupo de Sistemas Distribuídos Departamento de Informática Universidade do Minho Serviços de um sistema operativo Interface com o utilizador Chamadas ao sistema Programas de sistema

Leia mais

TÉCNICAS DE PROGRAMAÇÃO

TÉCNICAS DE PROGRAMAÇÃO TÉCNICAS DE PROGRAMAÇÃO (Adaptado do texto do prof. Adair Santa Catarina) ALGORITMOS COM QUALIDADE MÁXIMAS DE PROGRAMAÇÃO 1) Algoritmos devem ser feitos para serem lidos por seres humanos: Tenha em mente

Leia mais

Aula teórica 3. Tema 3.Computadores e linguagens Linguagens de Programação Compilação e linkagem LP Java. Preparado por eng.

Aula teórica 3. Tema 3.Computadores e linguagens Linguagens de Programação Compilação e linkagem LP Java. Preparado por eng. Aula teórica 3 Tema 3.Computadores e linguagens Linguagens de Programação Compilação e linkagem LP Java Preparado por eng.tatiana Kovalenko Linguagens de Programação Para escrever programas é necessário

Leia mais

Paradigmas e Linguagens de Programação. Prof. Josino Rodrigues Neto Email: josinon@gmail.com

Paradigmas e Linguagens de Programação. Prof. Josino Rodrigues Neto Email: josinon@gmail.com Paradigmas e Linguagens de Programação Prof. Josino Rodrigues Neto Email: josinon@gmail.com Linguagens de Programação: Módulo 1 Introdução às Linguagens de Programação Sobre o Curso Objetivos do Curso

Leia mais

MATA49 Programação de Software Básico

MATA49 Programação de Software Básico MATA49 Programação de Software Básico Leandro Andrade leandrojsadcc.ufba.br PROF. LEANDRO ANDRADE 1 Planejamento Avaliação Uma prova Dois trabalhos práticos Média Final = (P1 + T1 + T2) / 3 Provável

Leia mais

Introdução ao Paradigma Orientado a Objetos. Principais conceitos

Introdução ao Paradigma Orientado a Objetos. Principais conceitos Introdução ao Paradigma Orientado a Objetos Principais conceitos Paradigmas de Programação PROGRAMAÇÃO ESTRUTURADA X PROGRAMAÇÃO ORIENTADA A OBJETOS Paradigma Programação estruturada Na programação estrutura

Leia mais