• Nenhum resultado encontrado

Programação de Computadores I

N/A
N/A
Protected

Academic year: 2019

Share "Programação de Computadores I"

Copied!
32
0
0

Texto

(1)

Introdução à

Programação

Programação de Computadores I

(2)

O Computador

Não tem iniciativa;

Não tem independência;

Não é criativo nem inteligente;

Precisa receber instruções nos mínimos

detalhes;

(3)

Computador digital

São capazes de somar, subtrair, multiplicar,

dividir e comparar.

Operações são realizadas através de

pulsações elétricas que representam os

dígitos 0 e 1.

Sua finalidade é

receber, manipular e

(4)

Sistema binário

(1/5)

Com um bit podemos representar dois valores diferentes: 0 e 1.

Cada casa vale 2 vezes mais que aquela que está imediatamente à

sua direita e 2 vezes menos que a que está à sua esquerda.

Com 2 bits, podemos representar 4 diferentes valores com as

combinações dos valores possíveis de cada bit.

Logo, para um número n de bits, poderemos representar 2

n

valores

distintos.

b

1

b

0

b

1

b

0

(5)

Sistema binário

(2/5)

Exemplo: faixas dos tipos

8 bits

2

8

= 256 números distintos

Isto é:

de 0 a 255 (

unsigned char

)

de -127 a 127 (

char

)

16 bits

2

16

= 65.536 números distintos

(6)

Tabela de caracteres ASCII

Dec Char Dec Char Dec Char Dec Char --- --- --- 0 NUL (null) 32 SPACE 64 @ 96 ` 1 SOH (start of heading) 33 ! 65 A 97 a 2 STX (start of text) 34 " 66 B 98 b 3 ETX (end of text) 35 # 67 C 99 c 4 EOT (end of transmission) 36 $ 68 D 100 d 5 ENQ (enquiry) 37 % 69 E 101 e 6 ACK (acknowledge) 38 & 70 F 102 f 7 BEL (bell) 39 ' 71 G 103 g 8 BS (backspace) 40 ( 72 H 104 h 9 TAB (horizontal tab) 41 ) 73 I 105 i 10 LF (NL line feed, new line) 42 * 74 J 106 j 11 VT (vertical tab) 43 + 75 K 107 k 12 FF (NP form feed, new page) 44 , 76 L 108 l 13 CR (carriage return) 45 - 77 M 109 m 14 SO (shift out) 46 . 78 N 110 n 15 SI (shift in) 47 / 79 O 111 o 16 DLE (data link escape) 48 0 80 P 112 p 17 DC1 (device control 1) 49 1 81 Q 113 q 18 DC2 (device control 2) 50 2 82 R 114 r 19 DC3 (device control 3) 51 3 83 S 115 s 20 DC4 (device control 4) 52 4 84 T 116 t 21 NAK (negative acknowledge) 53 5 85 U 117 u 22 SYN (synchronous idle) 54 6 86 V 118 v 23 ETB (end of trans. block) 55 7 87 W 119 w 24 CAN (cancel) 56 8 88 X 120 x 25 EM (end of medium) 57 9 89 Y 121 y 26 SUB (substitute) 58 : 90 Z 122 z 27 ESC (escape) 59 ; 91 [ 123 {

(7)
(8)

Sistema binário

(4/5)

Conversão binário para decimal

O valor de cada posição é multiplicado pelo valor do bit da

posição.

Exemplo:

1

=

1

x 2

0

= 1

10

=

1

x 2

1

+

0

x 2

0

= 2

11

=

1

x 2

1

+

1

x 2

0

= 3

100

=

1

x 2

2

+

0

x 2

1

+

0

x 2

0

= 4

101

=

1

x 2

2

+

0

x 2

1

+

1

x 2

0

= 5

(9)

Sistema binário

(5/5)

Conversão decimal para binário

Mediante divisões inteiras sucessivas por 2, tomando-se

os restos das divisões no sentido ascendente.

(10)

Base octal

(11)
(12)

Binário para Octal

(13)

Base hexadecimal

(14)
(15)

Binário para Hexadecimal

(16)
(17)

Estrutura do computador

(2/3)

Unidade de entrada:

é capaz de traduzir letras,

números, imagens, tinta magnética, etc em padrões

de pulsos elétricos que são compreensíveis ao

computador.

ULA:

faz os cálculos aritméticos e qualquer

manipulação de dados.

Unidade de controle:

controla a transferência de

dados da memória para a ULA, da entrada para

memória e da memória para a saída.

Unidade de saída:

converte impulsos elétricos

(18)

Estrutura do computador

(3/3)

Memória:

armazena dados e programas.

Memória principal e memória secundária

Constituída por bytes (palavra), que recebem um

endereço para que programas possam

referenciar seus dados.

Byte = conjunto de 8 bits

Kbyte = 1024 bytes

(19)

Sistema Operacional

(1/2)

É um programa que atua como intermediário

entre o usuário de um computador e o

hardware do computador.

Funções:

Inicializa o hardware do computador.

Fornece rotinas básicas para controle de

dispositivos.

Fornece gerência, escalonamento e interação de

(20)

Sistema Operacional

(2/2)

Sistemas multiusuário e

multitarefa: maximizam a

eficácia e a capacidade de

resposta para o usuário.

Controla e coordena o uso

do hardware pelos diversos

programas aplicativos para

os diversos usuários.

Gerencia recursos como

tempo de CPU, espaço de

memória, espaço de

armazenamento de

arquivo, dispositivos de I/O,

etc.

(21)

Desenvolvimento de software

(1/8)

Programa

: é a codificação de um algoritmo

em

uma

determinada

linguagem

de

programação.

Os programas são procedimentos que fazem

(22)

Desenvolvimento de software

(2/8)

Software permite realizar processamento de dados.

Programador desenvolve software.

Linguagem de programação: linguagem que tanto o

dados

+

operações

resposta

(23)

Desenvolvimento de software

(3/8)

Todo programa escrito em uma LP tem que ser

traduzido para linguagem de máquina para ser

executado.

Compilador: programa tradutor.

Compilador

Código fonte do

programa

Código em linguagem

de máquina

(24)

Desenvolvimento de software

(4/8)

Linguagem de máquina

Instrução: informa à UC qual operação a ser realizada e

onde está o dado na memória.

Exemplo: instrução aritmética

add

(Assembly)

add a, b, c

a = b + c

000000 10001 10010 01000 00000 100000

(25)

Desenvolvimento de software

(5/8)

Compilação:

O código executável roda na máquina sem

precisar do código-fonte.

Vantagem: execução é rápida pois já está na

linguagem da máquina.

Compilação

Programa fonte

(LP)

(26)

Desenvolvimento de software

(6/8)

4 etapas:

Análise

: estuda-se o problema para definir os

dados de entrada, o processamento e os dados

de saída.

Algoritmo

: descreve-se o problema por meio de

ferramentas (fluxograma, português estruturado,

etc).

Codificação

: algoritmo é transformado em códigos

da linguagem de programação escolhida.

(27)

Desenvolvimento de software

(7/8)

Exemplo: somar três números.

Análise?

Algoritmo?

Codificação?

(28)

Primeiro programa em C

//meu primeiro programa

#include <stdio.h>

int main ( ) {

printf("Meu primeiro programa em C\n");

return 0;

}

comentários //

função main ( )

delimitador de blocos { } - início e fim

string: sequência de caracteres entre aspas

“ ”

(29)

Dicas de programação

Incluir comentários nos trechos mais

importantes do programa;

Usar nomes significativos para as variáveis e

constantes, que possam identificar o

conteúdo;

Alinhar os comandos facilita a legibilidade do

(30)

CODIS

C: comentários

O: organização do código

D: declarações

(31)

Atividades sugeridas

Leitura da Introdução, Capítulo 1 e Capítulo

14 (páginas 318 a 321) do livro:

Linguagem

C

(Luís Damas)

Leitura do Capítulo 1 do livro:

Fundamentos

da programação de computadores

(Ana

Fernanda G. Ascencio e Edilene Aparecida v. de Campos)

Leitura do Capítulo 0 do livro:

Algoritmos

(32)

Referências

Luís Damas.

Linguagem C

. LTC, 2015.

Ana

Fernanda

G.

Ascencio,

et

al.

Fundamentos

da

Programação

de

Computadores: Algoritmos, Pascal e C/C++.

Prentice Hall, 2002.

Harry Farrer, et al.

Algoritmos Estruturados

.

LTC Livros Técnicos e Científicos Editora, 1999.

Flávio

M.

Varejão.

Linguagens

de

Imagem

Tabela de caracteres ASCII

Referências

Documentos relacionados

Pretendo, a partir de agora, me focar detalhadamente nas Investigações Filosóficas e realizar uma leitura pormenorizada das §§65-88, com o fim de apresentar e

Recentemente foi criada a Unidade Local de Saúde (ULS) da Guarda, Entidade Pública Empresarial (E.P.E.), o que constitui um marco importante que fica para a

A discussão que se propõe no presente artigo insere-se no contexto do Estado contemporâneo, seus pressupostos e suas transformações, na medida em que se aborda o acesso

respetiva data de cativação, a qual corresponde ao registo formal no SIGLIC da aceitação por parte do utente da sua transferência; o número da LIC do HD; o Grupo de Diagnóstico

8.1 – Além da premiação outorgada pela Comissão Julgadora, serão concedidos também prêmios para os Melhores Presépios do Concurso (seja da categoria Tradicional ou da Não

Retenção e reservas (retenção sob re-seguro proporcional e não- proporcional, aproximação da credibilidade, retenção relativa, exemplos). Introdução: principais modelos e

Para converter o número binário em hexadecimal, agrupar em grupos de 4 bits da direita para a esquerda.. ARQUITETURA

As equações da Tabela 2 podem ser usadas para a estimativa da precipitação interna, do escoamento pelo tronco, e da precipitação efetiva e, consequentemente, das perdas por