Baixe o app para aproveitar ainda mais
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
Compartilhar