Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
Introdução à Ciência da Computação Departamento de Computação Universidade Federal de Sergipe Dicas para Resolver Problemas e Representação da Informação Prof. Kalil Araujo Bispo Junho/2013 Objetivo da Aula ● Apresentar dicas de como resolver problemas computacionais ● Introduzir a representação da informação no computador ● Introduzir a Arquitetura de Computadores de Von Neumann Como Resolver Problemas ● Maior dificuldade dos alunos – Abstrair e descrever soluções de problemas contando com pouca ou simples estruturas – Entender que um novo problema de computação pode ser gerado a partir de um já existente – Importante: não decorar soluções! ● Entender como se chegou a solução Como Resolver Problemas ● Entender o problema – O que se deve descobrir ou calcular? Qual o objetivo? – Quais os dados disponíveis? São suficientes? – Quais as condições necessárias e suficientes para revolver o problema? – Faça um esboço informal de como ligar os dados com as condições – Se possível, modele o problema de forma matemática Como Resolver Problemas ● Criar um plano de solução – Consulte sua memória: você já resolveu algum problema similar? É possível utilizar experiência obtida? – É necessário introduzir algum elemento novo, como um problema auxiliar? – Se o problema for complicado, tente quebrá-lo em partes ● Dividir para conquistar – É possível enxergar o problema de outra forma? Como Resolver Problemas ● Formalização da solução – Criar um algoritmo informal com passos que resolvam o problema – Verificar se cada passo esta correto – Escreva um algoritmo formalizado por meio de um fluxograma ou outra técnica de representação Como Resolver Problemas ● Exame dos resultados – Teste o algoritmo com diversos dados de entrada – Se o algoritmo não gerou resultado algum, o problema está na sua sintaxe e comandos utilizados – Se o algoritmo gerou resultados, eles estão corretos? – Se não estão corretos, alguma condição, operação ou ordem das operações está incorreta Como Resolver Problemas ● Otimização da solução – É possível melhorar o algoritmo? – É possível reduzir o número de passos ou dados? – É possível conseguir uma solução ótima? Representação da Informação ● Todos os dados são armazenados em forma binária no computador. Por que? ● Bit (Binary Digit) ● Byte ● Kilobyte, Megabyte, Gigabyte. Quanto vale cada um? ● Binário versus decimal ● Outras bases Caracteres e cadeia de caracteres ● Como são representados caracteres em um computador? ● Padrões ASCII, AECDIC, UNICODE, etc... Caracteres e cadeia de caracteres Imagens ● Subsistema de vídeo ● Padrão RGB ● Modo Texto ● Modo Gráfico Modo Texto ● Matriz de 80 colunas por 25 linhas ● Caracteres escritos em posições dessa matriz ● Cada caractere representado por uma matriz de pontos (pixels) ● Cada caractere possui dois atributos de cores: cor de fundo e cor de caractere Modo Texto Modo Gráfico ● Pixels individualmente acessados ● Tamanho da matriz depende da resolução – Ex: 800 x 600 ● Cores usando o padrão RGB ● O número de cores depende da profundidade da cor (número de bits usados para informação de cor) Modo gráfico ● Tamanho de um arquivo de imagem 450 x 350 com 32 bits de profundidade? – 450 x 350 x 32/8 = 1.920.000 bytes – 1.8 MB Modo Gráfico ● Assim, toda informação desenhada na tela é representada por dois atributos – Localização – cor imagens imagens Arquitetura do Computador ● Arquitetura de Von Neumann – Unidades funcionais básicas ● UCP (Unidade Central de Processamento) ou CPU (Central Processing Unit) ● Caminho de dados ou barramentos (bus) ● Dispositivos de entrada e saída ou Dispositivos de I/O (Input / Output) Funcionamento da UCP ● Nos computadores atuais = microprocessador ● Componentes internos da UCP – Unidade de controle(UC) ● Busca de instruções na memória principal – Unidade lógico-Aritmética (ULA) ● Execução de operações aritméticas e lógicas – Registradores ● Pequena memória para armazenar resultados temporários e informações de controle – Cache ● Memórias auxiliares Funcionamento da UCP Funcionamento da UCP ● Na arquitetura de Von Neumann tanto as instruções quantos os dados são armazenados na memória principal ● Registrador especial: Controlador de Programa (PC) – Armazena o endereço da memória principal que contém a próxima instrução – A memória principal deve ser vista como um conjunto de caixinhas – Cada caixinha possui um endereço que a identifica Funcionamento da UCP Funcionamento da UCP ● A instrução armazenada no endereço apontado por PC é buscada e armazenada em outro registrador especial (IP) ● A unidade de bits transferida da memória para o IP é chamada palavra ● O PC é incrementado para apontar para a próxima instrução ● A instrução em IP é decodificada ● Se necessário, armazena-se algum dado da memória para um registrador ● Por fim, a instrução é executada utilizando os dados armazenados nos registradores Processo para Construção de um Programa Introdução à Ciência da Computação Departamento de Computação Universidade Federal de Sergipe Dicas para Resolver Problemas e Representação da Informação Prof. Kalil Araujo Bispo Junho/2013 Slide 1 Slide 2 Slide 3 Slide 4 Slide 5 Slide 6 Slide 7 Slide 8 Slide 9 Slide 10 Slide 11 Slide 12 Slide 13 Slide 14 Slide 15 Slide 16 Slide 17 Slide 18 Slide 19 Slide 20 Slide 21 Slide 22 Slide 23 Slide 24 Slide 25 Slide 26 Slide 27 Slide 28