Buscar

Aula 01 - Introdução à Ciência da Computação

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 47 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 47 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 47 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

INE 5201 – INTRODUÇÃO À CIÊNCIA DA 
COMPUTAÇÃO 
Aula 01: 
- 1. O Computador 
- 1.1 Arquitetura de Computadores 
1.2 Linguagens de Programação 
1.3 O Compilador 
Prof. André Wüst Zibetti 2013 - 2 
O computador 
 
• “Equipamentos eletrônicos digitais destinados ao 
processamento de informações dos mais variados tipos.” 
 Mokarazel, Fábio Carneiro. Introdução à ciência da computação. 2008. 
 
• “É uma máquina de execução de um algoritmo 
programável.” 
 Holloway, James Paul. Introdução à programação para engenharia: resolvendo problemas 
 com algoritmos. 2006 
 
 
1. O Computador 
O computador 
 
 
Figura da disputa entre um abacista versus um 
algorista. 
Ábaco :1° Ferramenta 
de cálculo 
Teve origem provavelmente na Mesopotâmia, há mais de 5.500 anos. 
1. O Computador 
O computador 
 
 
Blaise Pascal (1623-1662) construiu a primeira 
máquina calculadora, que fazia apenas somas e 
subtrações. 
Aprimorado pelo matemático alemão Gottfried Wilhelm 
Leibniz (1646-1726), que também inventou o cálculo. 
. 
. 
. 
Durante a Segunda Guerra Mundial, em segredo, 
o Exército dos Estados Unidos desenvolvia o 
primeiro computador a válvulas, o Eletronic 
Numeric Integrator And Calculator (ENIAC), capaz 
de fazer quinhentas multiplicações por segundo. 
1. O Computador 
Arquitetura de computadores 
No ENIAC, o programa era feito rearranjando a fiação em um painel. 
 
 
 
 
 
 
 
 
 
 
Nesse ponto John von Neumann propôs a ideia que transformou os calculadores 
eletrônicos em “cérebros eletrônicos”: 
modelar a arquitetura do computador segundo o sistema nervoso central. 
 
1.1 Arquitetura de Computadores 
Arquitetura de computadores 
Para isso, eles teriam que ter três características: 
 
1. Codificar as instruções de uma forma possível de ser 
armazenada na memória do computador. Von 
Neumann sugeriu que fossem usados, 0 e 1; 
 
 
2. Armazenar as instruções na memória, bem como 
toda e qualquer informação necessária a execução 
da tarefa; 
 
 
3. Quando processar o programa, buscar as instruções 
diretamente na memória, ao invés de ler um 
novo cartão perfurado a cada passo. 
Arquitetura de Von Neumann 
1.1 Arquitetura de Computadores 
Arquitetura de computadores 
1.1 Arquitetura de Computadores 
1.1 Arquitetura de Computadores 
http://visual6502.org/JSSim/index.html 
Níveis de linguagem 
 
1.1 Arquitetura de Computadores 
Nível do usuário (abstrato) 
 
Nível do transistor 
 
0 1 bits 
Linguagem de alto nível – ling. humana 
Linguagem de baixo nível – ling. máquina 
0 1 0 
1.1 Arquitetura de Computadores 
0 1 0 1 0 
0 1 
Bits 
 
0 e 1  bits  dígito binário 
 
8 bits = Byte  termo binário 
1.1 Arquitetura de Computadores 
Representação de números no sistema decimal: 
Representação de dados 
 
... 1000 100 10 1 
 1 2 3 
base 10 
1*100 + 2*10 + 3*1 = 123 
100 10 1 
1.1 Arquitetura de Computadores 
Representação de números no sistema binário: 
Representação de dados 
 
base 2 ... 128 64 32 16 8 4 2 1 
1.1 Arquitetura de Computadores 
Representação de números no sistema binário: 
Representação de dados 
 
base 2 ... 128 64 32 16 8 4 2 1 
 0 0 1 0 0 1 0 1 
1.1 Arquitetura de Computadores 
Representação de números no sistema binário: 
Representação de dados 
 
base 2 128 64 32 16 8 4 2 1 
 0 0 1 0 0 1 0 1 
1 Byte 
8 bits 
1.1 Arquitetura de Computadores 
Representação de números no sistema binário: 
Representação de dados 
 
base 2 128 64 32 16 8 4 2 1 
 1 1 1 1 1 1 1 1 
1 Byte 
Qual o valor? 
Máximo = 
Mínimo = 
1.1 Arquitetura de Computadores 
Tabela ASCII: 
Representação 
de dados 
 
Representando cores em binário 
Representando cores em binário 
Representando cores em binário 
Representando cores em binário 
Representando cores em binário 
Representando cores em binário 
1.1 Arquitetura de Computadores 
1.1 Arquitetura de Computadores 
1.1 Arquitetura de Computadores 
1.1 Arquitetura de Computadores 
1.1 Arquitetura de Computadores 
1.1 Arquitetura de Computadores 
1.1 Arquitetura de Computadores 
1.1 Arquitetura de Computadores 
1.1 Arquitetura de Computadores 
1.1 Arquitetura de Computadores 
1.1 Arquitetura de Computadores 
Linguagens de Programação 
1.2 Linguagens de Programação 
São conjuntos de símbolos e regras que permitem a comunicação com o 
computador. 
 
Linguagens naturais: 
 - são aquelas que falamos...; 
 - não foram projetadas, evoluíram; 
 
Linguagens formais: 
 - são aquelas que foram projetadas por pessoas para aplicações 
 específicas; 
 
 - notação matemática  linguagem formal, relação de número e 
 símbolo; 
 - notação química  linguagem formal, representam estruturas 
 químicas; 
 - Linguagens de programação  linguagem formal, desenvolvida para 
 expressar computação; 
Linguagens de Programação 
1.2 Linguagens de Programação 
São conjuntos de símbolos e regras que permitem a comunicação com o 
computador. 
 
Linguagens formais: 
 - são aquelas que foram projetadas por pessoas para aplicações 
 específicas; 
 
 
 
 - notação matemática  linguagem formal, relação de números e 
 símbolos; 
 
 - notação química  linguagem formal, representam estruturas 
 químicas; 
 
 - linguagens de programação  linguagem formal, desenvolvida para 
 expressar computação; 
Linguagens de Programação 
1.2 Linguagens de Programação 
 
Uma linguagem de programação é uma linguagem bem definida, que 
possui uma forma precisa (sintaxe) e um significado (semântica), e 
que pode ser traduzida mecanicamente em uma linguagem de 
máquina. 
 
 
 
Método padronizado para comunicar instruções para um computador, 
com uma maior produtividade. 
 
 
Projetadas para adotar uma sintaxe de alto nível, facilmente entendida 
por programadores humanos. 
 
Linguagens de Programação 
1.2 Linguagens de Programação 
 
 
Sintaxe: é como as instruções de uma linguagem são escritas; 
 como exprimimos uma ideia na linguagem. 
 
 
 
Semântica: descrição do significado da instrução; 
 o significado do que exprimimos na linguagem. 
Linguagens de Programação 
1.2 Linguagens de Programação 
Características: 
 
Regras estritas quanto à sintaxe: 
 
 ex: 3 + 3 = 6 
 3 = +6$ 
 
 H2O 
 2Zz 
 
As regras de sintaxe são de dois tipos: 
 - relacionadas aos símbolos; 
 - relacionadas à estrutura; 
 
 
O processo de análise sintática na computação é chamado de “parsing” 
Linguagens de Programação 
1.2 Linguagens de Programação 
Programa 
 
É uma sequência de instruções que especificam como executar um cálculo ou 
tarefa. 
 
Com um número fixo de regras (princípios primitivos) é possível programar 
“qualquer coisa”. 
 
Exemplo de um conjunto de regras/instruções: 
 
Entrada – Input: Recebe os dados do teclado, arquivo, ou outro dispositivo; 
Saída – Output: Imprimi os dados na tela ou envia à um arquivo...; 
Calcula: Executa operações aritméticas; 
Executa condicionalmente: Verifica uma determinada condição e executa 
 uma sequência aproximada de instruções; 
Repetir: Executa algumainstrução repetidamente...; 
 
Linguagens de Programação 
1.2 Linguagens de Programação 
Exemplo: Sintaxe para escrever na tela “Olá, mundo.”. 
Em C++ 
 
#include <iostream.h> 
void main() 
{ 
cout << "Olá, mundo." << endl; 
} 
Em Python 
 
print ("Olá, Mundo.") 
Em Delphi 
 
Program Ola_Mundo; 
 
{$APPTYPE CONSOLE} 
 begin 
WriteLn('Olá, Mundo.'); 
end. 
Em FORTRAN 
 
PROGRAM HELLO 
WRITE(*,10) 
10 FORMAT('Olá, Mundo.') 
STOP 
END 
Semântica: 
Escreve a <expressão> na tela. 
Linguagens de Programação 
1.2 Linguagens de Programação 
Existem várias linguagens de programação; de acordo com o Índice Tiobe, as 
20 mais populares são: [março, 2013] 
Linguagens de Programação 
1.2 Linguagens de Programação 
Existem várias linguagens de programação; de acordo com o Índice Tiobe, as 
20 mais populares são: [agosto, 2013] 
Linguagens de Programação 
1.2 Linguagens de Programação 
Interpretação e compilação 
1.3 Interpretação e compilação 
Uma linguagem de programação pode ser convertida, ou traduzida, em código 
de máquina por compilação ou interpretada por um processo 
denominado interpretação. 
 
Em ambas ocorre a tradução do código fonte para código de máquina. 
 
Compilação: tradução de todo o programa (código fonte) para um arquivo 
compilado, para somente depois ser executado. 
 
Ex: Pascal, C, ... 
 
Interpretação: execução do programa a medida que vai sendo traduzido, em 
um processo de tradução de trechos seguidos de sua execução imediata. Mais 
lento do que os compilados. 
 
Ex: JavaScript, BASIC, Python, Perl, MATLAB, ... 
 
Interpretação e compilação 
1.3 Interpretação e compilação

Continue navegando