Aula 00 - Informações Gerais
57 pág.

Aula 00 - Informações Gerais


DisciplinaLaboratório de Programação153 materiais2.482 seguidores
Pré-visualização1 página
Informações Gerais e Conceitos de 
Hardware e Software
Total de Créditos: 4
Teste de Verificação de Conhecimento (TVC): 3
Média: 60
Site da disciplina: http://www.algoritmosufjf.tk
Neste site você encontrará:
Material Didático;
Data das provas;
Listas de Exercício;
Horário e site de Monitoria;
Links diversos etc.
O que é ?
É a prova que você poderá requerer no caso 
de perder uma das avaliações.
Pode substituir uma prova já realizada?
Não. A prova só substitui uma avaliação que 
o aluno tenha faltado. Não há provas 
substitutivas em Algoritmos / Laboratório 
de Programação I.
Segunda Chamada - Regras
Caso 1
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.
Caso 2
O professor responsável pela disciplina poderá conceder segunda chamada 
ao aluno ausente em quaisquer das avaliações de conhecimento, desde que 
o mesmo apresente requerimento, 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 versará sobre 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.
Resultado do requerimento: Será divulgado no site da disciplina
Prova: Data e hora serão divulgados após o processamento dos requerimentos.
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.
Metodologia das aulas:
Aulas expositivas
Transparências
Quadro negro
Material disponível em PDF
Resolução de exercícios
Leitura/Estudo do material
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
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.
Precursores
Primeiro elemento usado para fazer cálculos
Palavra digital -> dígito -> dedo
Ábaco (Abacus)
Aproximadamente 3500 a.C
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
Pioneiros nos conceitos da computação moderna
Blaise Pascal 
Gottfried Wilhem
Von Leibniz
Charles Babbage
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.
Calculadora de Leibniz (1671)
Capaz de executar multiplicações e divisões
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
Máquina Analítica de Babbage
Podia ser programada para realizar várias 
funções diferentes
Trabalhava com um conjunto de cartões 
perfurados
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
Enigma (aprox. 1920)
Máquina de cifras, usadas pelo governo alemão 
para codificar mensagens durante a 2ª Guerra 
Mundial
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)
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
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
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
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)
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
PDP 1
IBM 7090
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)
Válvula
Chip
Transistor
IBM 360
PDP1120PDP11
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
Altair 8800 1975
Primeiro microcomputador da história
Usava processador Intel 8088
Apple I (1976)
Novo e melhor projeto
Primeiro microcomputador com grande sucesso 
comercial
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
Computadores pessoais IBM (PC) 1981
Em pouco tempo se tornou padrão
Várias versões
IBM PC
Processador: 4,77MHz
RAM: 265KB
PC-XT 1983
Processador: 12MHz
RAM: 512KB
PC-AT 286 1984
Processador:20MHz
RAM: 1MB
PC-386 - 1986
PC-486 1989
Vários modelos de 25 
MHz a 100 MHz
Pentium 1993
Quinta geração de micro-
arquitetura 
Sucessor dos
microprocessadores 486
Arquiteturas Dual Core
Normalmente combina duas ou mais CPUs em 
um único circuito integrado
Atualmente temos:
Core 2 Duo
Phenom X3
Core 2 Quad
Phenom X4
Phenom II X4
Intel Atom (ultra portáteis)
Core i7
...
Ada Lovelace (1815 - 1852)
Criou os programas para a 
máquina de Babbage
Primeira programadora
Estruturas de repetição
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)
1979 Visicalc
Primeira planilha 
eletrônica lançada
1977 Steve Jobs e Steve Wozniak fundam 
a Apple Computer
1977 Bill Gates e Paul Allen criam a 
Microsoft
Parte do conjunto de estações de trabalho de apoio à
telemetria da Ferrari
Sistemas de navegação para carros usando a 
plataforma Microsoft Window Automotive 5.0