Buscar

PC_aula02_conceitos_algoritmos

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.
*
*
*
*
*
*
*

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Outros materiais