Computação e Programação MEMec - LEAN

Documentos relacionados
Computação e Programação

Computação e Programação. MEMec - LEAN 1º Semestre

Introdução à Computação MAC0110

Introdução à Computação para Engenharia MAC2166 Prof. Dr. Paulo Miranda IME-USP. Aula 1 Introdução à Computação

Computadores podem ser úteis em problemas que envolvem: Grande número de dados. Grande número de cálculos. Complexidade. Precisão.

Introdução à Computação MAC0110

Informática Aplicada. Introdução

Programação. Module Introduction. Cap. 1 Fundamentos de Computadores

Informática I. Aula 2. Aula 2-04/09/2006 1

Organização de Computadores I

Informática I. Aula 2. Ementa

Informática I. Aula /09/2006 1

1. Conceitos Básicos de Computação

Computação L. Apresentação da Disciplina e Conceitos Básicos de Computadores

Introdução à Computação

Introdução à Computação

Projecto e Desenvolvimento de Programas

Computação e Programação

Estrutura dos Computadores. Arquitetura de Computadores

Hardware. Computador. Computador. Computador. Evolução dos Computadores. Laboratório de Utilização de Microcomputadores (DCA0302) Aula 01

Aula 2 - Programação de Computadores - CI208 1/21

INTRODUÇÃO. Introdução a Informática. Vinícius Pádua

Capítulo 2 Livro do Mário Monteiro Componentes Representação das informações. Medidas de desempenho


SCC-120 INTRODUÇÃO À CIÊNCIA DA COMPUTAÇÃO

Uma visão geral sobre computadores e Internet

LISTA DE EXERCÍCIOS 01 INTRODUÇÃO À INFORMÁTICA

SSC304 Introdução à Programação Para Engenharias

Introdução ao Hardware Informática Básica e Aplicada PROFESSOR: DANIEL BRANDÃO

Arquitetura de Um Computador

Instalação e Manutenção de Computadores Sandra Silva

Prof. Sandro Wambier

Aula 1: Introdução à Organização de Computadores

14/3/2016. Prof. Evandro L. L. Rodrigues

Introdução à Informática Engenharia Agrícola

Memória. Arquitetura de Von Neumann. Universidade do Vale do Rio dos Sinos Laboratório I Prof.ª Vera Alves 1 CPU. Unidade de controle ULA

Programação de Computadores I

INTRODUÇÃO AOS SISTEMAS LÓGICOS INTRODUÇÃO

SEL-433 APLICAÇÕES DE MICROPROCESSADORES I

Os computadores ditigais podem ser classificados em 5 grupos distintos:

CES-10 Introdução à Computação. Prof. Paulo André IEC - ITA

Informática básica. Professor: Francisco Ary

Introdução à Programação. Apresentação da Disciplina e Conceitos Básicos de Computadores

TÉCNICO EM MANUTENÇÃO E SUPORTE EM INFORMÁTICA FORMA SUBSEQUENTE. Professora: Isabela C. Damke

Máquinas Multiníveis Aula 04. Prof. Jadir Eduardo Souza Lucas Universidade Federal do Espírito Santo Departamento de Informática

UNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular INFORMÁTICA Ano Lectivo 2017/2018

Informática básica. Professor: Francisco Ary

Estrutura do tema ISC

AGT0001 Algoritmos Aula 01 O Computador

Computação e Programação

Sistema de memória e suas características

Projeto de Algoritmos

Arquitetura de Computadores

2. Conceitos Básicos. Introdução à Ciência da Computação.

INFORMÁTICA: Informação automática

a) Computador b) Estrutura do sistema i. Hardware ii.software c) Linguagens de Programação i. Paradigmas e Programação 1.

Linguagens de Programação Classificação

Fundamentos de Sistemas Operacionais

Organização de um computador. O que é um computador Organização de um computador Arquitectura de von Neumann

Informática I. Aula 1. Objetivo da disciplina

Introdução ao Fortran 90

GFM015 Introdução à Computação. Plano de Curso e Introdução. Ilmério Reis da Silva UFU/FACOM

André Aziz Francielle Santos

Programação e Algoritmos I 1 o semestre

Introdução à Informática

Programação I Aula 1 Apresentação

Nome: N.º Ano: Turma: Turno: Responde às seguintes questões 1. Qual o primeiro nome do computador à base de transístores?

Componentes de um Computador Típico

MC-102 Aula 01. Instituto de Computação Unicamp

Unidade I. Organização de Computadores. Prof. Renato Lellis

Sistemas Operacionais

Lista de Exercícios sobre Conceitos de Informática. Exercício 1: Correspondência

Sistema numérico decimal

Introdução à Informática

Introdução à Programação de Computadores Fabricação Mecânica

Puca Huachi Vaz Penna

Engenharia Civil. Conceitos Básicos. Introdução à Computação

Unesp. Introdução à Ciência da Computação. Introdução à Programação em C. Prof. Dr. G. J. de Sena CAMPUS DE GUARATINGUETÁ FACULDADE DE ENGENHARIA

Introdução à Informática

Aula 1: Introdução 3/3/2015

Introdução Computador Hardware Histórico e Evolução Linguagem de Programação Princípios Básicos

DECivil Departamento de Engenharia Civil, Arquitectura e Georrecursos. Apresentação. Computação e Programação (CP) 2013/2014.

Introdução à Programação

Introdução a Computação

Informática básica. Professor: Francisco Ary

Organização de Computadores I

Lista de Exercícios sobre Conceitos de Informática. Exercício 1: Correspondência

Aula Breve História dos Computadores - Informatiquês - O Computador - Software vs. Hardware. Introdução à Engenharia da Computação

Objetivo. Introdução à Informática. Estrutura. Apresentar conceitos gerais utilizados em informática.

AJProença, Sistemas de Computação, UMinho, 2017/18 1

Informática básica. Professor: Francisco Ary

Introdução à Programação Aula 02. Prof. Max Santana Rolemberg Farias Colegiado de Engenharia de Computação

Universidade de Brasília Histórico e Introdução

Histórico e Introdução

Apresentação. Informação geral + Conceitos iniciais

i TIC 7/8 Funcionamento de um computador Informação 7 Unidade 1 A informação, o conhecimento e o mundo das tecnologias

Fat-Uerj: Introdução à computação

Estrutura e Funcionamento dos Computadores (Conceitos Básicos)

Transcrição:

Computação e Programação MEMec - LEAN 2009-2010 Docentes: Miguel Pedro Silva - Responsável José Borges João Reis Instituto Superior Técnico, Dep. de Engenharia Mecânica - ACCAII

Programa 1. Introdução à Computação; 2. Introdução ao ambiente MATLAB; 3. Introdução ao MATLAB: tipos de dados, operações e expressões; 4. Etapas básicas do desenvolvimento de programas. Algoritmos; 5. Instruções de entrada/saída para o monitor; 6. Instruções de selecção; Miguel Pedro Silva José Borges Computação e Programação 2009 / 2010 2

Programa 7. Instruções de repetição; 8. Desenvolvimento de funções. Tópicos avançados sobre funções; 9. Interface gráficas para utilizadores (GUIs); 10. Cadeias de caracteres (strings) e conversão entre tipo de dados; 11. Tipos de dados estruturados: células e estruturas; 12. Leitura e escrita de ficheiros; 13. Algoritmos de procura e ordenação; Miguel Pedro Silva José Borges Computação e Programação 2009 / 2010 3

Bibliografia Bibliografia Principal: Stormy Attaway, MATLAB: A Practical Introduction to Programming and Problem Solving, Elsevier, 2009. Miguel Pedro Silva e José Borges, Acetatos das aulas teóricas, 2009/10. Miguel Pedro Silva José Borges Computação e Programação 2009 / 2010 4

Bibliografia Bibliografia Secundária: Brian Hahn, Dan Valentine, Essential MATLAB for Engineers and Scientists, Elsevier, 2007. Stephen J. Chapman, MATLAB Programming for Engineers, Thomson, 2005. Miguel Pedro Silva José Borges Computação e Programação 2009 / 2010 5

Avaliação Avaliação de conhecimentos NOTA FINAL = ARREDONDAMENTO( 0.15x[1ºTrabalho] + 0.35x[2ºTrabalho] + 0.5x[MÁXIMO( ([0.5x[1ºTeste] + 0.5x[2ºTeste]] OU [1ºExame] ), [2ºExame] )]) NOTA IMPORTANTE: Trabalhos realizados em anos anteriores não serão considerados. Logo, todos os alunos inscritos terão de os realizar neste ano lectivo. Miguel Pedro Silva José Borges Computação e Programação 2009 / 2010 6

Avaliação Requisitos da Avaliação: A data do 2º Teste coincide com a do 1º Exame, logo o aluno terá que optar por uma das provas. [2ºTrabalho] >= 9,5 ( 0,15 * [1ºTrabalho] + 0,35 * [2ºTrabalho] ) / 0,5 >= 9,5 [1ºTeste] >= 7,5 ; [2ºTeste] >= 7,5 ( [1ºTeste] + [2ºTeste] ) / 2 >= 9,5 [1ºExame] >= 9,5 ; [2ºExame] >= 9,5 Miguel Pedro Silva José Borges Computação e Programação 2009 / 2010 7

Informação geral Corpo docente Miguel Pedro Silva Docente responsável (mps@ist.utl.pt) José Borges (jborges@ist.utl.pt) João Reis (reis@dem.ist.utl.pt) Datas de avaliação: Entrega de enunciados aos alunos / entrega dos trabalhos: 1º Trabalho: 19/Out. >> 6/Nov. 2º Trabalho: 30/Nov. >> 6/Jan. 1º Teste: 11/Nov. 2º Teste: coincide com o 1º exame Exames: Entre 7/Jan. e 13/Fev. Miguel Pedro Silva José Borges Computação e Programação 2009 / 2010 8

Informação geral Software: MATLAB student edition Podem utilizar o Matlab do Lab. de LEMAC/LTI (Pav. Mec. II) (Devem fazer inscrição na secretaria do LEMAC/LTI) Também podem instalar o MATLAB no vosso PC (ver página do CIIST) Miguel Pedro Silva José Borges Computação e Programação 2009 / 2010 9

Informação geral Página Web: Página da disciplina no Fénix https://fenix.ist.utl.pt/disciplinas/cp2/2009-2010/1-semestre/pagina-inicial Miguel Pedro Silva José Borges Computação e Programação 2009 / 2010 10

Introdução à Computação Primeiros computadores Máquina Analítica, Charles Babbage, 1822 Ada Augusta (primeira programadora), 1842 Máq. de cartões perfurados, censo nos EUA, Herman Holleritm, fundador IBM, 1890 Miguel Pedro Silva José Borges Computação e Programação 2009 / 2010 11

Computadores da 1ª Geração Computadores de válvulas,1945-1956 ENIAC, 1943-1946 Conceito de programa de computador, John Von Neumann, 1945 Primeiro erro bug num computador, 1945 Miguel Pedro Silva José Borges Computação e Programação 2009 / 2010 12

Computadores da 2ª Geração Utilizam transistores 1956-1963 Linguagem FORTRAN 1957 Computador IBM 7090 1958 Linguagem LISP Linguagem COBOL 1960 Linguagem ALGOL 60 Miguel Pedro Silva José Borges Computação e Programação 2009 / 2010 13

Computadores da 3ª Geração Circuitos integrados e chips, 1964-1971 Computador IBM System/360, 1964 Comptador PDP-8 (Digital), 1965 Douglas Englebart desenvolve applicações userfriendly, 1968 Linguagem Pascal, 1968 Ken Thompson introduz UNIX, 1968 ARPANET Início da Internet, 1969 Miguel Pedro Silva José Borges Computação e Programação 2009 / 2010 14

Computadores da 4ª Geração Intel 4004 Chip (VLSI),1971 Dennis Richie: C, Ethernet, 1973 Altair, BASIC, Apple I, 1974 Apple II, Cray 1, Apple, Microsoft, 1976 IBM PC, 1981 Bjarne Stroustrup: C++, TCP/IP, 1983 Macintosh, 1984 Windows, 1985 Intel 386, 1986 Linux, 1992 Miguel Pedro Silva José Borges Computação e Programação 2009 / 2010 15

Computadores da 4ª Geração Chips Pentium, MOSAIC, Apple Newton, 1993 Netscape Navigator 1.0, Yahoo!, 1994 James Gosling: JAVA, Windows 95, Internet Explorer, 1995 Windows 98, IMAC (Apple) Windows 2000, 1 GHZ processors, 2000 Windows XP, Mac OS X, 2001 Windows Vista, 2007 5ª geração - Processamento paralelo Miguel Pedro Silva José Borges Computação e Programação 2009 / 2010 16

Sistemas de Computação Os computadors têm dois tipo de componentes: Hardware componentes fisicos,tais como CPU Memória Dispositivos de armazenamento (discos, etc.) Software programas, tais como Sistema Operativo Aplicações Utilitários, jogos, etc. Miguel Pedro Silva José Borges Computação e Programação 2009 / 2010 17

Computador Composto por vários componentes com funções diferentes a trabalhar para um objectivo comum. Componentes principais CPU Central Processing Unit; contém Unidade de controlo e ALU (Arithmetic and Logic Unit) Memórias registos, RAM, ROM, memória virtual Memória externa discos rígidos, disquettes Outros periféricos Input/Output: terminais, monitores, scanners, impressoras, rato, etc. Miguel Pedro Silva José Borges Computação e Programação 2009 / 2010 18

Computador Miguel Pedro Silva José Borges Computação e Programação 2009 / 2010 19

A arquitectura de uma máquina de von Neumann Miguel Pedro Silva José Borges Computação e Programação 2009 / 2010 20

Arquitectura de PC simples Miguel Pedro Silva José Borges Computação e Programação 2009 / 2010 21

Os vários buses num PC típico Miguel Pedro Silva José Borges Computação e Programação 2009 / 2010 22

Funcionamento do Hardware cache CPU Memória principal Memória secundária Bus Armazenamento de programas Em memórias de longa duração (memória secundária). Copiado para a memória principal para correr. O CPU recebe o programa da memória principal e executa as suas instruções. Miguel Pedro Silva José Borges Computação e Programação 2009 / 2010 23

A troca de informação entre o CPU e a memória (e entre esta e os outros dispositivos) Miguel Pedro Silva José Borges Computação e Programação 2009 / 2010 24

A execução na ALU numa máquina de von Neumann Miguel Pedro Silva José Borges Computação e Programação 2009 / 2010 25

Comparação em termos de armazenamento das várias memórias Miguel Pedro Silva José Borges Computação e Programação 2009 / 2010 26

Uma porção da pista de um disco rígido (2 sectores) Miguel Pedro Silva José Borges Computação e Programação 2009 / 2010 27

Um disco rígido Miguel Pedro Silva José Borges Computação e Programação 2009 / 2010 28

O armazenamento de dados num CD-ROM Miguel Pedro Silva José Borges Computação e Programação 2009 / 2010 29

Sistema Operativo Cache CPU OS RAM Disco Bus Sistema Operativo Carregado da memória secundária para a memória principal quando o computador é ligado. Mantém-se em memória até o computador ser desligado. Miguel Pedro Silva José Borges Computação e Programação 2009 / 2010 30

Software: Sistema Operativo O sistema operativo é o gestor do sistema Garante que todos os dispositivos de hardware interagem de forma correcta uns com os outros. Fornece uma interface Permite que o utilizador interactue com o computador, Espera por instruções quando nenhuma aplicação está a correr. Exemplos: MacOS, WindowsXP, WindowsVista, UNIX, Linux, Solaris,... Miguel Pedro Silva José Borges Computação e Programação 2009 / 2010 31

Software: Aplicações Applicações são todos os outros programas Desempenham alguma tarefa útil Incluem processadores de texto, folhas de cálculo, bases de dados, web browsers, compiladores de C++ Exemplos de ambientes/compiladores de C++ : Visual C++ (WindowsXP) CodeWarrior (MacOS, WindowsXP, Solaris) GNU C++ (UNIX, Linux) Turbo/Borland C++ (WindowsXP) Miguel Pedro Silva José Borges Computação e Programação 2009 / 2010 32

O que é a Programação? Programa de computador Sequência de instruções que indicam ao computador como resolver um dado problema. Programação O acto de projectar, escrever e manter um programa. Programadores Pessoas que escrevem programas. Miguel Pedro Silva José Borges Computação e Programação 2009 / 2010 33

Linguagem de programação Que tipo de instruções é que o computador percebe? O computador só percebe instruções em linguagem máquina. Características da linguagem máquina Uma sequência de uns e zeros. Faz com que o computador execute uma dada acção, tal como adicionar, subtrair ou multiplicar. Miguel Pedro Silva José Borges Computação e Programação 2009 / 2010 34

Linguagem máquina Instruções em linguagem máquina Guardadas na memória do computador Memória do computador é uma sequência de interruptores. se está ligado ( on ) é representado por 1, se está desligado ( off ) é representado por 0. Linguagem máquina é binária (base 2): 0010111010110101 Miguel Pedro Silva José Borges Computação e Programação 2009 / 2010 35

Organização da memória Sistema binário - 0,1 bits (binary digits) byte - conjunto de 8 bits. Medida da memória em bytes. 1K = 2 10 =1024 bytes. 1 megabyte = 1024 K = 1048576 bytes. word - conjunto de bytes igual ao usado nos registos do CPU. 16, 32, 64 bits address - endereço associado a cada word. Memória guarda instruções dos programas a serem executadas Miguel Pedro Silva José Borges Computação e Programação 2009 / 2010 36

Três formas de organizar uma memória de 96 bits Miguel Pedro Silva José Borges Computação e Programação 2009 / 2010 37

Primeiros computadores... requeriam que um programador escrevesse em linguagem máquina... Problema Muito fácil de fazer erros! Esses erros eram difíceis de encontrar! Não portáveis só corriam numa dada máquina! Programação era muito difícil! Miguel Pedro Silva José Borges Computação e Programação 2009 / 2010 38

Linguagem assembly Conjunto de abreviaturas (mnemónicas) correspondentes às instruções em linguagem máquina O assembler (um programa) traduz para linguagem máquina. ADD 34, R1 MOVE R1,1200 CMPR R1, R2 Assembler 1001110011 1001011010 0110110111 Instruções em linguagem Assembly (mnemónicas) Instruções em linguagem máquina Miguel Pedro Silva José Borges Computação e Programação 2009 / 2010 39

Linguagens de alto nível Nas linguagens de alto nível: As instruções estão muito perto da linguagem natural (if, while, do,...) O ambiente de programação permite traduzir o programa em linguagem máquina. O conjunto de instruções é chamada uma linguagem de alto nível. O programa de tradução para linguagem máquina é chamado um compilador. Miguel Pedro Silva José Borges Computação e Programação 2009 / 2010 40

Vantagens de linguagens de alto nível Programas são fáceis de ler Erros são fáceis de encontrar Programas são portáveis entre computadores Assumem que a linguagem é standard Os compiladores traduzem na linguagem máquina correcta Miguel Pedro Silva José Borges Computação e Programação 2009 / 2010 41

Objectivos da Programação Um programa deve resolver um problema: Correctamente Resolve de facto o problema Eficientemente De forma legível Sem desperdiçar tempo ou espaço Perceptível por outra pessoa De maneira user-friendly De forma a ser fácil de ser utilizado Miguel Pedro Silva José Borges Computação e Programação 2009 / 2010 42

Correr um programa Programas e aplicações que não estão a correr estão armazenados (gravados) no disco. Cache CPU SO RAM Disco Apl. Bus Miguel Pedro Silva José Borges Computação e Programação 2009 / 2010 43

Correr um programa Quando se corre um programa Sistema Operativo controla o CPU Carrega o programa do disco para a RAM. Cache CPU SO RAM Apl. Disco Apl. Bus Miguel Pedro Silva José Borges Computação e Programação 2009 / 2010 44

Correr um programa Sistema Operativo carrega o programa para o CPU Aplicação começa a correr. Cache CPU Apl. SO RAM Apl. Disco Apl. Bus Miguel Pedro Silva José Borges Computação e Programação 2009 / 2010 45

Ciclo de execução Sistema Operativo vai repetidamente buscar a próxima instrução (à memória ou à cache), Executa-a Grava os resultados em memória. Cache CPU Apl. SO RAM Apl. Disco Apl. Bus O computador só faz isto: recebe-executa-grava, milhões de vezes por segundo! Miguel Pedro Silva José Borges Computação e Programação 2009 / 2010 46