Você está na página 1de 42

N616 - Algoritmos e

Programação de Computadores

Conceitos básicos de informática e programação

Prof. Marcelo Sousa


Roteiro
 Objetivo

 Conceitos Básicos
 Sistemas Numéricos

 Hardware (componentes básicos de um computador)

 Medidas de armazenamento

 Software (sistema operacional e linguagem de programação)

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.

 Um computador é uma máquina que manipula dados a


partir de uma lista de instruções.
4
Sistemas Numéricos
 Desde quando se começou a registrar informações sobre
quantidades, foram criados diversos métodos de representar
as quantidades
 O Sistema decimal, ao qual estamos acostumados, usa um
sistema de numeração posicional. Isso significa que a posição
ocupada por cada algarismo em um número altera seu valor
de uma potência de 10 (na base 10) para cada casa à esquerda
 Por exemplo: número 125 no sistema decimal (base 10)

125 = 1x102 + 2x101 + 5x100


5
Sistemas Numéricos
 Exemplo:

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

 No sistema hexadecimal (base 16), cada quatro bits são


representados por apenas um algarismo hexadecimal (de 0 a F).
10
Conversão entre bases
 Será
utilizado o sistema de numeração decimal (base 10)
como base intermediária entre as conversões numéricas, mas
que existem métodos de conversão direta como, por exemplo,
de octal para binário etc.

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.

 Um grupo de 8 bits é chamada de 1 byte.

 Cada letra do alfabeto, seja maiúscula ou minúscula, cada


algarismo e cada caractere especial, é representado como
um conjunto de oito bits.
 A correspondência entre cada caráter e cada grupo de bits é
estabelecida através de um código. O código mais difundido
até hoje é o ASCII (American Standard Code for Information
Interchange).
31
Medidas de Armazenamento
O tamanho de uma memória principal costuma ser definido
como a quantidade de bytes que a mesma pode comportar.
 Byte
 É unidade para medir tamanho de memória primária.
 Possui uma escala de múltiplos.

Múltiplo Representação Equivalência


1 Kilobyte 1kiB 1024 B
1 Megabyte 1MiB 1024 KiB
1 Gigabyte 1GiB 1024 MiB
32
1 Terabyte 1TiB 1024 GiB
Software
 Software é a parte lógica, ou seja, o que não se pode tocar. É
o conjunto de instruções e dados que é processado pelos
circuitos eletrônicos do hardware.

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

“O que eu ouço, eu esqueço.


O que eu vejo, eu lembro.
O que eu faço, eu aprendo.”

42

Confúcio, filósofo chinês (479 A.C.)