Buscar

Algoritmos 01 - Conceitos Basicos

Prévia do material em texto

N575 - Algoritmos e 
Programação de Computadores 
 
Conceitos básicos de informática e programação 
 
 
 
Prof. Raphael Torres Santos Carvalho 
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) é 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 
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á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 
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 uma 
arquitetura proposta ainda nos anos de 1940 pelo o matemático 
húngaro John Von Neuman. 
20 
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 
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 
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çãode 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 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 
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. 
 
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 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 
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 
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 
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 
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 
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# 
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 
serem executadas; 
o executa estas ações. 
 
40 
código 
fontesaída 
de dados 
entrada 
de dados 
interpretador 
máquina 
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 
Dúvidas? 
42

Continue navegando