Вы находитесь на странице: 1из 20

Mdulo 1

Introduo Programao I

Lio 1
Introduo Programao de Computadores

Verso 1.01 - Jan/2008

JEDITM

Autor Florence Tiu Balagtas Equipe Joyce Avestro Florence Balagtas Rommel Feria Reginald Hutcherson Rebecca Ong John Paul Petines Sang Shin Raghavan Srinivas Matthew Thompson

NecessidadesparaosExerccios
SistemasOperacionaisSuportados NetBeans IDE 5.5 para os seguintes sistemas operacionais: Microsoft Windows XP Profissional SP2 ou superior Mac OS X 10.4.5 ou superior Red Hat Fedora Core 3 Solaris 10 Operating System (SPARC e x86/x64 Platform Edition) NetBeans Enterprise Pack, poder ser executado nas seguintes plataformas: Microsoft Windows 2000 Profissional SP4 Solaris 8 OS (SPARC e x86/x64 Platform Edition) e Solaris 9 OS (SPARC e x86/x64 Platform Edition) Vrias outras distribuies Linux ConfiguraoMnimadeHardware Nota: IDE NetBeans com resoluo de tela em 1024x768 pixel Sistema Operacional Microsoft Windows Linux Solaris OS (SPARC) Solaris OS (x86/x64 Platform Edition) Mac OS X Processador 500 MHz Intel Pentium III workstation ou equivalente 500 MHz Intel Pentium III workstation ou equivalente UltraSPARC II 450 MHz AMD Opteron 100 Srie 1.8 GHz PowerPC G4 Memria 512 MB 512 MB 512 MB 512 MB 512 MB HD Livre 850 MB 450 MB 450 MB 450 MB 450 MB

ConfiguraoRecomendadadeHardware Sistema Operacional Microsoft Windows Linux Solaris OS (SPARC) Solaris OS (x86/x64 Platform Edition) Mac OS X Processador 1.4 GHz Intel Pentium III workstation ou equivalente 1.4 GHz Intel Pentium III workstation ou equivalente UltraSPARC IIIi 1 GHz AMD Opteron 100 Series 1.8 GHz PowerPC G5 Memria 1 GB 1 GB 1 GB 1 GB 1 GB HD Livre 1 GB 850 MB 850 MB 850 MB 850 MB

RequerimentosdeSoftware NetBeans Enterprise Pack 5.5 executando sobre Java 2 Platform Standard Edition Development Kit 5.0 ou superior (JDK 5.0, verso 1.5.0_01 ou superior), contemplando a Java Runtime Environment, ferramentas de desenvolvimento para compilar, depurar, e executar aplicaes escritas em linguagem Java. Sun Java System Application Server Platform Edition 9. Para Solaris, Windows, e Linux, os arquivos da JDK podem ser obtidos para sua plataforma em http://java.sun.com/j2se/1.5.0/download.html Para Mac OS X, Java 2 Plataform Standard Edition (J2SE) 5.0 Release 4, pode ser obtida diretamente da Apple's Developer Connection, no endereo: http://developer.apple.com/java ( necessrio registrar o download da JDK). Para mais informaes: http://www.netbeans.org/community/releases/55/relnotes.html

Introduo Programao I

JEDITM

Colaboradores que auxiliaram no processo de traduo e reviso


Alexandre Mori Alexis da Rocha Silva Aline Sabbatini da Silva Alves Allan Wojcik da Silva Andr Luiz Moreira Andro Mrcio Correa Louredo Antoniele de Assis Lima Antonio Jose R. Alves Ramos Aurlio Soares Neto Bruno da Silva Bonfim Bruno dos Santos Miranda Bruno Ferreira Rodrigues Carlos Alberto Vitorino de Almeida Carlos Alexandre de Sene Carlos Andr Noronha de Sousa Carlos Eduardo Veras Neves Cleber Ferreira de Sousa Cleyton Artur Soares Urani Cristiano Borges Ferreira Cristiano de Siqueira Pires Derlon Vandri Aliendres Fabiano Eduardo de Oliveira Fbio Bombonato Fernando Antonio Mota Trinta Flvio Alves Gomes Francisco das Chagas Francisco Marcio da Silva Gilson Moreno Costa Givailson de Souza Neves Gustavo Henrique Castellano Hebert Julio Gonalves de Paula Heraldo Conceio Domingues Hugo Leonardo Malheiros Ferreira Ivan Nascimento Fonseca Jacqueline Susann Barbosa Jader de Carvalho Belarmino Joo Aurlio Telles da Rocha Joo Paulo Cirino Silva de Novais Joo Vianney Barrozo Costa Jos Augusto Martins Nieviadonski Jos Leonardo Borges de Melo Jos Ricardo Carneiro Kleberth Bezerra G. dos Santos Lafaiete de S Guimares Leandro Silva de Morais Leonardo Leopoldo do Nascimento Leonardo Pereira dos Santos Leonardo Rangel de Melo Filardi Lucas Mauricio Castro e Martins Luciana Rocha de Oliveira Lus Carlos Andr Lus Octvio Jorge V. Lima Luiz Fernandes de Oliveira Junior Luiz Victor de Andrade Lima Manoel Cotts de Queiroz Marcello Sandi Pinheiro Marcelo Ortolan Pazzetto Marco Aurlio Martins Bessa Marcos Vinicius de Toledo Maria Carolina Ferreira da Silva Massimiliano Giroldi Mauricio Azevedo Gamarra Mauricio da Silva Marinho Mauro Cardoso Mortoni Mauro Regis de Sousa Lima Namor de S e Silva Nres Chaves Rebouas Nolyanne Peixoto Brasil Vieira Paulo Afonso Corra Paulo Jos Lemos Costa Paulo Oliveira Sampaio Reis Pedro Antonio Pereira Miranda Pedro Henrique Pereira de Andrade Renato Alves Flix Renato Barbosa da Silva Reyderson Magela dos Reis Ricardo Ferreira Rodrigues Ricardo Ulrich Bomfim Robson de Oliveira Cunha Rodrigo Pereira Machado Rodrigo Rosa Miranda Corra Rodrigo Vaez Ronie Dotzlaw Rosely Moreira de Jesus Seire Pareja Sergio Pomerancblum Silvio Sznifer Suzana da Costa Oliveira Tsio Vasconcelos da Silveira Thiago Magela Rodrigues Dias Tiago Gimenez Ribeiro Vanderlei Carvalho Rodrigues Pinto Vanessa dos Santos Almeida Vast Mendes da Silva Rocha Wagner Eliezer Roncoletta

Auxiliadores especiais
Reviso Geral do texto para os seguintes Pases:
Brasil Tiago Flach Guin Bissau Alfredo C, Bunene Sisse e Buon Olossato Quebi ONG Asas de Socorro

Coordenao do DFJUG
Daniel deOliveira JUGLeader responsvel pelos acordos de parcerias Luci Campos - Idealizadora do DFJUG responsvel pelo apoio social Fernando Anselmo - Coordenador responsvel pelo processo de traduo e reviso, disponibilizao dos materiais e insero de novos mdulos Regina Mariani - Coordenadora responsvel pela parte jurdica Rodrigo Nunes - Coordenador responsvel pela parte multimdia Srgio Gomes Veloso - Coordenador responsvel pelo ambiente JEDITM (Moodle)

Agradecimento Especial
John Paul Petines Criador da Iniciativa JEDITM Rommel Feria Criador da Iniciativa JEDITM

Introduo Programao I

JEDITM

1. Objetivos
Nesta seo, vamos discutir os componentes bsicos de um computador, tanto em relao a hardware como a software. Tambm veremos uma pequena introduo sobre linguagens de programao e sobre o ciclo de vida do desenvolvimento. Por fim, mostraremos os diferentes sistemas numricos e as converses entre eles. Ao final desta lio, o estudante ser capaz de: Identificar os diferentes componentes de um computador. Conhecer as linguagens de programao e suas categorias. Entender o ciclo de vida de desenvolvimento de programas e aplic-lo na soluo de problemas. Conhecer os diferentes sistemas numricos e as converses entre eles.

Introduo Programao I

JEDITM

2. Introduo
O computador uma mquina que realiza uma variedade de tarefas de acordo com instrues especficas. uma mquina de processamento de dados, que recebe dados atravs de um dispositivo de entrada e o processador os manipula de acordo com um programa. O computador tem dois componentes principais. O primeiro o Hardware que a parte palpvel (que se pode tocar) do computador. Ele composto de partes eletrnicas e mecnicas. O segundo componente principal o Software que a parte impalpvel (no se pode tocar) do computador. Ele composto de dados e dos programas de computador.

Introduo Programao I

JEDITM

3. Componentes Bsicos de um Computador


3.1. Hardware
3.1.1. Unidade Central de Processamento (CPU - Central Processing Unit)

O processador o crebro do computador. Ele possui milhes de partes eltricas muito pequenas. Ele faz as operaes fundamentais dentro do sistema. Alguns exemplos de processadores so o Pentium, Athlon e SPARC.

Figura 1: Processador de um PC

3.1.2.

Memria

A memria, onde se encontram os dados e as instrues que a CPU precisa para realizar suas tarefas, dividida em diversos locais de armazenamento que possuem seus respectivos endereos lgicos. A CPU acessa a memria pelo uso destes endereos. 1. Memria Principal A memria principal, s vezes, chamada de RAM (Random Access Memory ou Memria de Acesso Randmico) est fortemente ligada ao processador. Ela utilizada para armazenar programas e dados, com os quais o processador est trabalhando no momento e no utilizada para armazenamento de longo prazo, por este motivo seu armazenamento considerado voltil. Isto significa que assim que o computador desligado, toda a informao armazenada na memria principal ser perdida.

Figura 2: Pente de memria

2. A Memria Secundria A memria secundria est ligada memria principal. Ela usada para armazenar programas e dados para uso de longo prazo. Exemplos de memria secundria so discos rgidos e cd-rom.

Introduo Programao I

JEDITM

Figura 3: Interior de um Disco rgido do computador

A memria secundria considerada um tipo de armazenamento no-voltil. Isto significa que as informaes nela armazenadas no sero perdidas aps o computador ser desligado. Memria Principal Rpida Cara Baixa Sim Memria Secundria Lenta Barata Alta No Propriedade Velocidade Preo Capacidade Voltil

Tabela 1: Comparao entre a memria principal e a memria secundria

3.1.3.

Dispositivos de Entrada e Sada

Os dispositivos de entrada e sada permitem que o computador interaja com o mundo exterior pela movimentao de dados para dentro e para fora do sistema. Exemplos de dispositivos de entradas so teclados, mouses, microfones, etc. Exemplos de dispositivos de sada so monitores, impressoras, alto-falantes, etc.

3.2. Software
O software um programa que o computador usa para funcionar. Ele armazenado em algum dispositivo de hardware como um disco rgido, mas em si mesmo intangvel. Os dados que o computador usa podem ser qualquer coisa que o programa precise. Os programas agem como instrues para o processador. Alguns tipos de programas de computador: 1. Programas de Sistemas Programas necessrios para que o hardware e o software funcionem juntos corretamente. Exemplos: Sistemas Operacionais como Linux, Windows, Unix, Solaris, MacOS 2. Aplicativos Programas que as pessoas usam para realizar determinado trabalho. Exemplos: Processadores de Textos Jogos Planilhas Eletrnicas 3. Compiladores O computador entende apenas uma linguagem: linguagem de mquina. Linguagem de mquina
Introduo Programao I 7

JEDITM

est na forma de zeros e uns. J que totalmente impraticvel para as pessoas criarem programas usando zeros e uns, preciso haver uma maneira de traduzir ou converter a linguagem que entendemos em linguagem de mquina, para isto, existem os compiladores.

Introduo Programao I

JEDITM

4. Viso Geral sobre Linguagens de Programao


4.1. O que uma linguagem de programao?
Uma linguagem de programao uma tcnica de comunicao padronizada para se expressar instrues para um computador. Assim como os idiomas utilizados pelos seres humanos, cada linguagem tem sua prpria sintaxe e gramtica. Linguagens de programao possibilitam ao programador especificar precisamente com quais dados o computador ir interagir, como estes dados sero gravados/transmitidos, e precisamente quais aes sero tomadas de acordo com as circunstncias. Existem diferentes tipos de linguagens de programao que podem ser usadas para a criao de programas, mas, independente da linguagem utilizada, essas instrues so traduzidas em linguagem de mquina, e podem ser entendidas por computadores.

4.2. Categorias das Linguagens de Programao


1. Linguagens de Programao de Alto Nvel Uma linguagem de programao de alto nvel uma linguagem de programao que mais amigvel para o usurio, em alguns casos independente de plataforma, e que abstrai operaes de baixo nvel como acesso a memria. Uma instruo de programao pode ser traduzida em uma ou vrias instrues de mquina por um compilador. Exemplos so Java, C, C++, Basic, Fortran 2. Linguagens de Montagem de Baixo Nvel Linguagens de montagem so similares s linguagens de mquina, so mais simples de programar pois possuem poucos comandos e permitem ao programador substituir nomes por nmeros. Linguagens de montagem esto disponveis em cada famlia de CPU, e cada instruo de montagem traduzida em uma instruo de mquina por um programa montador. Nota: Os termos "alto nvel" e "baixo nvel" so relativos. Originalmente, linguagens de montagem eram consideradas de baixo nvel e COBOL, C, etc. eram consideradas de alto nvel. Muitos programadores, hoje em dia, podem se referir a estas ltimas como linguagens de baixo nvel.

Introduo Programao I

JEDITM

5. O Ciclo de Vida de Desenvolvimento de Programas


Programadores no sentam e simplesmente comeam a escrever cdigo de uma vez, quando esto tentando fazer um programa de computador. Ao invs disto, eles seguem um planejamento organizado ou metodologia, que quebra o processo em uma srie de tarefas. Este o ciclo de vida quando se tenta resolver um problema no computador:

Figura 4: Ciclo de vida para a resoluo de problemas

Para entendermos o funcionamento deste ciclo na soluo de problemas no computador, vamos definir um problema exemplo que iremos resolver passo a passo enquanto discutimos as metodologias para resoluo de problemas em detalhe.

5.1. Definir o problema


Geralmente, um programador recebe uma tarefa na forma de um problema. Antes do programa poder ser projetado para resolver um problema em particular, o problema deve, em primeiro lugar, ser bem e claramente definido em termos dos seus requisitos de entrada e sada. Um problema claramente definido j metade da soluo. Programao de computadores requer que o problema seja primeiro definido antes de se pensar em criar a soluo. Vamos definir o problema exemplo: Crie um programa que ir determinar o nmero de vezes que um nome aparece em uma lista.

5.2. Analisar o problema


Depois do problema ter sido definido adequadamente, o mais simples e tambm o mais eficiente e efetivo meio de se resolver ser visualiz-lo atravs de uma representao clara e objetiva. Geralmente, este passo se d com a quebra do problema em sub-problemas menores e mais simples. Problema Exemplo: Determinar o nmero de vezes que um nome aparece em uma lista Entrada para o programa: Lista de nomes, nome que se deseja procurar Sada do programa: O nmero de vezes que o nome aparece em uma lista

5.3. Projetar e representar o algoritmo


Logo que o problema estiver sido claramente definido, podemos nos concentrar em desenvolver a soluo. Na programao de computadores, geralmente requirido que expressemos a soluo passo a passo.

Introduo Programao I

10

JEDITM

Um Algoritmo uma especificao clara e no ambgua dos passos necessrios para se resolver o problema. Ele pode ser expresso tanto em linguagem humana (Ingls, Tagalog e Portugus), como atravs de representao grfica como fluxograma ou atravs de pseudocdigo, que um meio termo entre a linguagem humana e a linguagem de programao. Dado o problema definido na seo anterior, como podemos expressar a soluo de uma maneira simples e que possa ser entendida? Expressando a soluo atravs da linguagem humana: 1. 2. 3. 4. 5. 6. 7. 8. Obter a lista de nomes, vamos cham-la de NomeLista Obter o nome a ser procurado, vamos cham-lo de NomeChave Criar um contador, vamos cham-lo de Conta Pegar cada nome em NomeLista Se NomeChave for igual ao nome selecionado em NomeLista Adicionar 1 a Conta Repetir 4 at que todos os nomes j tiverem sido comparados Exibir o valor de Conta

Expressando a soluo atravs de um fluxograma:

Figura 5: Exemplo de um fluxograma

Expressando a soluo atravs de pseudocdigo:

Introduo Programao I

11

JEDITM

Fazer NomeLista = Lista de Nomes Fazer NomeChave = o nome a ser procurado Fazer conta = 0 Para cada nome em NomeLista fazer Se nome igual a NomeChave Fazer Conta = Conta + 1 Mostrar Conta
Figure 6: Exemplo de pseudocdigo

5.3.1.

Smbolos do Fluxograma e o seu significado

Um fluxograma uma ferramenta de projeto usada para representar graficamente a lgica de uma soluo. Os fluxogramas, tipicamente, no mostram comandos de linguagem de programao. Ao invs disto, eles mostram o conceito em Portugus ou em notao matemtica. Aqui esto algumas dicas dos smbolos mais usados para a criao de fluxogramas. Pode-se utilizar quaisquer smbolos quando criar os seus fluxogramas, desde que use-os de maneira consistente. Smbolo Nome Significado
Representa o processo de se executar uma operao definida ou grupo de operaes que resultam em mudana de valor, forma ou localizao da informao. Tambm funciona como smbolo padro quando nenhum outro smbolo estiver disponvel. Representa a funo de E/S que faz com que os dados fiquem disponveis para processamento (entrada) ou para a exibio (sada) das informaes processadas. Representa a seqncia de informaes disponveis e operaes executveis. As linhas conectam outros smbolos, e as setas so obrigatrias somente em fluxos com orientao da direita para esquerda e de baixo para cima.

Smbolo de Processo

Smbolo de Entrada/Sada (E/S)

Smbolo de Linha

Representa a adio de informao descritiva, comentrios, ou notas explicativas para esclarecimentos. A linha vertical e a linha Smbolo de Anotao pontilhada podem ser colocadas esquerda, como mostrado, ou direita. Representa a deciso que determina qual das

Smbolo de Deciso alternativas ser seguida.

Smbolo Terminal

Representa o comeo, o final, um ponto de interrupo ou um atraso em um programa.

Smbolo Conector
Representa qualquer entrada, ou sada, a outra parte do fluxograma. Tambm serve como um conector fora de pgina.

Introduo Programao I

12

JEDITM

Smbolo

Nome Smbolo de Processo Pr-definido

Significado
Representa um processo nomeado consistindo de uma ou mais operaes ou passos de programa especificados em algum outro lugar.

Tabela 2: Smbolos do Fluxograma

5.4. Codificar e Depurar


Depois de construir o algoritmo, ser possvel criar o cdigo fonte. Usando o algoritmo como base, o cdigo fonte pode ser escrito usando a linguagem de programao escolhida. Na maioria das vezes, depois do programador ter escrito o programa, este poder no estar funcionando 100% no incio. O programador deve corrigir o programa no caso de erros (tambm conhecidos como Erros de Compilao) que ocorrem no programa. Este processo chamado de depurao de erros (debug). Existem dois tipos de erros que os programadores podero encontrar. O primeiro o erro em tempo de compilao e o outro o erro em tempo de execuo. Erro em tempo de compilao ocorre se h um erro de sintaxe no cdigo. O compilador ir detectar o erro e o programa nem mesmo compilar. Neste ponto, o programador estar inapto a criar um executvel que possa ser executado pelo usurio at que o erro seja corrigido. Esquecer um ponto-e-vrgula no final de uma instruo ou escrever um comando erroneamente, por exemplo, so erros em tempo de compilao. algo que o compilador pode detectar como sendo um erro. Compiladores no so perfeitos e ento no podem detectar todos os erros em tempo de compilao. Isso especialmente verdadeiro para erros de lgica como as repeties (loops) infinitos. Este tipo de erro chamado de erro em tempo de execuo. Por exemplo, a sintaxe do cdigo pode estar correta. Entretanto, ao seguir a lgica do cdigo, o mesmo pedao de instruo executado vrias e vrias vezes, infinitamente. Neste caso, os compiladores no so espertos o suficiente para pegar todos estes tipos de erro em tempo de compilao, conseqentemente, o programa compila corretamente em um arquivo executvel. Entretanto, quando o usurio final roda o programa, o programa (ou mesmo o computador inteiro) congela devido a uma repetio infinita. Outros tipos de erro em tempo de execuo so: um valor errado a ser computado, uma instruo errada a ser executada, etc.

Introduo Programao I

13

JEDITM

6. Sistemas Numricos e Converses


Nmeros podem ser representados de vrias maneiras. A representao depende do que chamado de BASE. As que seguem so quatro das representaes mais comuns.

6.1. Decimal
Normalmente representamos os nmeros na forma decimal. Nmeros na forma decimal esto na base 10. Isto significa que os nicos dgitos que aparecem so 0-9. Aqui esto alguns exemplos de nmeros escritos na forma decimal: 12610 (normalmente escrito somente como 126) 1110 (normalmente escrito somente como 11)

6.2. Binrio
Nmeros na forma binria esto na base 2. Isto significa que os nicos dgitos aceitos so 0 e 1. Precisamos escrever a subscrio 2 para indicar que o nmero um nmero binrio. Aqui esto alguns exemplos de nmeros escritos na forma binria: 11111102 10112

6.3. Octal
Nmeros na forma octal esto na base 8. Isto significa que os nicos dgitos aceitos so 0-7. Precisamos escrever a subscrio 8 para indicar que o nmero um nmero octal. Aqui esto alguns exemplos de nmeros escritos na forma octal: 1768 138

6.4. Hexadecimal
Nmeros na forma hexadecimal esto na base 16. Isto significa que os nicos dgitos aceitos so 0-9 e as letras A-F (ou a-f, minsculas ou maisculas no importam). Precisamos escrever a subscrio 16 para indicar que o nmero um nmero hexadecimal. Aqui esto alguns exemplos de nmeros escritos na forma hexadecimal: 7E16 B16 Hexadecimal Decimal Equivalente 0 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 A B C D E F

9 10 11 12 13 14 15

Tabela 3: Nmeros Hexadecimais e sua equivalncia para nmeros decimais

Decimal 12610 1110

Binrio 11111102 10112

Octal 1768 138

Hexadecimal 7E16 B16

Tabela 4: Sumrio dos exemplos

6.5. Converses
6.5.1. Decimal para Binrio / Binrio para Decimal

Para converter um nmero decimal em binrio, deve-se dividir continuamente este nmero por 2 e separar o resto (que ser ou 0 ou 1), considerando-o como um dgito da forma binria do nmero. Obter o quociente e dividir novamente por 2, repetir o processo at que o quociente atinja 0 ou 1. Ao trmino, agrupar todos os restos comeando pelo ltimo resto. O resultado a forma binria do nmero.
Introduo Programao I 14

JEDITM

NOTA: O ltimo dgito menor que o divisor (2) ser o primeiro nmero do resultado. Por Exemplo: 12610 = ? 2 126 63 31 15 7 3 1 / / / / / / / 2 2 2 2 2 2 2 = = = = = = = Quociente 63 31 15 7 3 1 Resto 0 1 1 1 1 1 1

Escreva nesta direo

Ento, escrevendo os restos de baixo para cima, obtemos o nmero binrio 11111102. Para converter um nmero binrio para decimal, multiplicar o dgito binrio por 2 elevado a posio deste nmero binrio. Adicionar todos os produtos para obter o nmero decimal resultante. Por Exemplo: 11111102 = ?
10

Posio

Dgitos Binrios

0 0 x 20 = 0 1 x 21 = 2 1 x 22 = 4 1 x 23 = 8 1 x 24= 16 1 x 25 = 32 1 x 26 = 64 TOTAL: 126

6.5.2.

Decimal Para Octal (ou Hexadecimal)/Octal (ou Hexadecimal) para Decimal

Converter nmeros decimais para octal ou hexadecimal basicamente o mesmo que converter decimal para binrio. Entretanto, ao invs de utilizar o 2 como divisor, substitu-lo por 8 (para octal) ou 16 (para hexadecimal). Por Exemplo (Octal): 12610 = ?
8

Quociente 126 / 8 = 15 / 8 = 1/8= 15 1

Resto 6 7 1
Escreva nesta direo

Ento, escrevendo os restos de baixo para cima, obtemos o nmero octal 1768. Por Exemplo (Hexadecimal): 12610 = ?
16

Introduo Programao I

15

JEDITM

Quociente 126 / 16 = 7 / 16 = 7

Resto 14 (igual ao dgito hexadecimal E) 7

Escreva nesta direo

Ento, escrevendo os restos de baixo para cima, obtemos o nmero hexadecimal 7E16 Converter nmeros octais ou hexadecimais um processo semelhante a converter nmeros de binrios para decimal. Para fazer isto, substitumos o nmero 2 pelo 8 para octal ou pelo 16 para hexadecimal. Por Exemplo (Octal): 1768 = ?
10

Posio

Dgitos Octais 1

6 6 x 80 = 6 7 x 81 = 56 1 x 82 = 64 TOTAL: 126

Por Exemplo (Hexadecimal): 7E16 = ? 10


Posio 1 0

Dgitos 7 Hexadecimais

E 14 x 160 = 14 7 x 161 = 112 TOTAL: 126

6.5.3.

Binrio para Octal / Octal para Binrio

Para conveter nmeros binrios para octal, partimos o nmero binrio em grupos de 3 dgitos (da direita para esquerda), e o preenchemos com zeros se o nmero de dgitos no for divisvel por 3. Ento, convertemos cada partio em seu correspondete dgito octal. A tabela abaixo mostra a representao binria de cada dgito octal. Dgito Octal 0 1 2 3 4 5 6 7 Por Exemplo: Representao Binria 000 001 010 011 100 101 110 111

Tabela 5: Dgitos Octais e sua representao binria correspondente

Introduo Programao I

16

JEDITM

11111102 = ?

0 1

1 7

1 6

Nmero octal equivalente Converter nmeros octais para binrio o oposto do que foi explicado acima. Simplesmente converta cada dgito octal na sua representao binria (conforme a tabela) e concatene-os. O resultado a representao binria.

6.5.4.

Binrio para Hexadecimal / Hexadecimal para Binrio

Para converter nmeros binrios para hexadecimal, partimos o nmero binrio em grupos de 4 dgitos (da direita para a esquerda), e o preenchemos com zero se o nmero de dgitos no for divisvel por 4. Ento convertemos cada partio em seu dgito hexadecimal correspondente. A tabela abaixo mostra a representao binria de cada dgito hexadecimal. Dgito Hexadecimal 0 1 2 3 4 5 6 7 8 9 A B C D E F Por Exemplo: 11111102 = ?
16

Representao Binria 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111

Tabela 6: Dgitos Hexadecimais e sua representao binria correspondente

1 7

1 E

Nmero hexadecimal equivalente


Introduo Programao I 17

JEDITM

Converter nmeros hexadecimais para binrio o oposto do que foi explicado acima. Simplesmente converta cada dgito hexadecimal na sua representao binria (conforme a tabela) e concatene-os. O resultado a representao binria.

Introduo Programao I

18

JEDITM

7. Exerccios
7.1. Escrevendo Algoritmos
Dado o seguinte conjunto de tarefas, crie um algoritmo para realizar cada uma das tarefas abaixo. Escreva os algoritmos usando pseudocdigo ou fluxogramas. 1. 2. 3. Assar po Acessar o computador Obter a mdia de trs nmeros

7.2. Converso de Nmeros


Converta os nmeros abaixo: 1. 2. 3. 4. 198010 para binrio, hexadecimal e octal 10010011012 para decimal, hexadecimal e octal 768 para binrio, hexadecimal e decimal 43F16 para binrio, decimal e octal

Introduo Programao I

19

JEDITM

Parceiros que tornaram JEDITM possvel

Instituto CTS Patrocinador do DFJUG. Sun Microsystems Fornecimento de servidor de dados para o armazenamento dos vdeo-aulas. Java Research and Development Center da Universidade das Filipinas Criador da Iniciativa JEDITM. DFJUG Detentor dos direitos do JEDITM nos pases de lngua portuguesa. Banco do Brasil Disponibilizao de seus telecentros para abrigar e difundir a Iniciativa JEDITM. Politec Suporte e apoio financeiro e logstico a todo o processo. Borland Apoio internacional para que possamos alcanar os outros pases de lngua portuguesa. Instituto Gaudium/CNBB Fornecimento da sua infra-estrutura de hardware de seus servidores para que os milhares de alunos possam acessar o material do curso simultaneamente.

Introduo Programao I

20

Вам также может понравиться