Introdução à Computação

Documentos relacionados
Conceitos de Linguagens de Programação

Computadores podem ser úteis em problemas que envolvem: Grande número de dados. Grande número de cálculos. Complexidade. Precisão.

Universidade de Santa Cruz do Sul UNISC Departamento de informática COMPILADORES. Introdução. Geovane Griesang

INFORMÁTICA: Informação automática

Introdução à Computação para Engenharia MAC2166 Prof. Dr. Paulo Miranda IME-USP. Aula 1 Introdução à Computação

Sistema Computacional

UNIVERSIDADE ESTADUAL DE MARINGÁ DEPARTAMENTO DE INFORMÁTICA

AGT0001 Algoritmos Aula 01 O Computador

Introdução à Computação MAC0110

Linguagens de Programação Classificação

Estrutura e Funcionamento dos Computadores (Conceitos Básicos)

2. Conceitos Básicos. Introdução à Ciência da Computação.

LISTA DE EXERCÍCIOS 01 INTRODUÇÃO À INFORMÁTICA

Métodos de implementação de linguagens. Kellen Pinagé

Infraestrutura de Hardware. Funcionamento de um Computador

Introdução à Computação MAC0110

Sistemas Operacionais

ORGANIZAÇÃO DE COMPUTADORES

Algoritmos e Programação

Noções de sistemas de computação

Introdução à Computação

Noções de compilação

Introdução à Computação: Máquinas Multiníveis

AULA 03: FUNCIONAMENTO DE UM COMPUTADOR

SSC510 Arquitetura de Computadores 1ª AULA

Programação de Computadores:

Algoritmos Computacionais

Memória. Arquitetura de Von Neumann. Universidade do Vale do Rio dos Sinos Laboratório I Prof.ª Vera Alves 1 CPU. Unidade de controle ULA

Introdução (Aula 2) Introdução Arquitetura de Hardware. Organização Estruturada de Computadores. Introdução Conceitos (2) Introdução Conceitos (1)

Compiladores. Introdução à Compiladores

Introdução. (Aula 2) Organização Estruturada de Computadores

ARQUITETURA DE COMPUTADORES

Desenvolvimento de Aplicações Desktop

Compiladores. Introdução

Aula 2 - Programação de Computadores - CI208 1/21

Algoritmos e Técnicas de Programação. Professora Luciana Faria

PROGRAMAÇÃO I. Introdução

Programação de Computadores IV. Introdução a Linguagens de Programação Simone Martins SLIDES CEDIDOS POR BRUNO MARQUES 1

a) Computador b) Estrutura do sistema i. Hardware ii.software c) Linguagens de Programação i. Paradigmas e Programação 1.

Algoritmos e Programação

INFORMÁTICA: Informação automática

Software. Professora Milene Selbach Silveira Prof. Celso Maciel da Costa Faculdade de Informática - PUCRS

Compiladores. Motivação. Tradutores. Motivação. Tipos de Tradutores. Tipos de Tradutores

CP Introdução à Informática Prof. Msc. Carlos de Salles

Organização de Computadores

Curso Profissional de Gestão e Programação de Sistemas Informáticos. Programação e Sistemas de Informação. Módulo 1. 1ª Parte Prof. Sandra Pais Soares

Algoritmos e Programação

Introdução à Informática

Tecnólogo em Análise e Desenvolvimento de Sistemas. Sistemas Operacionais (SOP A2)

Capítulo 1. Aspectos Preliminares

Construção de Compiladores. Capítulo 1. Introdução. José Romildo Malaquias. Departamento de Computação Universidade Federal de Ouro Preto 2014.

Projeto de Algoritmos

GFM015 Introdução à Computação

LAPRO I. Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Informática - FACIN. Prof. Dr. Rafael Garibotti

Arquitetura e Organização de computadores

Programação: Compiladores x Interpretadores PROF. CARLOS SARMANHO JR

Existem três categorias principais de linguagem de programação: linguagem de máquina, linguagens assembly e linguagens de alto nível.

Conversões de Linguagens: Tradução, Montagem, Compilação, Ligação e Interpretação

Informática: termo que provém da contração das palavras Informação. Processamento de dados: operações que se praticam com dados.

Conjunto de Instruções e Modelos de Arquiteturas

Introdução à Programação Aula 02. Prof. Max Santana Rolemberg Farias Colegiado de Engenharia de Computação

Linguagem de Montagem do NeanderX

Introdução à Informática

Profa. Leda G. F. Bueno

ATIVIDADE DE ESTUDO 03 FUNDAMENTOS E ARQUITETURA DE COMPUTADORES 2017A1

3. Linguagem de Programação C

Programação de Computadores

MANUTENÇÃO DE COMPUTADORES

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

EA876 - Introdução a Software de Sistema

Sistemas Operacionais. Visão Geral

Introdução à Programação

Programação de Computadores

Transcrição:

UNIVERSIDADE ESTADUAL DE MARINGÁ DEPARTAMENTO DE INFORMÁTICA Introdução à Computação Prof. Yandre Maldonado - 1 Prof. Yandre Maldonado e Gomes da Costa yandre@din.uem.br

Histórico da Computação Prof. Yandre Maldonado - 2 Histórico da Computação: Ábaco Mesopotâmia, aprox. 3500 a.c. Computar: do latim computare, que significa calcular, avaliar, contar; Máquina de Babbage R.U., 1832. ENIAC E.U.A., 1945.

Histórico da Computação ENIAC, 1945: primeiro computador eletrônico de propósitos gerais Prof. Yandre Maldonado - 3

Evolução dos computadores Prof. Yandre Maldonado - 4

Introdução à Computação Prof. Yandre Maldonado - 5 Ciência da Computação Ênfase teórica: idéias fundamentais e modelos computacionais; Ênfase prática: projeto de sistemas computacionais; As tecnologias computacionais são construídas a partir de fundamentos da computação. Aquelas são passageiras, enquanto estes estão por trás da tecnologia em qualquer tempo.

Introdução à Computação Núcleos de disciplinas da Computação: SI Tecnologia da Computação FUNDAMENTOS DA COMPUTAÇÃO Prof. Yandre Maldonado - 6

Introdução à Computação Os fundamentos estão por trás da tecnologia em qualquer tempo. Prof. Yandre Maldonado - 7 Tecnologias Computacionais Fundamentos Teóricos da Computação Anos 40 Anos 50 Anos 60 Anos 70 Tempos atuais

Introdução à Computação Processar dados: papel central do computador Prof. Yandre Maldonado - 8 Dados de Entrada Computador Dados de Saída

O Computador Arquitetura de Von Neumann Prof. Yandre Maldonado - 9 Unidade de Entrada Unidade Lógica e Aritmética Unidade de Controle Memória (Principal) UCP Unidade de Saída

O Computador Prof. Yandre Maldonado - 10 Unidade de Entrada: codifica informações introduzidas por dispositivos de entrada para que a UCP possa entender; Memória: armazena dados e o programa em execução; Unidade Lógica e Aritmética: realiza cálculos aritméticos e manipulação de dados; Unidade de Controle: responsável pelo trafego dos dados: UE MEM MEM ULA MEM MEM US

O Computador Unidade de Saída: converte os dados processados para um formato que possa ser exibido em dispositivos de saída. Prof. Yandre Maldonado - 11 Hardware: parte física do computador. Formada pelos circuitos eletrônicos, dispositivos mecânicos, magnéticos e etc. Software: os programas que executam sobre o hardware. HARDWARE + SOFTWARE = COMPUTADOR

Hardware Principais dispositivos de Entrada/Saída: Prof. Yandre Maldonado - 12

Hardware Prof. Yandre Maldonado - 13

Hardware Prof. Yandre Maldonado - 14

Software Conceito: Prof. Yandre Maldonado - 15 Elementos de programação de um sistema de computação, isto é, todos os programas, sejam de aplicação ou básicos do sistema, contrastando com a parte física e visível do sistema - o hardware. Classificação: softwares básicos softwares aplicativos

Software Softwares básicos: Prof. Yandre Maldonado - 16 Programas que definem o padrão do equipamento, sendo necessários para o funcionamento do computador. Tipos: sistema operacional ambiente operacional linguagens de programação (tradutores) utilitários

Software Conceito de sistema operacional: Prof. Yandre Maldonado - 17

Software Sistema Operacional Prof. Yandre Maldonado - 18 Sistema Operacional Hardware

Software Exemplos de sistemas operacionais MS-DOS, System 7, Unix, Linux, OS-2, Windows, etc. Distribuição física na memória do computador: Prof. Yandre Maldonado - 19 ROM: gravadas as rotinas mais fundamentais de coordenação e tradução de fluxos de dados RAM do sistema em duas (2) etapas: 1ª. é totalmente transferida para a RAM quando o sistema é ligado 2ª. é carregada na memória à medida que é solicitada

Software Sistemas operacionais: programas que podem ser fornecidos pelo fabricante do equipamento. Prof. Yandre Maldonado - 20 O padrão é virem em disquetes ou já gravados no winchester Constituição do sistema operacional: programas escritos geralmente em linguagem de programação de baixo nível. Classificação de sistemas operacionais: sistema monousuário, sistema multiusuário sistema monotarefa, sistema multitarefa.

Software Ambiente operacional: ambientes que adicionam recursos ao sistema operacional para permitir uma interface gráfica com o usuário. Prof. Yandre Maldonado - 21 Exemplo: todas as versões do Windows, Linux, etc. incluem um abiente operacional. Linguagens de programação: conjunto de símbolos (vocabulário) e regras (gramática) que Divisão: especificam um padrão sintático para estabelecer a comunicação entre usuários (programadores) e computador. linguagem de baixo nível linguagem de alto nível linguagem de máquina linguagem simbólica

Software Linguagem de máquina: baseada em código binário, em 0s e 1s. Interpretada diretamente pelo computador. Prof. Yandre Maldonado - 22 Exemplo: Linguagem de máquina Significado 0010 0001 1110 carrega no registrador 1 o conteúdo da posição de memória 14 0010 0010 1111 carrega no registrador 2 o conteúdo da posição de memória 15 0001 0001 0010 soma o conteúdo do registrador 1 com o conteúdo do registrador 2 e coloca no registrador 1 0011 0001 1111 armazena o conteúdo do registrador 1 na posição de memória 15

Software Linguagem de baixo nível simbólica: simplificação da linguagem de máquina. Faz uso de códigos mnemônicos para expressar as instruções. Prof. Yandre Maldonado - 23 Exemplo: Assembly Linguagem de máquina Linguagem simbólica 0010 0001 1110 LOAD R1, val1 0010 0010 1111 LOAD R2, val2 0001 0001 0010 ADD R1, R2 0011 0001 1111 STORE R1, val2

Software Linguagem de alto nível: Prof. Yandre Maldonado - 24 combinação de um conjunto de símbolos de acordo com certas regras de sintaxe para expressar uma seqüência de operações de máquina. Linguagem que não exige conhecimento do código de máquina. Exemplos: FORTRAN, ALGOL, COBOL, BASIC, PASCAL, LOGO, C, LISP, PROLOG, etc. Linguagem de máquina Linguagem simbólica Linguagem de alto nível 0010 0001 1110 LOAD R1, val1 val2 = val1 + val2 0010 0010 1111 LOAD R2, val2 0001 0001 0010 ADD R1, R2 0011 0001 1111 STORE R1, val2

Software Principais tipos de tradutores: Prof. Yandre Maldonado - 25 Montador: lê uma linguagem de baixo nível simbólica e transforma para linguagem de máquina. Interpretador: lê uma linguagem de alto nível e coloca em execução. Compilador: lê uma linguagem de alto nível e transforma para linguagem nível mais baixo. Mecanismo de tradução híbrida: exemplo Java.

Software Compilador: 1) Lê e analisa todo o programa fonte (escrito em linguagem de alto nível) e traduz para linguagem de baixo nível. Prof. Yandre Maldonado - 26 2) Cria um programa objeto que corresponde às instruções em linguagem de máquina. 3) Executa-se direto o programa objeto. 4) Se encontrar erro, é preciso voltar ao programa fonte, corrigir, e recompilar obtendo-se um novo código objeto.

Conceitos de Linguagens de Programação Tradução de Linguagens de alto nível: Prof. Yandre Maldonado - 27 Programa Fonte Compilação Tradução para linguagem de máquina; Gera programas geralmente de execução mais rápida; Alto Nível Compilador Análise Síntese Baixo Nível Programa Alvo

Conceitos de Linguagens de Programação Prof. Yandre Maldonado - 28 Interpretação Decodifica instruções de alto nível em tempo de execução; O interpretador simula uma máquina virtual que busca (ciclo busca-decodifica-executa) as instruções em alto nível; Uma mesma instrução de alto-nível será traduzida tantas vezes quantas ela for executada; Tradicionalmente, apresentava execução 10 a 100 vezes mais lentas do que a de sistemas compilados;

Conceitos de Linguagens de Programação Prof. Yandre Maldonado - 29 Interpretação (cont.) Programa-fonte Dados de entrada O gargalo não fica entre o processador e a memória (como nos programas compilados) e sim na decodificação das instruções; Útil em depuração de código fonte; Interpretador Resultados

Conceitos de Linguagens de Programação Prof. Yandre Maldonado - 30 Programa-fonte Análise Léxica Interpretação Híbrida Traduzem a linguagem de alto-nível para uma representação intermediária; Mais rápido que a interpretação pura, pois as instruções são traduzidas uma única vez; Análise Sintática Código Intermediário Gerador de Código Intermediário Interpretador Resultados Dados de entrada

Conceitos de Linguagens de Programação Interpretação Híbrida (cont.) Prof. Yandre Maldonado - 31 A linguagem Java oferece interpretação híbrida Sua forma intermediária é o código de bytes (byte-code); Oferece portabilidade para qualquer máquina que tenha um interpretador de código de bytes; Máquina virtual Java Hoje existem sistemas que traduzem este código de bytes para código de máquina com execução mais rápida;

Conceitos de Linguagens de Programação Prof. Yandre Maldonado - 32 Ambientes de Programação Conjunto integrado de ferramentas de suporte a programação que dispõem de uma interface uniforme; Editor de Código Fonte AMBIENTE DE PROGRAMAÇÃO Compilador/Interpretador + + Linguagem de Programação Outras Ferramentas de Programação

Conceitos de Linguagens de Programação Exemplos de Ambientes de Programação: Prof. Yandre Maldonado - 33 AMBIENTE Turbo Pascal Turbo C C++ Builder Delphi Editplus, NetBeans LINGUAGEM Pascal C C++ Object Pascal Java

Software Utilitários: programas que ampliam os recursos do sistema facilitando o uso e auxiliando a manutenção de programas. Administram o ambiente oferecendo ferramentas ao usuário para organizar os Prof. Yandre Maldonado - 34 discos, verificar memória, corrigir falhas, etc. Exemplos: Save Smart, formatadores, programas de backup, compactadores de disco (zip, arj), desfragmentadores, antivírus, e outros. Estes programas recebem o nome de utilitários por serem úteis ao sistema computacional.

Software Softwares aplicativos: programas voltados para a solução de problemas do usuário. Prof. Yandre Maldonado - 35 Tipos: uso geral: programas que podem ser utilizados em vários tipos de aplicações. Exemplos: editores de texto, gráficos, planilhas, gerenciadores de banco de dados, etc. uso específico: se destinam exclusivamente a uma aplicação específica. Exemplos: folha de pagamento, crediário, imposto de renda, cadastro, contas a pagar e receber, etc.

Bibliografia Prof. Yandre Maldonado - 36 Brookshear, J. G.: Ciência da Computação Uma visão abrangente (7ª edição). Porto Alegre: Bookman, 2005; Fedeli, R. D.; Polloni, E. G. F.; Peres, F. E.: Introdução à Ciência da Computação. São Paulo: Pioneira Thomson Learning, 2003.