You are on page 1of 48

Lio 1

Introduo programao de computadores


Introduo Programao I 1

Objetivos
Ao final desta lio, o estudante ser capaz de:

Identificar os diferentes componentes de um computador Conhecer linguagens de programao e suas categorias Entender o ciclo de vida do desenvolvimento de um programa e aplic-lo na resoluo de problemas Aprender os diferentes sistemas numricos e suas converses

Introduo Programao I

Introduo

Computador Uma mquina que executa uma variedade de tarefas de acordo com instrues especficas Dois principais componentes: Hardware parte tangvel do computador composto de partes eletrnicas e mecnicas Software

parte intangvel do computador consiste de dados e programas de computador

Introduo Programao I

Componentes Bsicos de um Computador: Hardware

CPU Unidade Central de Processamento (Central Processing Unit)


O processador o crebro do computador Ele a parte fundamental de um sistema de informtica Exemplos: Pentium, Athlon e SPARC

Introduo Programao I

Componentes Bsicos de um Computador: Hardware

Memria Onde dados e instrues necessrias podem ser encontradas para que a CPU realize determinadas tarefas

Existem dois tipos:


Memria Principal Memria Secundria

Introduo Programao I

Componentes Bsicos de um Computador: Hardware

Memria Principal Utilizada para reter programas e dados que o processador utiliza com freqncia

No utilizada para armazenamento de longo prazo Chamada de RAM (Random Access Memory) Considerada como meio de armazenamento voltil

Introduo Programao I

Componentes Bsicos de um Computador: Hardware

Memria Secundria Usada para reter programas e dados por longo prazo em termos de uso

Exemplos de memria secundria so discos rgidos e cd-rom Considerado como memria no voltil

Introduo Programao I

Componentes Bsicos de um Computador: Hardware


Memria Principal Memria Secundria Propriedade

Rpida Alto custo Baixa Sim

Lenta Baixo custo Alta No

Velocidade Preo Capacidade Volatilidade

Introduo Programao I

Componentes Bsicos de um Computador: Hardware

Dispositivos de Entrada e Sada Permitem um computador interagir com o mundo atravs da movimentao de dados para dentro e para fora do sistema

Exemplos:

dispositivos de entrada: teclados, mouses e microfones dispositivos de sada: monitores, impressoras e caixas de som

Introduo Programao I

Componentes Bsicos de um Computador: Software

Software Um programa que um computador usa para funcionar


Mantido em algum dispositivo de hardware como um disco rgido, mas, por si s, intangvel Dados que um computador utiliza

Programas Agem como instrues para o processador

Introduo Programao I

10

Componentes Bsicos de um Computador: Software

Tipos de Programas de Computador: Programas de Sistemas: so necessrios para manter sistemas de hardware e software executando juntos em harmonia

Programas Aplicativos: utilizados para realizar tarefas Compiladores: Traduzem programas de linguagem humana para a linguagem de mquina

Introduo Programao I

11

Linguagens de Programao

Linguagem de Programao Tcnica de comunicao padronizada para enviar instrues a um computador

Assim como a linguagem humana, cada linguagem tem sua prpria sintaxe e gramtica Existem diferentes tipos de linguagem de programao que podem ser utilizados para criao de programas

Introduo Programao I

12

Categorias de Linguagens de Programao

Linguagens de Programao de Alto Nvel mais amigvel ao usurio


O programa dever ser traduzido atravs de um compilador Exemplos: Java, C, C++, Basic, Fortran

Linguagens de Montagem de Baixo Nvel Similares s linguagens de mquina


So mais simples e permitem a um programador substituir nomes por nmeros Linguagens de montagem esto disponveis para cada famlia de CPU
Introduo Programao I 13

Ciclo de Vida do Desenvolvimento de Programas


Codificar e Depurar

Definio do Problema

Projetar e Representar o algoritmo

Anlise do Problema

Introduo Programao I

14

1. Definir o Problema

Um problema bem definido metade de uma soluo Programas de computador requerem que primeiro entendamos o problema para depois tentarmos criar uma soluo. Definindo o problema exemplo: Crie um programa que determine o nmero de vezes que um nome ocorre em uma lista

Introduo Programao I

15

2. Analisar o Problema

Este passo envolve a quebra do problema em subproblemas menores e mais simples

Problema Exemplo: Determinar o nmero de vezes que um nome ocorre em uma lista Entrada do programa: lista de nomes

nome procurado

Sada do programa: o nmero de vezes que o nome ocorre na lista


Introduo Programao I 16

3. Projetar e Representar o Algoritmo

Uma especificao clara e no contraditria dos passos necessrios para resolver um problema Deve ser representada em: Linguagem humana (Ingls, Tagalog, portugus)

Representaes grfica como o fluxograma Pseudocdigo - que uma mistura entre a linguagem humana e a linguagem de programao

Introduo Programao I

17

3. Projetar e Representar o Algoritmo Ling. Humana


1. Obter a lista de nomes, vamos cham-la de NomeLista 2. Obter o nome a ser procurado, vamos cham-lo de NomeChave 3. Criar um contador, vamos cham-lo de Conta 4. Pegar cada nome em NomeLista 5. Se NomeChave for igual ao nome selecionado em NomeLista 6. Adicionar 1 a Conta 7. Repetir 4 at que todos os nomes j tiverem sido comparados 8. Exibir o valor de Conta

Introduo Programao I

18

3. Projetar e Representar o Algoritmo Fluxograma

Introduo Programao I

19

Smbolos do Fluxograma
Smbolo de Processo

Smbolo de Entrada/Sada

Smbolo de Linha

Introduo Programao I

20

Smbolos do Fluxograma
Smbolo de Anotao

Smbolo de Deciso

Smbolo de Terminal

Introduo Programao I

21

Smbolos do Fluxograma

Smbolo Conector

Smbolo de Processo Pr-definido

Introduo Programao I

22

3. Projetar e Representar o Algoritmo Pseudocdigo


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

Introduo Programao I

23

4. Codificar e Depurar

Depois de construir o algoritmo, possvel criar o cdigo fonte. Utilizando as bases do algoritmo, o cdigo fonte pode ser escrito com a utilizao de qualquer linguagem de programao Processo de Depurao (Debug) o processo de localizao e acerto de erros (bugs) no programa

Introduo Programao I

24

Tipos de Erros

Erros de Compilao ou Erros de Sintaxe Ocorrem quando existem erros de sintaxe no programa

O compilador ir detectar o erro e o programa no ser compilado O programador estar impossibilitado de gerar um programa executvel at que ele conserte o erro

Erros de Execuo Compiladores no so perfeitos e no podem detectar todos os erros de compilao


Isto especialmente verdadeiro nos erros de lgica como os laos de repetio infinitos Este tipo de erro chamado erro de execuo
Introduo Programao I 25

Sistemas Numricos

Os nmeros podem ser representados de formas variadas A representao depende do que chamamos de BASE Os nmeros so escritos do seguinte modo: Nmero base

Introduo Programao I

26

Sistemas Numricos

A seguir as quatro representaes mais comuns Decimal (base 10) a usada normalmente Os dgitos vlidos vo de 0 a 9 Exemplo: 126 (normalmente 10 escreve-se somente 126) Binrio (base 2)

Os dgitos vlidos so 0 e 1 Exemplo: 11111102

Introduo Programao I

27

Sistemas Numricos

A seguir as quatro representaes mais comuns. (continuao) Octal (base 8)


Os dgitos vlidos vo de 0 a 7 Exemplo: 1768 Os dgitos vlidos vo de 0 a 9 e de A at F (ou do a at f) Exemplo: 7E16

Hexadecimal (base 16)

Introduo Programao I

28

Sistemas Numricos
Exemplos:
Decimal 12610 1110 Binrio 11111102 10112 Octal 1768 138 Hexadecimal 7E16 B16

Introduo Programao I

29

Converso: Decimal para Binrio

Dividir por 2 e obter o resto (que ou 0 ou 1) Este dgito far parte da forma binria do nmero a encontrar Obter o quociente e divida novamente por 2 Repetir o processo at que o quociente alcance 0 ou 1 Os restos do incio ao fim representam o resultado em forma binria NOTA: O ltimo dgito menor que o divisor (2) ser o primeiro nmero do resultado
Introduo Programao I 30

Exemplo: Decimal para Binrio


Por Exemplo: 12610 = ? 2
Quociente 126 63 31 15 7 3 1 / / / / / / / 2 2 2 2 2 2 2 = = = = = = = 63 31 15 7 3 1 Resto 0 1 1 1 1 1 1 Escreva nesse sentido
31

Logo, escrevendo os restos de baixo para cima teremos o nmero binrio 11111102

Introduo Programao I

Converso: Binrio para Decimal

Multiplicar os dgitos binrios pela potncia de 2 na posio do nmero binrio Somar todos os produtos para obter como resultado o nmero decimal

Introduo Programao I

32

Exemplo: Binrio para Decimal


Por Exemplo: 11111102 = ?
Posio Dgitos Binrios 6 1
10

5 1

4 1

3 1

2 1

1 1

0 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

Introduo Programao I

33

Converso: Decimal para Octal/Hexadecimal

Converter nmeros decimais para octais ou hexadecimais basicamente o mesmo que converter decimal em binrio No entanto, em vez de utilizar o 2 como divisor, trocar por 8 (para octal) ou 16 (para hexadecimal)

Introduo Programao I

34

Exemplo: Decimal para Octal/Hexadecimal


Por Exemplo (Octal): 12610 = ? 8
126 / 8 = 15 / 8 = 1/8= Quociente 15 1 Resto 6 7 1 Escreva neste sentido

Logo, escrevendo os restos de baixo para cima teremos o nmero octal 1768

Por Exemplo (Hexadecimal): 12610 = ? 16


Quociente 126 / 16 = 7 / 16 = 7 Resto 14 (igual ao dgito hexadecimal E) 7 Escreva neste sentido

Logo, escrevendo os restos de baixo para cima teremos o nmero hexadecimal 7E16
Introduo Programao I 35

Converso: Octal/Hexadecimal para Decimal

Converter nmeros octais ou hexadecimais o mesmo coisa que converter nmeros binrios para decimal Ao invs de utilizar o nmero base 2, trocar por 8 (para octal) ou 16 (para hexadecimal)

Introduo Programao I

36

Exemplo: Octal/Hexadecimal para Decimal


Por Exemplo (Octal): 1768 = ? 10
Posio Dgitos Octais 2 1 1 7 0 6 6 x 80 = 6 7 x 81 = 56 1 x 82 = 64 TOTAL: 126

Por Exemplo (Hexadecimal): 7E16 = ? 10

Posio Dgitos Hexadecimais

1 7

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

Introduo Programao I

37

Converso: Binrio para Octal


Particionar o nmero binrio em grupos de 3 dgitos (da direita para esquerda) Preencher com zeros se a quantidade de dgitos no for divisvel por 3 Converter cada partio em um dgito octal correspondente O quadro ao lado mostra a representao binria para cada dgito octal:
Dgito Octal 0 1 2 3 4 5 6 7 Representao Binria 000 001 010 011 100 101 110 111

Introduo Programao I

38

Exemplo: Binrio para Octal


Por Exemplo: 11111102 = ?
0 0 1 1 1
8

1 7

1 6

Nmero Octal Equivalente

Introduo Programao I

39

Converso: Octal para Binrio

Converter nmeros octais em binrios o oposto do que foi mostrado anteriormente Converter cada dgito octal em sua representao binria (dada na tabela) e concaten-los O resultado a representao binria

Dgito Octal

Representao Binria 000 001 010 011 100 101 110 111

0 1 2 3 4 5 6 7

Introduo Programao I

40

Exemplo: Octal para Binrio

Por Exemplo: 1768 = ? 2

0 0 1 1 1 1 1 1 0 1 7 6 Nmero Binrio Equivalente

Introduo Programao I

41

Converso: Binrio para Hexadecimal


Dgito Hexadecimal 0 1 2 3 4 5 6 7 8 9 A B C D E F Representao Binria 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 Introduo Programao I 42

Particionar o nmero binrio em grupos de 4 dgitos (da direita para esquerda) Preencher com zeros se a quantidade de dgitos no for divisvel por 4 Converter cada partio no dgito hexadecimal correspondente A tabela ao lado mostra a representao binria para cada dgito hexadecimal

Exemplo: Binrio para Hexadecimal


Por Exemplo: 11111102 = ?
0 1 7 1 1

16

1 E

1 0

Nmero Hexadecimal Equivalente

Introduo Programao I

43

Converso: Hexadecimal para Binrio


Dgito Hexadecimal 0 1 2 3 4 5 6 7 8 9 A B C D E F Representao Binria 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111

Converter nmeros hexadecimais para binrio o oposto do que foi dado nos slides anteriores Converter cada dgito hexadecimal na representao binria (dada na tabela) e concaten-los O resultado a representao binria

Introduo Programao I

44

Exemplo: Hexadecimal para Binrio


Por Exemplo: 7E16 = ? 2

1 7

1 E

1 0 Nmero Binrio Equivalente

Introduo Programao I

45

Sumrio

Componentes Bsicos do Computador Hardware

Software

Viso sobre Linguagens de Programao O que uma Linguagem de Programao?

Categorias de Linguagens de Programao

Ciclo de Vida de Desenvolvimento de Programas Definio do Problema


Anlise do Problema Projeto e representao de Algoritmo (Linguagem humana, Fluxograma, Pseudocdigo) Codificar e Depurar erros
Introduo Programao I 46

Sumrio

Tipos de Erros Erros de compilao / erros de sintaxe

Erros de execuo

Sistemas Numricos Decimal, Hexadecimal, Binrio, Octal

Converses

Introduo Programao I

47

Parceiros

Os seguintes parceiros tornaram JEDI Lngua Portuguesa:

TM

possvel em

Introduo Programao I

48

You might also like