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

Documentos relacionados
Introdução à Programação 2006/07. Computadores e Programação

PROCESSAMENTO DE DADOS

Figura 1 - O computador

Curso EFA Técnico/a de Informática - Sistemas. Óbidos

Introdução aos Computadores

SISTEMAS INFORMÁTICOS

Prof. Sandrina Correia

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

Cadeira de Tecnologias de Informação. Ano lectivo 2007/08. Conceitos fundamentais de Hardware

Curso Técnico em Redes

TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO

Algoritmos. Cláudio Barbosa

Introdução. à Estrutura e Funcionamento de um Sistema Informático

Tecnologia e Sistemas de Informações Administração dos Recursos de Hardware e Software

AULA TEÓRICA 2 Tema 2. Conceitos básicos de informática, computadores e tecnologias de informação. Sistemas de numeração (continuação)

Programação de Computadores. Turma CI-180-B. Josiney de Souza.

ISL - Introdução. Sistema. Binário. Introdução. Tipos de Computador. Sub title text goes here. Unused Section Space 2. Unused Section Space 1

Programação Engenharia Informática (11543) 1º ano, 1º semestre Tecnologias e Sistemas de Informação (6619) 1º ano, 1º semestre

Programação de Computadores

AULA 1. Informática Básica. Gustavo Leitão. Disciplina: Professor:

Construção de Compiladores. Construção de Compiladores. Motivação. Motivação. Contexto Histórico. Classificações: Gerações 09/03/2010

Escola Secundária de Emídio Navarro

Tecnologia da Informação. Prof Odilon Zappe Jr

Capítulo I : Noções Gerais

Conceitos básicos de programação

Introdução. Sumários. Objectivos da cadeira. História das linguagens de programação. Classificação das Linguagens de programação

LINGUAGENS E PARADIGMAS DE PROGRAMAÇÃO. Ciência da Computação IFSC Lages. Prof. Wilson Castello Branco Neto

Sistemas Operacionais. Prof. Pedro Luís Antonelli Anhanguera Educacional

INFORMÁTICA BÁSICA. Prof. Rafael Zimmermann

Processamento de Dados

Introdução à Arquitetura de Computadores

Fundamentos de Sistemas de Informação Hardware: Dispositivos de Entrada, Processamento e Saída

Introdução às Tecnologias de Informação e Comunicação. Conceitos Introdutórios

Estrutura e funcionamento de um sistema informático

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

Unidade de Controlo. Unidade Aritmética e Lógica

Lista de Exercícios Introdução à Informática

Organização de Computadores Hardware

Computador. Algumas definições

Primeiros "computadores" digitais. Execução de um programa. Consolas. Primórdios dos computadores. Memória interna. Computadores com memória interna

Tecnologia - Conjunto de instrumentos, métodos e processos específicos de qualquer arte, ofício ou técnica.

Computador Máquina que processa uma grande quantidade de dados com rapidez e precisão.

FACULDADE PITÁGORAS DISCIPLINA: ARQUITETURA DE COMPUTADORES

Programação de Computadores

1.1. Organização de um Sistema Computacional

Introdução aos Sistemas Operativos

Sistema de Computação

Apostila Informática Básica. 1.0 Introdução 1/14

LÓGICA DE PROGRAMAÇÃO

Introdução à estrutura e funcionamento de um Sistema Informático

ARQUITETURA DE COMPUTADORES

O Hardware e o Software do Computador

Máquinas Multiníveis

Capítulo 4. MARIE (Machine Architecture Really Intuitive and Easy)

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

Introdução à Informática

Computador. 1982: os computadores são ferramentas que nos permitem fazer cálculos rápida e comodamente

Codificação da informação. Execução do programa. Codificação binária. Representação de inteiros positivos. Representação binária

Conceitos Básicos sobre Sistema de Computação

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

Prof.Msc Jocênio Marquios Epaminondas.

TECNOLOGIA DE INFORMAÇÃO : HARDWARE

UCP. Memória Periféricos de entrada e saída. Sistema Operacional

Áreas de aplicação das TIC

Introdução à Programação de Computadores

Que tipo de arranjo de computadores e processamento computacional traria o maior benefício para a organização?

Sistemas Operacionais

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

ADMINISTRAÇÃO DOS RECURSOS DE HARDWARE E SOFTWARE

1 O que é um computador? Definição uma máquina que lê dados, efectua cálculos e fornece resultados.

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

Introdução à Programação

Introdução à Arquitetura de Computadores IFES Campus Serra

Introdução aos Computadores e Programação

Capítulo 1 Introdução

PROGRAMAÇÃO ORIENTADA A OBJETOS EM JAVA*

Computadores e Informação Digital

O que é um programa? Programa é uma lista de instruções que descrevem uma tarefa a ser realizada pelo computador.

Programação de Computadores III

Organização de Computadores

Introdução à Lógica de Programação

Algoritmos e Programação I

Memória principal; Unidade de Controle U C P. Unidade Lógica e Aritmética

Contextualização: Sistemas de Computação

Tecnologia - Conjunto de instrumentos, métodos e processos específicos de qualquer arte, ofício ou técnica.

Informática Aplicada

Informática. Prof. Macêdo Firmino. Macêdo Firmino (IFRN) Informática Setembro de / 25

ARQUITETURA DE COMPUTADORES. Rogério Spindula Rosa

TIC TECNOLOGIAS DA INFORMAÇÃO (TI) TECNOLOGIAS ORIGEM DA PALAVRA

Introdução. Hardware X Software. Corpo Humano Parte Física. Capacidade de utilizar o corpo em atividades especificas explorando seus componentes

O hardware é a parte física do computador, como o processador, memória, placamãe, entre outras. Figura 2.1 Sistema Computacional Hardware

CURSO BÁSICO DE INFORMÁTICA

Introdução à Engenharia de Computação

O processador é composto por: Unidade de controlo - Interpreta as instruções armazenadas; - Dá comandos a todos os elementos do sistema.

INSTALAÇÃO e MANUTENÇÃO de MICRO COMPUTADORES

Sistemas Operacionais Gerência de Dispositivos

TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO

Dispositivos de Entrada e Saída

Transcrição:

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 nos Laboratórios Bell (USA) Isso permitiu que, no início dos anos 1980, fossem comercializados, a baixo preço, pequenos computadores A sua utilização, a partir do final da década de 1960-1970, permitiu uma redução significativa das dimensões dos computadores. Introdução aos Computadores e à ção (Noções Básicas) 3 Introdução aos Computadores e à ção (Noções Básicas) 4

Tipos de Computadores Componentes de um computador Super-computadores Computadores pessoais de secretária Computadores portáteis Personal Digital Assistants (PDA s)... e até mesmo telemóveis Memória (principal e auxiliar) Dispositivos de entrada Processador (CPU) Dispositivos de saída Processador (CPU): Interpreta e executa as instruções Memória (RAM (Random Access Memory), Disco ): Guarda os dados e as instruções Dispositivos de entrada: teclado, rato, leitor óptico, etc. Dispositivos de saída: monitor (ou ecrã), impressora, etc. Introdução aos Computadores e à ção (Noções Básicas) 5 Introdução aos Computadores e à ção (Noções Básicas) 6 Dois tipos de memória Capacidade de Memória Central ou Principal (RAM) Volátil (perde-se quando o computador é desligado) Área de trabalho Guarda temporariamente o programa e os dados, enquanto o programa está em execução Bit é um dígito binário pode assumir apenas um de dois valores, 0 ou 1 Byte é uma sequência de 8 bites A capacidade da memória é expressa no número de bytes que consegue armazenar: Unidade Símbolo Nº de bytes Auxiliar ou secundária Permanente (pelo menos teoricamente...) Guarda programas e dados/resultados Inclui discos rígidos, disquetes, CD-Rom s, etc. kilobyte megabyte KB MB 2 10 =1024 2 20 (> 1 milhão) gigabyte GB 2 30 (> 1 bilião) Introdução aos Computadores e à ção (Noções Básicas) 7 Introdução aos Computadores e à ção (Noções Básicas) 8

Software, Hardware, Sistema Operativo Software do computador - Colecção de programas no nosso computador. Hardware do computador - Conjunto de componentes físicos (dispositivos mecânicos, magnéticos, eléctricos ou electrónicos). - Conjunto de instruções, escritas num código compreendido pelo computador que especificam exactamente como o trabalho deve ser executado. Dados (input) Computador Resultados (output) Conjunto de programas que fazem de interface entre o hardware do computador (disco, memória, unidade de processamento, rato, teclado,...) e os outros programas (compiladores, editores de texto, programas de desenho, folhas de cálculo, sistemas de bases de dados, jogos, motores de busca (browsers) para aceder à internet,... ). Cria um ambiente onde os utilizadores podem preparar os seus programas e executá-los sem se preocuparem com os detalhes de hardware específicos de cada máquina. Podemos dizer que é o programa supervisor de todas as operações do computador. Actualmente os sistemas operativos mais conhecidos e usados são o MSDOS/Windows, o UNIX (Ken Thompson e Dennis Ritchie 1969, versão em assembly; Ken Thompson 1972, versão em C) e o Linux(Linus Torvalds 1991). Introdução aos Computadores e à ção (Noções Básicas) 9 Introdução aos Computadores e à ção (Noções Básicas) 10 Arquitectura de von Neumann (Abstração do computador moderno) Linguagens de ção Uma máquina de von Neumann é constituída por um conjunto de células de memória e uma unidade de processamento que inclui algumas células de memória locais os registos. A unidade de processamento é responsável por transferir informação das células de memória para os registos (operação de leitura), avaliar expressões lógicas e aritméticas nos registos, e transferir a informação nos registos para as células de memória (operação de escrita). Um programa para uma máquina de von Neumann é uma sequência de instruções para executar as operações de leitura, escrita e avaliação (mencionadas acima) e um conjunto de instruções de controlo de execução da sequência de instruções (estabelecem qual a próxima instrução a ser executada que pode ser condicionada a um conteúdo de um registo). Linguagem de ção é um sistema formal de regras de descrição, com sintaxe e semântica bem definidas, capaz de representar um programa de computador. Classificação por níveis: Linguagens de muito alto nível (SQL, PROLOG, Haskell) Linguagens de alto nível (Pascal, Fortran, C, C++, Java,...) Linguagens de baixo nível (linguagem máquina e assembly) Introdução aos Computadores e à ção (Noções Básicas) 11 Introdução aos Computadores e à ção (Noções Básicas) 12

Linguagens de ção Vantagens e desvantagens Linguagem de Alto Nível Linguagens de alto nível Linguagens máquina Linguagem Assembly Linguagem Máquina Hardware Mais próximas da linguagem natural Usam palavras, números e símbolos matemáticos O código é portável (independente do hardware) Não são directamente entendidas pela máquina Menos natural para as pessoas Composta só com 0 s e 1 s Directamente entendida pela máquina Não portável (dependente do hardware) Introdução aos Computadores e à ção (Noções Básicas) 13 Introdução aos Computadores e à ção (Noções Básicas) 14 Paradigmas da ção Paradigmas da ção Imperativo Fortran Assembler Basic Procedimental Pascal Algol C Orientado aos objectos C++ Java Simula Declarativo Funcional Lisp Exel Haskell Lógico Prolog Imperativo Permite descrever a resolução de um problema através de uma sequência de tarefas elementares (comandos) que definem o processo a seguir e permitem a mudança de estado de variáveis (células de memória) através da operação de atribuição (FORTRAN, COBOL, ALGOL, PASCAL, C, ADA, etc.). Normalmente surge associado aos paradigmas procedimental, modular e abstração de tipos de dados. Orientado aos Objectos O programa é organizado com base em objectos, que contêm não só as estruturas de dados mas também as funções que actuam sobre eles. A computação num sistema de objectos decorre da troca de mensagens entre os vários objectos, donde resultam alterações nos seus estados internos e, consequentemente, no estado global do programa, que neste modelo computacional, é um estado distribuído por todos os objectos que o constituem.(smalltalk, C++, Java, etc.) Introdução aos Computadores e à ção (Noções Básicas) 15 Introdução aos Computadores e à ção (Noções Básicas) 16

Paradigmas da ção Mapa dos principais conceitos associados a programação Funcional Um programa é uma declaração de funções, que descrevem como computar um resultado a partir dos seus argumentos. As funções são aplicadas recursivamente ou por composição. A parte algorítmica e procedimental é (idealmente) suprimida, modela-se apenas as formulações matemáticas da computabilidade. (LISP, APL, ML, Haskell, etc.) Lógico Um programa é um conjunto de afirmações e regras (cláusulas - fórmulas da lógica de 1ª ordem modificadas), que descrevem o conhecimento dos objectos e relações entre eles num determinado domínio, sobre o qual são introduzidas questões e, recorrendo à técnica de pesquisa por retrocesso (backtracking), são fornecidas respostas (consequências lógicas) (PROLOG, CTL, etc.). Inteligência artificial Interfaces gráficas Bases de Dados Arquitectura de s Técnicas Paradigmas ção Sistemas operativos Arquitectura de Computadores ção imperativa ção funcional ção com objectos ção em Lógica Introdução aos Computadores e à ção (Noções Básicas) 17 Introdução aos Computadores e à ção (Noções Básicas) 18 Mapa dos principais conceitos associados a programa Compilação tradicional Matemática discreta Álgebra Estruturas de Informação Especificações Controlo Arquitectura de Computadores Processadores de linguagens Compilador é um programa especializado que verifica a correcção sintáctica de um programa escrito numa linguagem de alto nível e o traduz para um programa escrito numa linguagem de baixo nível (i.e. a linguagem compreendida pelo computador que executa o programa). Código fonte vs. Código objecto o programa escrito numa linguagem de alto nível diz-se código fonte e o programa escrito numa linguagem de baixo nível diz-se código objecto. Processo Computacional Abstracções Linguagem Estudo de linguagens formais Compilar um programa (que não contenha erros sintácticos) significa traduzir o código fonte para código objecto (sequências de 0 s e 1 s) através da execução do (programa) compilador. Para fazer a tradução o compilador tem de entender a linguagem de programação e a linguagem máquina do microprocessador onde o programa vai ser executado Complexidade Computacional Algoritmo Computabilidade Fundamentos Teoria da Computação Os compiladores tradicionais são específicos para uma linguagem de programação e um tipo de computador Introdução aos Computadores e à ção (Noções Básicas) 19 Introdução aos Computadores e à ção (Noções Básicas) 20

Tradução do programa para 'linguagem máquina' Tradução do programa para 'linguagem máquina' Usando um assemblador - assembler Usando um compilador Assembler Processador A Compilador Processador A Assembler Processador B Compilador Processador B Introdução aos Computadores e à ção (Noções Básicas) 21 Introdução aos Computadores e à ção (Noções Básicas) 22 Tradução do programa para 'linguagem máquina' Compilação Java Usando um interpretador Interpretador Interpretador A compilação de um programa em Java difere do tradicional e permite que um programa possa ser executado em qualquer tipo de computador sem ter de ser alterado nem compilado novamente O compilador de Java gera um código constituído por instruções simples, denominado bytecode, que não depende do tipo de computador Cada computador possui um interprete de Java (adaptado ao seu tipo) que permite interpretar e executar o bytecode O conjunto de todos os intérpretes disponíveis é designado por Máquina Virtual Java (JVM Java Virtual Machine) Introdução aos Computadores e à ção (Noções Básicas) 23 Introdução aos Computadores e à ção (Noções Básicas) 24

Tradução do programa para 'linguagem máquina' Criação, Compilação e Execução de um em Java Usando um compilador e um interpretador via um código intermédio Editor Criar o Tradução compilador bytecode Interpretador Código em Java Compilador de Java (javac) Java bytecode Execução Interprete de Java bytecode (Java) interpretador Instruções em linguagem máquina Introdução aos Computadores e à ção (Noções Básicas) 25 Introdução aos Computadores e à ção (Noções Básicas) 26