Professional Documents
Culture Documents
Programação de Computadores
Conceitos Básicos
Sistemas Numéricos
Medidas de armazenamento
2
Objetivo
Identificar
os conceitos básicos de informática e sua relação
com a programação
3
Conceitos Básicos
Informática é o ramo do conhecimento que cuida dos
conceitos, procedimentos e técnicas, referentes ao tratamento
de conjuntos de dados, objetivando a tomada de decisões.
Dado é a representação física de um evento.
Como é realizada a representação de um evento?
Os dados podem ser armazenados, transportados, copiados e
até eliminados. A sua importância reside na “quantidade de
informação” que pode transmitir a quem o acessa.
Informação é a significação de um dado.
6
Sistemas Numéricos
Base de um Sistema de Numeração
A base de um sistema é a quantidade de algarismos disponível na
representação.
A base 10 (sistema decimal) é a mais empregada,
embora não seja a única utilizada.
No comércio, pedimos uma dúzia de rosas ou uma grosa de
parafusos (base 12) e também marcamos o tempo em minutos e
segundos (base 60).
Os computadores utilizam a base 2 (sistema binário) e os
programadores, por facilidade, usam em geral uma base que é
potência de 2, como 24 (base 16 ou sistema hexadecimal).
7
Sistemas Decimal
8
Sistemas Numéricos
Representação Binária
Os computadores modernos utilizam apenas o sistema binário,
isto é, todas as informações armazenadas ou processadas no
computador usam apenas DUAS grandezas, representadas pelos
algarismos 0 e 1.
Essa decisão de projeto deve-se à maior facilidade de
representação interna no computador, que é obtida através de
dois diferentes níveis de tensão
Havendo apenas dois algarismos, portanto dígitos binários, o
elemento mínimo de informação nos computadores foi apelidado
de bit (uma contração do inglês binary digit).
Na base 2, o número "10" vale dois. Mas se 102 = 210, então dez é
igual a dois? 9
Sistemas Numéricos
Representação em Octal e em Hexadecimal
Em projetos de computação é usual representar quantidades
usando sistemas em potências do binário (octal e principalmente
hexadecimal), para reduzir o número de algarismos da
representação e consequentemente facilitar a compreensão da
grandeza e evitar erros.
No sistema octal (base 8), cada três bits são representados por
apenas um algarismo octal (de 0 a 7).
11
Conversão entre bases
Binário para Decimal
Consiste em multiplicar o algarismo do número binário pela base
elevada ao expoente de sua colocação no número, lembrando
que a base do número binário é 2.
Ex: 11012
12
Conversão entre bases
Bináriopara Decimal
Exercício: Converta os seguintes números de base dois
para base dez.
a) 1000
b) 1011
c) 101010
d) 1111111
e) 1110111
13
f) 101101101
Conversão entre bases
Decimal para binário
Consiste em dividir o número decimal pela base 2, obtendo um
resultado e um resto. Caso o resultado possa ainda ser divido pela
base, repete-se a operação até termos um resultado que não
possa mais ser dividido pela base.
Ex: 2510
14
Conversão entre bases
Decimal para binário
Exercício: Converta os seguintes números de
decimal para binário.
a) 75
b) 90
c) 125
d) 171
e) 200
f) 212
15
Conversão entre bases
Octal para decimal
Consiste em multiplicar o algarismo do número octal pela base
elevada ao expoente de sua colocação no número, lembrando
que a base do número octal é 8.
Ex: 6278=>
16
Conversão entre bases
Decimal para octal
Consiste em dividir o número decimal pela base 8, obtendo um
resultado e um resto. Caso o resultado possa ainda ser divido pela
base, repete-se a operação até termos um resultado que não
possa mais ser dividido pela base.
Ex: 40710=>
17
Conversão entre bases
Hexadecimal para decimal
Consiste em multiplicar o algarismo do número hexadecimal pela
base elevada ao expoente de sua colocação no número,
lembrando que a base do número hexadecimal é 16.
Ex: A1B216=>
18
Conversão entre bases
Decimal para hexadecimal
Consiste em dividir o número decimal pela base 16, obtendo um
resultado e um resto. Caso o resultado possa ainda ser divido pela
base, repete-se a operação até termos um resultado que não
possa mais ser dividido pela base.
Ex: 2510=>
19
Hardware
Hardware é a parte física do computador. Exemplos: memórias,
processadores, disco rígido entre outros.
O termo "hardware" não se refere apenas aos computadores
pessoais, mas também aos equipamentos embarcados em produtos
que necessitam de processamento computacional.
Um computador é construído a partir de um projeto e de diversas
partes, interligadas de acordo com o que é estabelecido no referido
projeto.
Arquitetura de um computador é a descrição dos elementos
componentes de um computador e do modo de interligá-los.
A maioria dos computadores existentes no mercado apresenta a
Arquitetura Princeton, proposta ainda nos anos de 1940 pelo físico e
matemático John Von Neumann.
20
Hardware
Na arquitetura de Von Neumann, internamente os computadores
modernos podem ser caracterizados por três partes distintas:
Unidade central de processamento (UCP ou CPU)
Memória primária (ou principal) (MEM)
Dispositivos periféricos ou de entrada e saída (E/S)
21
Hardware
Estastrês partes são conectadas entre si por condutores de
corrente elétrica, através dos quais os “bits” circulam.
A arquitetura proposta por Von Neumann estabelece que,
durante o funcionamento de um computador, ocorre o
seguinte processo:
Os dados são capturados por meio de um periférico de entrada
Após os dados serem capturados, são transferidos para a memória
primária
Os dados que estão na memória são direcionados, através de um
fluxo de controle, para a unidade central de processamento, ou
para algum outro dispositivo periférico
22
Hardware
Unidade Central de Processamento ( UCP ou CPU)
é um conjunto de dispositivos eletrônicos responsável
pelas operações de processamento referentes aos cálculos
lógicos e matemáticos.
Tarefas:
o busca de uma instrução na memória;
o interpretação de uma instrução;
o execução de uma operação representada na instrução;
o gravação de eventuais resultados do processamento;
o reinício de todo o processo (caso necessário)
23
Hardware
Unidades que compõem a CPU
Unidade Lógica e Aritmética (ALU)
o responsável por realizar cálculos matemáticos mais complexos de
maneira mais rápida.
Registradores
o Memória temporária para:
• Armazenar dados que vêm da memória primária e vão entrar no
processador;
• Armazenar resultados intermediários, de operações aritméticas ou lógicas,
que vieram do processador, e que vão retornar ao mesmo;
• Armazenar resultados de operações realizadas no processador e que se
destinam à memória primária.
24
Hardware
Unidades que compõem a CPU
Unidade de Controle (UC)
o Controla o fluxo de dados na UCP: busca na memória, chamadas da
UAL, controle geral das tarefas da UCP.
Relógio
o Gerador de pulsos que determinam um ciclo de tarefas da UCP. Em
cada ciclo (ou pulso), a UCP realiza uma tarefa. Assim, quanto maior
a frequência do relógio da UCP, mais tarefas esta pode realizar num
mesmo intervalo de tempo.
25
Hardware
Memória Primária (ou Principal)
funciona como uma “área de trabalho“ para todos os
procedimentos executados no computador
serve como local para armazenar os conjuntos de instruções (os
“programas”), que são capazes de modificar os dados também ali
colocados.
São classificadas de maneira geral de acordo com a sua
capacidade de leitura, escrita e volatilidade
26
Hardware
Memória – Tipos
RAM (memória de acesso aleatório)
o é uma memória em que se pode ler e escrever, mas cujo conteúdo é
perdido uma vez que o computador é desligado. É a memória
principal do computador e a mais usada pelos aplicativos e sistema
operacional.
ROM (memória somente-leitura)
o Só é possível ler seu conteúdo, mas não alterá-lo. Não se altera se o
computador é desligado.
Secundária
o São dispositivos usados para armazenar grandes quantidades de
informação em caráter não volátil. Na maioria das vezes é muito
mais lenta que a RAM. Exemplo são os discos rígidos.
27
Hardware
Dispositivo periférico
permite o intercâmbio de dados entre a memória primária do
computador e o meio externo.
A quantidade e a variedade de dispositivos periféricos
existente tendem a crescer, à medida que aumentam as
aplicações do uso do computador.
Tipos de periféricos:
Entrada;
Saída;
Entrada – saída;
Comunicação.
28
Hardware
Periféricos de entrada
Têm como função transferir dados do meio externo para a memória
primária.
Exemplos: teclados, mouses, unidades de DVD.
Periféricos de saída
Trabalham ao contrário dos de entrada, isto é, transferem dados da
memória primária para o meio externo. Cada um desses tipos de
periféricos se caracteriza por mover os dados apenas num único
sentido.
Exemplos: monitores de vídeo, caixas de som, impressoras.
Periféricos de entrada-saída
Podem mover dados em ambos os sentidos.
Exemplos: Unidades de discos rígidos (HD), Pen drives.
Periféricos de comunicação
São aqueles destinados à comunicação entre computadores.
Exemplos: placas para conexão em rede e modem 4G 29
Medidas de Armazenamento
Assim como a água é medida em litros ou o açúcar é medido
em quilos, os dados de um computador são medidos em bits e
bytes.
Cada valor do código binário foi denominado bit (binary digit),
que é a menor unidade de informação.
Um bit somente pode apresentar-se no estado “0”, ou no
estado “1”.
Pode representar, no máximo, duas mensagens distintas,
Insuficientes para representar todas as letras do alfabeto, todos os
algarismos e caracteres especiais, necessários para representar as
mensagens utilizadas na comunicação entre as pessoas.
30
Medidas de Armazenamento
Informação é representada por um grupo de bits chamados de
palavras.
Tamanho típico de uma palavra é de 8 bits.
33
Software
Sistema Operacional
Conjunto de programas contendo instruções que coordenam
todas as atividades entre recursos computacionais;
Requisito para o funcionamento de um computador;
Ponto de partida para um aprendizado voltado para o domínio de
qualquer computador.
Residente no disco rígido do computador (maioria dos casos);
Computadores de diferentes portes possuem tipicamente
diferentes sistemas operacionais;
Tipos similares de computadores podem possuir sistemas
operacionais diferentes;
34
Software
Linguagem de programação
É um conjunto de termos (vocabulário) e de regras (sintaxe) que
permitem a formulação de instruções (programas) para serem
executados pelo computador.
Tipos de Linguagem
Linguagem de máquina
Linguagem de baixo nível
Linguagem de alto nível
35
Software
Linguagem de máquina:
É a única entendida pelo computador, sendo formada por
instruções escritas em código binário
Linguagens de baixo nível:
São aquelas cujos códigos são muito próximos aos usados pela
máquina (códigos binários ou linguagem de máquina). São
utilizadas no desenvolvimento de aplicações que interagem
diretamente no hardware (processador, memória, portas de E/S)
e que necessitam de alta velocidade de execução.
São chamadas de Linguagem Montadora (Assembler – Assembly
Language)
36
Software
Linguagem de alto nível
São aquelas cujos códigos são muito próximos aos utilizados pela
linguagem humana.
Exemplo: Linguagem C, C++, Java, C#, Python
37
Software
Programa-fonte
Quando a linguagem de programação é utilizada para
desenvolvimento de programas executáveis, inicialmente é
gerado um “texto”, conhecido como Programa-fonte ou código-
fonte que não é reconhecido pelo computador.
É necessário traduzir esse texto para linguagem de máquina,
tarefa executada pelos programas tradutores.
Processo conhecido como compilação e gera o programa-objeto.
38
Software
Programas tradutores
Montadores (Assembler)
Compiladores
Interpretadores
39
Software
Interpretador
as instruções definidas na linguagem de alto nível (código-fonte) são
executadas diretamente.
traduz o comando de um programa de cada vez e então chama uma
rotina para completar a execução do comando.
É um programa que executa repetidamente a seguinte seqüência:
o pega a próxima instrução;
o determina as ações a
máquina
serem executadas; código
o executa estas ações. fonte
entrada saída
de dados de dados 40
interpretador
Software
Compilador
produz a partir do arquivo de entrada, outro arquivo que é equivalente
ao arquivo original, porém numa linguagem que é executável.
Este arquivo resultante pode ser em uma linguagem que é direta-mente
executável, tal como linguagem de máquina, ou indiretamente
executável, tal como outra linguagem para a qual já existe um tradutor.
O objetivo de um compilador é traduzir um programa escrito em uma
linguagem (código fonte) em um programa equivalente expresso em
uma linguagem que é executável diretamente pela máquina (código
objeto)
máquina
código código saída
fonte objeto de dados
entrada 41
compilador de dados
Para aprender
42