Dinmica da disciplina
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:
MP , MT =
-4
i=1
1
Ai + 4
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
Estagirio PAE
Sumrio
ditusp@icmc.usp.br
Horrio de atendimento
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.
11
12
1. Sistemas de Numerao
1. Sistemas de Numerao
Sistema decimal
Sistema binrio
.... 2
Sistema Octal
Sistema hexadecimal
13
14
Converso binrio-decimal
Converso decimal-binrio
15
16
Para Pensar
Lgica binria
C-1
+5V
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
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.
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:
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).
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.
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.
30
Dados literias
EBCDIC (Extended Binary Coded Decimal Interchange Code) desenvolvido pela IBM, e ASCII (American Standard Code for Information Interchange).
31
32
Dados numricos
Inteiros: no possuem partes decimais. Ex.: 27 e 456 Reais: possuem partes decimais. Ex: 213,53 e 8,5
33
34
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 SADA
CPU
37
38
39
40
3. O Computador
3. O Computador
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
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
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
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
000101 (valor)
CPU
47
48
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, ...
50
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