Buscar

Aula01_Teorica_Intro

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 42 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 42 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 42 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Introdução aos Computadores e as Linguagem de 
Programação
 
Sumário
● Introdução à Unidade Curricular
● Conceitos de Hardware e Software 
● Arquitetura de Computadores
● Evolução dos computadores
● Arquiteturas Von Newman e Harvard
● Partes de um Computador Moderno
● Partes de uma Placa Mãe
● Linguagem de Programação
● Classificação das Linguagens de Programação
● Evolução Historia das Linguagens de Programação
 
Equipa Docente
➔ Dra. Elisabeth Alves Andrade
➔ MsC. Erik Marichal Arbona
 
Carga Horária
Atividades Horas
Teórico 45
Teórico-prático 0
Pratico e Laboratorial 30
Trabalho Autónomo 75
Orientação Tutorial 10
Horas totais de contacto 75
HORAS TOTAIS DE TRABALHO DO ESTUDANTE : 150 H 
 
Método de Avaliação
● Para obter aprovação nesta disciplina, o formando deverá ter uma nota 
igual ou superior a dez (10) valores. A classificação final (avaliação 
contínua) é expressa na escala de (0 a 20) valores, aplicando – se a 
seguinte formula: 
● Avaliação continua 
– Nota Final = T1*0,20 + T2*0,30 + T3*0,40 + P*0,1 
– T1: Teste 1 
– T2: Teste 2 
– T3: Teste 3 
– P: Práticas
 
Bibliografia da Unidade Curricular
1.P. Gries, J. Campbell e J. Montojo, "Practical Programming: An Introduction 
to Computer Science Using Python 3.6," Pragmatic Bookshelf, 2017.
2.N. N. Coutinho Menezes, "Introdução à Programação com Python: 
Algoritmos e Lógica de Programação Para Iniciantes," 3ª ed., Novatec, 
2019, pp. 328, ISBN 978-85-7522-718-3.
3.J. Whitington, "Python from the Very Beginning: With 100 exercises and 
answers," Coherent Press, 2020, pp. 238.
4.D. Zingaro, "Learn to Code by Solving Problems: A Python Programming 
Primer," No Starch Press, 2021. ISBN: 1718501323, 9781718501324.
 
 
Conceitos de Hardware e Software 
● A terminologia 
“hardware” é um 
anglicismo na área de 
engenharia eletrónica que 
se refere à componente 
física de computadores e 
outros sistemas 
microeletrónicos.
 
Conceitos de Hardware e Software 
● A terminologia “Software” é 
uma anglicismo da tecnologia 
da informação que se refere 
à uma sequência de 
instruções a serem seguidas 
e/ou executadas para a 
manipulação, 
redirecionamento ou 
modificação de um dado 
(informação) ou evento.
 
Arquitetura de Computadores
● A Arquitetura de Computadores é o projeto 
conceitual e fundamental da estrutura 
operacional de um sistema computacional. Ela 
envolve o estudo dos requisitos necessários 
para o funcionamento de um computador e a 
organização dos diversos componentes para 
otimizar o desempenho.
 
Arquitetura Von Newman
● Trata-se de uma família de 
arquiteturas de computador 
que compartilha o mesmo 
dispositivo de armazenamento 
para instruções e dados. A 
maioria dos computadores 
modernos é construída com 
base nessa arquitetura.
 
Arquitetura Harvard
● A Arquitetura de Harvard é uma 
abordagem mais recente do que 
a de Von Neumann, originando-
se da necessidade de aumentar a 
velocidade de funcionamento dos 
microcontroladores. Ela se 
diferencia das outras por 
apresentar duas memórias 
distintas e independentes em 
termos de barramento e conexão 
com o processador.
 
Arquitetura Harvard
● É utilizada nos microcontroladores 
PIC. 
● São utilizado em 
microprocessadores DSPs 
( Digital Signal Processor) , 
especializados em processamento 
digital de sinal usados para 
processar sinais de áudio, vídeo,
 
Diferença entre as Arquiteturas de Harvard e Von Neumann
● Acesso à Memória:
– Harvard: Devido à separação de memória, a arquitetura de Harvard pode buscar instruções e dados 
simultaneamente, potencialmente resultando em um desempenho mais rápido em certas situações.
– Von Neumann: Na arquitetura de Von Neumann, a Unidad Central de Procesamiento busca 
instruções e dados de forma sequencial, o que pode limitar o desempenho em comparação com a 
arquitetura de Harvard.
● Flexibilidade:
– Harvard: Geralmente, a arquitetura de Harvard é empregada em sistemas embutidos, como 
microcontroladores, onde o desempenho é crucial e a separação de instruções e dados é vantajosa.
– Von Neumann: A arquitetura de Von Neumann é mais comum em computadores pessoais e 
servidores, devido à sua maior flexibilidade, permitindo que um mesmo sistema execute uma ampla 
variedade de tarefas.
● Complexidade:
– Harvard: A separação de memória na arquitetura de Harvard pode aumentar a complexidade do 
hardware, especialmente em sistemas de alto desempenho.
– Von Neumann: Geralmente, a arquitetura de Von Neumann é considerada mais simples de 
implementar em termos de hardware.
 
Evolução dos Computadores: 1ª Geração
● Computadores grandes que utilizavam válvulas.
● Consumiam grande quantidade de energia e eram de difícil 
manutenção, além de problemas de aquecimento.
● Programação em linguagem de máquina.
COLOSSUS (1943)
● criado para quebrar códigos alemãs
● 2.000 válvulas
ENIAC (1946)
● 17.468 válvulas 
● 30 toneladas 
Válvula 
 
Evolução dos Computadores: 1ª Geração
1ª Geração EDVAC (1947)
● Primeiro computador a utilizar a Arquitetura de 
Von Neumann
ESAC (1949)
● Inventor: Maurice Wilkes
LEO (1951)
● Primeiro computador comercial
 
Evolução dos Computadores: 2ª Geração
● Aquecimento mínimo. 
● Pequeno consumo de energia.
● Mais confiável e veloz do que as válvulas .
2ª Geração
Transístor
IBM 1401 - 1952
IBM 650 - 1954
IBM 650 - 1955
 
Evolução dos Computadores: 3ª Geração
Circuito Integrado – CI
Também conhecido como CHIP Borroughs B2500
● o primeiro computador a utilizar 
circuitos integrados
PDP-8
● O primeiro minicomputador
4004
● primeiro chip da Intel
● 2.300 transístores
IBM S/360
 
Evolução dos Computadores: 3ª Geração
Intel 4004 - 1971
● 2250 componentes
● soma 2 números em
11 milionésimos de 
segundo Intel 8080 - 1974
● 4500 componentes
● soma 2 números em
2,5 milionésimos de 
segundo
6502 – 1975
● 4300 componentes
● soma 2 números em
1 milionésimo de segundo
 
Evolução dos Computadores: 3ª Geração
ALTAIR
● primeiro microcomputador
Apple I
Apple II
Macintosh
Do ENIAC ao Micro
 
Evolução dos Computadores: 3ª Geração
SINCLAIR 
MMX
IBM PC
 
Evolução dos Computadores: 4ª Geração
● CI LSI - Integrated Circuit - Large Scale 
Integration ( Circuito Integrado em Larga 
Escala de Integração).
● IC VLSI - Integrated Circuit - Very Large 
Scale Integration ( Circuito Integrado em 
uma Escala Muito Maior de Integração). Motorola 68000
1979
HP SuperCHIP 
1981
Intel 486Intel 386
 
Evolução dos Computadores: 4ª Geração
● 486 Motherboard(Placa mãe)
● 8 MB EDO Ram 
● 7 ISA slots 
● intel i486 DX A80486DX-33 CPU
 
Evolução dos Computadores: 5ª Geração 
● CI ULSI - Integrated Circuit Ultra Large Scale Integration (Escala “ultra” de Integração) 
Processadores: Celeron / Cyrix / AMD K6 / Pentium MMX
Mother Board (Placa Mãe). Pentium II
Processadores: Pentium 2 e AMD K6-2
● Top de linha até 1998
 
Evolução dos Computadores: 6ª Geração
Processadores com litografia de 14 nm 
(indica o tamanho dos recursos embutidos no semicondutor).
Apple iMac
Inteligência Artificial
 
Evolução dos Computadores
Geração ? 
O computador quântico IonQInteligência Artificial Generativa
 
Partes de um Computador Moderno
 
Partes de uma Placa Mãe
 
Linguagem de Programação
● É um método padronizado, composto por um conjunto de 
regras sintáticas e semânticas, para implementar um código 
fonte que instruirá o computador no processamento. 
● Permitem que um programador especifique os dados com os 
quais o computador irá trabalhar, como esses dados serão 
armazenados ou transmitidos e quais ações devem ser 
tomadas em diversas circunstâncias. 
● As linguagens de programação podem ser usadas para 
expressar algoritmos de forma precisa.
 
● O código fonte escrito por um programador em uma 
linguagem de programação é, então, traduzido para código 
de máquina, que é a linguagem que o computador 
compreende e é executado pelo microprocessador.
Modelos de ExecuçãoCompilado
Interpretado
just-in-time
Modelos de Execução 
 
Nível de Abstração
● Alto Nível: Linguagens de alto nível são mais 
próximas da linguagem humana e oferecem 
abstrações mais complexas. Exemplos incluem 
Python, Java e C++.
● Baixo Nível: Linguagens de baixo nível fornecem um 
maior controle sobre o hardware e são mais próximas 
da linguagem de máquina. Exemplos incluem 
Assembly e C.
 
Paradigmas de Programação
● Imperativa: Linguagens imperativas enfatizam a sequência de 
comandos e as mudanças de estado. Exemplos incluem C e Fortran.
● Orientada a Objetos: Linguagens orientadas a objetos modelam 
problemas como interações entre objetos. Exemplos incluem Java e 
C#.
● Funcional: Linguagens funcionais tratam a computação como 
avaliação de funções matemáticas. Exemplos incluem Haskell e Lisp.
● Lógica: Linguagens lógicas são usadas para programação baseada 
em lógica, como Prolog.
 
Historia das Linguagens de Programação
● Ada Lovelace, matemática britânica 
do século XIX, é considerada a 
primeira programadora por suas 
anotações pioneiras em 1843, que 
descreviam algoritmos para a 
máquina analítica de Charles 
Babbage. Sua visão inovadora 
influenciou o desenvolvimento da 
computação, e a linguagem de 
programação Ada foi nomeada em 
sua homenagem.
 
Historia das Linguagens de Programação
● Em 1948, Konrad Zuse 
publicou um artigo sobre sua 
linguagem de programação 
chamada Plankalkül. No 
entanto, na época, esta 
linguagem não foi 
implementada e suas 
contribuições originais 
permaneceram isoladas de 
outros avanços no campo da 
programação.
 
Historia das Linguagens de Programação
● O primeiro compilador foi 
escrito por Grace Hopper, 
em 1952, para a linguagem 
de programação A-0.
● Em 1957 foi criada B-0, 
sucessora da A-0, que 
daria origem a Flow-Matic 
(1958), antecessor 
imediato de COBOL.
 
Historia das Linguagens de Programação
● A primeira linguagem de 
programação de alto 
nível amplamente usada 
foi Fortran, desenvolvido 
em 1954 para o IBM 704 
por uma equipa dirigida 
por John W. Backus. 
 
● O COBOL ganhou ampla aceitação como linguagem de uso 
comercial. A linguagem ALGOL foi desenvolvida entre 1958 e 
1960 e exerceu grande influência no design de muitas 
linguagens subsequentes.
● Lisp foi criada em 1958 e tornou-se amplamente utilizada em 
pesquisas na área de ciência da computação, especialmente 
em Inteligência Artificial.
● Outra linguagem relevante para o campo da Inteligência 
Artificial , surgida em 1972, é o Prolog, que pertence ao 
paradigma lógico.
Historia das Linguagens de Programação
 
Historia das Linguagens de Programação
● A linguagem de 
programação C foi criada em 
1972 por Dennis Ritchie e 
Ken Thompson na empresa 
AT&T Bell Labs, com o 
propósito de desenvolver o 
sistema operacional Unix, 
que originalmente havia sido 
escrito em Assembly.
 
Historia das Linguagens de Programação
● A orientação a objetos representa outro marco importante na história das 
linguagens de programação. A linguagem Simula 67 introduziu o conceito 
de classes, enquanto a linguagem Smalltalk expandiu esse conceito e se 
tornou a primeira linguagem de programação a oferecer suporte completo à 
programação orientada a objetos.
● A linguagem C++ (originalmente conhecida como "C com classes") 
desempenhou um papel fundamental na popularização da orientação a 
objetos.
● Desde então, várias linguagens de programação surgiram. Algumas delas 
incluem C#, VB.NET, Java, Object Pascal, Objective-C, PHP, Python, 
SuperCollider, linguagem D e Ruby.
 
índice da Comunidade de Programação TIOBE 
● O índice da Comunidade de Programação 
TIOBE é um indicador da popularidade das 
linguagens de programação, atualizado 
mensalmente.
● As classificações são determinadas com base 
no número de engenheiros qualificados em todo 
o mundo, cursos e fornecedores de terceiros. 
● Para calcular as classificações, são usados 
motores de busca populares como Google, 
Bing, Yahoo!, Wikipedia, Amazon, YouTube e 
Baidu.
 
índice da Comunidade de Programação TIOBE 
	Slide 1
	Slide 2
	Slide 3
	Slide 4
	Slide 5
	Slide 6
	Slide 7
	Slide 8
	Slide 9
	Slide 10
	Slide 11
	Slide 12
	Slide 13
	Slide 14
	Slide 15
	Slide 16
	Slide 17
	Slide 18
	Slide 19
	Slide 20
	Slide 21
	Slide 22
	Slide 23
	Slide 24
	Slide 25
	Slide 26
	Slide 27
	Slide 28
	Slide 29
	Slide 30
	Slide 31
	Slide 32
	Slide 33
	Slide 34
	Slide 35
	Slide 36
	Slide 37
	Slide 38
	Slide 39
	Slide 40
	Slide 41
	Slide 42

Continue navegando