Aula01 introducao

  • 52 views
Uploaded on

 

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
52
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
1
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Introdução a Computação • O que é um computador? “Um computador é uma coleção de componentes que realizam operações lógicas e aritméticas sobre um grande volume de dados.” (F. K. Miyazawa)
  • 2. Introdução a Computação Um computador é composto por: • Unidades de entrada de dados: Ex.: teclado, mouse, câmera de vídeo, etc… • Unidades de saída de dados Ex.: monitor, impressora, etc… • Unidades de armazenamento Ex.: memória RAM, memória ROM, discos rígidos, cache. etc... • Unidade Central de Processamento – CPU • Unidade Lógica Aritmética – ULA
  • 3. Introdução a Computação
  • 4. Introdução a Computação Termos técnicos: • Hardware: Componentes mecânicos e eletro- eletrônicos (Parte dura do computador). • Software: Seqüência de instrucões e comandos que fazem o computador realizar determinada tarefa (Programas de computador). • Sistema Operacional: Coleção de programas que gerencia e aloca recursos de hardware e software (Linux, Unix, Windows).
  • 5. Introdução a Computação • Linguagem de Máquina: Conjunto de instruções que podem ser interpretados e executados diretamente pela CPU. • Linguagem de alto nível: Linguagem que independe do conjunto de instrucões da linguagem de máquina (Pascal, C, Algol, BASIC). • Compilador: Tradutor de programas escritos em uma linguagem de programação para programas em linguagem de máquina (GCC).
  • 6. Introdução a Computação
  • 7. Introdução a Computação Bits e Bytes: • A menor unidade de informação de um computador é o Bit, um Bit pode assumir os valores 0 ou 1. • Um Byte é um conjunto de oito Bits. • Dados são armazenados na base binária não na decimal. 0 = 00000000 1 = 00000001 10 = 00001010 255 = 11111111
  • 8. Introdução a Computação Desafio: Você possui dez caixas vazias e deve distribuir nessas caixas 1000 moedas de tal forma que, quando solicitado, você possa retornar um número qualquer de moedas sem retirá-las das caixas. Cada caixa comporta pelo menos 1000 moedas e os valores solicitados serão todos maiores que zero.
  • 9. Introdução a Computação Solução: Usando a base binária… Caixas com: 1 moeda 256 moedas 2 moedas 488 moedas 4 moedas 8 moedas 16 moedas 32 moedas 64 moedas 128 moedas
  • 10. Introdução a Computação Existem 10 tipos de pessoas… aquelas que entendem binário… e as que não entendem.
  • 11. Introdução a Computação Desafio: Em um lado de um rio se encontram, você, um lobo um coelho e um repolho. Você possui uma canoa que te permite levar apenas um deles de cada vez, sabendo que caso o lobo fique sozinho com o coelho o lobo o come e o mesmo acontece quando o coelho fica sozinho com o repolho. Como fazer para atravessar todos eles em segurança para a outra margem do rio?
  • 12. Introdução a Computação Desafio: Suponha que você possui 3 pinos, A, B e C e que no pino A estão dispostos 3 discos de tamanhos diferentes em ordem crescente de cima para baixo (menor em cima). O objetivo é levar os 3 discos do pino A para o pino C, usando o pino B como auxiliar e obedecendo as seguintes restrições: •Pode-se mover apenas 1 pino de cada vez •Não se pode colocar um pino maior sobre um menor.
  • 13. Introdução a Computação http://freeweb.supereva.com/nessunoforever/flash/hanoi/index.htm?p
  • 14. Introdução a Computação Algoritmos: • Um algoritmo é uma seqüência de passos com o objetivo de executar uma tarefa. • São muito comuns, receitas, manuais • As soluções para os problemas anteriores são algoritmos. • Computacionalmente: “Um procedimento computacional que recebe valores de entrada e produz valores de saída.”
  • 15. Introdução a Computação Exemplo: • Entrada: Uma seqüência aleatória de números. • Saída: A mesma seqüência de números ordenada. Se a entrada é : (8, 49, 12, 23) o seu algoritmo deve produzir como saída: (8, 12, 23, 49) • Algoritmo Correto: Sempre termina e para qualquer instância de entrada produz uma saída correta
  • 16. Introdução a Computação Algoritmo de Euclides (Cálculo do MDC): • Entrada: 2 valores inteiros positivos m e n (m > n). • Saída: O Máximo Divisor Comum de m e n. • Passo 1: Faça x = m e y = n • Passo 2: Calcule o resto de x por y, isto é r = x mod y • Passo 3: Faça x = y e y = r • Passo 4: Se r != 0 (r diferente de zero) volte para o passo 2, senão retorne x como resposta. mdc(x, y) = mdc(y, x mod y) mdc(x, 0) = x
  • 17. Introdução a Computação Computacionalmente: x recebe m y recebe n Repita r recebe x mod y x recebe y y recebe r Até que r == 0 Imprime x
  • 18. Introdução a Computação Na linguagem C: x = m; y = n; do { r = x % y; x = y; y = r; }while( r != 0 ); printf(“%d”, x);
  • 19. Introdução a Computação Para ver depois: • JL Hennessy e DA Patterson, “Arquitetura de Computadores – Uma Abordagem Quantitativa” Ed Campus. • Mais desafios: http://www2.fundao.pro.br/pages/desafios.asp • Torre de Hanoi: http://freeweb.supereva.com/nessunoforever/flash/hanoi/index.htm?p • Página da disciplina: http://www.las.ic.unicamp.br/~chenca/mc102/mc102.html