algoritmos 01 - conceitos básicos

42
N575 - Algoritmos e Programação de Computadores Conceitos básicos de informática e programação Prof. Raphael Torres Santos Carvalho

Upload: josevaldo-arruda

Post on 10-Aug-2015

22 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Algoritmos 01 - Conceitos Básicos

N575 - Algoritmos e Programação de Computadores

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

Prof. Raphael Torres Santos Carvalho

Page 2: Algoritmos 01 - Conceitos Básicos

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

Page 3: Algoritmos 01 - Conceitos Básicos

Objetivo

Identificar os conceitos básicos de informática e sua relação com a programação

3

Page 4: Algoritmos 01 - Conceitos Básicos

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

Page 5: Algoritmos 01 - Conceitos Básicos

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

Page 6: Algoritmos 01 - Conceitos Básicos

Sistemas Numéricos

Exemplo:

6

Page 7: Algoritmos 01 - Conceitos Básicos

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) é hoje a mais usualmente 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 seja uma potência de 2, tal como 24 (base 16 ou sistema hexadecimal) ou eventualmente ainda 23 (base 8 ou sistema octal).

7

Page 8: Algoritmos 01 - Conceitos Básicos

Sistemas Decimal

8

Page 9: Algoritmos 01 - Conceitos Básicos

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

Page 10: Algoritmos 01 - Conceitos Básicos

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

Page 11: Algoritmos 01 - Conceitos Básicos

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

Page 12: Algoritmos 01 - Conceitos Básicos

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

Page 13: Algoritmos 01 - Conceitos Básicos

Conversão entre bases

Binário para Decimal

Exercício: Converta os seguintes números de base dois para base dez.

a) 1000

b) 1011

c) 101010

d) 1111111

e) 1110111

f) 101101101

13

Page 14: Algoritmos 01 - Conceitos Básicos

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

Page 15: Algoritmos 01 - Conceitos Básicos

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

Page 16: Algoritmos 01 - Conceitos Básicos

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

Page 17: Algoritmos 01 - Conceitos Básicos

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

Page 18: Algoritmos 01 - Conceitos Básicos

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

Page 19: Algoritmos 01 - Conceitos Básicos

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

Page 20: Algoritmos 01 - Conceitos Básicos

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 uma arquitetura proposta ainda nos anos de 1940 pelo o matemático húngaro John Von Neuman.

20

Page 21: Algoritmos 01 - Conceitos Básicos

Hardware

Na arquitetura de Von Neuman, 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

Page 22: Algoritmos 01 - Conceitos Básicos

Hardware

Estas trê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 Neuman 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

Page 23: Algoritmos 01 - Conceitos Básicos

Hardware

Unidade Central de Processamento (UCP). é 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

Page 24: Algoritmos 01 - Conceitos Básicos

Hardware

Unidades que compõem a UCP Unidade Aritmética e Lógica (UAL)

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

Page 25: Algoritmos 01 - Conceitos Básicos

Hardware

25

Unidades que compõem a UCP 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.

Page 26: Algoritmos 01 - Conceitos Básicos

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

Page 27: Algoritmos 01 - Conceitos Básicos

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

Page 28: Algoritmos 01 - Conceitos Básicos

Hardware

Dispositivo periférico permiti 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

Page 29: Algoritmos 01 - Conceitos Básicos

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 placa fax-modem 29

Page 30: Algoritmos 01 - Conceitos Básicos

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 único 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

Page 31: Algoritmos 01 - Conceitos Básicos

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 caráter 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

Page 32: Algoritmos 01 - Conceitos Básicos

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, apesar de não existirem submúltiplos.

o Não se pode falar em “um terço do byte”, ou de “meio byte”.

32

Múltiplo Representação Equivalência

1 Kilobyte 1KB 1024 B

1 Megabyte 1MB 1024 KB

1 Gigabyte 1GB 1024 MB

1 Terabyte 1TB 1024 GB

Page 33: Algoritmos 01 - Conceitos Básicos

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

Page 34: Algoritmos 01 - Conceitos Básicos

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

Page 35: Algoritmos 01 - Conceitos Básicos

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

Page 36: Algoritmos 01 - Conceitos Básicos

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

Page 37: Algoritmos 01 - Conceitos Básicos

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#

37

Page 38: Algoritmos 01 - Conceitos Básicos

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

Page 39: Algoritmos 01 - Conceitos Básicos

Software

Programas tradutores

Montadores (Assembler)

Compiladores

Interpretadores

39

Page 40: Algoritmos 01 - Conceitos Básicos

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

serem executadas;

o executa estas ações.

40

código

fonte

saída

de dados

entrada

de dados

interpretador

máquina

Page 41: Algoritmos 01 - Conceitos Básicos

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)

41

código

fonte saída

de dados

entrada

de dados

máquina código

objeto

compilador

Page 42: Algoritmos 01 - Conceitos Básicos

Dúvidas?

42