DCC 001 Programação de Computadores 2o Semestre de 2011

Slides:



Advertisements
Apresentações semelhantes
PAUTA DA REUNIÃO 7:00 –Reunião com a equipe pedagógica da escola para ajustes necessários. 8:00 – Receber os pais e os alunos 8:15 – Abertura :Diretora.
Advertisements

Organização de Computadores I
INTRODUÇÃO A INFORMÁTICA
Lógica de Programação APRESENTAÇÃO DA DISCIPLINA Prof.° Paulo Tong Prof.° Paulo Universidade Estácio.
INTRODUÇÃO À CIÊNCIA DA COMPUTAÇÃO Prof. Diogo Souza.
Arquitetura e organização de computadores
Introdução à Programação uma Abordagem Funcional Programação I Prof.ª Claudia Boeres CT VII - Sala 32 Departamento de Informática Centro.
Entrada e Saída Introdução.
Disciplina:Tópicos Avançados de Sistemas de Informação
Ricardo Guerra Marroquim
Informática Industrial
Introdução à Informática
Sistemas Operacionais
Esquema básico do hardware
I – Informação Digital Escola Politécnica da USP MBA EPUSP em Gestão e Engenharia do Produto EP018 O Produto Internet e suas Aplicações Tecnologias de.
Componentes do Computador e noções de Arquitetura de Computadores
Professor Victor Sotero
Estrutura do computador

Arquitetura de Computadores
Lógica de Programação UNIDADE 1 – Introdução a) Computador
Sistemas Operacionais I
Revisão de Conceitos Básicos Hardware (Parte 1)
Sistemas Operacionais
Professor Felipe Monteiro Lima
Introdução à Programação
Tecnologias Especificas Informática
PROGRAMAÇÃO I UNIDADE 1.
Introdução à Informática
Introdução a Computação e Cálculo Numérico
INTRODUÇÃO À INFORMÁTICA
IB 1 Introdução à Computação Apresentação do curso Fonte: Prof: Joseana Macedo Fachine na01.ppt.
PCI- Introdução à Computação
INICIAÇÃO À INFORMÁTICA. O que são as Tecnologias de Informação ?... As Tecnologias de Informação dizem respeito a processos de tratamento, controlo e.
Introdução a Linguagens de Programação
Bem vindos as aulas de informática
Sistemas Operacionais I
Campus de Caraguatatuba Aula 8: Noções Básicas sobre Erros (2)
Moodle Manual de Utilização Plataforma de Ensino a Distância
Entrada e Saída (E/S ou I/O)
Organização e Arquitetura de Computadores
Agenda - Aula 2 Introdução (Computador Digital) Processadores
Processamento de dados na UCP e memória UCP
O que são, para que servem e onde podem ser utilizadas?
Informática Aplicada Conceitos de Hardware e Software

POLIMIG Curso Técnico em Informática Disciplina: Hardware
SISTEMAS OPERACIONAIS I
Organização de Computadores
© 2004 by Pearson Education Computadores: Ferramentas para a Era da Informação Tema 0 PARTE A.
SISTEMAS OPERACIONAIS I Gerenciamento de Arquivos
Fundamentos de Arquitetura da Computação
DCC 001 Programação de Computadores
DCC 001 Programação de Computadores
Introdução à INFORMÁTICA
Montagem e Manutenção de Computador I Curso Técnico em Rede de Computadores Aula 05.
Conceitos Básicos de Informática
Entrada e Saída (E/S).
Fundamentos de Sistemas Operacionais
Professor Esp. Diego André Sant’Ana Disciplina: Sistemas Operacionais II Sistemas de Arquivos- Tipo de arquivos – Cap
CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA ENGENHARIA DE AUTOMAÇÃO INDUSTRIAL DISCIPLINA PROGRAMAÇÃO COMPUTACIONAL I Prof. Marcelo Maciel de Souza
Computação Eletrônica 2
Introdução à Informática
Projeto Operador de Computador
Sistemas Operacionais
Funcionamento interno do computador
Introdução à Computação
Sistemas Operacionais IV – Gerenciamento de E/S
Diagrama em blocos: Hardware de Computadores
Princípios Básicos de Utilização do Computador
Transcrição da apresentação:

DCC 001 Programação de Computadores 2o Semestre de 2011 Aula Expositiva 1 1. Introdução 1.1 Computadores 1.2 Informação Analógica e Informação Digital ** 1.3 Computadores e Informação 1.4 Conversões análogo-digital e vice-versa ** 1.5 Dispositivos de entrada e saída ** 1.6 Memórias ** 1.7 Organização da Disciplina Regras e Recomendações DCC 001 Programação de Computadores 2o Semestre de 2011 Prof. Osvaldo Carvalho UFMG DCC001 2011-2

COMPUTADORES UFMG DCC001 2011-2

IBM PC (1981) http://en.wikipedia.org/wiki/Personal_computer UFMG DCC001 2011-2

Computadores UFMG DCC001 2011-2

BlueGene (2006) 478 teraflops (trilhões de operações aritméticas p/s) É chamado de supercomputador por figurar entre os mais poderosos de sua geração O computador mais potente da atualidade é o RoadRunner, também produzido pela IBM, que atingiu um petaflops, isto é, um quadrilhão de operações aritméticas por segundo. Como curiosidade, o RoadRunner utiliza chips usados na PlayStation 3 da Sony. UFMG DCC001 2011-2

Evolução Recente dos Supercomputadores 2006 – Blue Gene, 478 teraflops 2008 – Road Runner, da IBM, atingiu 1 petaflops – mil trilhões de operações aritméticas por segundo 2010 – Tianhe-1A, chinês, 2,6 petaflops 2011 – Sistema K, da Fujitsu, japonês, 8 petaflops UFMG DCC001 2011-2

Computabilidade e Máquina de Turing Todos os computadores têm a mesma potencialidade de transformação de informação, desde que disponham de armazenamento externo suficiente Essa capacidade computacional é a mesma da máquina de Turing (1937) Alan Turing (1912-1954) UFMG DCC001 2011-2

Computadores e Velocidade Se um computador demora 2 dias para calcular a previsão de tempo para amanhã, a informação produzida não tem valor algum Se cálculos de projetos de aviões são feitos rapidamente, o ganho competitivo compensa o investimento UFMG DCC001 2011-2

Harvard Mark I (1944) 3 adições ou subtrações por segundo, mas era mais “super” que o Computador K é! http://www.diycalculator.com/popup-h-elecmechcomp.shtml UFMG DCC001 2011-2

Distribuição por países dos computadores na lista Top500 UFMG DCC001 2011-2

MÓDULOS UFMG DCC001 2011-2

BlueGene e suas partes UFMG DCC001 2011-2

Processador Intel Core i7-980X Aqui a idéia é reparar na modularidade. 1,17 bilhões de transistores em quadrado de 1,6 cm! UFMG DCC001 2011-2

A Internet Azul: América do Norte Verde: Europa, Oriente Médio, Ásia Central, África Amarelo: América Latina … http://www.opte.org/maps/ Fonte: http://www.opte.org/maps/ . A imagem ilustra a complexidade do sistema – lembra uma galáxia, não? E funciona! Por trás do funcionamento está a divisão em módulos que seguem um padrão de encaixe, o protocolo TCP/IP. UFMG DCC001 2011-2

Módulos Processadores, Computadores, Super-Computadores e a Internet usam módulos, sub-módulos, sub-sub-módulos, … Módulos são fundamentais para o domínio de sistemas complexos Estão em todas as partes da computação Graças à modularização, a computação está mudando o mundo. UFMG DCC001 2011-2

INFORMAÇÃO UFMG DCC001 2011-2

Informação Difícil definição: algo em um objeto que diz alguma coisa sobre outro objeto ou grandeza Um filme fotográfico revelado tem informação sobre uma cena fotografada Um arquivo JPEG (formato comum para imagens digitais) também tem UFMG DCC001 2011-2

Informação Digital e Analógica UFMG DCC001 2011-2

Informação Analógica Um negativo tem informação analógica sobre a luz emitida por objetos na cena fotografada UFMG DCC001 2011-2

Informação Analógica Um termômetro tem informação sobre a temperatura de outros corpos ou ambientes Ponto de ebulição da água Corpo humano Ponto de fusão do gelo UFMG DCC001 2011-2

Informação Simbólica ou Digital O uso de uma escala permite transformar informação analógica em informação simbólica (ou digital) Ponto de ebulição da água Corpo humano Ponto de fusão do gelo UFMG DCC001 2011-2

Informação Simbólica requer Convenção de Interpretação Qual posição da coluna de mercúrio corresponde ao símbolo 50? É preciso explicitar a escala, Celsius, Farenheit ou outra Ponto de ebulição da água 50 Corpo humano 50 Ponto de fusão do gelo UFMG DCC001 2011-2

Símbolos podem Representar Quantidade 1 I 2 II 10 3 III 11 4 IV 100 5 V 101 6 VI 110 7 VII 111 UFMG DCC001 2011-2

COMPUTADORES E INFORMAÇÃO UFMG DCC001 2011-2

Componentes de um Computador Processador transforma informação exclusivamente simbólica executando instruções de um programa Memórias armazenam informação binária Dispositivos de entrada (sensores) transportam dados para memória de um computador: Teclado, mouse, câmera digital, unidade de disco… Dispositivos de saída (atuadores) transportam dados de memória de um computador: Monitor, impressora, fone de ouvido, unidade de disco… UFMG DCC001 2011-2

Processadores usam somente dois símbolos Bits Processadores usam somente dois símbolos Um bit é a unidade básica de informação que contém um destes dois símbolos, comumente denotados 0, 1 UFMG DCC001 2011-2

Bits e Informação 1 bit, 21 = 2 valores (0, 1) 2 bits, 22 = 4 valores (00, 01, 10, 11) 3 bits, 23 = 8 valores (000, 001, 010, 011, 100, …) 8 bits, 28 = 256 valores (pode-se representar todos os caracteres mais comuns: ASCII) 32 bits, 232 = ... valores (Unicode: código usado atualmente para representação de caracteres) UFMG DCC001 2011-2

Prove: (a^b)^c = a^(b*c) note:((a^b)^c) ≠ (a^(b^c)) Prefixos Binários 10 ≈ 23.335; logo 10n ≈ 2(n*3.335) ,2n ≈ 10(n/3.335) Prove: (a^b)^c = a^(b*c) note:((a^b)^c) ≠ (a^(b^c)) UFMG DCC001 2011-2

Porque só usar 2 símbolos? Uso de 2 símbolos não limita capacidade de representação, mas porque só 2? Porque não 10, mais familiar? Confiabilidade: distinção (entre dois níveis, de voltagem ou amperagem) mais confiável UFMG DCC001 2011-2

Bits e seu Processamento Bits são representados por voltagens ou correntes em circuitos, ou por comprimento de ondas óticas, ou por campos magnéticos, ou... Existem circuitos que realizam transformações sobre bits ou conjuntos de bits, circuitos que armazenam bits, e circuitos que transmitem bits UFMG DCC001 2011-2

CONVERSÕES A/D E D/A UFMG DCC001 2011-2

Conversões AD e DA Existem dispositivos para conversões A/D e D/A Perdas ocorrem em cada conversão Dispositivos com melhor qualidade são mais caros UFMG DCC001 2011-2

Qualidade de Conversão A/D Sinal Analógico Original http://www.vias.org/simulations/simusoft_adconversion.html UFMG DCC001 2011-2

Qualidade de Conversão 8 bits, f = 41,67 MHz Sinal reconstruído a partir da informação digital, sem interpolação UFMG DCC001 2011-2

Qualidade de Conversão A/D 8 bits, f = 200 MHz UFMG DCC001 2011-2

Qualidade de Conversão A/D 8 bits, f = 6,17 MHz UFMG DCC001 2011-2

Qualidade de Conversão A/D 2 bits, f = 200 MHz UFMG DCC001 2011-2

Qualidade de Conversão A/D 1 bit, f = 200 MHz UFMG DCC001 2011-2

Conversões A/D e D/A A conversão não é perfeita mas, de maneira geral, pode ser tão boa quanto se necessite Limites fisiológicos da percepção humana são frequentemente explorados (MP3 é um exemplo) UFMG DCC001 2011-2

SENSORES E ATUADORES UFMG DCC001 2011-2

Sensores e Atuadores Comuns UFMG DCC001 2011-2

Barbara Blackburn Recordista mundial de digitação Velocidade sustentada de ~15 toques por segundo Picos de 20 toques por segundo! Com 8 bits por tecla, 160 bps (bits por segundo) Usava teclado Dvorak http://www.extremespin.com/dvorak/dvorakint/spng96-1.htm UFMG DCC001 2011-2

Teclado Dvorak Produto de estudos de ergonomia Exemplo de conservadorismo que ocorre em computação: é difícil mudar costumes UFMG DCC001 2011-2

Câmeras Digitais Uma camcorder de alta definição produz 24Mbps (24 milhões de bits por segundo), 150.000 vezes a taxa record de digitação UFMG DCC001 2011-2

Rádio-Telescópios UFMG DCC001 2011-2

Acelerador de Partículas UFMG DCC001 2011-2

Equivalente a 7.000.000 recordistas digitando simultaneamente! Velocidades 1 Rádio-Telescópio ou um Acelerador de Partículas produzem informação a taxas de ~1Gbps Equivalente a 7.000.000 recordistas digitando simultaneamente! UFMG DCC001 2011-2

Braço Mecânico http://www10.informatik.uni-erlangen.de/~klaus/theses/pe_joints.shtml UFMG DCC001 2011-2

Redes de Computadores UFMG DCC001 2011-2

MEMÓRIAS UFMG DCC001 2011-2

Computadores trabalham com diversos tipos de memória Memórias Memórias são usadas para registrar informações para recuperação posterior Computadores trabalham com diversos tipos de memória Memórias são organizadas em uma distribuição hierárquica UFMG DCC001 2011-2

Memórias pequenas e muito rápidas Registradores Memórias pequenas e muito rápidas Ficam no mesmo chip do processador – aliás, são parte do processador Têm entradas e saídas ligadas diretamente a circuitos que transformam informação, como unidades aritméticas UFMG DCC001 2011-2

Memória Principal - 1 Também chamadas de RAM (Random Access Memory) São circuitos externos ao processador, mas muito rápidos Instruções executadas pelo processador endereçam diretamente operandos armazenados na memória principal Transformações como operações aritméticas exigem que os operandos sejam transferidos da memória para registradores, onde as transformações são realizadas UFMG DCC001 2011-2

Memória Principal – 2 Na tecnologia atual as memórias principais são voláteis, isto é, a informação registrada é perdida ao desligar o computador A volatilidade não é uma necessidade, mas uma característica tolerável, pois o armazenamento de longo prazo é feito com memórias secundárias UFMG DCC001 2011-2

Memórias Secundárias Tipicamente são discos magnéticos, onde informações podem ser lidas e escritas O processador deve entretanto executar instruções especiais de entrada e saída para essas operações de leitura/escrita A informação é sempre formatada em arquivos e diretórios - uma abstração essencial para o seu uso, provida pelo sistema operacional Memórias secundárias são necessariamente não-voláteis UFMG DCC001 2011-2

São necessárias em ambientes com grande volume de dados Memórias Terciárias São necessárias em ambientes com grande volume de dados Geralmente utilizam fitas magnéticas, com um robô capaz de localizar a fita correta em um repositório e montá-la em uma unidade de fita ligada ao computador UFMG DCC001 2011-2

Memórias Desconectadas Também conhecidas como armazenamento fora de linha Necessitam de intervenção humana para re-conexão a um computador Usadas para backup, para transferência de informação Essenciais para recuperação de desastres UFMG DCC001 2011-2

Memória RAM 1GB de RAM montado em um PC UFMG DCC001 2011-2

Memória RAM em 1964 Placa de memória de núcleos do supercomputador CDC 6600 10x10 cm 64 palavras de 64 bits UFMG DCC001 2011-2

Disco Rígido http://en.wikipedia.org/wiki/Hard_disk UFMG DCC001 2011-2

Fita Magnética UFMG DCC001 2011-2

Biblioteca de Fitas UFMG DCC001 2011-2

Codificação em Meio Magnético http://en.wikipedia.org/wiki/Hard_disk http://en.wikipedia.org/wiki/Hard_disk UFMG DCC001 2011-2

A DISCIPLINA UFMG DCC001 2011-2

Objetivos Introduzir noções básicas de circuitos digitais, organização de computadores, representação de dados e programação Apresentar ao aluno alguns princípios básicos da construção de algoritmos e de sua implementação em um ambiente de programação Tornar o aluno fluente no uso de uma ferramenta computacional, o Scilab, de vasta aplicação nas ciências e engenharias UFMG DCC001 2011-2

Parte I Parte II Parte III Organização de Computadores Conteúdo Parte I Organização de Computadores Parte II Ambiente e Linguagem Scilab Parte III Algoritmos UFMG DCC001 2011-2

Organização de Computadores Objetivos Dar ao aluno uma compreensão básica do funcionamento interno de um computador Introduzir o conceito de programa armazenado UFMG DCC001 2011-2

Organização de Computadores Tópicos - 2 Informação digital em computadores: bits Códigos: convenções para interpretação de bits Circuitos digitais combinatórios Não têm memória Saída é função da entrada corrente Circuitos digitais sequenciais Têm memória Saída é função da entrada corrente e dos valores armazenados na memória UFMG DCC001 2011-2

Circuito combinatório para Soma UFMG DCC001 2011-2

Organização de Computadores Tópicos - 3 Circuitos para temporização Processadores Linguagem Assembler UFMG DCC001 2011-2

Linguagem e Ambiente Scilab Objetivos Introdução de uma linguagem de alto nível, Scilab, que facilita imensamente a tarefa de programação de computadores através da oferta de comandos com formato muito mais próximo da forma como seres humanos raciocinam. Familiarização do aluno com o ambiente de desenvolvimento e de execução de programas fornecido pelo Scilab. UFMG DCC001 2011-2

Linguagem e Ambiente Scilab Tópicos Variáveis, expressões e comandos de atribuição Comandos condicionais e repetitivos Matrizes Arquivos Funções UFMG DCC001 2011-2

Exemplo: Ondas Marinhas O arquivo ondas1.txt contém dados obtidos em um laboratório que medem o nível do mar As medidas são tomadas 30 vezes por segundo; a amostra tem 4096 pontos Queremos obter um gráfico e saber os valores máximo e mínimo UFMG DCC001 2011-2

Programa da Onda Funções utilizadas // Programa da Onda exec("Minimo.sci"); exec("Maximo.sci"); arq = uigetfile(); Onda = fscanfMat(arq); plot2d(Onda); printf("Min = %5.2f, Max = %5.2f",... Minimo(Onda), Maximo(Onda)); Leitura do arquivo Geração do gráfico Saída UFMG DCC001 2011-2

As funções Maximo e Minimo UFMG DCC001 2011-2

Gráfico Onda do Mar UFMG DCC001 2011-2

Algoritmos Objetivos Estudo de aspectos da programação de computadores que não dependem da linguagem utilizada Conhecimento de algoritmos representativos, que servem como base e inspiração para a criação de programas UFMG DCC001 2011-2

Algoritmos e Programas Tópicos Especificação Correção Complexidade Ordenação Pesquisa Algoritmos numéricos Barreiras de complexidade UFMG DCC001 2011-2

Programas e Algoritmos Um algoritmo é uma sequência lógica de operações que pretende atingir um determinado objetivo Um programa é uma representação de um algoritmo, normalmente em uma linguagem de alto nível UFMG DCC001 2011-2

Vetores, Programa para Mínimo Queremos encontrar o menor valor em uma sequência (vetor) de números Que possa ser usado para, potencialmente, uma sequência muito grande de números Precisamos de um algoritmo, isto é, de um método. UFMG DCC001 2011-2

Um Algoritmo para Encontrar o Menor Valor em um conjunto É fácil encontrar o mínimo de um vetor com um único elemento – só pode ser este elemento! Para avançar, usamos indução. Conhecendo O mínimo entre A(1), ..., A(k) O valor de A(k+1) podemos determinar o mínimo entre A(1),...,A(k+1), que é o menor entre A(k+1) e o mínimo anterior! UFMG DCC001 2011-2

Encontrando o menor valor em um vetor UFMG DCC001 2011-2

FORMA DE TRABALHO UFMG DCC001 2011-2

Uso do simulador Logisim para circuitos digitais Metodologia Enfoque eminentemente prático, mas tocando em pontos fundamentais da Ciência da Computação Uso do simulador Logisim para circuitos digitais Uso do Scilab no restante do curso UFMG DCC001 2011-2

Equipe Professor Monitores Osvaldo osvaldo@dcc.ufmg.br 3409 5860 Sala 4018 (por favor marquem horários para atendimento) Monitores Harlley, Joel, Bruno, Fernando, Renato e Pedro UFMG DCC001 2011-2

Aulas Expositivas no Auditório 1 Aulas Práticas Horário e Locais Horário: 13:00 às 14:40, ou 14:55 às 16:35 Aulas Expositivas no Auditório 1 Aulas Práticas Salas 1009, 1010, 2011 e 2012 A distribuição de alunos em cada sala será colocada no site UFMG DCC001 2011-2

O Site da Disciplina - 1 Uso intenso para Submeter práticas e provas, e ver resultados Download de materiais (aulas, programas, …) Anúncios importantes Encontrar links para sites de interesse da disciplina Discussões e troca de informações com o professor, colegas e monitores UFMG DCC001 2011-2

http://minha.ufmg.br O Site da Disciplina - 2 2011-2 - PROGRAMACAO DE COMPUTADORES - METATURMA Para participar do curso, todo aluno deve ter login e senha registrados no minha UFMG ter solicitado correio eletrônico. UFMG DCC001 2011-2

Suporte do LCC Alunos que tiverem problemas com login e senha, ou que não vejam o link do curso no site minha.ufmg devem procurar o LCC – hoje! atrás da cantina 3409 4916 suporte@lcc.ufmg.br Na quarta-feira, depois de amanhã, todos já terão necessidade de ter login e senha operacionais UFMG DCC001 2011-2

Avaliação - 1 UFMG DCC001 2011-2

Não damos nem 1 ponto, nem meio! Avaliação - 2 Não damos nem 1 ponto, nem meio! Se você fizer 59,4 pontos, terá que fazer exame especial Se fizer 89,4 pontos, terá conceito B Se dermos 0,5 pontos, por exemplo, aqueles que estiverem a 0,6 pontos de seu objetivo irão me dizer só precisam de 0,1 pontos, e por aí vai. UFMG DCC001 2011-2

Avaliações Semanais São feitas por 1 ou 2 alunos, mas entregues individualmente São publicadas no site até a aula prática de quarta, e devem ser entregues até as 23:00 do domingo seguinte. A consulta a livros, sites da web e a colegas é permitida e estimulada, mas… Se questionado pelo professor, o aluno deverá demonstrar que a prática entregue não resultou simplesmente de “copiar e colar” UFMG DCC001 2011-2

As provas são individuais, feitas online, nos laboratórios Feitas em 2 turnos de 45 minutos cada; a distribuição de salas e horários será colocada no site Os alunos devem obrigatoriamente fazer as provas nos locais e horários designados UFMG DCC001 2011-2

Regras para Provas Todo aluno deve deixar um documento de identidade com foto visível sobre sua mesa durante todo a prova. O único site que pode ser acessado é o do curso Dois acessos às provas de um único aluno, feitos em computadores distintos, levam à sua anulação Colas antigas e modernas são rigorosamente punidas pela Comissão Disciplinar do ICEx Avaliações já corrigidas ficam disponíveis no site, exceto nos horários de prova UFMG DCC001 2011-2

Referência básica: site do curso, com Bibliografia Referência básica: site do curso, com Apresentações Apostila Exercícios UFMG DCC001 2011-2

Resultados 2010-2 (sem Exame Especial) UFMG DCC001 2011-2

Recomendações: Tempo de Estudo 4 horas de estudo por semana (além das aulas) 3 horas individuais 1 hora em grupo: aprenda e ensine com seus colegas UFMG DCC001 2011-2

Recomendações - Inglês Um mínimo de inglês é imprescindível em computação; Os que têm deficiências devem fazer esforços extras para superá-las (o que dará um retorno em toda a vida estudantil e profissional) UFMG DCC001 2011-2

Recomendações - Proficiência em Informática O curso espera que os alunos saibam usar um computador, editores de texto, navegar na Web, usar email, e que tenham uma noção operacional de arquivos e diretórios no Windows Alunos com dificuldades nesta área podem e devem procurar o professor ou os monitores; nós encontraremos uma forma de ajudá-los UFMG DCC001 2011-2