Você está na página 1de 9

SCC0120 - Introduo Cincia de Computao

Prof.: Dr. Rudinei Goularte (rudinei@icmc.usp.br)

Dinmica da disciplina

Aula 1 - Apresentao - Viso geral: computador e programao


Instituto de Cincias Matemticas e de Computao - ICMC Sala 4-229

Aulas expositivas, em sala de aula Exerccios de fixao em sala Listas de exerccios Provas Trabalhos prticos Teras (10:10 s 11:50)

Programa do Curso
Aula 1 Aula 2 05/03 12/03 19/03 26/03 Aula 3 Aula 4 Aula 5 Aula 6 Aula 7 02/04 09/04 16/04 23/04 30/04 Apresentao + Viso geral do computador e de programao Introduo a algoritmos Sem aula Semana Santa Linguagem C viso geral Variveis e Entrada&Sada Condicionais e seleo mltipla Estruturas de repetio Prova 1 (at aula 5!)
3

Programa do Curso
Aula 8 Aula 9 Aula 10 Aula 11 Aula 12 Aula 13 Aula 14 Aula 15 07/05 14/05 21/05 28/05 04/06 11/06 18/06 25/06 Operadores e ponteiros Vetores Vetores Funes Funes Registros e alocao dinmica Reserva Prova 2 (tudo!)
4

Avaliao

Recuperao

2 provas mdia de provas (MP). Trabalhos prticos mdia de trabalhos (MT). Listas de exerccios, exerccios em sala arredondamentos. O clculo das mdias ser feito da seguinte maneira:
n

Norma:

S tero direito recuperao, alunos com:

3,0 MS < 5,0 e

Freqncia mnima (presena) de 70%.

MP , MT =

-4

i=1

1
Ai + 4

Clculo da Mdia Final MF (aps rec): Se NR 7,5 MF = MS + (NR / 2,5)


Ai = nota da avaliao i (prova ou trabalho); n = quantidade de avaliaes. Mdia do semestre MS:


Se NR < 5 MF = maior entre MS e NR Se 5 NR < 7,5 MF = 5

Se MP 5 e MT 5, MS = (0.7 * MP) + (0.3 * MT). Caso contrrio, MS = min(MP, MT).


5

NR: Nota da Recuperao.


6

Bibliografia

Site da disciplina

FORBELLONE, A. L. V.; EBERSPACHER, H. F. Lgica de Programao, 2.Edio, Makron Books, 2000. ASCENCIO, A. F. G.; CAMPOS, E. A. V. Fundamentos da Programao de Computadores - Algoritmos, Pascal e C/C++, Prentice Hall, 2002. GUIMARES, A.M.; LAJES, N.A.C. Algoritmos e Estruturas de Dados, LTC, 1985. FARRER, H. et al., Algoritmos Estruturados, 3 ed. LTC S.A., RJ., 1999.
7

TIDIA-Ae:

http://tidia-ae.usp.br

Canal de comunicao entre professor e alunos. Visitem sempre!!!!

Estagirio PAE

Sumrio

Edson Benedito dos Santos Jr.

ditusp@icmc.usp.br

Horrio de atendimento

1. Sistemas de Numerao 2. Tipos de dados e informao 3. O Computador 4. Programao e Nveis de Linguagem

A ser definido e divulgado no Tidia!

10

1. Sistemas de Numerao

1. Sistemas de Numerao

O sistema de numerao usual, o sistema decimal, um sistema posicional. Usa-se dez dgitos 0, 1, 2, ..., 9, sendo que um nmero maior que 9 representado usando uma conveno que atribui significado posio ou lugar ocupado por um dgito.

No sistema decimal, o nmero 2562 tem a seguinte interpretao:


2 x 1000 (103) = 2000 5 x 100 (102) = 500 6 x 10 (101) = 60 2 x 1 (100) = 2

11

12

1. Sistemas de Numerao

1. Sistemas de Numerao

Sistema decimal

10 dgitos: 0 1 2 3 4 5 6 7 8 9 Casas decimais: ... 10 10 10 1 2 dgitos: 0 1 Casas binrias:

Sistema binrio

.... 2

Sistema Octal

8 dgitos: 0 1 2 3 4 5 6 7 Casas octais: .... 8 8 8 1 16 dgitos : 0 1 2 3 4 5 6 7 8 9 A B C D E F Casas hexadecimais: ... 16 16 16 1

Sistema hexadecimal

13

14

Converso binrio-decimal

Converso decimal-binrio

No sistema binrio de numerao a base 2. Assim o valor do nmero 110101 :

Converta o nmero 53 (decimal) para seu respectivo valor binrio.

1 x 32 (25) = 32 1 x 16 (24) = 16 0 x 8 (23) = 0 1 x 4 (22) = 4 0 x 2 (21) = 0 1 x 1 (20) = 1 = 32 + 16 + 0 + 4 + 0 + 1 = 53

15

16

Para Pensar

Lgica binria
C-1
+5V

E como fazer as converses entre os outros sistemas?

C-2 C-3
+5V +5V

C-1

C-2 C-3

0 0 0 0
+5V

0 0 1 1 0 0 1 1

0 1 0 1 0 1 0 1

0 1 2 3 4 5 6 7
18

Transstores

1 1 1 1

17

Lgica binria
+5V

Circuitos lgicos
AND NO (NOT) A B S

E (AND) B S A

A B

0 0 0

1 0 1
A S

0 1

OU (OR)
+5V

A 0 1 1 0

OR

B S

0 0 1

1 1 1
19

NOT B A

0 1

0 1
20

Circuitos lgicos
AND A B S AND

Circuitos lgicos
A B S

OR

OR

NOT B A

NOT

0 1

0 0 1

1 1 0
21

0 1

0 0 1

1 1 0

ou exclusivo

XOR
22

Somador
A0 B
0

Somador
Decimal: 2 Binrio: 10 + Decimal: 3 Binrio: 11 10 + 11 = 101 A0=1 B0=0 0 0 A1=1 B1=1
0 1 2 3 4 5 6 7 = = = = = = = = 000 001 010 011 100 101 110 111

A1 B1
0 1 2 3 4 5 6 7 = = = = = = = = 000 001 010 011 100 101 110 111

0 1 1 0 B A

0 1

0 0 1

1 1 023

0 1

0 0 1

1 1 24 0

2. Tipos de dados e informao

2. Tipos de dados e informao


Incio ---------------------Fim

Um algoritmo computacional deve ser uma seqncia de instrues manipulando dados.

Instrues: comandos que definem integralmente uma operao a ser executada. Determinam a forma pela qual os dados devem ser tratados. Dados: elementos conhecidos de um problema. Podem ser recolhidos/fornecidos por diversos meios e sero processados pelo computador atravs das instrues. Informao: Um conjunto estruturado de dados, transmitindo conhecimento. Exemplos: mdia de notas e previso do tempo.

Instrues manipulando dados.

Declaraes = Comandos Expresses.

Como representar os dados computacionalmente?

2. Tipos de dados e informao

2. Tipos de dados e informao

Os dados so computacionalmente representados atravs de constantes e variveis, as quais possuem um tipo de dado associado.

Definio: Tipos de dados so mtodos para interpretar o contedo da memria do computador. Definem o conjunto de valores que uma varivel pode assumir. Um tipo de dado especifica:

Dizemos que uma determinada constante ou varivel de um determinado tipo.

A quantidade de memria que deve ser reservada para uma constante ou varivel. Como o dado representado na memria deve ser interpretado (o que significa a cadeia de bits).

2. Tipos de dados e informao

2. Tipos de dados e informao

As linguagens de programao conseguem manipular um conjunto de tipos de dados. Dentre eles, os tipos primitivos de dados (bsicos) so classificados em dados literais (no numricos), numricos e lgicos.

Como so organizados na memria do computador?

Dados so organizados na memria atravs de sequncias binrias, chamadas palavras. Uma palavra uma unidade de informao de comprimento fixo n. Cada dgito binrio chamado de bit (binary digit). o componente bsico da representao de dados.

O conjunto de 8 bits chamado de byte.

30

2. Tipos de dados e informao

Dados literias

So usados dois cdigos padres de caracteres de 8 bits:

EBCDIC (Extended Binary Coded Decimal Interchange Code) desenvolvido pela IBM, e ASCII (American Standard Code for Information Interchange).

31

32

2. Tipos de dados e informao

Dados numricos

Podem ser basicamente de dois tipos:

Inteiros: no possuem partes decimais. Ex.: 27 e 456 Reais: possuem partes decimais. Ex: 213,53 e 8,5

33

34

2. Tipos de dados e informao

3. O Computador

Dados lgicos

Utilizados para representar dois valores nicos: verdadeiro ou falso (true ou false)

Tipo de dado: lgico (boolean). Tambm conhecido como tipo booleano, em referncia lgebra de Boole.

35

36

3. O Computador
MEMRIA UNIDADES FUNCIONAIS BSICAS
MEMRIA AUXILIAR

3. O Computador

MEMRIA PRINCIPAL

UNIDADE DE ENTRADA

UNIDADE DE CONTROLE UNIDADE LGICA E ARITMTICA

UNIDADE DE SADA

CPU

37

38

39

40

3. O Computador

3. O Computador

CPU (Central Processing Unit), ou Unidade de Processamento Central:

Memria

Responsvel pelo gerenciamento de todas as funes do sistema. Capaz de somar grandezas representadas por 0s e 1s e comparar grandezas. Para isto trabalha em velocidades altssimas. CPU (microprocessador): velocidade alcana 50.000 MIPS (Milhes de Instrues por Segundo).
41

Principal

RAM Random Access Memory (voltil) ROM Read Only Memory HDs Hard Disks CDs Compact Disks DVDs Digital Versartile Disks
42

Secundria

3. O Computador

Memria medidas de capacidade


K = Kilo (KB = Kilobytes = 210 bytes) M = Mega (MB = Megabytes = 220 bytes) G = Giga (GB = Gigabytes = 230 bytes) T = Tera (TB = Terabytes = 240 bytes) P = Peta (PB = Petabytes = 2 50 bytes) E = Exa (EB = Exabytes = 260 bytes) Z = Zetta (ZB = Zettabytes = 270 bytes) Y = Yotta (YB = Yottabytes = 280 bytes)
44

43

4. Programao e Nveis de Linguagem


DEFINIO

Etapas da Construo de Programas

O QUE
DEFINIO (o que)

Definio do Problema Projetar a Soluo Revises (ALGORITMO) Documentao Codificar a Soluo (Programar em Linguagem de Computador) Testar o Programa
46

DESENVOLVIMENTO

COMO
DESENVOLVIMENTO (como)

MANUTENO

ALTERAES
45

4. Programao e Nveis de Linguagem

4. Programao e Nveis de Linguagem


Linguagem de mquina

MEMRIA Programa em Linguagem Mquina

MEMRIA PRINCIPAL

o conjunto das instrues primitivas projetadas para um computador. Uma CPU somente pode compreender instrues que sejam expressas em termos de sua LINGUAGEM DE MQUINA. Um programa escrito em linguagem de mquina consiste de uma srie de nmeros binrios e muito difcil de ser entendido pelas pessoas. Exemplo: Cada instruo constituda de 2 partes: o cdigo da operao e o operando 0010 (Load) 011000 (endereo) 0110 (multiplica)
... 0010011000 0110000101 ...

Compilador / Interpretador

Programa Fonte escrito em Linguagem de Alto ou Baixo Nvel

Instrues em Linguagem de Mquina

000101 (valor)

CPU

47

48

4. Programao e Nveis de Linguagem

4. Programao e Nveis de Linguagem

Linguagem de baixo nvel


Os programas so escritos em uma notao que est prxima da linguagem de mquina

Linguagem de alto nvel

Se pode escrever programas em uma notao prxima maneira natural de expressar o problema que se deseja resolver.
Exemplo: RESULT = D-((A+B)/C) Aplicaes Cientficas : FORTRAN, ALGOL, BASIC, APL, LISP, PASCAL, ADA, C, PROLOG, PLI, Java, ... Aplicaes Comerciais: COBOL, RPG, PLI, C, Java, ...

Exemplo: cdigo da operao operando LD A MPI 5

significado load A multiplica 5


49

50

4. Programao e Nveis de Linguagem

4. Programao e Nveis de Linguagem

COMPILADOR

INTERPRETADOR

Traduz os comandos simblicos de uma linguagem de alto nvel, para linguagem de mquina. Traduz os comandos simblicos de uma linguagem de baixo nvel , para linguagem de mquina.
51

MONTADOR

L e executa uma declarao do programa por vez. Nenhuma fase intermediria de compilao necessria. A execuo do programa interpretado requer que o interpretador da linguagem esteja sendo executado no computador.
52

Crditos

Agradecimentos Profa. Dra. Rosely Sanches e ao Prof. Dr. Joo Lus G. Rosa.

53