Você está na página 1de 30

ECOi2202 - Lógica de

Programação
Prof. Walter Aoiama Nagai
walternagai@unifei.edu.br
Aspectos básicos de Computação
Difference Engine - Charles Babbage (1822) - https://youtu.be/0anIyVGeWOI
Computador de Turing e Von Neumann - https://youtu.be/G4MvFT8TGII
Douglas Engelbart - Mother of all demos (1968) - https://youtu.be/B6rKUf9DWRI
Altair 8800 - https://youtu.be/X5lpOskKF9I
Xerox Star User Interface - https://youtu.be/Cn4vC80Pv6Q
MSX Hotbit da Sharp - https://youtu.be/cH-xPRbKhWM
Evolução dos computadores
https://northernmicro.com/spirit-manuals/spirit-x299-as-user-manual/Mot
herboard_Layout.htm
"Waffle"
Lei de Moore (1965 - 20??)
inicialize o CP
repita sempre
Inst := SC[CP]
CP := CP + 1
exec(Inst)
fim repita
Bottleneck ou “gargalo”
Arquitetura de Von Neumann
● A velocidade entre a memória e seu processador determina a
velocidade do computador
● Instruções de programa podem ser executadas mais rapidamente pelo
processador, o que resulta em um gargalo, que é um fator limitante
primário na velocidade dos computadores
Evolução das linguagens de programação
Evolução das linguagens de programação
● Aplicações simples;
● Eficiência da máquina.
Evolução das linguagens de programação

● Eficiência, legibilidade, estruturas de controle;


● Programação estruturada;
● Projeto descendente (top-down).
Evolução das linguagens de programação

● Orientação aos procedimentos para uma


orientação aos dados / Abstração de dados
Evolução das linguagens de programação

● Programação orientada a objetos


● Abstração de dados + herança + vinculação
dinâmica de métodos
Sistema de computação
int main() {
int a = 5;
int b = 6;
int c = a + b;
}
.section __TEXT,
__text,regular,pure_instructions
.build_version macos, 11, 0 sdk_version 11, 3
.globl _main
.p2align 4, 0x90
_main:
.cfi_startproc
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset %rbp, -16
movq %rsp, %rbp
.cfi_def_cfa_register %rbp
xorl %eax, %eax
movl $5, -4(%rbp)
movl $6, -8(%rbp)
movl -4(%rbp), %ecx
addl -8(%rbp), %ecx
movl %ecx, -12(%rbp)
popq %rbp
retq
.cfi_endproc
.subsections_via_symbols
Mas como resolver problemas usando programação?
Lançando muito, muito longe!
Apesar da situação emergencial que passamos, as Olimpíadas de Tóquio
foram realizadas no dia 23 de julho de 2021 com todas as restrições e
protocolos para que fossem realizadas com segurança sanitária e de saúde.

Dentro desse contexto, considere que esteja trabalhando em uma empresa


que coletou dados de diversas modalidades esportivas. Mas, você foi
destacado para a modalidade de "Lançamento de Peso". Quais seriam as
perguntas e os critérios para entender características desse tipo de
esporte?
Pensando individualmente...
Contribuições no documento colaborativo...
Lançando muito, muito longe!
Algumas variáveis podem ser observadas
no esquema:
● a velocidade inicial (em m/s);
● o ângulo de lançamento (em graus)
e;
● a aceleração da gravidade (em
m/s²).
Observe que com esses dados, pode-se
chegar a algumas conclusões sobre a
maior distância lançada, o melhor
ângulo de lançamento e a velocidade
que um peso deve ser arremessado.
Até a próxima aula!

Você também pode gostar