Buscar

Porque da programação na engenharia

Prévia do material em texto

Mais algumas Informações
Introdução à Programação
Informações Relevantes
Eu não sou da computação !!! 
Por que programar?
Possíveis Respostas:
Porque é legal!
Posso ter algum retorno financeiro com isso!
Informações Relevantes
Eu sou das engenharias!
Alguns exemplos:
Como engenheiro você deverá ser capaz de automatizar algum processo.
Você poderá criar programas para gerenciar e automatizar algum processo que hoje é manual.
Como engenheiro você deverá ser capaz de desenvolver novas ferramentas ou protótipos.
Para criar ferramentas/protótipos você deverá fazer simulações computacionais para fazer testes preliminares.
Você poderá enxergar situações onde uma solução computacional pode trazer benefícios.
Mesmo que você não implemente (programe) a solução você poderá propô-la e será capaz de “conversar“ com o pessoal de TI para implementar a solução.
O que esperar desse curso
Vocês aprenderão o básico para desenvolver programas.
Utilizaremos a linguagem C.
Vocês NÃO vão aprender a usar programas neste curso (como office etc.).
Vocês VÃO ter porém, uma boa noção de como criar programas como o office.
O que será necessário
Assistam as aulas;
Exercitem;
Exercitem;
Exercitem...
RELAÇÃO DOS ENGENHEIROS
COM COMPUTADORES 
Histórico
“Primórdios da Informática”
Ábaco (500 a.C.) / Pascalene (Pascal, 1642)
Militares: Sistematizar Problemas
Distribuir produtos
Construir edificações
Esses caras podem ser considerados engenheiros?
Histórico
Engenheiros Militares
Aplicações Civis => Engenheiros Civis
Construção de edifícios, meios de transportes e máquinas;
Engenharia Mecânica
Inovação: motor elétrico
Possibilitou máquinas automáticas
Engenharia Elétrica!
Mas... Cadê os computadores?
Hermann Hollerith -> Censo dos Estados Unidos
8
Histórico
Segunda Guerra Mundial: Enigma
Engenheiros convocados
Substituir Computadores humanos por máquinas
Balística
Decodificar mensagens do Enigma 
ENIAC: Eletronic Numerical Integrator and Computer
Transístores e Circuitos Integrados:
Computadores Programáveis.
Dia a Dia da Engenharia
Programar simplifica a vida
Toda atividade rotineira é candidata
Planilhas de Excel
Controles financeiros
Registro e totalização de dados
Programação Direta
Movimentação de terra
Cálculo de circuitos
Alteração nas vazões de rios
Simulação de impacto ambiental, mecanismos...
...
Softwares para Engenharia
Existe uma infinidade de softwares prontos
CAD: Computer Aided Design
Auto Cad, MicroStation (genéricos)
Tango, Quartus II (Circuitos / Circuitos Integrados)
CAM: Computer Aided Mathematics
Mathematica, MathLab (genéricos)
MiniTab, Statistica (cálculo estatístico)
Cálculo Estrutural
Adina, fTool
Fluxo de Transporte e Logística
TransCAD, EME/2
Simulação
Arena (genérico)
ModelSim (circuitos eletrônicos)
Introdução à organização de computadores
Introdução à Programação
Rogério Figueredo de Sousa
rfigsousa@ufpi.edu.br
Entendendo o Computador
Usar ferramenta: entender a ferramenta
O que é um Computador?
o que computa, calculador, calculista. (dicionário Houaiss).
Um computador é uma máquina que, a partir de uma entrada, realiza um número muito grande de cálculos matemáticos e lógicos, gerando uma saída.
Como funciona o computador?
Modelo de Von Neumann
Entrada
CPU
Saída
Memória
Entendendo o Computador
CPU: Coordena todo o funcionamento do computador e realiza cálculos numéricos
Unidade de Entrada: Recebe dados (números) externos para processamento
Unidade de Memória: Armazena dados (números) para uso posterior
Unidade de Saída: Exibe dados (números) para o usuário, após processamento
O computador só entende números!
Dispositivos de Entrada e Saída
Dispositivos de Entrada
Leitura: converter informações externas (usualmente fornecidas pelo usuário) em números para o computador 
Dispositivos de Entrada e Saída
Dispositivos de Saída
Escrita: converter números fornecidos pelo computador em informações para o usuário
Funcionamento da CPU
Como a CPU coordena essas partes para produzir resultado útil?
Entrada
CPU
Saída
Memória
Funcionamento da CPU
1. Busca Instrução
CPU lê a memória em busca do que deve fazer
Instrução lida: leia entrada
Entrada
CPU
Saída
Memória
Funcionamento da CPU
2. Lê entrada
CPU lê entrada, recebendo um dado numérico
Dado lido: 33 
Entrada
CPU
Saída
Memória
Funcionamento da CPU
3. Busca Instrução
CPU lê a memória em busca do que deve fazer
Instrução lida: multiplique por dois
Entrada
CPU
Saída
Memória
Funcionamento da CPU
4. Cálculo
CPU realiza operação de cálculo
33 * 2 = 66
Entrada
CPU
Saída
Memória
Funcionamento da CPU
5. Busca Instrução
CPU lê a memória em busca do que deve fazer
Instrução lida: armazenar resultado
Entrada
CPU
Saída
Memória
Funcionamento da CPU
6. Armazena dado 
Guarda o dado na memória
Dado armazenado: 66
Entrada
CPU
Saída
Memória
Funcionamento da CPU
7. Busca Instrução
CPU lê a memória em busca do que deve fazer
Instrução lida: imprime dado
Entrada
CPU
Saída
Memória
Funcionamento da CPU
8. Saída de Dados
CPU escreve na saída
O número 66 é impresso
Entrada
CPU
Saída
Memória
E assim sucessivamente...
Funcionamento da CPU
A CPU tem duas partes principais:
Unidade de Controle: coordena a execução
Unidade Lógica Aritmética: realiza os cálculos
A UC é quem acessa a memória RAM
Analogia: usuário de uma calculadora
A ULA é quem faz cálculos
Analogia: a calculadora em si 
A Memória Principal
Cada gaveta é chamada posição de memória
Cada gaveta possui um número que a identifica, chamado endereço de memória
Em cada uma das gavetas, podemos guardar um número fixo de “dígitos”
A Memória Principal
A Memória Principal (RAM) é:
A Memória Principal
Quando queremos guardar um número na memória, temos dizer em qual posição de memória ele deve ser armazenado, usando para isso o endereço de memória
A Memória Principal
Quando queremos guardar um número na memória, temos dizer em qual posição de memória ele deve ser armazenado, usando para isso o endereço de memória.
Armazenemos o valor 255 na posição de memória cujo endereço é 3
A Memória Principal
Quando queremos guardar um número na memória, temos dizer em qual posição de memória ele deve ser armazenado, usando para isso o endereço de memória.
Armazenemos o valor 255 na posição de memória cujo endereço é 3
255
A Memória Principal
Tomemos, agora, uma memória cheia
Qual é o valor na posição de memória cujo endereço é 7?
7
255
9
19
40
0
100
2
Como os Números são armazenados: A Linguagem do Computador
Já vimos que o computador entende apenas números...
...mas ele entende os nossos números?
Infelizmente... não.
O computador entende um dialeto chamado “binário”: 0101001010111b
Mas o que isso significa?
Humanos x Processadores
Humanos aprendem a contar com os dedos;
Como temos DEZ dedos nas mãos, usamos naturalmente os números DECIMAIS
Isso significa que cada dígito do número será “ocupado” com um de 10 símbolos diferentes:
0, 1, 2, 3, 4, 5, 6, 7, 8, 9
Humanos x Processadores
Como indicar números decimais para o processador?
Humanos x Processadores
Como indicar números decimais para o processador?
FIOS
Humanos x Processadores
Como indicar números decimais para o processador?
C
Humanos x Processadores
Como indicar números decimais para o processador?
C
Humanos x Processadores
Como indicar números decimais para o processador?
C
Humanos x Processadores
Como indicar números decimais para o processador?
C
Humanos x Processadores
Como indicar números decimais para o processador?
C
Humanos x Processadores
Como indicar números decimais para o processador?
C
Humanos x Processadores
Como indicar números decimais para o processador?
C
O que quer dizer isso?
Imaginemos que cada fio representa um “dígito” numérico, chamado bit.
Esse fio pode estar desligado ou ligado 
Associando o símbolo 0 ao fio “desligado” e 1 ao fio “ligado”,representa-se o “número” em um formato que o computador entende:
O que quer dizer isso?
Imaginemos que cada fio representa um “dígito” numérico, chamado bit.
Esse fio pode estar desligado ou ligado 
Associando o símbolo 0 ao fio “desligado” e 1 ao fio “ligado”, representa-se o “número” em um formato que o computador entende:
10111000110010110b = 94.614 
Os Números Binários
Como cada bit pode ser apenas 0 ou 1... 
...o nome dessa representação é “binária”.
Um único bit armazena pouca informação
Usualmente, os bits aparecem agrupados
Conversão de Binário para Decimal
Regra Prática:
1*23 + 1*22 + 0*21 + 1*20 = 8 + 4 + 0 + 1 = 13
1101b = 13
Conversão de Decimal para Binário
Regra prática: Divisões sucessivas.
Ex: Converter 13 para binário;
1101b
48
Qual o Problema?
 Inteiros: Representados em binário exato
 Negativos: Representação do sinal. 
 Reais: Nem sempre binários exatos
Problema de Aproximação;
1101b
49
Outros Dados na Memória
Só números binários... 0101001010111b
Seu significado depende da interpretação!
Números inteiros
Números fracionários
Letras
Imagens
...
Interpretação depende de uma convenção
1101b
50
Representação de Caracteres
Letras: Padrões de codificação
ASCII
UTF-8
UTF-16
1101b
51
Representação de Imagens
Pontos: RGB (Vermelho, Verde, Azul)
1101b
52
Representação de Imagens
Pontos: RGB (Vermelho, Verde, Azul)
1101b
53
Representação de Imagens
Pontos: RGB (Vermelho, Verde, Azul)
1101b
54
Representação de Imagens
Pontos: RGB (Vermelho, Verde, Azul)
1101b
55
E na próxima aula...
Porque hoje em dia não estamos programando em binário?
1101b
56

Continue navegando