Baixe o app para aproveitar ainda mais
Prévia do material em texto
Algoritmos DCC 119 Informações Gerais e Conceitos de Hardware e Software 2 Informações Gerais Total de Créditos: 4 Teste de Verificação de Conhecimento (TVC): 3 Média para aprovação: 60 Site da disciplina: https://sites.google.com/site/algoritmosufjf/ Neste site você encontrará: Material Didático; Data das provas; Listas de Exercício; Horário e site de Monitoria; Links diversos etc. 3 Segunda Chamada O que é ? É a prova que você poderá requerer no caso de perder uma das avaliações. Há dois tipos de prova de 2ª chamada. 4 Segunda Chamada – Caso 1 Em quaisquer das avaliações, o professor responsável pela disciplina poderá conceder segunda chamada ao aluno ausente que apresentar requerimento com justificativa julgada procedente. O requerimento deverá ser entregue no DCC no prazo máximo de dois dias úteis, com a devida justificativa de acordo com a legislação em vigor. Sendo julgada procedente a justificativa, a segunda chamada será designada pelo Professor, e abordará os mesmos tópicos da avaliação não realizada. Do indeferimento caberá o recurso ao chefe de Departamento, no prazo de dois dias úteis. Como proceder? Onde: Secretaria do DCC das 14h as 17h Quando: Até dois dias úteis após a aplicação da prova O que: Entregar requerimento preenchido e anexar justificativa. Prova: Data e hora serão divulgados após o processamento dos requerimentos. 5 Segunda Chamada – Caso 2 O aluno que perder uma das avaliações tem direito, sem a necessidade de justificativa, a fazer segunda chamada ao final do período letivo, sobre conteúdo acumulado. Esta última prova de segunda chamada poderá ser utilizada ainda como prova substitutiva, por alunos que já realizaram todas as três provas da disciplina mas que gostariam de substituir a menor de suas notas. Neste caso: O aluno precisará se inscrever para fazer a prova (esse passo é necessário para que seja possível reservar salas e imprimir as provas); A menor nota será obrigatoriamente substituída pela nota da prova substitutiva (mesmo que o valor da nova nota seja menor); . 6 Informações Gerais Bibliografia Básica: GUIMARÃES, A. M. Algoritmos e estruturas de dados. Rio de Janeiro: LTC, 1994. KERNIGHAN, BRIAN W., RITCHIE, DENNIS M. C: A linguagem de programação padrão. Rio de Janeiro: Campus, 1989. Bibliografia Complementar: EVARISTO, JAIME. Aprendendo a Programar Programando na Linguagem C. Edição Digital. 7 Informações Gerais Metodologia das aulas: Aulas expositivas Transparências Quadro negro Material disponível em PDF Resolução de exercícios Leitura/Estudo do material 8 Ementa Introdução Noções de uma linguagem de programação Algoritmos básicos Algoritmos para estruturas de dados homogêneas Algoritmos para estruturas de dados heterogêneas Procedimentos e funções 9 Objetivos Apresentar os conceitos básicos da Ciência da Computação, necessários ao desenvolvimento de algoritmos. Apresentar metodologias de desenvolvimento de algoritmos. Desenvolver o raciocínio lógico. Introduzir uma linguagem de programação. 10 HISTÓRICO - Hardware 11 Histórico - Hardware • Precursores • Primeiro elemento usado para fazer cálculos • Palavra “digital” -> “dígito” -> “dedo” • Ábaco (Abacus) • Aproximadamente 3500 a.C 12 Histórico - Hardware Geração Zero (sec. XVII) A arte de “automatizar” os cálculos matemáticos ficou restrita ao ábaco durante muitos anos 1623 – Blaise Pascal : Primeiro cientista a introduzir o conceito de máquinas de cálculo exclusivamente mecânicas 13 Histórico - Hardware Pioneiros nos conceitos da computação moderna Blaise Pascal Gottfried Wilhem Von Leibniz Charles Babbage 14 Histórico - Hardware Calculadora de Pascal (1642) – Pascaline Realizava operações de adição e subtração Somente Pascal podia consertá-la Primeiros sinais de “tecnofobia” : matemáticos com medo de perderem seus empregos por causa da tecnologia. 15 Histórico - Hardware 16 Histórico - Hardware Calculadora de Leibniz (1671) Capaz de executar multiplicações e divisões 17 Histórico - Hardware Máquina Diferencial de Babbage (1822) Permite calcular tabelas de funções (logaritmos, funções trigonométricas, etc.) sem a intervenção de um operador humano Ao operador cabia somente iniciar a cadeia de operações A máquina tomava seu curso de cálculos, preparando totalmente a tabela prevista Não foi totalmente concluída 18 Histórico - Hardware 19 Histórico - Hardware Máquina Analítica de Babbage Podia ser programada para realizar várias funções diferentes Trabalhava com um conjunto de cartões perfurados 20 Histórico - Hardware Máquina de Hollerith (1886) Criada pelo funcionário de recenseamento dos U.S.A Hermam Hollerith O censo anual demorava 10 anos para ser concluído Idealizou um cartão perfurado que guardaria as informações do censo e uma máquina capaz de tabular as informações 21 Histórico - Hardware 22 Histórico - Hardware Enigma (aprox. 1920) Máquina de cifras, usadas pelo governo alemão para codificar mensagens durante a 2ª Guerra Mundial 23 Histórico - Hardware 1930 - 1958: Primeira Geração Primeiros computadores, baseados em relés e válvulas Quebravam após não muitas horas de uso Ocupavam grande espaço físico Operações medidas em milisegundos (milésimo de segundo) 24 Histórico - Hardware 25 Histórico - Hardware MARK I (1937-1944) Considerado o primeiro projeto de computador Desenvolvido pela IBM e Howard Aiken 2,5 m de altura e 18 m de comprimento Permaneceu em Harvard até 1959 26 Histórico - Hardware Máquina de Turing Matemático inglês Alan Turing, em 1936 Máquina hipotética, considerada como precursora dos computadores programáveis Pode ser adaptada para simular a lógica de qualquer algoritmo Conhecida também como Máquina de Estados Finita 27 Histórico - Hardware ENIAC (Electronic Numeric Integrator and Calculator, 1943 - 1946) Programas introduzidos por meio de cabos (semelhante às antigas operadoras telefônicas e suas telefonistas) Ocupava 170 m², pesava 30 toneladas, funcionava com 18 mil válvulas e 10 mil capacitores, além de milhares de resistores a relé, consumindo uma potência de 150 Kwatts Chega a ser, em algumas operações, mil vezes mais rápido que o MARK I 28 Histórico - Hardware 29 Histórico - Hardware 30 Histórico - Hardware Máquina de Von Neuman Dados e programa poderiam ser armazenado em um mesmo espaço. Utilização de goto´s para desviar o programa para outros pontos do código Um dos desenvolvedores do EDVAC (Electronic Discrete Variable Automatic Computer) 31 Histórico - Hardware 1955-1965: Segunda Geração Transistor: componente que substituiu a válvula Operações medidas em microsegundos (milionésimo de segundo) Fitas magnéticas foram a forma dominante de armazenamento 32 Histórico - Hardware 33 Histórico - Hardware PDP 1 IBM 7090 34 Histórico - Hardware 1965 - 1980: Terceira Geração Surgimento dos circuitos integrados – chips Computadores diminuíram de tamanho e preço, e aumentaram sua performance Operações medidas em nanosegundos (bilionésimo de segundo) 35 Histórico - Hardware Válvula Chip Transistor 36 Histórico - Hardware IBM360 37 Histórico - Hardware PDP1120PDP11 38 Histórico - Hardware Surgimento da Intel (Integrated Electronics) Corporation Intel 4004 – CPU de 4-bits lançado em 1971. Primeira CPU completa em um chip Primeiro Microprocessador disponível no mercado 39 Histórico - Hardware Altair 8800 – 1975 Primeiro microcomputador da história Usava processador Intel 8088 40 Histórico - Hardware Apple I (1976) Novo e melhor projeto Primeiro microcomputador com grande sucesso comercial 41 Histórico - Hardware 1980 - ??? – Quarta Geração Miniaturização dos componentes Aqui surgiram os microcomputadores PC – iniciada a era da informática pessoal Posteriormente as redes de computadores e a computação móvel 42 Histórico - Hardware Computadores pessoais IBM (PC) – 1981 Em pouco tempo se tornou padrão Várias versões IBM PC Processador: 4,77MHz RAM: 265KB 43 Histórico - Hardware PC-XT – 1983 Processador: 12MHz RAM: 512KB 44 Histórico - Hardware PC-AT 286 – 1984 Processador:20MHz RAM: 1MB 45 Histórico - Hardware PC-386 - 1986 46 Histórico - Hardware PC-486 – 1989 Vários modelos de 25 MHz a 100 MHz 47 Histórico - Hardware Pentium – 1993 Quinta geração de micro- arquitetura Sucessor dos microprocessadores 486 48 Histórico - Hardware Arquiteturas Dual Core Normalmente combina duas ou mais CPUs em um único circuito integrado 49 Histórico - Hardware Atualmente temos: Core 2 Duo Phenom X3 Core 2 Quad Phenom X4 Phenom II X4 Intel Atom (ultra portáteis) Core i7 ... 50 Histórico - Software 51 Histórico - Software Ada Lovelace (1815 - 1852) Criou os programas para a máquina de Babbage Primeira programadora Estruturas de repetição 52 Histórico - Software 1947: Origem do termo “bug” para erros encontrados em um programa Operadores do Mark II encontraram uma mariposa (!) em alguns pontos do Relay número 70 (Painel F) 53 Histórico - Software 54 Histórico - Software 1979 – Visicalc Primeira planilha eletrônica lançada 55 Histórico – Hardware/Software 1977 – Steve Jobs e Steve Wozniak fundam a Apple Computer 56 Histórico – Hardware/Software 1977 – Bill Gates e Paul Allen criam a Microsoft 57 Exemplos de Sistemas Computacionais Parte do conjunto de estações de trabalho de apoio à telemetria da Ferrari 58 Exemplos de Sistemas Computacionais Sistemas de navegação para carros usando a plataforma Microsoft Window Automotive 5.0 Laboratório de Programação DCC 120 Informações gerais 60 Informações Gerais Total de Créditos: 2 Teste de Verificação de Conhecimento (TVC): 3 Média para aprovação: 60 Site da disciplina: https://sites.google.com/site/algoritmosufjf/ Neste site você encontrará: Material Didático; Data das provas; Listas de Exercício; Horário e site de Monitoria; Links diversos etc. 61 Segunda Chamada O que é ? É a prova que você poderá requerer no caso de perder uma das avaliações. Há dois tipos de prova de 2ª chamada. 62 Segunda Chamada – Caso 1 Em quaisquer das avaliações, o professor responsável pela disciplina poderá conceder segunda chamada ao aluno ausente que apresentar requerimento com justificativa julgada procedente. O requerimento deverá ser entregue no DCC no prazo máximo de dois dias úteis, com a devida justificativa de acordo com a legislação em vigor. Sendo julgada procedente a justificativa, a segunda chamada será designada pelo Professor, e abordará os mesmos tópicos da avaliação não realizada. Do indeferimento caberá o recurso ao chefe de Departamento, no prazo de dois dias úteis. Como proceder? Onde: Secretaria do DCC das 14h as 17h Quando: Até dois dias úteis após a aplicação da prova O que: Entregar requerimento preenchido e anexar justificativa. Prova: Data e hora serão divulgados após o processamento dos requerimentos. 63 Segunda Chamada – Caso 2 O aluno que perder uma das avaliações tem direito, sem a necessidade de justificativa, a fazer segunda chamada ao final do período letivo, sobre conteúdo acumulado. Esta última prova de segunda chamada poderá ser utilizada ainda como prova substitutiva, por alunos que já realizaram todas as três provas da disciplina mas que gostariam de substituir a menor de suas notas. Neste caso: O aluno precisará se inscrever para fazer a prova (esse passo é necessário para que seja possível reservar salas e imprimir as provas); A menor nota será obrigatoriamente substituída pela nota da prova substitutiva (mesmo que o valor da nova nota seja menor); . 64 Informações Gerais Bibliografia Básica: GUIMARÃES, A. M. Algoritmos e estruturas de dados. Rio de Janeiro: LTC, 1994. KERNIGHAN, BRIAN W., RITCHIE, DENNIS M. C: A linguagem de programação padrão. Rio de Janeiro: Campus, 1989. Bibliografia Complementar: EVARISTO, JAIME. Aprendendo a Programar Programando na Linguagem C. Edição Digital. 65 Informações Gerais Metodologia das aulas: Aulas expositivas Transparências Material disponível em PDF Exercícios práticos de programação 66 Ementa Introdução Noções de uma linguagem de programação Algoritmos básicos Algoritmos para estruturas de dados homogêneas Algoritmos para estruturas de dados heterogêneas Procedimentos e funções 67 Objetivos Introduzir uma linguagem de programação Introduzir e exercitar todas as etapas do desenvolvimento de algoritmos: Interpretação do problema a ser resolvido Utilização de raciocínio lógico para elaborar um algoritmo Implementação do algoritmo em uma linguagem de programação Compilação do algoritmo Execução de testes para verificar a corretude da solução proposta
Compartilhar