ces-10 introdução à computaçãopauloac/ces10/capitulo01.pdf · 2008. 2. 27. · paulo andré...

26
Paulo André Castro IEC - ITA Introdução à Computação CES-10 Introdução à Computação Prof. Paulo André IEC - ITA

Upload: others

Post on 29-Sep-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CES-10 Introdução à Computaçãopauloac/ces10/capitulo01.pdf · 2008. 2. 27. · Paulo André Castro Introdução à Computação IEC - ITA Estrutura do Curso • Avaliação –

Paulo André Castro IEC - ITAIntrodução à Computação

CES-10 Introdução à Computação

Prof. Paulo AndréIEC - ITA

Page 2: CES-10 Introdução à Computaçãopauloac/ces10/capitulo01.pdf · 2008. 2. 27. · Paulo André Castro Introdução à Computação IEC - ITA Estrutura do Curso • Avaliação –

Paulo André Castro IEC - ITAIntrodução à Computação

Estrutura do Curso

• Conceitos Básicos de Programação

• Algoritmos• Estruturas de Controle

• Comandos de Entrada e Saída e Manipulação de Arquivos

• Rotinas, Variáveis Estruturadas e Ponteiros

• Noções de Estruturas de Dados• E Muito mais...

Page 3: CES-10 Introdução à Computaçãopauloac/ces10/capitulo01.pdf · 2008. 2. 27. · Paulo André Castro Introdução à Computação IEC - ITA Estrutura do Curso • Avaliação –

Paulo André Castro IEC - ITAIntrodução à Computação

Estrutura do Curso

• Avaliação– Por bimestre: 2 provas e de 4 a 5 laboratórios– Nota bimestre = (3*média provas + 2*média labs) / 5– Um exame final– As provas, os laboratórios e o exame são individuais

• Bibliografia– Apostila escrita pelo Prof. Fabio Mokarzel– Livro C Completo e Total, Herbert Schildt– Notas de Aulas e outros...

Page 4: CES-10 Introdução à Computaçãopauloac/ces10/capitulo01.pdf · 2008. 2. 27. · Paulo André Castro Introdução à Computação IEC - ITA Estrutura do Curso • Avaliação –

Paulo André Castro IEC - ITAIntrodução à Computação

Computação: Um pouco de História...

• Pré-história– Máquinas de Calcular

• Ábacos Chineses (há mais de 2000 anos)• Calculadoras Mecânicas (Pascal e Leibniz) ~1650

• História– O computador mecânico de Charles Babbage

– A primeira programadora: Ada (~1840)

Page 5: CES-10 Introdução à Computaçãopauloac/ces10/capitulo01.pdf · 2008. 2. 27. · Paulo André Castro Introdução à Computação IEC - ITA Estrutura do Curso • Avaliação –

Paulo André Castro IEC - ITAIntrodução à Computação

Mais um pouco de História...

• A máquina de Herman Hollerith– O censo americano de 1880 levaram 7 anos para serem

compilados, em 1890 Hollerith com sua máquina conseguiu realizá-los em 2 anos e meio.

– Mais tarde, Hollerith fundou uma companhia para produzir máquinas de tabulação, que veio a se chamar IBM

• Lógica Booleana– No século XIX, as máquinas usavam base 10– A lógica booleana (base 2) é usada na

implementação dos computadores do início do século XX até os dias de hoje

Page 6: CES-10 Introdução à Computaçãopauloac/ces10/capitulo01.pdf · 2008. 2. 27. · Paulo André Castro Introdução à Computação IEC - ITA Estrutura do Curso • Avaliação –

Paulo André Castro IEC - ITAIntrodução à Computação

Mais um pouco de História

• O computador Eletrônico: Von Neumman (década de 40)– Instruções na Memória (ao contrário de

cartões perfurados)

– usado até hoje!

• Primeiros Computadores– Z-1(alemão), Mark I (americano), ENIAC

(americano, 500 multiplicações por segundo!)

Page 7: CES-10 Introdução à Computaçãopauloac/ces10/capitulo01.pdf · 2008. 2. 27. · Paulo André Castro Introdução à Computação IEC - ITA Estrutura do Curso • Avaliação –

Paulo André Castro IEC - ITAIntrodução à Computação

Microprocessadores

• Em 1970, a Intel produziu o primeiro microprocessador. Um microprocessador é um circuito integrado do tipo LSI (large scale

integration) que contém todo circuito lógico de uma unidade central de processamento em um chip do tamanho de uma unha.

• Os avanços nessa direção prosseguem até hoje, com os circuitos VLSI (very large scale integration) e os circuitos ULSI (ultra large scale integration) como o Deep Blue, com velocidade superior a 500

MIPS (milhões de instruções por segundo).

Page 8: CES-10 Introdução à Computaçãopauloac/ces10/capitulo01.pdf · 2008. 2. 27. · Paulo André Castro Introdução à Computação IEC - ITA Estrutura do Curso • Avaliação –

Paulo André Castro IEC - ITAIntrodução à Computação

Gerações de Computadores• Primeira geração: (1945-1959): utilizam válvulas eletrônicas, quilômetros

de fios, eram lentos, enormes e esquentavam muito

• Segunda geração: (1959-1964): substituiu as válvulas eletrônicas por transistores e os fios de ligação por circuitos impressos. Isso tornou os computadores mais rápidos, menores e de custo mais baixo.

• Terceira geração: Computadores (1964-1970) utilizam circuitos integrados, proporcionando maior compactação, redução dos custos e processamento da ordem de microsegundos. Tem início a utilização de avançados sistemas operacionais.

• Quarta geração: (1970 – hoje) caracteriza-se por um aperfeiçoamento da tecnologia já existente, proporcionando uma otimização da máquina para os problemas do usuário, maior grau de miniaturização, confiabilidade e velocidade maior, já da ordem de nanosegundos (bilionésima parte do segundo).

Page 9: CES-10 Introdução à Computaçãopauloac/ces10/capitulo01.pdf · 2008. 2. 27. · Paulo André Castro Introdução à Computação IEC - ITA Estrutura do Curso • Avaliação –

Paulo André Castro IEC - ITAIntrodução à Computação

Computador : Uma Analogia

Page 10: CES-10 Introdução à Computaçãopauloac/ces10/capitulo01.pdf · 2008. 2. 27. · Paulo André Castro Introdução à Computação IEC - ITA Estrutura do Curso • Avaliação –

Paulo André Castro IEC - ITAIntrodução à Computação

Principais Componentes

Page 11: CES-10 Introdução à Computaçãopauloac/ces10/capitulo01.pdf · 2008. 2. 27. · Paulo André Castro Introdução à Computação IEC - ITA Estrutura do Curso • Avaliação –

Paulo André Castro IEC - ITAIntrodução à Computação

Um pouco mais sobre Memória....

Page 12: CES-10 Introdução à Computaçãopauloac/ces10/capitulo01.pdf · 2008. 2. 27. · Paulo André Castro Introdução à Computação IEC - ITA Estrutura do Curso • Avaliação –

Paulo André Castro IEC - ITAIntrodução à Computação

Colocando para

Funcionar

Page 13: CES-10 Introdução à Computaçãopauloac/ces10/capitulo01.pdf · 2008. 2. 27. · Paulo André Castro Introdução à Computação IEC - ITA Estrutura do Curso • Avaliação –

Paulo André Castro IEC - ITAIntrodução à Computação

Linguagens• Linguagem de Máquina: sujeita a erros; difícil compreensão; exigem

conhecimento da arquitetura do computador.

• Linguagem Assembly: difícil interpretação; não exigem conhecimento da arquitetura do computador; exige tradutor (Assembler).

• Linguagens de alto nível: Formais; não exigem conhecimento da arquitetura do computador; tradutor mais complexo (Compilador).– Exemplos: C, C++, Pascal, Fortran, Java (interpretada),

• Linguagens aplicativas: interpretadas por programas escritos em linguagens de alto nível;

• Outras– Linguagem de Descrição de Dados e/ou Formatação. Exemplos: XML, HTML,

XHTML, KQML, SGML, KIF, etc. (NÃO são linguagens de programação)

Page 14: CES-10 Introdução à Computaçãopauloac/ces10/capitulo01.pdf · 2008. 2. 27. · Paulo André Castro Introdução à Computação IEC - ITA Estrutura do Curso • Avaliação –

Paulo André Castro IEC - ITAIntrodução à Computação

Sistemas de Numeração

• Equivalência entre os sistemas:

(29)base 10 = (11101)base 2 = (35)base 8 = (1D)base 16

0, 1, 2, 3, 4, 5, 6, 7, 8, 9,A,B,C,D,E,F

16Hexadecimal

0, 1, 2, 3, 4, 5, 6, 7, 8Octal

0, 1, 2Binário

0, 1, 2, 3, 4, 5, 6, 7, 8, 910Decimal

AlfabetoBaseSistema

Page 15: CES-10 Introdução à Computaçãopauloac/ces10/capitulo01.pdf · 2008. 2. 27. · Paulo André Castro Introdução à Computação IEC - ITA Estrutura do Curso • Avaliação –

Paulo André Castro IEC - ITAIntrodução à Computação

Conversão de Base

Page 16: CES-10 Introdução à Computaçãopauloac/ces10/capitulo01.pdf · 2008. 2. 27. · Paulo André Castro Introdução à Computação IEC - ITA Estrutura do Curso • Avaliação –

Paulo André Castro IEC - ITAIntrodução à Computação

Computadores e Sistema Binário

• Números Negativos (dois zeros)– Complemento de 2

• Números Fracionários (ponto flutuante)– Mantissa e expoente

Page 17: CES-10 Introdução à Computaçãopauloac/ces10/capitulo01.pdf · 2008. 2. 27. · Paulo André Castro Introdução à Computação IEC - ITA Estrutura do Curso • Avaliação –

Paulo André Castro IEC - ITAIntrodução à Computação

Complemento de 2

Conversão de Base:

• Se Positivo (isto é, bit

de sinal igual a zero):

Conversão Normal

• Se Negativo:

Complementa

número sem sinal,

adiciona 1 e faz a

Conversão Normal

Page 18: CES-10 Introdução à Computaçãopauloac/ces10/capitulo01.pdf · 2008. 2. 27. · Paulo André Castro Introdução à Computação IEC - ITA Estrutura do Curso • Avaliação –

Paulo André Castro IEC - ITAIntrodução à Computação

Números Fracionários (Ponto Flutuante)

• Inteiros– (15)10= (01111)2 = 23+22+21 +20 = 8+4+2+1

• Números binários fracionários– (1,5)10 = (1,1)2 = 20+2-1 = 1+0,5 = (1,5)10

– (0,101)2 = 1*2-1 +0*2-2 + 1*2-3 = 0,5+0+0,125 = (0,625)10

Page 19: CES-10 Introdução à Computaçãopauloac/ces10/capitulo01.pdf · 2008. 2. 27. · Paulo André Castro Introdução à Computação IEC - ITA Estrutura do Curso • Avaliação –

Paulo André Castro IEC - ITAIntrodução à Computação

Deslocamento

Page 20: CES-10 Introdução à Computaçãopauloac/ces10/capitulo01.pdf · 2008. 2. 27. · Paulo André Castro Introdução à Computação IEC - ITA Estrutura do Curso • Avaliação –

Paulo André Castro IEC - ITAIntrodução à Computação

Conversão de Números Fracionários

• De binário para Decimal:– (0.1011)2 = 2-1+2-3+2-4 = 0,5+0,125+0,0625 =

= (0,6875)10– (0.1001)2 = 2-1+2-4 = 0,5+0,0625 = (0,5625)10

– (111.101) = 22 + 21+20 + 2 -1 + 2-3 = 4+2+1 + 0,5+0,125= (7,625)10

• Conversão de Fracionários para base 22,25 -> Parte Inteira: (2)10= (10)2

-> Parte Fracionária (0,25)10 = (0.01)2Número: (2,25)10 = (10,01)2

Page 21: CES-10 Introdução à Computaçãopauloac/ces10/capitulo01.pdf · 2008. 2. 27. · Paulo André Castro Introdução à Computação IEC - ITA Estrutura do Curso • Avaliação –

Paulo André Castro IEC - ITAIntrodução à Computação

Conversão de Base

Page 22: CES-10 Introdução à Computaçãopauloac/ces10/capitulo01.pdf · 2008. 2. 27. · Paulo André Castro Introdução à Computação IEC - ITA Estrutura do Curso • Avaliação –

Paulo André Castro IEC - ITAIntrodução à Computação

Ponto Flutuante

Page 23: CES-10 Introdução à Computaçãopauloac/ces10/capitulo01.pdf · 2008. 2. 27. · Paulo André Castro Introdução à Computação IEC - ITA Estrutura do Curso • Avaliação –

Paulo André Castro IEC - ITAIntrodução à Computação

Passos na Elaboração de um Programa

1. Definição do problema2. Determinação do método de solução3. Desenvolvimento de um algoritmo4. Codificação do algoritmo na linguagem escolhida5. Compilação do programa6. Correção dos erros de sintaxe7. Correção dos erros de lógica8. Execução correta9. Utilização do programa10. Otimização e manutenção

Page 24: CES-10 Introdução à Computaçãopauloac/ces10/capitulo01.pdf · 2008. 2. 27. · Paulo André Castro Introdução à Computação IEC - ITA Estrutura do Curso • Avaliação –

Paulo André Castro IEC - ITAIntrodução à Computação

Exemplo de Programa

1. Definição do problema

– Calcular a integral de uma função f(x) sempre positiva, no intervalo [a, b] com uma precisão p.

2. Determinação do método de solução

– Regra do Trapézio com refinamento

Page 25: CES-10 Introdução à Computaçãopauloac/ces10/capitulo01.pdf · 2008. 2. 27. · Paulo André Castro Introdução à Computação IEC - ITA Estrutura do Curso • Avaliação –

Paulo André Castro IEC - ITAIntrodução à Computação

Exemplo de Programa (Cont.)

3. Desenvolvimento de um algoritmo

4. Codificação do algoritmo na Linguagem C

• Depuração

5. Compilação do programa6. Correção dos erros de sintaxe7. Correção dos erros de lógica8. Execução correta

9. Utilização do programa10. Otimização e manutenção

Page 26: CES-10 Introdução à Computaçãopauloac/ces10/capitulo01.pdf · 2008. 2. 27. · Paulo André Castro Introdução à Computação IEC - ITA Estrutura do Curso • Avaliação –

Paulo André Castro IEC - ITAIntrodução à Computação

Sumário do Capítulo

• Um breve resumo sobre História da Computação

• O computador e seus principais componentes

• Funcionamento de um Computador

• Sistema Numérico

• Passos para elaboração de um Programa

• Exemplo de Algoritmo e Programa