Upload
liberty-preston
View
25
Download
3
Embed Size (px)
DESCRIPTION
Projeto e Desenvolvimento de Sistemas Introdução. Profª. Drª. Maria Salete Marcon Gomes Vaz. Ementa. Introdução a sistemas Conceitos básicos Evolução de um sistema Tipos de abordagem no desenvolvimento de um sistema Análise de requisitos de sistemas Garantia de qualidade - PowerPoint PPT Presentation
Citation preview
2008 @ Maria Salete Marcon Gomes Vaz
Projeto e Desenvolvimento de Sistemas
Introdução
Profª. Drª. Maria Salete Marcon Gomes Vaz
2008 @ Maria Salete Marcon Gomes Vaz
Ementa Introdução a sistemas
– Conceitos básicos– Evolução de um sistema – Tipos de abordagem no desenvolvimento de um sistema
Análise de requisitos de sistemas
Garantia de qualidade
Análise estruturada
Análise e projeto de sistemas orientados a objetos
Ambientes de desenvolvimento de software
2008 @ Maria Salete Marcon Gomes Vaz
Objetivos Gerais Reconhecer os aspectos principais que envolvem a atividade de
análise e projeto de sistemas
Adquirir conhecimento sobre as diferentes abordagens para desenvolvimento de sistemas
Reconhecer a importância de aplicar métodos, técnicas e ferramentas para a construção de sistemas visando aumentar a qualidade do software
Adquirir conhecimento sobre os ambientes de apoio para o desenvolvimento de softwares
2008 @ Maria Salete Marcon Gomes Vaz
Objetivos Específicos Identificar as características de sistemas no contexto
da Engenharia de Sistemas
Identificar quando utilizar as diferentes abordagens para o desenvolvimento de sistemas
Entender e utilizar as abordagens Estruturada e Orientada a Objetos para a Engenharia de Sistemas
Diferenciar as atividades relacionadas à análise e ao projeto de sistemas
Utilizar ambientes de apoio para o desenvolvimento de sistemas.
2008 @ Maria Salete Marcon Gomes Vaz
Avaliação
Trabalhos práticos = 3,0 Seminários = 2,0 Prova = 5,0 Nota = Trabalhos + Seminários + Prova
2008 @ Maria Salete Marcon Gomes Vaz
Bibliografia Book, G.; Rumbaugh, J., Jacobson, I. UML: guia do usuário. Rio de
Janeiro: Ed. Campus; 2000.
Fowler, M. UML Distilled : a brief guide to the Standard Object Modeling Language. 2. ed. Addison Wesley; 2000.
Furlan, J.D. Modelagem de Objetos através da UML. São Paulo: Makron-Books; 1999.
Melo, A.C. Desenvolvimento de Aplicações com UML: do conceitual à implementação. Brasport; 2002.
Pressman, R. S. Engenharia de Software. 5. ed. Rio de Janeiro: McGraw-Hill, 2001.
Pressman, R. S. Software Engineering: a practitioner’s approach. 5. ed. Rio de Janeiro: McGraw-Hill. 2001.
Rocha, A.R.C.; Maldonado, J. C.; Weber, K. C. Qualidade de Software: teoria e prática. Prentice-Hall, 2001.
Somerville, I. Engenharia de Software. 6. ed. Addison Wesley, 2003
2008 @ Maria Salete Marcon Gomes Vaz
Motivação
O que é este curso ?
Porque é importante saber Conceitos
Teóricos/Práticos de Informática
2008 @ Maria Salete Marcon Gomes Vaz
Conceituação
Solução
Computador
Programa
Problema
Qual a linguagem que o computador entende?
O que é o computador?
2008 @ Maria Salete Marcon Gomes Vaz
Conceituação Dado e Informação
– Dado e informação são sinônimos?
– Dado - Matéria Prima
– Informação - Dado processado
Dados Processamento Resultado: Informação
Estoque Atualização Dados Atualizados
Produtos que atingiram a quantidade mínima em estoque?
Listagem de Produtos
2008 @ Maria Salete Marcon Gomes Vaz
Conceituação Sistemas
– Conjunto de partes coordenadas que concorrem para a realização de um determinado objetivo
– Conjunto de elementos identificáveis que tem entre si relações e que atuam segundo um objetivo
Processamento de Dados
– Série de Atividades ordenadamente realizadas, com o objetivo de
produzir um arranjo determinado de informações a partir de outras
obtidas inicialmente
2008 @ Maria Salete Marcon Gomes Vaz
Conceituação
Sistema de Processamento de Dados– Sistema de Computação
• Computador + software básicos (SO, linguagens e aplicativos)
• fornecido completo pelo fabricante
– Sistemas de Aplicação• Desenvolvidos pelo usuários ou de
terceiros
• Aplicação de interesse do usuário
– Computador: Conjunto de circuitos eletrônicos e partes eletromecânicas - Hardware - parte física, visível do computador
Software Básico
Hardware
Sistema de Computação
Software - Consiste de Programas, de qualquer tipo e em qualquer linguagem, que são introduzidos na máquina, para fazê-la trabalhar, passo a passo, e produzir algum resultado
2008 @ Maria Salete Marcon Gomes Vaz
Conceitos Básicos Sistema de Computação
– Programa - Conjunto de Instruções ou Formalização de um algoritmo em linguagem inteligível pelo computador
– Algoritmo - conjunto de instruções que, obedecidos, resultam numa sucessão finita de “ações”.
– Ação - um acontecimento que, a partir de um estado inicial, após um período de tempo finito produz um estado final previsível e bem definido.
– A base de um algoritmo é o raciocínio lógico, o qual permite ordenar o pensamento.
– Um algoritmo pode ser escrito por meio de:• Linguagem natural;
• Linguagem algorítmica;
• Linguagem de programação;
• Notação diagramática (fluxogramas).
2008 @ Maria Salete Marcon Gomes Vaz
Conceituação
Raciocínio Lógico– Exemplo 1:
• Todo mamífero é animal;• Todo cavalo é mamífero;• Portanto, todo cavalo é animal.
– Exemplo 2:• A gaveta está fechada;• O papel está na gaveta;• Para pegar o papel, preciso primeiro abrir a
gaveta.
– Exemplo 3:• João é mais velho que Maria;• Maria é mais velha que José;• Portanto, João é mais velho que José.
2008 @ Maria Salete Marcon Gomes Vaz
Conceituação Objetivo de um Algoritmo
– Resolver um problema fixando um padrão de comportamento e um fluxo de execução lógica (ordem em que ações devem ser executadas).
– Exemplos do Cotidiano• Instruções para se usar um eletrodoméstico;
• Receita para preparo de algum prato;
• Instruções para preenchimento de formulários;
• Computação de funções matemáticas (ex: Y = X^2);
• Sistemas para controle de estoque;
• Outros.
2008 @ Maria Salete Marcon Gomes Vaz
Conceituação Exemplo: Trocar uma lâmpada -
1a. Tentativa (estrutura seqüencial)– Algoritmo:
• Pegue uma escada;
• Posicione-a debaixo da lâmpada;
• Pegue uma lâmpada nova;
• Suba na escada;
• Retire a lâmpada velha;
• Coloque a lâmpada nova.
– Problemas:• Qual o nível de detalhes ideal? Depende para quem é escrito;
• O que acontece se a lâmpada velha não estiver queimada?
• O que acontece se a lâmpada nova estiver queimada?
2008 @ Maria Salete Marcon Gomes Vaz
Conceituação Exemplo: Trocar uma
lâmpada - 2a. Tentativa (estrutura condicional)– Algoritmo:
• Pegue uma escada;
• Posicione-a debaixo da lâmpada;
• Pegue uma lâmpada nova;
• Ligue o interruptor;
• Se a lâmpada não acender então
– Suba na escada;
– Retire a lâmpada velha;
– Coloque a lâmpada nova.
Algoritmo Otimizado:Ligue o interruptor;Se a lâmpada não acender então
Pegue uma escada;Posicione-a debaixo da lâmpada;Pegue uma caixa de lâmpadas novas;Suba na escada;Retire a lâmpada velha;Coloque a lâmpada nova;Se a lâmpada não acender então
Retire a lâmpada;Coloque outra lâmpada;Se a lâmpada não acender então
Retire a lâmpada;Coloque outra lâmpada;... (até quando? Observe que um padrão se repete)
2008 @ Maria Salete Marcon Gomes Vaz
Conceituação Exemplo: Trocar uma lâmpada - 3a. Tentativa (estrutura de
repetição)– Algoritmo completo:
• Ligue o interruptor;
• Se a lâmpada não acender então– Pegue uma escada;
– Posicione-a debaixo da lâmpada;
– Pegue uma caixa de lâmpadas novas;
– Suba na escada;
– Enquanto a lâmpada não acender E ainda houver lâmpadas na caixa faça
• Retire a lâmpada;
• Coloque outra lâmpada.
– O nível de detalhamento é adequado para uma pessoa porém não é adequado para um computador (talvez um robô sim, porém precisa ser mais detalhado), pois não tem conhecimento prévio e não adquire experiências.
2008 @ Maria Salete Marcon Gomes Vaz
Conceituação
Exercícios– Um homem precisa atravessar um rio com um barco que possui
capacidade para carregar apenas ele próprio e mais uma de suas cargas, que são: um lobo, um bode e um maço de alfafa. O que o homem deve fazer para levar suas cargas intactas para a outra margem?
– Elabore um algoritmo que mova três discos de uma Torre de Hanói, com três hastes (a, b, c), uma das quais é suporte para três discos de tamanhos diferentes (1, 2, 3), os menores sobre os maiores. Pode-se mover um disco de cada vez para qualquer haste, contanto que nunca seja colocado um disco maior sobre o menor. O algoritmo deve transferir os três discos para outra haste.
2008 @ Maria Salete Marcon Gomes Vaz
Conceituação
Soluções– Leve o “bode”;– Leve a “alfafa”;– Traga o “bode”;– Leve o “lobo”;– Leve o “bode”.
2008 @ Maria Salete Marcon Gomes Vaz
Conceituação Comunicação Homem-Máquina
– Níveis distintos de abstração
swap(int v[], int k){int temp: temp = v[k]; v[k] = v[k+1]; v[k+1] = temp;}
00000000101000010000000000011000000000001000111000011000001000011000110001100010000000000000000010001100111100100000000000000100101011001111001000000000000000001010110001100010000000000000010000000011111000000000000000001000
Linguagem C
swap: muli $2, $5, 4 add $2, $4, $2 lw $15, 0($2) lw $16, 4($2) sw $16, 0($2) sw $15, 4($2) jr $31
Linguagem Assembly
Código executável
2008 @ Maria Salete Marcon Gomes Vaz
Comunicação Homem-Máquina– O computador só entende linguagem de máquina, então é preciso de um compilador/interpretador, que converta
um programa escrito em uma linguagem de alto nível (o programa fonte) para um programa de linguagem de máquina (programa objeto)
– Como transformar descrições em código executável?• Diferença entre as linguagens utilizadas• Métodos:
– Compilação– Interpretação– Compilação-Interpretação
Conceituação
2008 @ Maria Salete Marcon Gomes Vaz
Conceituação
Programa fonte Nível 1
Compilador Programa objeto Nível 0
Converte todo o código fonte antes de executá-lo
O programa objeto gerado pode ser re-executado quantas vezes seja necessário, sem a necessidade de re-compilação
Compilação
2008 @ Maria Salete Marcon Gomes Vaz
Conceituação
Instrução Nível n
InterpretadorInstrução Nível n-1
• Converte uma instrução e
a executa imediatamente• O código objeto não é gerado• Facilita a correção de erros• Utiliza menos memória • Processo de execução mais lento
Interpretação
2008 @ Maria Salete Marcon Gomes Vaz
Interconexão
Componentes de um Sistema de Computação
CPU Memória
E/S
Computador
Periféricos
Estrutura de um computador
2008 @ Maria Salete Marcon Gomes Vaz
Componentes de um Sistema de Computação
Vídeo
Teclado
CPU
Execução dasinstruções de um
programa
CPU
Execução dasinstruções de um
programa
Memória
Programas+
Dados
E/S
Buffers
2008 @ Maria Salete Marcon Gomes Vaz
Componentes de um Sistema de Computação
Unidade Central de Processamento - Processador - UCP
– Cérebro do Computador
– É o motor, o coração do computador
– O processador executa os programas
– Sabe como somar e subtrais e realizar operações simples de lógica
(verdadeiro/falso)
– Em Mainframe, Unidade Central de Processamento ou CPU
– Em microcomputadores, Microprocessador ou processador
– ULA - Unidade Lógica e Aritmética
• Executa as operações lógicas e aritméticas contidas nas instruções
– Unidade de Controle
• Controla as ações dos demais componentes
2008 @ Maria Salete Marcon Gomes Vaz
Componentes de um Sistema de Computação Recursos do Processador
– Capacidade de ler e gravar informações na memória do computador
(temporariamente). Tanto as instruções quanto os dados
– Capacidade de reconhecer e executar vários comandos ou instruções que
são fornecidos pelos programas
– Capacidade de dizer aos outros componentes o que fazer, de modo que o
processador possa orquestrar a operação do computador
2008 @ Maria Salete Marcon Gomes Vaz
Componentes de um Sistema de Computação Memória
– Área de trabalho do computador
– Local onde todas as atividades são realizadas
– É o local em que o processador do computador localiza os programas e dados, quando está executando as tarefas que lhe são atribuídas
– Os computadores costumam ser classificados pela área de memória que possuem
– Principal (RAM - Random Access Memory)• Guarda temporariamente os softwares que estão sendo executados pelo computador,
além dos dados que esses programas produzem ou recebem
• Tudo se apaga quando o computador é desligado
• Funciona mais rapidamente que a memória secundária
– Secundária• Capaz de armazenar informações mesmo sem energia elétrica
• Acesso lento e Grande capacidade de armazenamento
2008 @ Maria Salete Marcon Gomes Vaz
Fichário
Mesa
Pastas
3timing & sizeInformation
2timing & sizeInformation
1
Disco MemóriaUnidade de Controle (CPU)
Memória
O fichário representa o disco rígido, com alta capacidade de armazenamento.
A pasta sobre a mesa representa a memória, de acesso rápido e fácil Mesa e usuário são a CPU OBS: Memória é volátil e disco não (faxineira)
2008 @ Maria Salete Marcon Gomes Vaz
Componentes de um Sistema de Computação
Entrada e Saída
– Consiste no modo como o computador recebe e envia dados
– Abrange o que é digitado no teclado e o que o computador apresenta na tela do
vídeo ou imprime na impressora
– Sempre que o computador está recebendo ou enviando dados, ele está
“desempenhando uma tarefa de E/S” através dos dispositivos de E/S (dispositivos
periféricos) Armazenamento em Disco
– Biblioteca de referência, o fichário de arquivos e a caixa de ferramentas do
computador num só dispositivo
– É onde o computador mantém os dados que não estão em uso na memória do
computador
2008 @ Maria Salete Marcon Gomes Vaz
Dispositivos de E/S
2008 @ Maria Salete Marcon Gomes Vaz
Dispositivos de RedeMainframeVMS
Rede localUnix
Rede localwindows NT
Estações de trabalho emulando terminal conectado remotamente ao Mainframe
Micro emulando terminal X
ETHERNET
2008 @ Maria Salete Marcon Gomes Vaz
Componentes de um Sistema de Computação Programas
– Dão vida ao computador– Fazem com que funcione e transforme um amontoado de partes decorativas
em uma ferramenta de trabalho muito eficiente– São as instruções que dizem ao computador o que fazer– Programas ROM ou Firmware - armazenados em uma memória de leitura– ROM-BIOS ou BIOS (Basic Input/Output System) - programas de serviços– DOS do PC e Windows 95 da Microsoft - Sistemas Operacionais - programas
de sistemas de nível superior que não são criados dentro do computador– Sistema Operacional
• gerencia alocação e compartilhamento de recursos do computador (Memória, arquivos, utilização da CPU, etc.)
• armazenado na memória principal• programa que controla e coordena as operações do hardware• Age como uma interface entre os usuários do sistema de computação e o hardware
2008 @ Maria Salete Marcon Gomes Vaz
Componentes de um Sistema de Computação Outros Componentes
– Fonte de Alimentação
• Dispositivo eletrônico que converte a corrente elétrica padrão em uma forma que
possa ser utilziada pelo computador
• Normalmente é uma caixinha prateada ou preta
– Placa-Mãe
• Estão instalados a maioria dos componentes que integram o computador propriamente
dito
– Chip do processador principal
– Circuitos de apoio
• Memória
• Interface de E/S (portas serial e paralela, interface com o teclado, interface de disco, etc)
• Barramento, que permite à CPU se comunicar com outros componentes que não estão integrados à
placa-mãe)
2008 @ Maria Salete Marcon Gomes Vaz
Componentes de um Sistema de Computação Outros Componentes
– Dispositivos Periféricos
• Impressora
– Imprime em papel informações do computador
– Matricial - impacto
– Jato de tinta - que joga gotas de tinta sobre o papel
– laser - toda página é armazenada na sua memória antes de ser impressa
• Monitor
– Permite a visualização na tela, as informações contidas no computador
– Placas Periféricas
• placa de expansão conectada a um dos conectores de barramento na placa-mãe
• dispositivos que possam funcionar com o processador e outros Componentes de
um Sistema de Computação
2008 @ Maria Salete Marcon Gomes Vaz
Componentes de um Sistema de Computação Representação das Informações
– Bit• Menor unidade de Informação armazenável• Algarismo binário ou dígito binário• Binary Digit• Possui somente dois valores: 0 e 1
– Caractere
• Menor grupo ordenado de bits
• Representa uma informação útil e inteligível para o ser humano
• Qualquer caractere armazenado em um sistema de computação é convertido a um conjunto de bits
• Empregado mais para fins comerciais
2008 @ Maria Salete Marcon Gomes Vaz
Componentes de um Sistema de Computação Representação das Informações
– Byte• Definição formal atribuída a um grupo ordenado de bits• Instituída pela IBM• Grupo ordenado de 8 bits, tratados de forma individual, como unidade
de armazenamento e transferência• Empregado mais para linguagem técnica• Computadores binários - indicações numéricas refere-se a potência de
2– K representa 1024 unidades (210)– M (mega) representa 1.048.576 unidades – G (giga) representa 1024 M– T (tera) representa 1024 G– P (peta) representa 1024 teras
– Palavra• Conjunto de bits que representa uma informação útil
2008 @ Maria Salete Marcon Gomes Vaz
Componentes de um Sistema de Computação Representação das Informações
– Arquivos• É um conjunto formado por dados (ou informações) de um mesmo
tipo ou para uma mesma aplicação• Exemplos: Arquivo de alunos e arquivo contendo instruções de um
programa
– Registros
• Itens individuais de informação em arquivos
• Exemplo: cada aluno em um arquivo de alunos
• Obs.: Um programa é um arquivo, constituído de um único registro. Instruções não são consideradas registros individuais
– Campos• As informações especificadas nos registros• Exemplo: nome do aluno, endereço, nota
2008 @ Maria Salete Marcon Gomes Vaz
Componentes de um Sistema de Computação Classificação de Sistemas de Computação
– Microcomputadores• Surgiram comercialmente em 1974 através do desenvolvimento de
microcomputadores• Nome foi dado devido ao tamanho e à capacidade de processamento, e
ainda ao tipo de usuário (uma única pessoa)• Computadores pessoais• Desktop, Laptops, Notebooks, sub-notebooks e Palmtops• Primeiro: Altais com microprocessador Intel 8080
– Estação de Trabalho• É um microcomputador projetado para realizar tarefas pesadas, nas
áreas científica ou industrial (CAD, CAM, complexas computações matemáticas, entre outras)
• Maior velocidade de processamento• Mais capacidade de memória (tamanho e velocidade)• Dispositivo de vídeo de mais alta qualidade
2008 @ Maria Salete Marcon Gomes Vaz
Componentes de um Sistema de Computação Classificação de Sistemas de Computação
– Minicomputadores• São máquinas projetadas para atender simultaneamente a demanda
por execução de programas de vários usuários• Capacidade de dar suporte a múltiplos usuários• Velocidade de processamento• Capacidade/velocidade de memória• Extensa potencialidade para manipular diversos dispositivos de E/S• Requerem sofisticação maior de programas de controle
– Computadores de Grande Porte• São sistemas projetados para manusear considerável volume de dados
e executar simultaneamente programas de uma grande quantidade de usuários
• Exemplo: Sistema de reservas de passagens aéreas• IBM 3090
2008 @ Maria Salete Marcon Gomes Vaz
Componentes de um Sistema de Computação Classificação de Sistemas de Computação
– Supercomputadores
• Propósito: realizar grandes quantidades de cálculos matemáticos o
mais rapidamente possível
• Previsão de tempo, simulação e modelagem tridimensional
• É capaz de realizar dois bilhões de operações matemáticas por
segundo e manipular mais de um bilhão de células de memória
2008 @ Maria Salete Marcon Gomes Vaz
Conversão de Bases e Aritmética Computacional Aritmética Binária
– Soma Binária
• A operação de soma de dois números em base 2 é efetuada de modo semelhante à soma decimal, levando-se em conta, apenas, que só há dois algarismos disponíveis (0 e 1).
• 0 + 0 = 0
• 1 + 0 = 1
• 0 + 1 = 1
• 1 + 1 = 0, com “vai 1”
2008 @ Maria Salete Marcon Gomes Vaz
Conversão de Bases e Aritmética Computacional
101101
+ 101011
1011000
10101
+ 11100
110001
100110
+ 011100
1000010
1001111
+ 1100111
10110110
Exemplos
2008 @ Maria Salete Marcon Gomes Vaz
Conversão de Bases e Aritmética Computacional
Subtração Binária– Da direita para a esquerda
• 1 -1 = 0• 0-1= não é possível, retira-se 1 da ordem a
esquerda, que fica com 1-1=0 e passa-se para a ordem a direita, como 2, visto que 1 unidade de ordem à esquerda vale uma base de unidades (no caso, base= 2) da ordem a direita. Assim, 2-1 = 1
• 0-1 = 2-1 = 1 procedimento anterior repetido• 0-0=0• 0-0=0• 1-1=0• Resultado:0001102 ou 1102
2
002
101101
100111
000110
2008 @ Maria Salete Marcon Gomes Vaz
Conversão de Bases e Aritmética Computacional
1
02202
100101
- 011010
001011
1121
022022
11001001
- 10111011
00001110
1
02 022
100110001
- 010101101
010000100
Exemplos
2008 @ Maria Salete Marcon Gomes Vaz
Conversão de Bases e Aritmética Computacional
11
443
+ 653
13168
88
6208
7312
- 3465
36258
111
3657
+ 1741
56208
Aritmética Octal– Consiste em processo similar ao da aritmética binária, com exceção do fato de que,
neste caso, tem-se 8 algarismos disponíveis. Ocorrerá “vai 1” quando a soma de dois algarismos for igual ou ultrapassar o valor da base, isto é, 8.
Exemplos de Adição e Subtração
2008 @ Maria Salete Marcon Gomes Vaz
Conversão de Bases e Aritmética Computacional
16
3B16D16
4C7BE8
- 1E927A
2DE96E16
1 11
3A943B
+ 23B7D5
5E4C1016
Aritmética Hexadecimal– Segue as mesmas regras que qualquer base
Exemplos de Adição e Subtração
2008 @ Maria Salete Marcon Gomes Vaz
Conversão de Bases e Aritmética Computacional Notação Posicional
– Base Decimal
• 125310 ou 1253
• Número composto de quatro algarismo
• Cada algarismo possui um valor correspondente a sua posição no número
• 3 (algarismo mais a direita) representa 3 unidades
– valor absoluto = 3; valor relativo = 3 (1a. Posição a direita)
– 3 x 100
• 5 x 101
• 2 x 102
• 1 x 103
• O valor total do número = 3 + 50 + 200 + 1000 = 125310
2008 @ Maria Salete Marcon Gomes Vaz
Conversão de Bases e Aritmética Computacional
Notação Posicional– Generalização para um sistema qualquer de numeração
• N = (dn-1 dn-2 dn-3 .... d1 d0)b
– d indica cada algarismo do número N
– n-1, n-2, 1, 0 indica a posição de cada algarismo
– b indica a base de numeração
– n indica o número de dígitos inteiros
– O valor do número pode ser obtido pelo seguinte somatório
• N = dn-1x bn-1 + dn-2 x bn-2 + dn-3 x bn-3 + ... + d1 x b1 + d0 x b0
– Exemplo
• N = 1253
• N = 1 x 103 + 2 x 102 + 5 x 101 + 3 x 100
• N = 1000 + 200 + 50 + 3 = 125310
2008 @ Maria Salete Marcon Gomes Vaz
Conversão de Bases e Aritmética Computacional Outras Bases de Numeração
– Converter (1011)2 para Base 10
• 1 x 23 + 0 x 22 + 1 x 21 + 1 x 20 = 8 + 0 + 2 + 1 = (11)10
– Converter (1043)5 para Base 10
• 1 x 53 + 0 x 52 + 4 x 51 + 3 x 50 = 125 + 0 + 20 + 3 = (148)10
– Converter (257)8 para Base 10
• 2 x 82 + 5 x 81 + 7 x 80 = 128 + 40 + 7 = (175)10
– O número máximo de algarismos diferentes de uma base é igual ao valor da base
• Na Base 10, temos 10 dígitos: de 0 a 9 dígitos
• Na Base 2, temos dois dígitos: 0 e 1
• Na Base 5, temos 5 dígitos: de 0 a 4
2008 @ Maria Salete Marcon Gomes Vaz
Conversão de Bases e Aritmética Computacional
Base 16 ou Hexadecimal– Nesta base, os “algarismos” A, B, C, D, E, F representam, respectivamente, os
valores (da base 10): 10, 11, 12, 13, 14 e 15– 16 algarismos: 0, 1, 2, ... 9, A, B, C, D, E e F– Exemplo: (1A7B)16
• 1 x 163 + 10 x 162 + 7 x 161 + 11 x 160 = 4096 + 2560 + 112 + 11 = (6779)10
– Observações• Dígitos octais correspondem a combinação de 3 bits (algarismos binários)• Dígitos hexadecimais correspondem a combinação de 4 bits (algarismos
binários) • Bases > Base 2• Exemplo 1: (101111011101)2 = (5735)8
– 101 = 5; 111 = 7; 011 = 3; 101 = 5• Exemplo 2: (101111011101)2 = (BDD)16
– 1011 = B; 1101 = D; 1101 = D
2008 @ Maria Salete Marcon Gomes Vaz
Conversão de Bases e Aritmética Computacional Conversão entre Bases
– Entre as Bases 2 e 8• 8 = 23 , assim se um número binário for inteiro, basta dividi-lo,
da direita para a esquerda, em grupos de 3 bits (o último grupo não sendo múltiplo de 3, preenche-se com zeros a esquerda
• (111010111)2 = (727)8
– (111) = 7; (010) = 2; (111) = 7 • (1010011111)2 = (1237)8
– (001) = 1; (010) = 2; (011) = 3; (111) = 7
– Entre as Bases 8 e 2• Processo inverso• (327)8 = (11010111)2• 011 = 3; 010 = 2; 111= 7
2008 @ Maria Salete Marcon Gomes Vaz
Conversão de Bases e Aritmética Computacional Conversão entre Bases
– Entre as Bases 2 e 16• 16 = 24 , assim se um número binário for inteiro, basta dividi-lo, da
direita para a esquerda, em grupos de 4 bits (o último grupo não sendo múltiplo de 4, preenche-se com zero a esquerda)
• (1011011011)2 = (2DB)16
– (0010) = 2; (1101) = D; (1011) = B
– Entre as Bases 16 e 2• Processo inverso• (306)16 = (1100000110)2
• 0011 = 3; 0000 = 0; 0110 = 6
2008 @ Maria Salete Marcon Gomes Vaz
Conversão de Bases e Aritmética Computacional Conversão entre Bases
– Entre as Bases 8 e 16• Processo intermediário : converter para a base 2• (3174)8 = (67C)16
– (011) = 3; (001) = 1; (111) = 7; (100) = 4 – (3174)8 = (011001111100)2
– (0110) = 6; (0111) = 7; (1100)= C
– Entre as Bases 16 e 8• Processo inverso• (3C7)16 = (1707)8
– 0011 = 3; 1100 = C; 0111 = 7– (3C7)16 = (001111000111)2
– (001)=1; (111)=7; (000) = 0; (111)=7
2008 @ Maria Salete Marcon Gomes Vaz
Conversão de Bases e Aritmética Computacional Conversão entre Bases
– Entre as Bases B para Base 10• (457)9 = (376)10
– 4x92 + 5x91 + 7x90 =– 324 + 45 + 7 =– (376)10
• (243)5 = (73)10
– 4x52 + 5x51 + 7x50 = – 50 + 20 + 3 =– (73)10
2008 @ Maria Salete Marcon Gomes Vaz
Conversão de Bases e Aritmética Computacional Conversão entre Bases
– Entre as Bases 10 para Base B
• Dividir o número decimal pelo valor da base desejada
• O resto encontrado é o algarismo menos significativo do valor da base B (mais a direita)
• Dividir o quociente encontrado pela base B
• O resto é o outro algarismo (à esquerda), e assim sucessivamente
• (3964)10 = (7574)8
– 3964/8 = 495; resto = 4 (algarismo menos significativo)
– 495/8 = 61; resto = 7
– 61/8 = 7; resto = 5
– 7/8 = 0; resto = 7 (algarismo mais significativo)
2008 @ Maria Salete Marcon Gomes Vaz
Conversão de Bases e Aritmética Computacional Conversão entre Bases
– Entre as Bases 10 para Base B (algoritmo de conversão)• Enquanto quociente for diferente de zero
– dividir dividendo por divisor– extrair resto como algarismo e colocá-lo a esquerda do anterior
• Enquanto dividendo for maior que divisor– dividir dividendo por divisor– extrair resto como algarismo e colocá-lo à esquerda do anterior
Usar o dividendo que é menor que o divisor como último algarismo à esquerda (algarismo mais significativo)
2008 @ Maria Salete Marcon Gomes Vaz
Conversão de Bases e Aritmética Computacional Conversão entre Bases 10 e B (Exemplos)
– (483)10 = (743)8
• 483/8 = 60; resto = 3 • 60/8 = 7; resto = 4• 7/8 = 0; resto = 7
– (45)10 = (101101)2
• 45/2 = 22; resto = 1 • 22/2 = 11; resto = 0• 11/2 = 5; resto = 1• 5/2 = 2; resto = 1• 2/2 = 1; resto = 0• 1/2 = 0; resto = 1
2008 @ Maria Salete Marcon Gomes Vaz
Conversão de Bases e Aritmética Computacional Conversão entre Bases 10 e B (Exemplos)
– (2754)10 = (AC2)16
• 2754/16 = 172; resto = 2 • 172/16 = 10; resto = 12; algarismo C• 10/16 = 0; resto = 10; algarismo A
– (490)10 = (1EA)16
• 490/16 = 30; resto = 10; algarismo A • 30/16 = 1; resto = 14; algarismo E• 1/16 = 0; resto = 1
2008 @ Maria Salete Marcon Gomes Vaz
Conceitos da Lógica Digital Introdução
– Computador Digital é uma máquina projetada para armazenar e manipular informações
representadas por algarismos ou dígitos e que só podem assumir dois valores distintos, 0 e 1
Informação Binária
– Representada por quantidades físicas, sinais elétricos, os quais são gerados e mantidos
internamente ou recebidos de elementos externos em dois níveis de intensidade, cada um
correspondendo a um valor binário
– Campo magnético e sinais óticos - outras formas de armazenamento
2008 @ Maria Salete Marcon Gomes Vaz
Conceitos da Lógica Digital Circuitos Digitais
– Circuitos eletrônicos, que armazenam os sinais binários e realizam
certos tipos de operações com eles.
– Formados de pequenos elementos (portas lógicas ou gates) capazes de
manipular grandezas apenas binárias
Portas Lógicas ou Gates– Permitem ou não a passagem dos sinais digitais– Elementos de hardware (circuito eletrônico) que recebe um ou mais
sinais de entrada e produz um sinal de saída– O valor é dependente do tipo de regra lógica estabelecida para a
construção do referido circuito– Circuitos Lógicos - Circuitos que contêm as portas lógicas
2008 @ Maria Salete Marcon Gomes Vaz
Conceitos da Lógica Digital
Utilidade de Portas Lógicas
– Armazenamento de valores
– Controle do fluxo de sinais entre os componentes
– Realizar operações matemáticas
Álgebra de Chaveamento ou Switching Algebra
– Ramo da Álgebra Booleana ou Álgebra Moderna
– Conceitos e Regras para projeto de circuitos digitais e a análise de seu
comportamento
2008 @ Maria Salete Marcon Gomes Vaz
Conceitos da Lógica Digital
Portas e Operações Lógicas – Porta Lógica - um circuito eletrônico
– UCP Fabricados através da
– Memória Principal combinação de milhões
– Interfaces de E/S de circuito eletrônicos
– Outros
– Operação Lógica - realizada sobre um ou mais valores lógicos produz um certo resultado, conforme a regra definida
2008 @ Maria Salete Marcon Gomes Vaz
Conceitos da Lógica Digital
Operação Lógica e Tabela Verdade
– Produz um resultado que pode assumir dois valores, 0 (Falso) e 1
(Verdadeiro).
– Tabela Verdade - Todos os possíveis valores de resultado de uma
dada operação lógica
• Possui tantas linhas de informação quantas são as possíveis
combinações de valores de entrada
• Entrada: 1 valor Saída: 0 ou 1(valores possíveis)
• Entrada: 2 valores Saída: 00, 01, 10, 11(valores possíveis)
• Entrada: n valores Saída: 2n combinações possíveis
2008 @ Maria Salete Marcon Gomes Vaz
Conceitos da Lógica Digital Operação Lógica ou Porta AND (E)
– Elemento ou operação lógica que produz um resultado verdade (=1) na saída, se e somente se todas as entrada forem verdade
Entrada SaídaA B X=AB0 0 00 0 00 1 00 1 01 0 01 0 01 1 11 1 1
2008 @ Maria Salete Marcon Gomes Vaz
Conceitos da Lógica Digital Operação Lógica ou Porta OR (OU)
– Elemento ou operação lógica que produz um resultado verdade
(=1) na sua saída, se pelo menos uma das entradas for verdade
Entrada SaídaA B X=A+B0 0 00 0 00 1 10 1 11 0 11 0 11 1 11 1 1
2008 @ Maria Salete Marcon Gomes Vaz
Conceitos da Lógica Digital Operação Lógica NOT (Inversor ou Função Complemento)
– Inverte o valor de um sinal binário colocado em sua entrada, produzindo na saída o valor oposto
Entrada Saída A X=A 0 10 1 1 01 0
2008 @ Maria Salete Marcon Gomes Vaz
Conceitos da Lógica Digital Operação Lógica NAND - NOT AND
– Complemento da porta AND – A saída de um circuito lógico NAND é obtida ao se aplicar a regra da
porta AND e inverter o resultado
Entrada SaídaA B X=AB0 0 10 0 10 1 10 1 11 0 11 0 11 1 01 1 0
2008 @ Maria Salete Marcon Gomes Vaz
Conceitos da Lógica Digital Operação Lógica NOR - NOT OR
– Complemento ou inverso da porta OR – A saída de um circuito lógico NOR é obtida ao se aplicar a regra da porta
OR e inverter o resultado
Entrada SaídaA B X=A+B0 0 10 0 10 1 00 1 01 0 01 0 01 1 01 1 0
2008 @ Maria Salete Marcon Gomes Vaz
Conceitos da Lógica Digital Operação Lógica XOR - EXCLUSIVE OR
– Caso particular da função OR
– A saída será verdade se exclusivamente uma ou outra entrada for verdade
Entrada SaídaA B X=AB0 0 00 0 00 1 10 1 11 0 11 0 11 1 01 1 0
2008 @ Maria Salete Marcon Gomes Vaz
Aulas Práticas
Sistema Operacional Planilha Eletrônica Banco de Dados
2008 @ Maria Salete Marcon Gomes Vaz
Bibliografia
MONTEIRO, M., Introdução à Organização de Computadores, 3o Edição, Editora Livros Técnicos e Científicos, 1996.
TANENBAUM, A. S., Organização Estruturada de Computadores, Editora Campus, 1995.
NORTON, P., Desvendando o PC, Editora Campus,1996.
Entre outros...