Buscar

Aula_0 - IP 2024 1


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 56 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 56 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 56 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

Programação 1A
Ciências Atuariais
2024.1
Professor
Lucas Sampaio (lsl4@cin.ufpe.br)
Objetivos
Introduzir conceitos e técnicas fundamentais de programação
Usar a linguagem Python para expressar os conceitos e técnicas
Atenção! Não é um curso de Python. Foco nos fundamentos da programação 
com computadores.
Conteúdo Programático
Ementa
Problemas e soluções. Noções de Algoritmos e Sub-algoritmos. Instruções 
condicionais e incondicionais. Iteração e Recursão. Conceito de programação. 
Estruturas e tipos de dados. Procedimentos (iterativos e recursivos). Matrizes, 
registros e arquivos. Estruturas Dinâmicas.
Ambientes
IDEs: VS Code, PyCharm, etc 
Notebook Jupyter com Google Colab
Árbitro Virtual Beecrowd (listas de exercícios)
Conteúdo Programático
1. Breve História da Computação
2. Algoritmos
 • Conceito de algoritmo
 • Representação de algoritmos
 • Estrutura básica de algoritmo
Conteúdo Programático
3. Noções básicas de Linguagens de Programação
 • Tipos primitivos de dados
 • Variáveis e atribuição
 • Operadores aritméticos e booleanos
 • Instruções de entrada e saída
 • Instruções sequenciais
 • Estruturas Condicionais (if, else, else if)
 • Estruturas de repetição (while, for, do while)
Conteúdo Programático
4. Linguagens de Programação
 • Ambiente de programação
 • Funções matemáticas pré-definidas
 • Manipulação de Strings
 • Tipos Abstratos de Dados
 • Estruturas de Dados (listas, arrays, matrizes)
 • Modularização de programas: procedimentos, funções
 • Manipulação de arquivos
Conteúdo Programático
Conceitos de programação
Operadores aritméticos, lógicos e relacionais
Comandos condicionais
Laços de repetição
Strings, listas e tuplas
Dicionários
Funções e recursão
Manipulação de arquivos
Lista de Exercícios 1
Lista de Exercícios 2
Lista de Exercícios 3
Lista de Exercícios 4
Lista de Exercícios 5
Lista de Exercícios 6
Metodologia
Listas de exercícios 
Focadas em cada assunto conforme cronograma
Ambiente Beecrowd: https://judge.beecrowd.com/pt/
Google Classroom
Aulas síncronas e presenciais
Aulas expositivas e dialogadas
Aulas de acompanhamento (dúvidas e resoluções de exercícios)
Com chamada
Avaliação
Listas: 40% da nota
As listas devem ser entregues até data às 23:59 
A correção é realizada pelo árbitro virtual no ambiente Beecrowd
 
Avaliação (prática???): 60 % da nota
Informações sobre a disciplina
Ambiente Classroom
Todo o material didático da disciplina
O cronograma atualizado com todas as datas
Turma:
Bibliografia básica
Bibliografia Básica
1. BROOKSHEAR, J. Glenn. Ciência da computação: uma visão abrangente . 7.ed. 
Porto Alegre: Bookman, 2005.
2. LOPES, Anita; GARCIA, Guto. Introdução à programação: 500 algoritmos 
resolvidos. Rio de Janeiro: Editora Campus, 2002.
3. SEBESTA, Robert W. Conceitos de linguagens de programação. 5.ed. Porto 
Alegre: Bookman, 2003.
Bibliografia complementar
1. CORMEN, Thomas H. Algoritmos: teoria e prática. Rio de Janeiro: Editora Campus, 
2002.
2. MANZANO, José Augusto N. G.; OLIVEIRA, Jayr Figueiredo de. Algoritmos: lógica para 
desenvolvimento de programação de computadores . 21. ed. São Paulo: Érica, 2008.
3. OLIVEIRA, Ulysses de. Introdução à programação. João Pessoa: Editora Universitária, 
2000.
4. SCHILDT, Herbert. C completo e total. 3.ed., rev. e atual. São Paulo: Pearson Education 
do Brasil, 1997.
5. ZIVIANI, Nivio. Projeto de algoritmos: com implementações em Java e C++ . São Paulo: 
Cengage Learning, 2007.
Outras referências...
Li
nk
: 
ht
tp
s:
//w
w
w
.u
fs
m
.b
r/a
pp
/u
pl
oa
ds
/s
ite
s/
67
9/
20
19
/0
8/
Ap
os
til
a_
Py
th
on
_v
_1
.p
df
Referência de exercícios...
https://judge.beecrowd.com/
Acesso a turma para lista de nivelamento
https://judge.beecrowd.com/
Acesso a turma para lista de nivelamento
https://judge.beecrowd.com/
Acesso a turma para lista de nivelamento
https://judge.beecrowd.com/
Referência de exercícios...
https://wiki.python.org.br/ListaDeExercicios
Conteúdos Digitais Disponíveis Gratuitamente
https://www.w3schools.com/python/default.asp
https://ricardoduarte.github.io/python-para-desenvolvedores
https://www.py4e.com/
Para a dinâmica de aprendizagem da disciplina funcionar, é importante realizar 
as práticas e exercícios passados em sala (não deixem acumular atividades).
Quem deixa acumular as atividades, tende a ter um desempenho inferior.
Organizem seu tempo entre as disciplinas.
Boas práticas
Onde a tecnologia está presente no nosso cotidiano?
Contextualização
Contextualização
Contextualização
Contextualização
Contextualização
Breve história da computação
• O Ábaco (3500~2000 a.c) foi o primeiro 
dispositivo que permitia realizar cálculos com 
grandes números. 
• Ainda muito utilizado em certos centros de 
ensino ao redor do mundo.
História do computador
História do computador
• Em 1801, na França, durante a revolução industrial, Joseph Marie Jacquard 
(1752- 1834) inventou um tear mecânico controlado por grandes cartões 
perfurados. 
• Foi tamanho o sucesso que 
Jacquard foi quase morto quando 
levou o tear para Lyon. As 
pessoas tinham medo que o tear 
lhes fizesse perder o emprego. 
• Em 7 anos, já haviam 11 mil 
teares desse tipo operando na 
França.
História do computador
• Charles Babbage iniciou um projeto de uma máquina analítica 
(1834), que seria programável e permitiria a execução de 
qualquer cálculo matemático.
• O projeto, totalmente mecânico, era composto 
de uma memória, um engenho central, 
engrenagens e alavancas usadas para a 
transferência de dados da memória para o 
engenho central e dispositivos para entrada e 
saída de dados. 
História do computador
• O inglês George Boole estabelece a lógica binária para 
armazenar informações (1847).
As gerações de computadores eletrônicos...
• Em 1943, o inglês Alan Turing constrói o Colossus 
que inicia a primeira geração de computadores 
modernos, que utilizam válvulas.
• A válvula é um tubo de vidro, similar a uma 
lâmpada fechada sem ar em seu interior, ou seja, 
um ambiente fechado a vácuo, e contendo 
eletrodos, cuja finalidade é controlar o fluxo de 
elétrons.
• As válvulas aqueciam bastante e costumavam 
queimar com facilidade.
Histórico (1ª geração)
• O armazenamento dos dados era realizado em cartões perfurados, que depois 
passaram a ser feitos em fita magnética.
• Um dos representantes desta geração é o ENIAC (1945). Ele possuía 17.468 
válvulas, pesava 30 toneladas, tinha 180 m² de área construída, sua velocidade era 
da ordem de 100 kHz e possuia apenas 200 bits de memória RAM.
Histórico (1ª geração)
Histórico (1ª geração)
Histórico (1ª geração)
• ENIAC: Eletronic Numerical Integrator and Computer (Computador e Integrador 
Numérico Eletrônico).
• Construído na Universidade da Pensilvânia;
• Primeiro computador digital de propósito geral do mundo; 
• Desenvolvido par realizar cálculos balísticos durante a segunda guerra 
mundial. 
• Sem o computador, os cálculos com trajetória e alcance eram feitos por mais de 
200 pessoas utilizando calculadoras de mesa:
• Trabalho chegava a durar horas e até mesmo dias, para apenas uma arma .
Histórico (1ª geração)
• A segunda geração de computadores foi marcada pela substituição da válvula 
pelo transistor.
• O transistor revolucionou a eletrônica em geral e os computadores em especial. 
• Eles eram muito menores do que as válvulas a vácuo e tinham outras vantagens: 
não exigiam tempo de pré-aquecimento, consumiam menos energia, geravam 
menos calor e eram mais rápidos e confiáveis. 
• No final da década de 50, os transistores foram incorporados aos computadores.
Histórico (2ª geração)
• Na segunda geração o conceito de Unidade Central de Procedimento (CPU), 
memória, linguagem de programação e entrada e saída foram desenvolvidos. 
Histórico (2ª geração)
https://medium.com/trainingcenter/a-
arquitetura-de-von-neumann-121489873fd4• O tamanho dos computadores diminuiu consideravelmente. 
• Outro desenvolvimento importante foi a mudança da linguagem de máquina 
para a linguagem Assembly. 
• Em seguida vieram as linguagens de alto nível, como Fortran e Cobol. No 
mesmo período surgiu o armazenamento em disco, complementando os 
sistemas de fita magnética e possibilitando ao usuário acesso rápido aos dados 
desejados.
Histórico (2ª geração)
Histórico (2ª geração)
• A terceira geração de computadores foi marcada pela utilização dos 
circuitos integrados, feitos de silício. 
• Também conhecidos como microchips, eles eram construídos integrando 
um grande número de transistores, o que possibilitou a construção de 
equipamentos menores e mais baratos.
• Mas o diferencial dos circuitos integrados não era o apenas o tamanho, 
mas o processo de fabricação que possibilitava a construção de vários 
circuitos simultaneamente, facilitando a produção em massa. 
Histórico (3ª geração)
• Um computador que representa esta geração foi o IBM’s System/360, voltado 
para o setor comercial e científico (1964).
• Ele possuía uma arquitetura plugável, na qual o cliente poderia substituir as peças 
que dessem defeitos. Além disso, um conjunto de periféricos eram vendidos 
conforme a necessidade do cliente.
• A IBM, que até então liderava o mercado de computadores, passou a perder 
espaço quando concorrentes passaram a vender periféricos mais baratos e que 
eram compatíveis com sua arquitetura. 
• No final desta geração já começaram a surgir os computadores pessoais.
Surgimento das linguagens de alto nível.
Histórico (3ª geração)
Histórico (3ª geração)
Histórico (3ª geração)
Histórico (3ª geração)
• Os computadores da quarta geração são reconhecidos pelo surgimento dos 
processadores (1971) - unidade central de processamento. 
• Os sistemas operacionais como MS-DOS, UNIX, Apple’s Macintosh foram 
construídos. 
• Linguagens de programação orientadas a objetos como C++ e Smalltalk foram 
desenvolvidas. 
• Discos rígidos eram utilizados como memória secundária. 
• Impressoras matriciais, e os teclados com os layouts atuais foram criados nesta 
época.
Histórico (4ª geração ???)
• Os computadores eram mais confiáveis, mais rápidos, menores e com maior 
capacidade de armazenamento. 
• Esta geração é marcada pela venda de computadores pessoais.
Histórico (4ª geração ???)
• Os computadores da quinta geração usam 
processadores com milhões de transistores.
• Nesta geração surgiram as arquiteturas de 
64 bits, os processadores que utilizam 
tecnologias RISC e CISC, discos rígidos com 
capacidade superior a 10 TB, 64 GB de RAM, 
pen-drives com mais de 2TB, entre outros 
avanços.
Histórico (5ª geração ???)
• A quinta geração está sendo marcada pela inteligência artificial e por sua 
conectividade. 
• A inteligência artificial pode ser verificada em jogos e robôs ao conseguir desafiar 
a inteligência humana.
• A conectividade é cada vez mais um requisito das indústrias de computadores. 
• Hoje em dia, queremos que nossos computadores se conectem ao celular, a 
televisão e a muitos outros dispositivos como geladeira e câmeras de segurança.
Histórico (5ª geração ???)
Lei de Moore e os seus desafios...
Lei de Moore e os seus desafios...
• Tamanho dos transistores x leis da física 
• Custo de produção
• Problemas de dissipação de calor
• Miniaturização x Integridade do sinal
Lei de Moore e os seus desafios...
Exercício
Programação 1A
Ciências Atuariais
2024.1

Mais conteúdos dessa disciplina