PROGRAMAÇÃO (PRG34) Prof. Rafael Berti Schmitz 2017/1

Documentos relacionados
Unidade I. Organização de Computadores. Prof. Renato Lellis

HISTÓRIA DO COMPUTADOR

Unidade I ORGANIZAÇÃO DE. Prof. Antônio Palmeira

CONCEITOS BÁSICOS DE INFORMÁTICA. Disciplina: Informática Professor: Gustavo Sabry

Informática básica. Professor: Francisco Ary

INFORMÁTICA ELETROTÉCNICA SUBSEQUENTE AULA I. Prof. MSc. Glécio Rodrigues de Albuquerque

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

Introdução à Computação MAC0110

Introdução ao Fortran 90

Aula 1: Introdução 3/3/2015

Informática básica. Professor: Francisco Ary

Fundamentos de Arquiteturas de Computadores

Manutenção de Computadores e Redes

Informática I. Aula 2. Aula 2-04/09/2006 1

Universidade de Brasília Histórico e Introdução

Histórico e Introdução

INTRODUÇÃO. Introdução a Informática. Vinícius Pádua

Máquinas Multiníveis Aula 04. Prof. Jadir Eduardo Souza Lucas Universidade Federal do Espírito Santo Departamento de Informática

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

Micr c o r co c ntr t o r lad a or o es

CURSO TÉCNICO PROFISSIONALIZANTE. Disciplina: Informática Básica (História da Informática)

Tópicos de Ambiente Web Tópico: História do Computador

Softwares, Aplicativos e Sistemas Operacionais

Introdução à Computação MAC0110

IAC001 - Arquitetura e Organização de Computadores.

Organização de Computadores I

Estrutura dos Computadores. Arquitetura de Computadores

1. Conceitos Básicos de Computação

INTRODUÇÃO AOS SISTEMAS LÓGICOS INTRODUÇÃO

Evolução da Informática: a Origem da Computação

SCC-120 INTRODUÇÃO À CIÊNCIA DA COMPUTAÇÃO


Ábaco. Ipad HISTÓRIA DA INFORMÁTICA E SUA EVOLUÇÃO. Tecnologias de Informação e Comunicação

INFORMÁTICA E CONTABILIDADE. Prof. Me. Fábio Assunção CMP 1128 Parte 01

Arquitetura de Von Neumann

Fat-Uerj: Introdução à computação

Sistemas de Computação

Arquitetura de Computadores. Prof. Dr. Eng. Fred Sauer

Componentes do Computador

Objetivos. Relacionar as gerações da tecnologia da computação. Identificar as principais inovações que caracterizam cada uma delas.

Organização Estruturada de Computadores

Campus Avançado Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini

Arquitetura de Computadores

Fundamentos de Programação 1

Máquinas de Calculo Mecânicas

Histórico e Conceitos

INFORMÁTICA APLICADA. Histórico. Gerações

GFM015 Introdução à Computação. Plano de Curso e Introdução. Ilmério Reis da Silva UFU/FACOM

Introdução à Computação

História dos Computadores

Introdução à Computação

Hardware. Computador. Computador. Computador. Evolução dos Computadores. Laboratório de Utilização de Microcomputadores (DCA0302) Aula 01

Fundamentos de Arquiteturas de Computadores

As Gerações dos Computadores. Professor Leonardo Cabral da R. Soares

Evolução e Desempenho. Alberto Felipe Friderichs Barros

Introdução Computador Hardware Histórico e Evolução Linguagem de Programação Princípios Básicos

INTRODUÇÃO A ARQUITETURA DE COMPUTADORES FELIPE G. TORRES

O termo computação vem do latim computare significa executar cálculos

Histórico e Conceitos

Os computadores foram construídos inicialmente para fins militares.

Evolução dos computadores

Prof. Sandro Wambier

Algoritmos e Lógica de Programação Componentes e Arquitetura

Os computadores ditigais podem ser classificados em 5 grupos distintos:

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

Arquitetura de Computadores. Prof.º Me. James Clauton

ENIAC Primeiro computador de Propósito Geral. William Stallings Computer Organization and Architecture 6 th Edition (2003)

Arquiteturas Sequencias. Evolução dos Computadores BIBLIOGRAFIA BÁSICA. Organização e Arquitetura de Computadores

SSC510 Arquitetura de Computadores 1ª AULA

Arquitetura de Um Computador

Introdução ao Processamento de Dados (I P D)

Informática I. Aula 1. Aula 1-30/08/2006 1

Disciplina de Arquitetura e Manutenção de Computadores

SSC0112 Organização de Computadores Digitais I

ORGANIZAÇÃO DE COMPUTADORES INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES. Prof. Dr. Daniel Caetano

Aula 1: Introdução à Organização de Computadores

Geração de computadores Arquitetura e Organização de Computadores Curso de Análise e Desenvolvimento de Sistemas

Organização e Arquitetura de Computadores. Prof. Leonardo Araújo

Como funciona um computador

14/3/2016. Prof. Evandro L. L. Rodrigues

Aula Breve História dos Computadores - Informatiquês - O Computador - Software vs. Hardware. Introdução à Engenharia da Computação

Informática. História da Informática. O que é Informática? 02/03/2011. História da Informática 1ª Geração. História da Informática 1ª Geração

Histórico - Evolução INTRODUÇÃO À ENGENHARIA DA COMPUTAÇÃO. Professor: Rosalvo Ferreira de Oliveira Neto

Divisão da disciplina nos seguintes módulos:

Sistemas Operacionais

Máquinas de Calcular Mecânicas

Princípios de Sistemas de Informação. Histórico da Computação

SEL-433 APLICAÇÕES DE MICROPROCESSADORES I

Puca Huachi Vaz Penna

Depois do estudo deste capítulo, o estudante deve ser capaz de:

Informática Aplicada. Introdução

MAC2166 Introdução à Computação Aula 1 Como Funciona um Computador

Organização Básica de Computadores. Organização Básica de Computadores. Organização Básica de Computadores. Organização Básica de Computadores

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

Organização e Arquitetura de Computadores I

Universidade Federal do Espírito Santo. Programação II. CT IX - Sala 201 Departamento de Informática Centro Tecnológico

Organização de Sistemas Computacionais Processadores: Organização da CPU

Introdução à Informática

Introdução à Informática Engenharia Agrícola

INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO AS GERAÇÕES DE COMPUTADORES PROFESSOR CARLOS MUNIZ

Transcrição:

PROGRAMAÇÃO (PRG34) Prof. Rafael Berti Schmitz 2017/1

Computação 1. Contar, fazer o cômputo de, : computar votos. 2. Calcular, orçar: Computou a despesa em centenas de reais. 3. Comparar, confrontar, cotejar: Dispôs-se a computar a receita com as despesas. 4. Incluir: Computou este delito entre os passíveis de pena de morte. 5. Processar em computador.

História da computação A ciência é cumulativa. As pesquisas normalmente evoluem com base em resultados do passado, constituindo os fundamentos para um desenvolvimento posterior.

Pré-história Ábaco Mesopotâmia, 5.500 a.c. Cálculo de colheitas e construção civil Operações de adição e subtração Babilônia Egito Grécia Roma -> "Calculus" Índia China Japão

Pré-história Régua de Cálculo William Oughtred, Inglaterra, 1630 Grandes navegações e projeto de máquinas a vapor Tabela baseada na teoria de logaritmos Multiplicação -> Adição Divisão -> Subtração

Pré-história Blaise Pascal, França, 1642 Pascalina Primeira calculadora mecânica Adição e subtração

Pré-história Charles Babbage, Inglaterra, 1821-1834 Máquina de diferenças Projetada para calcular tabelas trigonométricas e logarítmicas com elevada exatidão Fornecia os resultados perfurando um prato de cobre Não foi implementada completamente em função de limitações tecnológicas e financeiras (engrenagens não suportavam esforços elevados e se deformavam com o calor) Primeira réplica construída em 1991

Pré-história Charles Babbage, Inglaterra, 1821-1834 Máquina analítica Primeiro computador programável Funcionava a vapor Permitia alterar a sequência de operações Nunca foi totalmente implementada

Pré-história Máquina Analítica de Babbage - Anteviu os passos que são a base do funcionamento de um computador: Unidade de entrada (input section) entrada de dados via cartão perfurado; Unidade de saída (output section) saída de dados via cartão perfurado; Unidade de memória (store) capaz de armazenar variáveis e resultados; Unidade de computação (mill) recebe os operandos da memória, efetua as operações (soma, subtração, multiplicação e divisão) e envia o resultado para a memória;

Pré-história Ada Byron King, Inglaterra, 1842-1843 Condessa de Lovelace e companheira de Babbage Compreendeu o funcionamento da Máquina Analítica e escreveu os melhores relatos sobre o seu funcionamento Suas anotações descrevem o primeiro algoritmo especificamente criado para ser implementado em um computador (primeira programadora) Calcular os números de Bernoulli "Ele não tem pretensões de originar nada, mas pode processar qualquer coisa que nós soubermos programá-lo para realizar." - Ada, falando sobre o Engenho Analítico

Pré-história Hermann Hollerith, EUA, 1887 Máquina de Hollerith Entrada de dados por cartão perfurado Máquina capaz de interpretar, classificar e manipular as somas aritméticas representadas pelas perfurações Componentes eletromecânicos Usada no censo dos EUA (1/3 do tempo de processamento comum) Fundador da IBM

Berço da computação Alan Turing, Inglaterra, 1935 Formalizou o conceito de algoritmo Máquina de Turing Modelo abstrato do computador, que descreve os aspectos lógicos do seu funcionamento (memória, estados e transições) e não sua implementação física Fundamental para o desenvolvimento do computador moderno Bombe Decodificar a criptografia de mensagens nazistas Componentes eletromecânicos Filme: O jogo da imitação, 2014

Computadores eletrônicos 1ª Geração (1940-1952) Válvulas Projeto para uso dedicado e específico Programação manual

Colossus Inglaterra, 1939 Primeiro computador eletrônico, baseado no conceito de Turing Projetado para decifrar códigos nazistas Programação manual, através de chaves e conexões (configuração) 1ª Geração

ENIAC - Electronic Numerical Integrator and Computer EUA, 1943-1946 Entrada de dados via cartão perfurado Projetado para efetuar cálculos de balística Programação manual, através de chaves e conexões Executava desvios condicionais 1ª Geração

1ª Geração Poder computacional limitado pela tecnologia da época Configuração tediosa (limitava a versatilidade dos primeiros computadores)

Adolescência da computação John von Neumann, EUA, 1952 Observou que programar computadores manualmente era uma tarefa mecânica e tediosa, que poderia ser representada em forma digital, junto com os dados Introduziu o conceito de programa armazenado Emprego do sistema binário para cálculos aritméticos Estabeleceu o paradigma de projetos de computadores - arquitetura de von Neumann

2ª Geração (1952-1964) Transistores Não exigiam tempo de préaquecimento Menor consumo de energia Mais rápidos e confiáveis; Máquinas de uso universal Arquitetura de von Neumann Linguagem de programação (Assembly)

2ª Geração Mémorias: Núcleos de ferrite, fitas magnéticas Linguagem Assembly Utilização de mnemônicos para representar as instruções de máquina; Linguagens de alto nível (Fortran e Cobol) Armazenamento em disco, complementando os sistemas de fita magnética e possibilitando ao usuário acesso rápido aos dados desejados.

3ª Geração (1964-1977) Circuitos Integrados Integração de centenas de transistores Equipamentos menores e mais baratos Produção em massa Computador Pessoal (PC)

4ª Geração (1977-1991) Microprocessadores Sistemas operacionais: MS-DOS, Macintosh, UNIX Linguagens de programação orientadas a objeto (C++ e Smalltalk) Internet Mais confiáveis, mais rápidos, menores e com maior capacidade de armazenamento. Filme: Piratas do Vale do Silício, 1999

Tendências A cada ano ou dois seguintes aproximadamente o dobro: Quantidade de memória para executar programas Quantidade de armazenamento de dados secundário (tais como o armazenamento em disco) Usado para segurar os programas e os dados a longo prazo Velocidades de processador A velocidade a que os computadores executam seus programas

Hardware

O que é um computador? Computador Dispositivo capaz de executar cálculos e tomar decisões lógicas Hardware Parte física do sistema de computação Componentes eletrônicos Circuitos integrados e placas, que se comunicam através de barramentos) Software Parte lógica do sistema de computação. Conjunto de instruções, organizados em um ou mais arquivos, que ordenam o computador na execução de tarefas

Organização 1. Unidade de entrada de dados Obtém informações de dispositivos de entrada (teclado, mouse) 2. Unidade de Saída Informações de saída (monitor, impressora) 3. Unidade de memória Acesso rápido, baixa capacidade, armazena informações de entrada 4. Unidade aritmética e lógica (ALU) Executa cálculos aritméticos e lógica de decisões 5. Unidade central de processamento (CPU) Supervisiona e coordena as demais unidades do computador 6. Unidade de armazenamento secundário Barato e de longo prazo e de alta capacidade de armazenamento de dados Armazena os programas inativos

Arquitetura de von Neumann

Ciclo de execução Descreve como o hardware trabalha com as instruções que serão executadas Ciclo de execução de Von Neumann: 1) Busca uma instrução, 2) Decodifica 3) Executa Instrução de operação aritmética 1. A unidade de controle busca a próxima instrução do programa na memória principal; 2. O contador de programa é usado pela unidade de controle para determinar onde a instrução está localizada; 3. A instrução é decodificada para uma linguagem que a unidade lógica aritmética possa entender; 4. Os operandos de dados requeridos para executar a instrução são carregados da memória e colocados em registradores; 5. A unidade lógica aritmética executa a instrução e coloca os resultados em registradores ou na memória.

Software

Linguagens Três tipos de linguagens de programação Linguagem de máquina Linguagem natural do computador Dependente do hardware Não padronizada Cadeia de caracteres que fornece instruções específicas para a máquina Exemplo: +1300042774 +1400593419 +1200274027

Linguagens Três tipos de linguagens de programação Linguagem Assembly Humanamente compreensível Abreviaturas que representam as operações elementares de computador Muitas instruções para realizar tarefas simples Para ser executada, exige uma tradução, realizada pelos assemblers Exemplo: LOAD BASE ADD EXTRA STORE BRUTO

Linguagens Três tipos de linguagens de programação Linguagem de alto nível Uma linguagem é considerada de alto nível quando ela pode representar ideias abstratas de forma simples, diferente da linguagem de baixo nível que representa as próprias instruções de máquina. Códigos semelhantes ao inglês Permite notação matemática (traduzida pelos compiladores) Exemplo: Bruto = Base + Extra

Linguagens de alto nível FORTRAN (FORmula TRANslator) Desenvolvido pela IBM entre 1954 e 1957 Utilizado para aplicações científicas e de engenharia Ainda é usado COBOL (COmmon Business Oriented Language) Desenvolvido em 1959 por um consórcio entre indústrias, fabricantes de computadores e governo Usado para manipular grandes quantidades de dados Mais de um milhão de pessoas empregadas como programadores de COBOL Pascal Desenvolvido ao mesmo tempo que o C Destinava-se ao ensino da programação em ambientes acadêmicos Carecia de recursos para torná-la útil em aplicações comerciais, industriais e governamentais (pouco aceita) 32

Linguagem C Evoluiu a partir de duas linguagens anteriores (BCPL e B) Incluiu tipos de dados (número inteiro, ponto flutuante, etc) Usado para a gravação de sistemas operacionais modernos (Unix) Independente do hardware (portátil) Aplicações escritas em C podem ser executadas com pouca ou nenhuma modificação em uma grande variedade de sistemas computacionais Padronização Muitas pequenas variações de C existiam e eram incompatíveis ANSI/ISO 9899:1990 Fornecer à linguagem uma definição inequívoca e independente de equipamento 33

Labview Sintaxe de programação gráfica facilita a criação, a visualização e codificação de sistemas de engenharia Aplicações Aquisição de dados Controle e monitoramento Automação de testes e validação

Dicas Clareza e simplicidade Programas complicados são difíceis de ler, compreender e modificar Perda de tempo para testar e depurar erros Elevam a probabilidade de gerarem comportamentos imprevistos Software reutilizável Método dos blocos de construção Evite reinventar a roda. Use os elementos existentes Se uma função preexistente existe, geralmente é melhor usa-lá do que escrever uma própria