Baixe o app para aproveitar ainda mais
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
* * Programação de Computadores Aula 02 * * Conteúdo da aula Princípios da Organização dos computadores: A representação da informação em um computador; Bits e Bytes Numeração binária Conversão binário-decimal e decimal-binário Arquitetura básica de um computador Memória Entrada e saída Processamento Instruções do computador * * Justificativa Os conceitos apresentados nessa aula servirão de base para um bom entendimento de como as informações são trabalhadas num programa de computadores * * Princípios da Organização de Computadores * * Organização do Computador A representação da informação em um computador: Os circuitos eletrônicos de um computador moderno operam com sinais de 2 níveis distintos ou binários. Esta é uma solução simples e de baixo custo. Os circuitos do computador são formados por chips que possuem como ingredientes básicos os transistores. O transistor funciona como uma “chave”: Se a tensão de entrada for alta, a resposta será um nível baixo (0); Se a tensão de entrada for baixa, a resposta será um nível alto (1); Agrupando vários transistores de forma conveniente pode se obter várias funções lógicas. Os dados armazenados e processados em um computador são traduzidos em sinais elétricos binários, ou seja, em um conjunto finito de 0 e 1. O que nos conduz ao conceito de bits. * * Organização do Computador Bits e Bytes A palavra bit ou binary digit representa de forma lógica um estado ligado/desligado ou binário existentes em dispositivos eletrônicos digitais dos circuitos de um computador como em registradores e memórias. Convenciona-se que um bit “ligado” é representado pelo símbolo 1 e “desligado”, por zero. * * Organização do Computador O uso e manipulação de números binários é similar ao dos números decimais: a posição de cada dígito de um número representa a potência na base que ele está figurado. Exemplo: 101012 = 1 x 24 + 0 x 23 + 1 x 22 + 0 x 21 + 1 x 20 = 2110 * * Organização do Computador De forma semelhante, pode-se converter um número decimal em binário, dividindo-se esse número sucessivamente por 2, até que o quociente seja zero. O número binário corresponde é obtido lendo-se os restos das divisões, da última para a primeira. * * Organização do Computador Exemplo:2510 Assim, o número binário correspondente ao decimal 2510 é 110012 25 / 2 = 12 RESTO = 1 12 / 2 = 6 RESTO = 0 6 / 2 = 3 RESTO = 0 3 / 2 = 1 RESTO = 1 1 / 2 = 0 RESTO = 1 2510 = 110012 * * Um byte representa o mesmo que 8 bits e para fins de programação é o menor dado que se pode manipular diretamente. Os múltiplos do byte também são utilizados para representar as quantidades manipuladas. Exemplo: 1.073.741.824 (230) bytes Gigabyte (Gb) 1.048.576 (220) bytes Megabyte (Mb) 1.024 (210) bytes Quilobyte (Kb) Valor Nome Organização do computador * * Organização do Computador Os tipos de informação manipulados pelo computador durante a execução de um programa são os dados e as instruções que operam esses dados. Na memória são sempre representados por bits. Dentre os tipos mais usados temos: Caracteres; Cadeias de caracteres; Imagens sons * * Organização do Computador A arquitetura de um computador representa a maneira na qual seus componentes estão organizados. Existem diversos modelos de arquiteturas apresentados durante a evolução do computador. A mais consagrada é conhecida como Arquitetura de von Neumann, criada em 1946 e definia os componentes básicos de seu computador: CPU, BUS, dispositivos de entrada e saída (I/O Devices). * * Organização do Computador CPU (Processador): executa programas armazenados na memória. Memória RAM (principal) é volátil e é usada para armazenar instruções e dados de um programa. BUS (caminhos): representam uma “fiação” e seu propósito é transmitir dados, que podem ser endereços de memória, dados de um programa e sinais de controle para/de outros componentes externos Dispositivos de E/S: representam interfaces para os dispositivos de entrada e saída como teclado, impressora, video, mouse, etc. * * A execução dos programas de computador Memória: A memória é uma sequência de “células numeradas”, cada uma contendo uma pequena quantidade de informação. A informação pode ser uma instrução para dizer ao computador o que fazer. O tamanho de cada célula, e o número de células, varia de computador para computador, e as tecnologias utilizadas para implementar a memória variam bastante. * * A execução dos programas de computador Entradas e Saídas A E/S permite ao computador obter informações do mundo externo e envia os resultados do trabalho para o mundo externo. Existe uma infinidade de tipos de dispositivos de E/S. O que todos os dispositivos de E/S tem em comum é que eles precisam codificar a informação coletada em dados que podem ser processados pelo sistema digital. Dispositivos de saída, por outro lado, decodificam os dados em informação que é entendida pelo usuário do computador. * * A execução dos programas de computador Processamento: Dentro da CPU: ULA (Unidade Lógico/Aritmética): faz as operações elementares (adição, subtração, etc), operações lógicas (AND, OR, NOT) e operações de comparação. É nessa unidade que o trabalho é realmente feito. UC (Unidade de Controle): armazena a posição de memória que contém a instrução corrente que o computador está executando, informando a ULA qual operação executar, buscando a informação (da memória) que a ULA precisa para executa-la e transferindo o resultado de volta para o local apropriado da memória. * * A execução dos programas de computador Instruções do Computador: O computador possui um limitado número de instruções bem definidas. Por exemplo: copie o conteúdo da posição de memória 123 para a posição de memória 456 adicione o conteúdo da posição de memória 510 ao conteúdo da posição 511 e coloque o resultado na posição 507 se o conteúdo da posição 012 é igual a 0, a próxima instrução está na posição 678 * * A execução de programas de computador Instruções são representadas no computador como números - o código para "copiar" poderia ser 007, por exemplo. O conjunto particular de instruções que um computador possui é conhecido como a linguagem de máquina do computador. Na prática, as pessoas não escrevem instruções diretamente na linguagem de máquina mas em uma linguagem de programação, que é posteriormente traduzida na linguagem de máquina através de programas especiais (interpretadores e compiladores). * * Algoritmos Longas jornadas começam com um pequeno passo * * Algoritmos A programação de computadores visa, numa visão mais simplória, a resolução de problemas utilizando meios computacionais. Os algoritmos são uma ferramenta que possibilitam ao desenvolvedor uma “pré-visualização” ou um planejamento do que posteriormente pode ser passado para uma linguagem de computador. * * Algoritmos Formamente falando: Algoritmo: Mat.: Processo de cálculo ou de resolução de um grupo de problemas semelhantes, em que se estipulam, com generalidade e sem restrições, regras formais para a obtenção do resultado ou da solução do problema Inform.: Conjunto de regras e operações bem-definidas e ordenadas, destinadas à solução de um problema ou uma classe de problemas em um número finito de etapas * * Formas de Representação Existem diversas formas de representação de Algoritmos, O Critério usado para classificar hierarquicamente estas formas está diretamente ligado ao nível de detalhe ou, inversamente, ao grau de abstração oferecido. Níveis de abstração: Alto: tratam os problemas apenas em nível lógico, evitando detalhes de implementação muitas vezes relacionados com alguma linguagem de programação específica. Baixo: possuem uma maior riqueza de detalhes e muitas vezes acabam por obscurecer a idéia principal, o Algoritmos, dificultando seu entendimento. * * Formas de Representação Dentre as formas de representação de Algoritmos mais conhecidas destacam-se: A Descrição Narrativa: Nesta forma de representação os algoritmos são expressos diretamente em linguagem natural: Média de 3 números: Somar 3 números Dividir a soma obtida por 3 Apresentar o resultado Vantagem: de fácil entendimento, permitindo uma fácil comunicação do que se pretende. Desvantagem: Dá oportunidade a segundas interpretações * * Formas de Representação Fluxograma: tipo de diagrama que pode ser entendido como uma representação esquemática de um processo, muitas vezes feita através de gráficos que ilustram de forma descomplicada a transição de informações entre os elementos que o compõem Vantagem: o entendimento dos gráficos é mais simples que o entendimento dos textos Desvantagem: é necessário aprender a simbologia dos fluxogramas, alem disso, o algoritmo resultante não apresenta muitos detalhes, dificultando a transcrição para um programa * * Formas de Apresentação Pseudo-código: consiste em analisar o enunciado do problema e escrever, por meio de regras pre-definidas, os passos seguidos para a resolução: Inicio inteiro n1,n2,n3,soma,media; ESCREVA(“Escreva 3 numeros”); LEIA (n1,n2,n3); soma <= n1+n2+n3; media <= soma/3 ESCREVA (“A media e “ ,media); fim * * Formas de Apresentação Vantagem: a passagem do algoritmo para qualquer linguagem de programação é quase imediata, bastando conhecer as palavras reservadas da linguagem que será utilizada Desvantagem: é necessário aprender as regras do pseudo-código. * * * * * * *
Compartilhar