Buscar

Aula 01 intro comp

Prévia do material em texto

Introduc¸a˜o Breve histo´rico Conceitos Estrutura do Computador Algoritmos Exerc´ıcio
Introduc¸a˜o a` Computac¸a˜o
Prof. Vale´rio Rosset
Baseado no Material do Prof. Ota´vio Lemos
March 3, 2015
DCT–UNIFESP — Introduc¸a˜o a` Computac¸a˜o 1/54
Introduc¸a˜o Breve histo´rico Conceitos Estrutura do Computador Algoritmos Exerc´ıcio
O que e´ isso?
DCT–UNIFESP — Introduc¸a˜o a` Computac¸a˜o 2/54
Introduc¸a˜o Breve histo´rico Conceitos Estrutura do Computador Algoritmos Exerc´ıcio
E isso?
DCT–UNIFESP — Introduc¸a˜o a` Computac¸a˜o 3/54
Introduc¸a˜o Breve histo´rico Conceitos Estrutura do Computador Algoritmos Exerc´ıcio
E isso?
DCT–UNIFESP — Introduc¸a˜o a` Computac¸a˜o 4/54
Introduc¸a˜o Breve histo´rico Conceitos Estrutura do Computador Algoritmos Exerc´ıcio
O Computador
Inventado: ± 1943
ENIAC (Electrical Numerical Integrator and Computer):
17m x 9m – 2h ' 100 engenheiros em um ano
Entretanto: 1 PlayStation 3 ' 1.000.000 ENIACs
DCT–UNIFESP — Introduc¸a˜o a` Computac¸a˜o 5/54
Introduc¸a˜o Breve histo´rico Conceitos Estrutura do Computador Algoritmos Exerc´ıcio
O Computador
Inicialmente: calculadora enorme / ra´pida – Para queˆ?
Ex.: Previsa˜o do tempo para um dia no Brasil:
155.520.000.000.000.000 operac¸o˜es
Com 100 contas por segundo, 3 bilho˜es de anos para
calcular
DCT–UNIFESP — Introduc¸a˜o a` Computac¸a˜o 6/54
Introduc¸a˜o Breve histo´rico Conceitos Estrutura do Computador Algoritmos Exerc´ıcio
O Computador
Hoje: processador essencialmente realiza operac¸o˜es
fundamentais
Sobre isso → programas sofisticados (MP3, Jogos, Orkut,
etc.)
Lembre-se do Lego
→
DCT–UNIFESP — Introduc¸a˜o a` Computac¸a˜o 7/54
Introduc¸a˜o Breve histo´rico Conceitos Estrutura do Computador Algoritmos Exerc´ıcio
Breve histo´rico
Origens
Aparelhos mecaˆnicos – usados pela humanidade por
mileˆnios
Exemplo: abaco; provavelmente 3000 A.C.; Babiloˆnia
(Iraque)
DCT–UNIFESP — Introduc¸a˜o a` Computac¸a˜o 8/54
Introduc¸a˜o Breve histo´rico Conceitos Estrutura do Computador Algoritmos Exerc´ıcio
Breve histo´rico
Aristo´teles (384 a.C. - 322 a.C.) - primeiro Lo´gico Formal
Filo´sofo grego: cieˆncias naturais,
lo´gica, f´ısica, poe´tica, astronomia,
e´tica, pol´ıtica, reto´rica, psicologia,
entre outras.
Lo´gica Matema´tica: ca´lculos
simbo´licos, silogismo e o me´todo
axioma´tico.
pensamento dedutivo e
matema´tico, problemas da
mecanizac¸a˜o do pensamento
quantitativo, bases da teoria da
computabilidade.
DCT–UNIFESP — Introduc¸a˜o a` Computac¸a˜o 9/54
Introduc¸a˜o Breve histo´rico Conceitos Estrutura do Computador Algoritmos Exerc´ıcio
Breve histo´rico
Al-Khwarizmi (≈780, ≈850)
Abu Ja’far Mohammed ibn Muˆsa
al-Khwarizmi – matema´tico persa,
se´c. IX
Livro “al-Kitab al-mukhtasar fi
hisab al-jabr wa’l-muqabala” –
livro de a´lgebra, para resolver
equaco˜es lineares e quadra´ticas.
DCT–UNIFESP — Introduc¸a˜o a` Computac¸a˜o 10/54
Introduc¸a˜o Breve histo´rico Conceitos Estrutura do Computador Algoritmos Exerc´ıcio
Breve histo´rico
Antes de 1900
Gottfried Wilhelm Leibniz (1646 - 1716) – precursor da
Lo´gica Matema´tica moderna
Blaise Pascal (1623-1662) – primeira calculadora
mecaˆnica.
DCT–UNIFESP — Introduc¸a˜o a` Computac¸a˜o 11/54
Introduc¸a˜o Breve histo´rico Conceitos Estrutura do Computador Algoritmos Exerc´ıcio
Breve histo´rico
Antes de 1900
Charles Babbage (1791-1871) – Ma´quina Diferencial
(func¸o˜es polinomiais) e Ma´quina Anal´ıtica (precursora do
computador digital) – nenhum funcionou
satisfatoriamente. Ada Byron foi a primeira programadora
da histo´ria trabalhando com a ma´quina de Babbage.
George Boole (1815 - 1864): considerado o fundador da
Lo´gica Simbo´lica, consequentemente deu origem a`
A´lgebra Booleana e os estados de quantificac¸a˜o lo´gica ’0’
e ’1’.
DCT–UNIFESP — Introduc¸a˜o a` Computac¸a˜o 12/54
Introduc¸a˜o Breve histo´rico Conceitos Estrutura do Computador Algoritmos Exerc´ıcio
Breve histo´rico
David Hilbert (1862-1943)
1928, Congresso Internacional de
Matema´ticos:
1 A matema´tica e´ completa?
2 A matema´tica e´ consistente?
3 A matema´tica e´ decid´ıvel?
Problema da decisa˜o.
DCT–UNIFESP — Introduc¸a˜o a` Computac¸a˜o 13/54
Introduc¸a˜o Breve histo´rico Conceitos Estrutura do Computador Algoritmos Exerc´ıcio
Breve histo´rico
Kurt Go¨del (1906-1978)
Amigo de Einstein em Princeton
1931 – respondeu as duas
primeiras perguntas:
1 Mostrou que todo sistema
formal suficientemente forte e´
ou inconsistente ou
incompleto;
2 Mostrou que se um sistema
axioma´tico e´ consistente, a
consisteˆncia na˜o pode ser
provada pelo pro´prio sistema
DCT–UNIFESP — Introduc¸a˜o a` Computac¸a˜o 14/54
Introduc¸a˜o Breve histo´rico Conceitos Estrutura do Computador Algoritmos Exerc´ıcio
Breve histo´rico
Alan Turing (1912-1954)
1936 – soluc¸a˜o para o problema da
decisa˜o;
Ma´quina de Turin – modelo formal
de um computador; mostrou que
alguns problemas na˜o poderiam ser
resolvidos pela ma´quina
Exemplo: problema da parada;
dado um programa, saber se da´
resposta para todas as poss´ıveis
entradas
DCT–UNIFESP — Introduc¸a˜o a` Computac¸a˜o 15/54
Introduc¸a˜o Breve histo´rico Conceitos Estrutura do Computador Algoritmos Exerc´ıcio
Breve histo´rico
John von Neumann (1903-1957)
1944 – muitas das ideias ainda
utilizadas em computadores
digitais modernos
Arquitetura de von Neumann
Unidade central de processamento
(CPU) + memo´ria (instruc¸o˜es e
dados)
DCT–UNIFESP — Introduc¸a˜o a` Computac¸a˜o 16/54
Introduc¸a˜o Breve histo´rico Conceitos Estrutura do Computador Algoritmos Exerc´ıcio
Breve histo´rico
John von Neumann (1903-1957)
Memória
Entrada Saída
Accumulador
Unidade
Controle
de
Unidade
Lógica
Aritmética
DCT–UNIFESP — Introduc¸a˜o a` Computac¸a˜o 17/54
Introduc¸a˜o Breve histo´rico Conceitos Estrutura do Computador Algoritmos Exerc´ıcio
Breve histo´rico
Primeiro microprocessador – Intel (1970)
Depois disso: acelerac¸a˜o fenomenal
DCT–UNIFESP — Introduc¸a˜o a` Computac¸a˜o 18/54
Introduc¸a˜o Breve histo´rico Conceitos Estrutura do Computador Algoritmos Exerc´ıcio
Breve histo´rico
Curiosidade
DCT–UNIFESP — Introduc¸a˜o a` Computac¸a˜o 19/54
Introduc¸a˜o Breve histo´rico Conceitos Estrutura do Computador Algoritmos Exerc´ıcio
Breve histo´rico
Curiosidade
Termo bug : 1945, Grace Murray Hopper (Harvard) –
contas na˜o batiam
Ao verificar o hardware: mariposa em uma das va´lvulas –
a impedia de fechar
Relato´rio de operac¸o˜es: mariposa na folha
Maior desgosto de um profissional da computac¸a˜o
Faz parte, aprender a conviver e a utilizar os inseticidas
apropriados
DCT–UNIFESP — Introduc¸a˜o a` Computac¸a˜o 20/54
Introduc¸a˜o Breve histo´rico Conceitos Estrutura do Computador Algoritmos Exerc´ıcio
Cieˆncia da computac¸a˜o?
Por que na˜o Cieˆncia da Programac¸a˜o?
Cieˆncia/estudo da resoluc¸a˜o de problemas com me´todos
computacionais (n˜ necessariamente computadores)
Como resolver um problema; qua˜o eficiente e´ uma
soluc¸a˜o; como otimizar uma soluc¸a˜o; etc.
Programac¸a˜o e´ um dos artefatos... parte do processo
Programac¸a˜o ↔ Computac¸a˜o; Construc¸a˜o de telesco´pios
↔ Astronomia
DCT–UNIFESP — Introduc¸a˜o a` Computac¸a˜o 21/54
Introduc¸a˜o Breve histo´rico Conceitos Estrutura do Computador Algoritmos Exerc´ıcio
Para que serve a computac¸a˜o?
Me´dico → problema de sau´de; Engenheiro → construir
uma ponte, etc.
Problema central da computac¸a˜o: encontrar algoritmos
para solucionar problemas da melhor forma poss´ıvel
Tal como Medicina, ramificac¸o˜es:
1 Banco de Dados: algoritmos para gerar e manipular grandes quantidades
de dados
2 Computac¸a˜o Gra´fica: algoritmos para projetar imagens em uma tela
plana (iluminac¸a˜o, sombras, reflexos,etc.)
3 Inteligeˆncia Artificial: algoritmos para simular ou planejar
comportamentos
4 Otimizac¸a˜o: algoritmos mais eficientes do que os conhecidos
5 Entretenimento: algoritmos para dar raza˜o ao PlayStation, Xbox, etc.
6 Etc.
DCT–UNIFESP — Introduc¸a˜o a` Computac¸a˜o 22/54
Introduc¸a˜o Breve histo´rico Conceitos Estrutura do Computador Algoritmos Exerc´ıcio
Hardware VS Software
Hardware: o equipamento propriamente dito –
inclui perife´ricos de entrada e de sa´ıda, a
ma´quina e seus elementos f´ısicos: carcac¸as,
placas, fios, componentes em geral.
Software: constitu´ıdo pelos programas que
permitem atender a`s necessidades do usua´rio.
Programar, lidar com software → arte
DCT–UNIFESP — Introduc¸a˜o a` Computac¸a˜o 23/54
Introduc¸a˜o Breve histo´rico Conceitos Estrutura do Computador Algoritmos Exerc´ıcio
Modelo Hipote´tico
Funcionamento do Computador
Componentes
Calculadora;
ma´quina de escrever;
estante com 30 escaninhos
numerados(1-30);
carto˜es externos contendo
um valor nume´rico (pilha de
entrada);
carto˜es em branco;
DCT–UNIFESP — Introduc¸a˜o a` Computac¸a˜o 24/54
Introduc¸a˜o Breve histo´rico Conceitos Estrutura do Computador Algoritmos Exerc´ıcio
Modelo Hipote´tico
Funcionamento do Computador
Nomenclatura
Esc1, Esc2,..., Escn: significam os nu´meros de
cada escaninho.
(Esc1), (Esc2),..., (Escn): significam os valores
nos carto˜es de cada escaninho.
Funcionamento
O operador comec¸a o trabalho lendo e
executando sequencialmente as instruc¸o˜es
contidas nos carto˜es amazenados no escaninho,
comec¸ando por Esc1.
DCT–UNIFESP — Introduc¸a˜o a` Computac¸a˜o 25/54
Introduc¸a˜o Breve histo´rico Conceitos Estrutura do Computador Algoritmos Exerc´ıcio
Modelo Hipote´tico
Funcionamento do Computador
Funcionamento
Algumas instruc¸o˜es podem fazer com que
operador salte ou retorne a escaninhos ja´ lidos
e, desse modo, rompendo a sequeˆncia inicial
mas na˜o a maneira como ele trabalha.
O operador sempre efetuara´ a leitura do
pro´ximo escaninho na sequeˆncia.
O Hardware sa˜o o operador e os dispositivos
que ele gerencia e o software e´ o conjunto de
instruc¸o˜es dos carto˜es. O conjunto de
instruc¸o˜es e´ o seu PROGRAMA.
DCT–UNIFESP — Introduc¸a˜o a` Computac¸a˜o 26/54
Introduc¸a˜o Breve histo´rico Conceitos Estrutura do Computador Algoritmos Exerc´ıcio
Modelo Hipote´tico
Funcionamento do Computador
Instruc¸o˜es Poss´ıveis
Leitura de dados;
Carregamento de constantes (coloca um novo
carta˜o no escaninho);
Co´pia de dados (copia valor existente de um
escaninho para um outro escaninho);
Operac¸a˜o aritme´tica;
Impressa˜o de resultados;
Quebra de sequeˆncia (Condicional/
Incondicional) e te´rmino.
DCT–UNIFESP — Introduc¸a˜o a` Computac¸a˜o 27/54
Introduc¸a˜o Breve histo´rico Conceitos Estrutura do Computador Algoritmos Exerc´ıcio
Modelo Hipote´tico
Calculando a Me´dia Aritme´tica: o Programa
1 Carregar valor 0 em Esc21;
2 Carregar valor 0 em Esc22;
3 Carregar valor 1 em Esc23;
4 Se na˜o ha´ carto˜es de entrada, va´ para Esc9;
5 Ler o valor do carta˜o de entrada para Esc24;
6 Somar (Esc24) com (Esc21), carregando o resultado em Esc21;
7 Somar (Esc23) com (Esc22), carregando o resultado em Esc22;
8 Va´ para Esc4;
9 Se (Esc21) =0, va´ para Esc12;
10 Divida (Esc21) por (Esc22), carregando o resultado em Esc25;
11 Imprima (Esc25);
12 Terminar.
DCT–UNIFESP — Introduc¸a˜o a` Computac¸a˜o 28/54
Introduc¸a˜o Breve histo´rico Conceitos Estrutura do Computador Algoritmos Exerc´ıcio
Modelo Hipote´tico
Calculando a Me´dia Aritme´tica: o Programa
Entrada: Carto˜es com os valres 5, 8 e 14,
respectivamente.
Esc Valor
21 0
22 0
23 1
24 ?
25 ?
Partindo deste estado inicial,o resultado final armazenado em
Esc25 e impresso sera´ ”9”.
DCT–UNIFESP — Introduc¸a˜o a` Computac¸a˜o 29/54
Introduc¸a˜o Breve histo´rico Conceitos Estrutura do Computador Algoritmos Exerc´ıcio
Unidades Ba´sicas do Computador
UCP
UCP: Unidade Central de Processamento (CPU).
1 UC: Unidade de Controle;
2 UF: Unidade Funcional;
DCT–UNIFESP — Introduc¸a˜o a` Computac¸a˜o 30/54
Introduc¸a˜o Breve histo´rico Conceitos Estrutura do Computador Algoritmos Exerc´ıcio
Unidades Ba´sicas do Computador
UCP – Unidade Central de Processamento:
UCP – Unidade Central de Processamento:
Recentemente denominado processador, e´ o
conjunto formado por sua UC, suas UF´s e por
um pequeno mo´dulo de memo´ria chamado de
conjunto de registradores de propo´sitos gerais
(Acesso mais ra´pido que o acesso a memo´ria
principal).
Supercomputadores atuais contam com dezenas,
centenas e ate´ milhares de processadores.
DCT–UNIFESP — Introduc¸a˜o a` Computac¸a˜o 31/54
Introduc¸a˜o Breve histo´rico Conceitos Estrutura do Computador Algoritmos Exerc´ıcio
Unidades Ba´sicas do Computador
UF – Unidade Funcional:
UF – Unidade Funcional:
Parte do computador que confere a capacidade
de realizar operac¸o˜es matema´ticas, c operandos
armazenados localmente (sistema de memo´ria
pro´prio).
Operac¸o˜es Aritme´ticas com nu´meros inteiros e
reais ou Lo´gicas com 0 ou 1;
Alguns mais modernos fazem operac¸o˜es mais
complexas (Trigonome´tricas, logaritmicas,
exponenciais, etc.)
DCT–UNIFESP — Introduc¸a˜o a` Computac¸a˜o 32/54
Introduc¸a˜o Breve histo´rico Conceitos Estrutura do Computador Algoritmos Exerc´ıcio
Unidades Ba´sicas do Computador
UC – Unidade de Controle:
UC – Unidade de Controle:
Responsa´vel pela leitura e interpretac¸a˜o de cada
instruc¸a˜o do programa em execuc¸a˜o;
Responsa´vel pelo acionamento da unidade que
executara´ a instruc¸a˜o e obtenc¸a˜o de eventuais
operandos.
Responsa´vel pela escolha correta da sequ¨eˆncia
das instruc¸o˜es a serem executadas (sequencial
ou com desvio condicional/incondicional).
DCT–UNIFESP — Introduc¸a˜o a` Computac¸a˜o 33/54
Introduc¸a˜o Breve histo´rico Conceitos Estrutura do Computador Algoritmos Exerc´ıcio
Unidades Ba´sicas do Computador
Memo´rias
Memo´ria Prima´ria (ou Principal);
Memo´ria secunda´ria.
DCT–UNIFESP — Introduc¸a˜o a` Computac¸a˜o 34/54
Introduc¸a˜o Breve histo´rico Conceitos Estrutura do Computador Algoritmos Exerc´ıcio
Unidades Ba´sicas do Computador
Memo´rias
Memo´ria Prima´ria
armazena os programas em processamento pela
UCP em um dado instante. Exemplo: RAM
(Random Access Memory)
Memo´ria Secunda´ria
tem a finalidade de armazenar todos os
programas e toda a diversidade de informac¸o˜es
residentes no computador, devendo permanecer
ali guardados mesmo com ele desligado.
Exemplo: HD (Hard Disk), PenDrive, CD/DVD
etc.
DCT–UNIFESP — Introduc¸a˜o a` Computac¸a˜o 35/54
Introduc¸a˜o Breve histo´rico Conceitos Estrutura do Computador Algoritmos Exerc´ıcio
Unidades Ba´sicas do Computador
Entrada e Sa´ıda
UE: Unidades de Entrada.
UE: Unidades de Sa´ıda.
Barramentos.
DCT–UNIFESP — Introduc¸a˜o a` Computac¸a˜o 36/54
Introduc¸a˜o Breve histo´rico Conceitos Estrutura do Computador Algoritmos Exerc´ıcio
Unidades Ba´sicas do Computador
Unidades de Entrada e Sa´ıda
UE: Unidades de Entrada.
Interface com equipamentos do mundo externo.
Recebem dados externos. Exemplos: Mouse;
Teclado; alternativamente arquivos armazenadas
em dispositivos de memo´ria secunda´ria.
DCT–UNIFESP — Introduc¸a˜o a` Computac¸a˜o 37/54
Introduc¸a˜o Breve histo´rico Conceitos Estrutura do Computador Algoritmos Exerc´ıcio
Unidades Ba´sicas do Computador
Unidades de Entrada e Sa´ıda
US: Unidades de Sa´ıda.
Interface com equipamentos do mundo externo.
Envia dados para o mundo externo. Exemplos:
Impressoras; Alto Falantes; alternativamente
arquivos armazenadas em dispositivos de
memo´ria secunda´ria.
DCT–UNIFESP — Introduc¸a˜o a` Computac¸a˜o 38/54
Introduc¸a˜o Breve histo´rico Conceitos Estrutura do ComputadorAlgoritmos Exerc´ıcio
Unidades Ba´sicas do Computador
Barramentos
Barramentos.
Barramento de dados: transporta dados de e
para o armazenamento principal.
Barramento de enderec¸os: transporta os sinais
usados para localizar um determinado enderec¸o
do armazenamento principal.
Barramento de Controle: transporta sinais
indicando se dados devem ser lidos ou escritos
no enderec¸o especificado do armazenamento
principal e de ou para dispositivos de sa´ıda.
DCT–UNIFESP — Introduc¸a˜o a` Computac¸a˜o 39/54
Introduc¸a˜o Breve histo´rico Conceitos Estrutura do Computador Algoritmos Exerc´ıcio
Unidades Ba´sicas do Computador
Correspondencia entre o modelo hipote´tico e o Computador
Comparando:
Modelo Hipote´tico Computador Simples
Operador Unidade de Controle
Calculadora Unidade Funcional
Escaninhos Memo´ria
Pilha de Entrada Unidade de Entrada
Ma´quina de Escrever Unidade de Sa´ıda
DCT–UNIFESP — Introduc¸a˜o a` Computac¸a˜o 40/54
Introduc¸a˜o Breve histo´rico Conceitos Estrutura do Computador Algoritmos Exerc´ıcio
Idioma do Computador
Alfabeto e Sistema de Numerac¸a˜o
No´s: Portugueˆs! Nosso alfabeto, 26 letras;
Computador: Bits. Alfabeto do computador:
Sistema de numerac¸a˜o;
Sistema Base Alfabeto
Decimal 10 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
Bina´rio 2 0, 1
Terna´rio 3 0, 1, 2
Quaterna´rio 4 0, 1, 2, 3
Octal 8 0, 1, 2, 3, 4, 5, 6, 7
Hexadecimal 16 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F
DCT–UNIFESP — Introduc¸a˜o a` Computac¸a˜o 41/54
Introduc¸a˜o Breve histo´rico Conceitos Estrutura do Computador Algoritmos Exerc´ıcio
Idioma do Computador
Alfabeto e Sistema de Numerac¸a˜o
Sistema Bina´rio
O bit e´ a menor unidade de armazenamento do
computador, 1 byte (palavra) equivale a 8 bits
(Ex: 1010 1110).
Toda informac¸a˜o e´ baseada em sequ¨eˆncias de 0
e 1, na˜o se sabe a priori se o conteu´do de um
determinado trecho e´ um nu´mero decimal,
texto, imagem ou som digitalizado. E´ necessa´rio
que o programa que utiliza o conteu´do
interprete o conteu´do de maneira correta.
DCT–UNIFESP — Introduc¸a˜o a` Computac¸a˜o 42/54
Introduc¸a˜o Breve histo´rico Conceitos Estrutura do Computador Algoritmos Exerc´ıcio
Idioma do Computador
Alfabeto e Sistema de Numerac¸a˜o
Prefixos
Prefixos Poteˆncia de 2 Decimal Pro´ximo de
Kilo 210 1.024 103
Mega 220 1.048.576 106
Giga 230 1.073.741.824 109
Tera 240 1.099.511.627.776 1012
Peta 250 1.125.899.906.842.624 1015
DCT–UNIFESP — Introduc¸a˜o a` Computac¸a˜o 43/54
Introduc¸a˜o Breve histo´rico Conceitos Estrutura do Computador Algoritmos Exerc´ıcio
Idioma do computador
Muitas LPs. Exemplos:
1 C/C++: BCPL → 1970, melhoras por
Martin Richards: ‘B’ → 1972, melhoras por
Ritchie e Thopmson: ‘C’ → de´cada de
1980, com POO, Bjarne Stroustrup: ‘C++’
(C e C++ – populares; Pascal semelhante a
C, pore´m mais fa´cil – acadeˆmica)
2 C#: Microsoft; conceitos de C, C++ e Java
3 ASP e PHP: para Web (PHP similar a C)
DCT–UNIFESP — Introduc¸a˜o a` Computac¸a˜o 44/54
Introduc¸a˜o Breve histo´rico Conceitos Estrutura do Computador Algoritmos Exerc´ıcio
Compilac¸a˜o
resolução de 
um problema
programa em 
linguagem
de alto nível
compilação 01001010
01001111
01101001
11010011
01011011
programa em 
linguagem
de máquina
DCT–UNIFESP — Introduc¸a˜o a` Computac¸a˜o 45/54
Introduc¸a˜o Breve histo´rico Conceitos Estrutura do Computador Algoritmos Exerc´ıcio
Algoritmos
Um dos algoritmos mais antigos – Euclides
(Gre´cia, 300 a.C.) – MDC
Exemplo: MDC(3654, 1365) – algoritmo:
1 Divida um dos nu´meros pelo outro e pegue
o resto da divisa˜o;
2 Substitua o primeiro nu´mero pelo segundo,
e o segundo pelo resto;
3 Repita ate´ que o resto seja 0
Repare no cara´ter imperativo
DCT–UNIFESP — Introduc¸a˜o a` Computac¸a˜o 46/54
Introduc¸a˜o Breve histo´rico Conceitos Estrutura do Computador Algoritmos Exerc´ıcio
Algoritmos
Exemplo de MDC (Ma´ximo Divisor Comum)
Executando:
1 3654 ÷ 1365 → resto 924
2 1365 ÷ 924 → resto 441
3 924 ÷ 441 → resto 42
4 441 ÷ 42 → resto 21
5 42 ÷ 21 → resto 0
o resultado de MDC(3654,1365) e´ 21.
DCT–UNIFESP — Introduc¸a˜o a` Computac¸a˜o 47/54
Introduc¸a˜o Breve histo´rico Conceitos Estrutura do Computador Algoritmos Exerc´ıcio
Algoritmos
Lo´gica de programac¸a˜o – te´cnica de
encadear pensamentos para atingir
determinado objetivo
Algoritmo – sequeˆncia de ac¸o˜es
necessa´ria para solucionar um problema
Receita de bolo:
1 ingredientes (ENTRADA);
2 modo de preparo (PROCESSAMENTO);
3 alimento pronto (SA´IDA)
Partitura musical, manual de instruc¸o˜es,
instruc¸o˜es de caminho, etc.
DCT–UNIFESP — Introduc¸a˜o a` Computac¸a˜o 48/54
Introduc¸a˜o Breve histo´rico Conceitos Estrutura do Computador Algoritmos Exerc´ıcio
Algoritmos
Problema de uma receita: linguagem vaga
Formalizac¸a˜o de algoritmos, linguagens:
1 Formato livre
2 Fluxograma
3 Pseudoco´digo
DCT–UNIFESP — Introduc¸a˜o a` Computac¸a˜o 49/54
Introduc¸a˜o Breve histo´rico Conceitos Estrutura do Computador Algoritmos Exerc´ıcio
Algoritmos
Formato livre
Passos necessa´rios numerados item a item
Exemplo:
Inı´cio do Algoritmo
1. pegue o primeiro nu´mero
2. pegue o segundo nu´mero
3. some o primeiro nu´mero com
o segundo
4. mostre o resultado da soma
Fim do Algoritmo.
DCT–UNIFESP — Introduc¸a˜o a` Computac¸a˜o 50/54
Introduc¸a˜o Breve histo´rico Conceitos Estrutura do Computador Algoritmos Exerc´ıcio
Algoritmos
Fluxograma
Representac¸a˜o gra´fica do formato livre
Exemplo:
Tocou o alarme
Pronto 
para
acordar?
Não
Sim
Aperte o soneca
Levante
DCT–UNIFESP — Introduc¸a˜o a` Computac¸a˜o 51/54
Introduc¸a˜o Breve histo´rico Conceitos Estrutura do Computador Algoritmos Exerc´ıcio
Algoritmos
Pseudoco´digo
Linguagem mais pro´xima de uma linguagem de
programac¸a˜o de alto n´ıvel
Evita-se regras de construc¸a˜o gramatical muito r´ıgidas
inı´cio
inteiro: A, B
A ← 1;
B ← 2;
se A > B
ent~ao A ← 5;
sen~ao A ← 10;
fimse;
fim.
DCT–UNIFESP — Introduc¸a˜o a` Computac¸a˜o 52/54
Introduc¸a˜o Breve histo´rico Conceitos Estrutura do Computador Algoritmos Exerc´ıcio
Exerc´ıcio
Algoritmo para levar um lea˜o, uma cabra
e um pedac¸o de grama de um lado para
outro de um rio, atravessando com um
bote. Sabe-se que o bote so´ tem dois
lugares e nunca o lea˜o pode ficar sozinho
com a cabra e nem a cabra sozinha com a
grama. (Use o Formato Livre)
DCT–UNIFESP — Introduc¸a˜o a` Computac¸a˜o 53/54
Introduc¸a˜o Breve histo´rico Conceitos Estrutura do Computador Algoritmos Exerc´ıcio
Exerc´ıcio
Soluc¸a˜o
Inı´cio do Algoritmo
1. leve a cabra;
2. volte;
3. leve o le~ao e volte com a cabra;
4. leve a grama;
5. volte;
6. leve a cabra
Fim do Algoritmo.
DCT–UNIFESP — Introduc¸a˜o a` Computac¸a˜o 54/54
	Introdução
	Breve histórico
	Conceitos
	Estrutura do Computador
	Algoritmos
	Exercício

Outros materiais

Materiais relacionados

Perguntas relacionadas

Perguntas Recentes