Baixe o app para aproveitar ainda mais
Prévia do material em texto
LOB 1044 Computação Aplicada à Engenharia 1/34 LOB 1044 COMPUTAÇÃO APLICADA À ENGENHARIA AULA 1 – Parte 1 Prof. Dr. Fabiano Fernandes Bargos Prof. Dr. Wendell de Queiróz Lamas Universidade de São Paulo (USP) Escola de Engenharia de Lorena (EEL) Departamento de Ciências Básicas e Ambientais (LOB) Lorena 2016 disciplinas.stoa.usp.br Turmas Prof. Fabiano - Disciplinas>2016>EEL>LOB>Computação Aplicada à Engenharia – 20162T4FQT6 LOB 1044 Computação Aplicada à Engenharia 2/34 Objetivos Apresentar: Os conceitos principais da ciência da computação, bem como os recursos disponíveis para aplicação na engenharia. Uma metodologia para o raciocínio lógico construtivo, aplicável a quaisquer problemas providos de uma solução algorítmica. Uma linguagem de alto nível para desenvolvimento e implementação de programas para computadores. LOB 1044 Computação Aplicada à Engenharia 3/34 Ementa da disciplina • Introdução à Ciência da Computação • Matlab • Conceitos básicos • Estruturas de controle: sequencial, seleção e repetição • Estruturas de dados: Vetores e matrizes • Programação modular: funções • Prática de programação e depuração de programas LOB 1044 Computação Aplicada à Engenharia 4/34 Datas Importantes – Turma Terça-Feira Primeira Avaliação • 13/09 Aula 6 PROVA - Turma 1 • 20/09 Aula 7 PROVA - Turma 2 Segunda Avaliação • 22/11 Aula 13 PROVA - Turma 1 • 29 /11Aula 14 PROVA - Turma 2 • 13/12 EXAME (18:00 – 21:40) LOB 1044 Computação Aplicada à Engenharia 5/34 Datas Importantes – Turma Quarta-Feira Primeira Avaliação • 14/09 Aula 6 PROVA - Turma 1 • 21/09 Aula 7 PROVA - Turma 2 Segunda Avaliação • 23/11 Aula 13 PROVA - Turma 1 • 30 /11Aula 14 PROVA - Turma 2 • 13/12 EXAME (18:00 – 21:40) LOB 1044 Computação Aplicada à Engenharia 6/34 Componentes Básicos do Computador HARDWARE: Toda parte física do computador. É o equipamento propriamente dito. Inclui: circuitos eletrônicos, gabinete, fonte de energia, cabos, teclado, mouse, etc. SOFTWARE: Constituído pelos programas que permitem atender às necessidades do usuário LOB 1044 Computação Aplicada à Engenharia 7/34 Composição do Hardware UNIDADES FUNCIONAIS BÁSICAS UNIDADE DE SAÍDA UNIDADE DE ENTRADA MEMÓRIA CPU LOB 1044 Computação Aplicada à Engenharia 8/34 Composição do Hardware UNIDADES FUNCIONAIS BÁSICAS UNIDADE DE SAÍDA UNIDADE DE ENTRADA MEMÓRIA MEMÓRIA PRINCIPAL MEMÓRIA AUXILIAR CPU UNIDADE DE CONTROLE UNIDADE LÓGICA E ARITMÉTICA LOB 1044 Computação Aplicada à Engenharia 9/34 A memória do computador UNIDADES FUNCIONAIS BÁSICAS UNIDADE DE SAÍDA UNIDADE DE ENTRADA MEMÓRIA MEMÓRIA PRINCIPAL MEMÓRIA AUXILIAR CPU UNIDADE DE CONTROLE UNIDADE LÓGICA E ARITMÉTICA MEMÓRIA CACHE LOB 1044 Computação Aplicada à Engenharia 10/34 A memória do computador A memória é dividida em camadas: – memória cache – memória auxiliar – memória principal LOB 1044 Computação Aplicada à Engenharia 11/34 A memória do computador MEMÓRIA CACHE Camada mais próxima do processador Funcionamento muito rápido Alto custo Pequena, devido ao custo A memória é dividida em camadas: LOB 1044 Computação Aplicada à Engenharia 12/34 A memória do computador A memória é dividida em camadas: MEMÓRIA PRINCIPAL Dados que não cabem na memória cache residem na memória principal Tempo de acesso (ns - nanossegundos) Capacidade (MB - megabytes, GB - gigabytes) Custo inferior a cache LOB 1044 Computação Aplicada à Engenharia 13/34 A memória do computador Tipos de memória principal: RAM (Random Access Memory): Programas e dados em uso em um dado momento. Volátil. ROM (Read Only Memory): Celulares, Calculadoras PROM (Programmable ROM): Não se apaga EPROM (Eraseble PROM): Radiação Ultravioleta EEPROM (Electrically Eraseble ROM): Eletricamente A memória é dividida em camadas: LOB 1044 Computação Aplicada à Engenharia 14/34 A memória do computador A memória é dividida em camadas: MEMÓRIA AUXILIAR Armazenam os dados que não cabem na memória principal. Podem reter grande quantidade de dados GB, TB (Terabytes) Os dados não são perdidos quando o computador é desligado. Tempo de acesso lento: ms (milissegundos) LOB 1044 Computação Aplicada à Engenharia 15/34 A memória do computador MEMÓRIA AUXILIAR Hard Disk, Disquetes, Pendrive, CD-ROM, erasable CD (CDRW), SSD, DVD, Blu-ray Os dados e programas devem primeiro ser transferidos para a memória principal antes de serem processados. A memória é dividida em camadas: LOB 1044 Computação Aplicada à Engenharia 16/34 A memória do computador UNIDADES DE MEDIDA • kbyte = 1024 bytes • kilobyte (kbyte ou kB) ~= 103 bytes • megabyte (Mbyte ou MB) ~= 106 bytes • gigabyte (Gbyte ou GB) ~= 109 bytes • terabyte (Tbyte ou TB) ~= 1012 bytes LOB 1044 Computação Aplicada à Engenharia 17/34 Unidades de Entrada e Saída UNIDADES FUNCIONAIS BÁSICAS UNIDADE DE SAÍDA UNIDADE DE ENTRADA MEMÓRIA MEMÓRIA PRINCIPAL MEMÓRIA AUXILIAR CPU UNIDADE DE CONTROLE UNIDADE LÓGICA E ARITMÉTICA LOB 1044 Computação Aplicada à Engenharia 18/34 Unidade Central de Processamento UNIDADES FUNCIONAIS BÁSICAS UNIDADE DE SAÍDA UNIDADE DE ENTRADA MEMÓRIA MEMÓRIA PRINCIPAL MEMÓRIA AUXILIAR CPU UNIDADE DE CONTROLE UNIDADE LÓGICA E ARITMÉTICA LOB 1044 Computação Aplicada à Engenharia 19/34 Unidade Central de Processamento A CPU é quem executa as instruções • Instrução: comando que define integralmente uma operação a ser executada • Programa: instruções ordenadas logicamente. A CPU tem 2 unidades: • UNIDADE DE CONTROLE: determina a execução e interpretação dos dados que estão sendo processados • UNIDADE LÓGICA E ARITMÉTICA: recebe os dados da memória para processá-los quando uma instrução aritmética ou lógica é executada LOB 1044 Computação Aplicada à Engenharia 20/34 Software O Software envolve um conjunto de: 1- INSTRUÇÕES que quando executadas produzem a função e o desempenho desejados 2- ESTRUTURAS DE DADOS que possibilitam que os programas manipulem adequadamente a informação 3- DOCUMENTOS que descrevem a operação e o uso dos programas LOB 1044 Computação Aplicada à Engenharia 21/34 Ciclo de vida do software O desenvolvimento do software compreende um conjunto de etapas citadas como CICLOS DE VIDA DE SOFTWARE Essas etapas envolvem Métodos, Ferramentas e Procedimentos para a construção e manutenção do software. O ciclo de vida de software contém 3 fases genéricas: DEFINIÇÃO, DESENVOLVIMENTO e MANUTENÇÃO LOB 1044 Computação Aplicada à Engenharia 22/34 Ciclo de vida do software DEFINIÇÃO DESENVOLVIMENTO MANUTENÇÃO O QUE COMO ALTERAÇÕES LOB 1044 Computação Aplicada à Engenharia 23/34 Etapas da Construção de Programas DEFINIÇÃO (o que) DESENVOLVIMENTO (como) Revisões e Documentação • Projetar a Solução (ALGORITMO) • Codificar a Solução (Programar em Linguagem de Computador) • Testar o Programa Definição do Problema LOB 1044Computação Aplicada à Engenharia 24/34 Linguagens de programação Tipos de linguagem: Linguagem de máquina; Linguagem de baixo nível (simbólica); Linguagem de alto nível LOB 1044 Computação Aplicada à Engenharia 25/34 Programação e Níveis de Linguagem MEMÓRIA CPU MEMÓRIA PRINCIPAL Programa Fonte escrito em Linguagem de Alto ou Baixo Nível Programa Fonte escrito em Linguagem de Máquina LOB 1044 Computação Aplicada à Engenharia 26/34 Programação e Níveis de Linguagem LINGUAGEM DE MÁQUINA - Uma CPU somente pode compreender instruções que sejam expressas em termos de sua LINGUAGEM DE MÁQUINA - Um programa escrito em linguagem de máquina consiste de uma série de números binários e é muito difícil de ser entendido pelas pessoas. LOB 1044 Computação Aplicada à Engenharia 27/34 Programação e Níveis de Linguagem LINGUAGEM DE BAIXO NÍVEL São linguagens de programação nas quais os programas são escritos em uma notação que está próxima da linguagem de máquina. Ex. Linguagem de montagem (Assembly) LOB 1044 Computação Aplicada à Engenharia 28/34 Programação e Níveis de Linguagem LINGUAGEM DE ALTO NÍVEL São linguagens de programação nas quais se pode escrever programas em uma notação próxima à maneira natural de expressar o problema que se deseja resolver Exemplo: RESULT = D-((A+B)/C) Aplicações Científicas : FORTRAN, ALGOL, BASIC, APL, LISP, PASCAL, ADA, C, PROLOG, PLI Aplicações Comerciais: COBOL, RPG, PLI LOB 1044 Computação Aplicada à Engenharia 29/34 Programação e Níveis de Linguagem Existem mais de 20 linguagens em uso atualmente Windows Applications: C#, Visual C++, Visual Basic.Net, DirectX API’s, HTML 5, Java Mac OS Applications: Objective C, X Code with Cocoa Framework, Java iPhone Apps: Objective C com Cocoa Framework Android Apps: Java e um pouco de C# Web Pages: HTML, CSS, Flash, JavaScript, Java, PHP, Perl, ASP.net TV’s & Electronics: Assembly e C# http://www.worldstart.com/why-are-there-different-programming-languages/ LOB 1044 Computação Aplicada à Engenharia 30/34 Programação e Níveis de Linguagem LOB 1044 Computação Aplicada à Engenharia 31/34 Tipos de linguagens de alto nível Compiladas: C, C++, FORTRAN, entre outras. Interpretadas: MATLAB, Python, JavaScript, entre outras LOB 1044 Computação Aplicada à Engenharia 32/34 Do Algoritmo ao Programa O algoritmo em linguagem humana deve ser codificado em uma linguagem de programação. Depois é gerado um programa em linguagem de máquina para que o computador possa entender as instruções fornecidas. Estágios: # include <stdio.h> main() { printf(“Hello World”); } Editor Compilador (Compiler) Programa-fonte: p1.c Programa-objeto (p1.o) 1010 0101 Bibliotecas Ligador (Linker) Programa-executável (p1.exe) Linguagens compiladas LOB 1044 Computação Aplicada à Engenharia 33/34 Do Algoritmo ao Programa Editor # include <stdio.h> main() { printf(“Hello World”); } Interpretador Resultado da execução Linguagens interpretadas No ambiente de desenvolvimento, o programa interpretador compila o programa-fonte, linha a linha. A sintaxe de cada comando é verificada e, se estiver correta, o comando é executado. Em tais linguagens, a execução de programa é, em média, dez vezes mais lenta que seu correspondente compilado LOB 1044 Computação Aplicada à Engenharia 34/34 Do Algoritmo ao Programa COMPILADOR: Programa utilizado pelo computador para traduzir os comandos simbólicos de uma linguagem de alto nível, para linguagem de máquina. INTERPRETADOR: Lê e executa uma declaração do programa por vez. Nenhuma fase intermediária de compila-ção é necessária. A execução do programa interpretado re-quer que o interpretador da linguagem esteja sendo executa-do no computador. LIGADOR: Programa utilizado pelo computador para traduzir os comandos simbólicos de uma linguagem de baixo nível , para linguagem de máquina. EDITOR: Ambiente onde os programas de computador podem ser escritos.
Compartilhar