SlideShare uma empresa Scribd logo
1 de 93
CEEI DSC
rangel@dsc.ufcg.edu.br
Profs.: Andrey Elisio Monteiro Brito
José Eustáquio Rangel de Queiroz
Joseluce de Farias Cunha
Roberto Medeiros de Faria
Carga Horária: 60 h
rangel@dsc.ufcg.edu.br
2
Introdução à Programação
 Tópicos:
 Introdução
 O que é um Computador?
 Organização de um Computador
 Evolução de Sistemas Operacionais
 Computação Pessoal, Distribuída e Cliente/Servidor
 Linguagens de Máquina, de Montagem (Assembly) e
de Alto Nível
 Histórico da Linguagem C
 A Biblioteca Padrão de C
rangel@dsc.ufcg.edu.br
3
 Tendências de Desenvolvimento de Software:
Tecnologia de Objetos
 C e C++
 Java
 Outras Linguagens de Alto Nível
 Programação Estruturada
 Fundamentos de um Ambiente Típico de
Desenvolvimento de Programas em C
 Tendências de Hardware
 Internet
 World Wide Web (WEB)
Introdução à Programação
rangel@dsc.ufcg.edu.br
4
Objetivos
 Após a discussão do material deste capítulo, v.
será capaz de:
 Compreender conceitos computacionais
básicos;
 Familiarizar-se com diferentes tipos de
linguagens de programação;
 Familiarizar-se com o histórico da linguagem de
programação C;
 Tomar conhecimento da biblioteca-padrão da
linguagem C;
rangel@dsc.ufcg.edu.br
5
Objetivos
 Após a discussão do material deste capítulo, v.
será capaz de:
 Compreender os elementos de um ambiente
típico de programação em C;
 Entender porque é importante aprender C em um
primeiro curso programação;
 Ponderar porque C oferece um embasamento
para estudos posteriores de outras linguagens
de programação, em especial C++ e Java.
rangel@dsc.ufcg.edu.br
6
Introdução
 Objeto de Estudo
 A linguagem de programação C
 Técnicas de Programação Estruturada
 Extensão do Livro-texto
 Fundamentos de C++
 Capítulos 15 a 23
 Fundamentos de Java
 Capítulos 24 a 30
 Público-alvo
 Estudantes universitários com pouca ou nenhuma
experiência de programação
rangel@dsc.ufcg.edu.br
7
 Computador
 Dispositivo capaz de realizar computações e
tomar decisões lógicas
 Computadores processam dados a partir de
conjuntos de instruções denominadas
programas
 Máquina eletrônica capaz de receber dados,
submetê-los a um conjunto especificado/pré-
determinado de operações lógicas/aritméticas
e fornecer o resultado destas operações
O que é um Computador?
rangel@dsc.ufcg.edu.br
8
 Os computadores atuais são dispositivos
eletrônicos que, sob direção e controle de um
programa, executam quatro operações
fundamentais
 Entrada (Input)
 Processamento (Processing)
 Saída (Output)
 Armazenamento (Storage)
O que é um Computador?
rangel@dsc.ufcg.edu.br
9
 Ciclo IPOS
Entrada
Processamento
Armazenamento
Saída
O que é um Computador?
rangel@dsc.ufcg.edu.br
10
 Sistema de computação
 Integração de componentes atuando como
uma entidade, com o propósito de processar
dados, i.e. realizar algum tipo de operação
aritmética/ lógica envolvendo os dados, de
modo a produzir diferentes níveis de
informações
O que é um Computador?
rangel@dsc.ufcg.edu.br
11
 Componentes de um Sistema Computacional
Peopleware
Software
Hardware
O que é um Computador?
rangel@dsc.ufcg.edu.br
12
 Componentes de um Sistema Computacional
 Peopleware
 Componente humana de um sistema de
computação, i.e. indivíduos que utilizam o
computador como ferramenta
O que é um Computador?
rangel@dsc.ufcg.edu.br
13
 Componentes de um Sistema Computacional
 Hardware
 Componente física de um sistema de
computação, i.e. todos os equipamentos
utilizados pelo usuário nas ações de entrada,
processamento, armazenamento e saída de
dados
O que é um Computador?
rangel@dsc.ufcg.edu.br
14
 Componentes de um Sistema Computacional
 Software
 Componente lógica de um sistema de
computação, i.e. séries de instruções que fazem
o computador funcionar (programas de
computador)
 programas básicos e programas do usuário
O que é um Computador?
rangel@dsc.ufcg.edu.br
O Software
 É um conjunto de programas
 Um programa são instruções eletrônicas que
informam ao computador como realizar
determinadas tarefas
 Existem duas classes de software:
Software Básico
Software Aplicativo
15
rangel@dsc.ufcg.edu.br
Software Básico
 O software básico tem como finalidade
possibilitar a operação e o uso do
computador, seja qual for a aplicação (o foco
está na máquina) – o software básico se
concentra na necessidades gerais de grande
parte dos usuários
16
rangel@dsc.ufcg.edu.br
Software Básico
TIPOS de Software Básico:
 Sistemas Operacionais,
 Compiladores,
 Utilitários:
 Office
 Comunicação
 Compactação
 SGBD,
 Tocadores e editores de áudio, vídeo, etc.
17
rangel@dsc.ufcg.edu.br
Software Aplicativo
 solução de um problema específico,
utilizando o computador como ferramenta (o
foco está na aplicação)
 Exemplos:
 Folha de pagamento
 Controle de vendas
 Venda de passagens
 Sistema de biblioteca
18
rangel@dsc.ufcg.edu.br
Software Aplicativo
 Customizado
Aplicações originais desenvolvidas
por analistas e programadores
 Pronto
 Free (Domínio público, código aberto,..)
 Shareware
19
rangel@dsc.ufcg.edu.br
20
Unidade Central de Processamento
Unidade
de Controle
ULA
Unidade Primária
de Armazenamento
Dispositivos
de Entrada
Dispositivos
de Saída
Dispositivos de
Armazenamento
Secundário
O Hardware
rangel@dsc.ufcg.edu.br
21
 Partes Funcionais de um computador :
 Unidade de Entrada (Input Unit)
 Obtenção de dados a partir de dispositivos de
entrada (e.g. teclado, mouse)
 Unidade de Saída (Output unit)
 Apresenta a informação em dispositivos de saída
(e.g. monitor, impressora)
 Unidade de Memória (Memory unit)
 Acesso rápido, de baixa capacidade de
armazenamento de informações.
Organização de um
Computador
rangel@dsc.ufcg.edu.br
22
 Unidade Central de Processamento – UCP (Central
Processing unit - CPU)
 Supervisão e coordenação das demais unidades
que compõem o computador
 Unidade de Armazenamento Secundário (Secondary
storage unit)
 Armazenamento barato, de alta capacidade e longa
duração
 Armazenamento de programas inativos
Organização de um
Computador
rangel@dsc.ufcg.edu.br
Unidade Central de
Processamento
 Conjunto complexo de
circuitos eletrônicos.
 Executa instruções de
programas armazenadas.
 Duas partes:
 Unidade de Controle
 Unidade Aritmética e
Lógica (ALU)
23
© 2004 by Pearson
Education
rangel@dsc.ufcg.edu.br
Unidade de Controle
 Direciona o sistema do computador a
executar instruções de programa
armazenadas.
 Deve comunicar-se com a memória e com a
ALU.
 Envia dados e instruções do
armazenamento secundário para a memória,
quando necessário.
24
© 2004 by Pearson
Education
rangel@dsc.ufcg.edu.br
Unidade Aritmética e Lógica
 Executa todas as operações
aritméticas e lógicas.
 Operações aritméticas:
 Adição, subtração, multiplicação, divisão.
 Operações lógicas:
 Compara números, letras ou caracteres
especiais.
 Testa uma de três condições:
 Condição de igualdade (igual a)
 Condição menor que
 Condição maior que
25
© 2004 by Pearson
Education
rangel@dsc.ufcg.edu.br
Armazenamento de Dados e a
CPU
 Dois tipos de armazenamento:
 Armazenamento primário (memória):
 Armazena dados temporariamente.
 A CPU referencia-o tanto para obtenção de
instruções de programa como de dados.
 Armazenamento secundário:
 Armazenamento de longo prazo.
 Armazenado em mídia externa;
por exemplo, um disco.
26
© 2004 by Pearson
Education
rangel@dsc.ufcg.edu.br
A CPU e a Memória
 A CPU não pode processar dados diretamente do
disco ou de um dispositivo de entrada:
 Primeiramente, eles devem residir na memória.
 A unidade de controle recupera dados do disco e
transfere-os para a memória.
 Itens enviados à CPU para ser processados:
 A unidade de controle envia itens à CPU e depois os
envia novamente à memória após serem processados.
 Dados e instruções permanecem na memória até
serem enviados a um dispositivo de saída ou
armazenamento, ou o programa ser fechado.
27
© 2004 by Pearson
Education
rangel@dsc.ufcg.edu.br
Áreas de Armazenamento
Temporário
 Registradores
 Memória
28
© 2004 by Pearson
Education
rangel@dsc.ufcg.edu.br
Registradores
 Áreas de armazenamento temporário de
alta velocidade.
 Localizações de armazenamento situadas
dentro da CPU.
 Funcionam sob direção da unidade de
controle:
 Recebem, guardam e transferem
instruções ou dados.
 Controlam onde a próxima instrução a ser
executada ou os dados necessários serão
armazenados.
29
© 2004 by Pearson
Education
rangel@dsc.ufcg.edu.br
Memória
 Também conhecida como armazenamento
primário e memória principal.
 Freqüentemente expressa como memória de
acesso aleatório (RAM).
 Não faz parte da CPU.
 Retém dados e instruções para
serem processados.
 Armazena informações somente enquanto o
programa está em operação.
30
© 2004 by Pearson
Education
rangel@dsc.ufcg.edu.br
Como a CPU Executa
Instruções
 Quatro etapas são executadas para
cada instrução: captação, decodificação,
execução e armazenamento.
 Ciclo de máquina: a quantidade de tempo
necessária para executar uma instrução.
 Computadores pessoais executam-nas em
menos de um milionésimo de segundo.
 Supercomputadores executam-nas em menos
de um trilionésimo de segundo.
 Cada CPU tem seu próprio conjunto
de instruções:
 Aquelas instruções as quais a CPU pode
entender e executar. 31
rangel@dsc.ufcg.edu.br
O Ciclo da Máquina
 O tempo necessário
para recuperar,
executar e armazenar
uma operação.
 Componentes:
 Tempo de instrução
 Tempo de execução
 O clock de sistema
sincroniza as
operações.
32
© 2004 by Pearson
Education
rangel@dsc.ufcg.edu.br
Tempo de Instrução
 Também chamado de I-time.
 A unidade de controle recebe a instrução da
memória e a coloca em um registro.
 A unidade de controle decodifica a instrução
e determina qual é a localização na memória
para os dados necessários.
33
© 2004 by Pearson
Education
rangel@dsc.ufcg.edu.br
Tempo de Execução
 A unidade de controle transfere dados da
memória para registros na ALU.
 A ALU executa instruções relativas
aos dados.
 A unidade de controle armazena o resultado
da operação na memória ou em um registro.
34
© 2004 by Pearson
Education
rangel@dsc.ufcg.edu.br
Endereços de Memória
 Cada localização de memória tem
um endereço:
 Um número único, como em
uma caixa postal.
 Pode conter somente uma
instrução ou peça de dados:
 Quando dados são reescritos
na memória, o conteúdo
anterior desse endereço é
destruído.
 Referenciado pelo número:
 As linguagens de programação
usam um endereço simbólico
(nomeado), tal como Horas
ou Salário.
35
© 2004 by Pearson
Education
rangel@dsc.ufcg.edu.br
Representação de Dados
 Os computadores entendem
duas coisas: ligado e
desligado.
 Dados são representados na
forma binária:
 Sistema numérico binário
(base 2).
 Contém somente 2 dígitos: 0 e
1.
 Corresponde a dois estados:
ligado e desligado.
36
© 2004 by Pearson
Education
rangel@dsc.ufcg.edu.br
Representando Dados
 Bit
 Byte
 Palavra
37
© 2004 by Pearson
Education
rangel@dsc.ufcg.edu.br
Bit
 Abreviação de binary digit (dígito binário).
 Dois valores possíveis: 0 e 1.
 Nunca pode estar vazio.
 Unidade básica para armazenar dados:
 0 significa desligado; 1 significa ligado.
38
© 2004 by Pearson
Education
rangel@dsc.ufcg.edu.br
Byte
 Um grupo de 8 bits.
 Cada byte tem 256 (28) valores possíveis.
 Para texto, armazena um caractere:
 Pode ser letra, dígito ou caractere especial.
 Dispositivos de memória e armazenamento
são medidos em número de bytes.
39
© 2004 by Pearson
Education
rangel@dsc.ufcg.edu.br
Palavra
 O número de bits que a CPU processa como
uma unidade.
 Tipicamente, um número inteiro de bytes.
 Quanto maior a palavra, mais potente
é o computador.
 Computadores pessoais tipicamente têm
32 ou 64 bits de extensão de palavras.
40
© 2004 by Pearson
Education
rangel@dsc.ufcg.edu.br
Capacidades de
Armazenamento
 Kilobyte: 1024 (210) bytes.
 Capacidade de memória dos computadores pessoais
mais antigos.
 Megabyte: aproximadamente, um milhão (220) de bytes.
 Memória de computadores pessoais.
 Dispositivos de armazenamento portáteis (disquetes,
CD-ROMs).
 Gigabyte: aproximadamente, um bilhão (230) de bytes.
 Dispositivos de armazenamento (discos rígidos).
 Memória de mainframes e servidores de rede.
 Terabyte: aproximadamente, um trilhão (240) de bytes.
 Dispositivos de armazenamento para sistemas muito grandes.
41
© 2004 by Pearson
Education
rangel@dsc.ufcg.edu.br
Capacidades de
Armazenamento
 SUMÁRIO:
 · 1 Bit = Binary Digit
· 8 Bits = 1 Byte
· 1000 Bytes = 1 Kilobyte
· 1000 Kilobytes = 1 Megabyte
· 1000 Megabytes = 1 Gigabyte
· 1000 Gigabytes = 1 Terabyte
· 1000 Terabytes = 1 Petabyte
· 1000 Petabytes = 1 Exabyte
· 1000 Exabytes = 1 Zettabyte
· 1000 Zettabytes = 1 Yottabyte
· 1000 Yottabytes = 1 Brontobyte
· 1000 Brontobytes = 1 Geopbyte
42
rangel@dsc.ufcg.edu.br
Esquemas de Codificação
 Provêem uma maneira comum para
representar um caractere de dados.
 Necessários para os computadores
poderem intercambiar dados.
 Esquemas comuns:
 ASCII
 EBCDIC
 Unicode
43
© 2004 by Pearson
Education
rangel@dsc.ufcg.edu.br
ASCII
 Sigla de American Standard Code for
Information Interchange.
 O padrão mais amplamente usado.
 Usado virtualmente em todos os
computadores pessoais.
44
© 2004 by Pearson
Education
rangel@dsc.ufcg.edu.br
EBCDIC
 Sigla de Extended Binary Coded Decimal
Interchange Code.
 Usado principalmente em mainframes IBM
e compatíveis com IBM.
45
© 2004 by Pearson
Education
rangel@dsc.ufcg.edu.br
Unicode
 Projetado para acomodar alfabetos com
mais de 256 caracteres.
 Usa 16 bits para representar um caractere.
 65.536 valores possíveis.
 Exige duas vezes mais espaço para
armazenar dados.
46
© 2004 by Pearson
Education
rangel@dsc.ufcg.edu.br
A Unidade de Sistema
 Abriga os componentes eletrônicos do
sistema de computador:
 Placa-mãe (motherboard)
 Dispositivos de armazenamento
47
© 2004 by Pearson
Education
rangel@dsc.ufcg.edu.br
Placa-mãe (motherboard)
 Placa de circuitos plana
que contém os circuitos
do computador.
 A unidade central de
processamento
(microprocessador) é o
componente mais
importante.
http://www.youtube.com/watch?v=zq
WKDzlIssU
48
© 2004 by Pearson
Education
rangel@dsc.ufcg.edu.br
Dispositivos de
Armazenamento
 Armazenamento de longo prazo da memória.
 Dados não se perdem quando o
computador é desligado.
 Incluem-se entre os exemplos: discos
rígidos, disquetes, DVD-ROMs.
49
© 2004 by Pearson
Education
rangel@dsc.ufcg.edu.br
Microprocessador
 Unidade central de
processamento impressa
em chip de silício.
 Contém dezenas de milhões
de minúsculos transistores.
 Componentes-chave:
 Unidade central de
processamento.
 Registradores.
 Clock do sistema.
50
© 2004 by Pearson
Education
rangel@dsc.ufcg.edu.br
Microprocessador
 Como funcionam os processadores
http://www.youtube.com/watch?v=IfOIB4-pn1k
 Conheça mais o processador
http://olhardigital.uol.com.br/produtos/central_
de_videos/conheca-seu-micro-processador
51
rangel@dsc.ufcg.edu.br
Transistores
 Comutadores eletrônicos que podem
permitir ou não a passagem de corrente
elétrica.
 Se a corrente elétrica passar, o comutador
estará ativado, representando um bit 1.
 Caso contrário, o comutador estará
desativado, representando um bit 0.
52
© 2004 by Pearson
Education
rangel@dsc.ufcg.edu.br
Tipos de Chips
 A Intel produz uma família de processadores:
 Processadores Pentium 4, Pentium Dual Core, Core 2
Duo, i3 e i5 na maioria dos PCs.
 Processador Celeron e Atom vendido para PCs
de baixo custo.
 Opteron, Xeon, Itanium, Core 2 Extreme, Core 2 Quad e i7
para estações de trabalho high-end e servidores de rede.
 Outros processadores:
 A Cyrix e a AMD produzem microprocessadores
compatíveis com Intel.
 Chips PowerPC são usados principalmente em
computadores Macintosh.
 O microprocessador Alpha, da Compaq, é usado em
servidores high-end.
53
rangel@dsc.ufcg.edu.br
Componentes da Memória
 RAM e ROM
 Tecnologias:
 Memória semicondutora
 Memória Flash
54
© 2004 by Pearson
Education
rangel@dsc.ufcg.edu.br
Memória Semicondutora
 Usada pela maioria dos computadores
modernos:
 Confiável, barata e compacta.
 Volátil: exige corrente elétrica contínua.
 Se a corrente for interrompida, os dados se perdem.
 Semicondutor Complementar de Óxido de Metal
– Complementary Metal Oxide Semiconductor
(CMOS).
 Retém informação quando a energia é desligada.
 Usado para armazenar informações necessárias
quando o computador é inicializado.
55
© 2004 by Pearson
Education
rangel@dsc.ufcg.edu.br
Memória Flash
• um chip re-escrevível que, ao contrário de uma memória RAM,
preserva o seu conteúdo sem a necessidade de fonte de
alconvencionalimentação
 Os chips de memória flash assemelham-se aos cartões de crédito.
 Menores do que uma unidade de disco e requerem menos energia.
56
rangel@dsc.ufcg.edu.br
RAM e ROM
 Memória de Acesso Aleatório – Random-
Access Memory (RAM)
 Memória Somente de Leitura – Read-Only
Memory (ROM)
57
© 2004 by Pearson
Education
rangel@dsc.ufcg.edu.br
Memória de Acesso Aleatório
 Dados podem ser acessados
aleatoriamente:
 O endereço de memória 10 pode ser
acessado tão rapidamente quanto o
endereço de memória 10.000.000.
58
© 2004 by Pearson
Education
rangel@dsc.ufcg.edu.br
Memória Somente de Leitura
 Contém programas e dados registrados
permanentemente na memória pela fábrica.
 Não pode ser alterada pelo usuário.
 Não-volátil: o conteúdo não desaparecerá
quando houver queda de energia.
 Chips de ROM programáveis (PROM):
 Algumas instruções no chip podem
ser alteradas.
59
© 2004 by Pearson
Education
rangel@dsc.ufcg.edu.br
O Barramento (Bus) do
Sistema
 Percursos elétricos paralelos que
transportam dados entre a CPU e a
memória.
 Largura de barramento:
 O número de percursos elétricos para
transportar dados.
 Medida em bits.
 Velocidade de barramento:
 Medida em megahertz (MHz).
60
© 2004 by Pearson
Education
rangel@dsc.ufcg.edu.br
Largura de Barramento
 Tipicamente, a mesma largura do tamanho
de palavra da CPU.
 Com um tamanho de barramento maior,
a CPU pode:
 Transferir mais dados simultaneamente:
 Torna o computador mais rápido.
 Referenciar números de endereço de memória maiores:
 Permite mais memória.
 Suportar um número e uma variedade maiores de
instruções.
61
© 2004 by Pearson
Education
rangel@dsc.ufcg.edu.br
Velocidade de Barramento
 Quanto maior a velocidade de barramento,
mais rapidamente os dados viajarão por
meio do sistema.
 Computadores pessoais têm velocidades de
barramento de 400 MHz , 533 MHz, 800 MHz
ou 1066 MHz.
62
© 2004 by Pearson
Education
rangel@dsc.ufcg.edu.br
Barramentos de Expansão
 Adiciona dispositivos periféricos ao
sistema:
 Placa de expansão
 Porta
63
© 2004 by Pearson
Education
rangel@dsc.ufcg.edu.br
Placas de Expansão
 Conectam-se a slots
(encaixes) de
expansão ou à
placa-mãe.
 São usadas para
conectar
dispositivos
periféricos.
 A maioria dos
computadores são
“onboard”.
64
© 2004 by Pearson
Education
rangel@dsc.ufcg.edu.br
Portas
 Conectores externos para plugar periféricos,
como, por exemplo, impressoras.
 Dois tipos de portas:
 Seriais: transmitem dados à base de
um bit a cada vez.
 Usadas para dispositivos lentos, como o
mouse e o teclado.
 Paralelas: transmitem grupos de bits
em conjunto, lado a lado.
 Usadas para dispositivos mais rápidos, como
impressoras e scanners.
65
© 2004 by Pearson
Education
rangel@dsc.ufcg.edu.br
Cache
 Uma área de armazenamento temporário:
 Agiliza a transferência de dados
dentro do computador.
 Memória cache
 Cache de processador
66
© 2004 by Pearson
Education
rangel@dsc.ufcg.edu.br
Memória Cache
 Um pequeno bloco de memória de alta velocidade:
 Armazena os dados e as instruções usados com mais
freqüência e mais recentemente.
 O microprocessador procura primeiramente na
cache os dados de que necessita:
 Transferidos da cache muito mais rapidamente do
que da memória.
 Se não estiverem na cache, a unidade de controle
recupera-os da memória.
 Quanto mais “presença de dados” na cache, mais rápido é
o desempenho do sistema.
67
© 2004 by Pearson
Education
rangel@dsc.ufcg.edu.br
Cache de Processador
 Cache interna (Nível 1) embutida no
microprocessador.
 Acesso mais rápido, porém custo mais
elevado.
 Cache externa (Nível 2) em um chip
separado.
 Incorporada ao processador e alguns
microprocessadores atuais.
68
© 2004 by Pearson
Education
rangel@dsc.ufcg.edu.br
Cache e Registradores
 Diferença entre Memória Cache e Registradores
 Registradores: armazenam dados a serem
usados de imediato
 Cache: armazena dados usados mais
frequentemente
 http://taturial.blogspot.com.br/2012/02/diferenca-entre-as-
memorias.html
 http://informatica.hsw.uol.com.br/memoria-do-computador4.htm
 http://crv.educacao.mg.gov.br/sistema_crv/index.aspx?ID_OBJETO=3
7829&tipo=ob&cp=003366&cb=&n1=&n2=Biblioteca%20Virtual&n3=C
adernos%20de%20Inform%C3%A1tica&n4=&b=s
69
rangel@dsc.ufcg.edu.br
Hierarquia de Memórias
70
© 2004 by Pearson Education
rangel@dsc.ufcg.edu.br
Classificação de tipos de
Memória
 Quanto às operações suportadas:
 RAM
 ROM
 Quanto ao tempo de permanência de dados:
 Volátil
 Não Volátil
rangel@dsc.ufcg.edu.br
 Que usa múltiplos processadores
simultaneamente
 O processador de controle divide o problema
em partes:
 Cada parte é enviada a um processador distinto.
 Cada processador tem sua própria memória.
 O processador de controle monta os resultados.
 Alguns computadores que usam
processamento paralelo operam em termos de
teraflops: trilhões de instruções com ponto
flutuante por segundo.
72
rangel@dsc.ufcg.edu.br
73
Tendências de Hardware
 Características que, grosso modo, duplicam a cada
um ou dois anos:
 Quantidade de memória (execução de programas)
 Quantidade de meio de armazenamento secundário
(e.g. disco rígido)
 Armazenamento de longa duração de programas
e dados
 Rapidez do Processador
 Velocidade com que os computadores executam
os programas
rangel@dsc.ufcg.edu.br
74
 Processamento por Lotes (Batch processing)
 Apenas um serviço (job) ou uma tarefa (task)
por vez
 Sistemas Operacionais
 Gestão de transições entre serviços/tarefas
 Throughput incrementada
 Quantidade de trabalho processada por
computadores
Evolução dos Sistemas
Operacionais
rangel@dsc.ufcg.edu.br
75
 Multiprogramação
 Compartilhamento de recursos
computacionais por vários serviços ou
tarefas
 Compartilhamento de Tempo (Timesharing)
 Execução de diversos serviços, com a UCP
alternando-se entre eles tão freqüentemente
que os usuários podem interagir com cada
programa durante sua execução.
Evolução dos Sistemas
Operacionais
rangel@dsc.ufcg.edu.br
76
 Computação Pessoal
 Econômica o bastante para uso individual
 Computação Distribuída
 Processamento da informação através de
redes de computadores
 Computação Cliente/Servidor
 Compartilhamento da informação ao longo de
redes de computadores entre servidores e
clientes de arquivos (computadores pessoais)
Computação Pessoal, Distribuída e
Cliente/Servidor
rangel@dsc.ufcg.edu.br
77
 Tipos de Linguagens de Programação
 Linguagens de Máquina
 Seqüências de números relativas a instruções
de máquina específicas
 Exemplo: +1300042774
+1400593419
+1200274027
Linguagens de Máquina, de
Montagem e de Alto Nível
rangel@dsc.ufcg.edu.br
78
 Tipos de Linguagens de Programação
 Linguagens de Montagem (Assembly)
 Instruções computacionais formuladas a
partir de termos ingleses abreviados,
representando operações elementares,
traduzidas a partir de montadores
(assemblers)
 Exemplo: LOAD A
ADD B
STORE (A+B)
Linguagens de Máquina, de
Montagem e de Alto Nível
rangel@dsc.ufcg.edu.br
79
 Tipos de Linguagens de Programação
 Linguagens de Alto Nível
 Códigos similares ao inglês cotidiano
 Uso de notações matemáticas (traduzidas via
compiladores)
 Exemplo: Bruto = Líquido + Descontos
Área = (Base * Altura)/2
Linguagens de Máquina, de
Montagem e de Alto Nível
rangel@dsc.ufcg.edu.br
80
 Linguagem C
 Desenvolvida por Ritchie, a partir de duas
linguagens de programação antecessoras:
BCPL e B
 Uso no desenvolvimento do UNIX
 Emprego na codificação de sistemas
operacionais modernos
 Independência de hardware (portável)
 "C Tradicional"  C desenvolvido no final da
década de 70
Histórico da Linguagem C
rangel@dsc.ufcg.edu.br
81
 Padronização da Linguagem C
 Motivação: Incompatibilidade entre diversas
variantes existentes de C
 Formação de um comitê da ANSI para a
definição de uma linguagem "isenta de
ambigüidades e independente de máquina"
 Criação do C padrão em 1989
 Atualização da linguagem em 1999
Histórico da Linguagem C
rangel@dsc.ufcg.edu.br
82
 Programas em C  módulos denominados
funções
 Possibilidade de criação de funções
específicas pelo programador
 Vantagem
 Conhecimento exato do comportamento das
funções
 Desvantagem
 Dispêndio de tempo no desenvolvimento de
funções específicas
A Biblioteca Padrão de C
rangel@dsc.ufcg.edu.br
83
 Programas em C  módulos denominados
funções
 Uso freqüente das funções da biblioteca de C por
programadores
 Uso como “blocos” para a construção de
aplicações próprias
 Reuso evita a “reinvenção da roda”
 Uso de funções existentes é, em geral, melhor do
que a reescrita de código com o mesmo
propósito
 Funções da biblioteca foram cuidadosamente
desenvolvidas para uso eficiente e portabilidade
A Biblioteca Padrão de C
rangel@dsc.ufcg.edu.br
84
 Objetos
 Componentes reusáveis de software que
modelam itens do mundo real
 Unidades significativas de software
 Objetos de dados, tempo, pagamento,
áudio, vídeo, arquivos, etc.
 Qualquer nome pode ser representado
como um objeto com comportamento
bem definido
 Maior capacidade de reuso
Tendências de Desenvolvimento de
Software: Tecnologia de Objetos
rangel@dsc.ufcg.edu.br
85
 Objetos
 Maior compreensibilidade, melhor
organização, maior facilidade de manutenção
do que a programação baseada em
procedimentos (procedural)
 Favorescimento à modularidade
Tendências de Desenvolvimento de
Software: Tecnologia de Objetos
rangel@dsc.ufcg.edu.br
86
 C++
 Superconjunto de C, desenvolvido por Bjarne
Stroustrup no Bell Labs
 “Extende" C, oferecendo facilidades de
orientação a objetos
 Poder do projeto orientado a objetos
 Produtividade incrementada de 10 a 100
vezes
 Linguagem dominante na indústria e em
academias
C e C++
rangel@dsc.ufcg.edu.br
87
 Aprendizado de C++
 Uma vez que C++ abrange C, se afigura
indispensável o domínio de C para um
aprendizado efetivo de C++
 Vide Capítulo 15 (introdução ao C++)
C e C++
rangel@dsc.ufcg.edu.br
88
 Uso de Java
 Criação de páginas Web com conteúdo
dinâmico e interativo
 Desenvolvimento de aplicações empresariais
em larga escala
 Incrementação da funcionalidade de
servidores Web
 Desenvolvimento de aplicações para
dispositivos tais como telefones celulares,
pagers e assistentes digitais pessoais (PDA)
JAVA
rangel@dsc.ufcg.edu.br
89
 FORTRAN
 Uso em aplicações de engenharia e
aplicações científicas
 COBOL
 Uso para a manipulação de grandes
quantidades de dados
 Pascal
 Uso acadêmico
Outras Linguagens de Alto
Nível
rangel@dsc.ufcg.edu.br
90
Programação Estruturada
 Programação Estruturada
 Abordagem com regras bem definidas para
a escrita de programas
 Clareza, facilidade de teste e depuração e
facilidade de alteração do código
rangel@dsc.ufcg.edu.br
91
Pré-processador Disco
Ambiente Típico de Desenvolvimento
de Programas em C
 Fases de Programas
em C/C++
 Edição
 Pré-processamento
 Compilação
 Linkagem
 Carregamento
 Execução
O programa é criado no
editor e armazenado em
disco.
O programa pré-
processador processa o
código.
O carregador transfere o
programa para a memória.
A UCP recupera cada
instrução e a executa,
armazenando (quando
possível) novos valores de
dados à medida que o
programa é executado.
O compilador cria o
código-objeto e o
armazena em disco.
O linker faz o link do
código-objeto com as
bibliotecas.
Carregador
Compilador
Editor
Linker
Disco
UCP
Memória Primária
Disco
Disco
Disco
Memória Primária
rangel@dsc.ufcg.edu.br
92
/* Programa que executa a soma de dois inteiros */
#include <stdio.h>
/* início da função main */
int main()
{
int inteiro1; /*variável que contém a primeira parcela da soma */
int inteiro2; /* variável que contém a segunda parcela da soma */
int soma; /* variável na qual será armazenado o resultado da soma */
printf(“Digite o primeiro inteiro:n"); /*preparação para o recebimento do
primeiro número inteiro */
scanf( "%d", &inteiro1 ); /* leitura do primeiro número */
printf(“Digite o segundo inteiro:n"); /* preparação para o recebimento do
segundo número inteiro*/
scanf( "%d", &inteiro2 ); /* leitura do primeiro número */
soma = inteiro1 + inteiro2; /* realização da soma dos 2 inteiros digitados pelo
usuário */
printf( “A soma eh igual a %dn", soma ); /* impressão da soma */
return 0; /* indicação de que o programa encerrou satisfatoriamente */
} /* fim da função main */
Preparação para o Capítulo 2
Exemplo (Soma de 2 Inteiros)
CEEI DSC
rangel@dsc.ufcg.edu.br
Andrey Elisio Monteiro Brito
José Eustáquio Rangel de Queiroz
Joseluce de Farias Cunha
Roberto Medeiros de Faria
DEPARTAMENTO DE SISTEMAS E COMPUTAÇÃO
UNIVERSIDADE FEDERAL DE CAMPINA GRANDE
CENTRO DE ENGENHARIA ELÉTRICA E INFORMÁTICA

Mais conteúdo relacionado

Semelhante a IP_Notas01.ppt

Apostila de adm da informacao
Apostila de adm da informacaoApostila de adm da informacao
Apostila de adm da informacaoAdenide Rodrigues
 
Sistemas Operacionais
Sistemas OperacionaisSistemas Operacionais
Sistemas OperacionaisAdir Kuhn
 
Slide de informatica para Eja tema da ap
Slide de informatica para Eja tema da apSlide de informatica para Eja tema da ap
Slide de informatica para Eja tema da apgeodecastro44
 
Aula24 sistema operacional
Aula24 sistema operacionalAula24 sistema operacional
Aula24 sistema operacionalcicero maia
 
Noções de hardware e software
Noções de hardware e softwareNoções de hardware e software
Noções de hardware e softwareCDIM Daniel
 
Sistemas operativos de grande porte
Sistemas operativos de grande porteSistemas operativos de grande porte
Sistemas operativos de grande porteteacherpereira
 
Sistemas operativos de grande porte
Sistemas operativos de grande porteSistemas operativos de grande porte
Sistemas operativos de grande porteteacherpereira
 
M1_Sistemas Operativos.pptx
M1_Sistemas Operativos.pptxM1_Sistemas Operativos.pptx
M1_Sistemas Operativos.pptxDoraestevao
 
Sistemas operacionais
Sistemas operacionaisSistemas operacionais
Sistemas operacionaisvini_campos
 
Sistemas Operacionais - Aula 03 (Conceitos de hardware e software)
Sistemas Operacionais - Aula 03 (Conceitos de hardware e software)Sistemas Operacionais - Aula 03 (Conceitos de hardware e software)
Sistemas Operacionais - Aula 03 (Conceitos de hardware e software)Leinylson Fontinele
 
sistemas operativos.ppt
sistemas operativos.pptsistemas operativos.ppt
sistemas operativos.pptssuserb52d9e
 
A arquitetura básica de um computador
A arquitetura básica de um computadorA arquitetura básica de um computador
A arquitetura básica de um computadorredesinforma
 
Visão Geral: Estruturas do Sistema Operacional
Visão Geral: Estruturas do Sistema OperacionalVisão Geral: Estruturas do Sistema Operacional
Visão Geral: Estruturas do Sistema OperacionalAlexandre Duarte
 
Sistemas Operacionais - 2º unidade - Tiago Falcão
Sistemas Operacionais - 2º unidade - Tiago FalcãoSistemas Operacionais - 2º unidade - Tiago Falcão
Sistemas Operacionais - 2º unidade - Tiago FalcãoCamila Seródio
 

Semelhante a IP_Notas01.ppt (20)

Apostila de adm da informacao
Apostila de adm da informacaoApostila de adm da informacao
Apostila de adm da informacao
 
Sistemas Operacionais
Sistemas OperacionaisSistemas Operacionais
Sistemas Operacionais
 
int a informatica.pptx
int a informatica.pptxint a informatica.pptx
int a informatica.pptx
 
informatica-basica-1.4.ppt
informatica-basica-1.4.pptinformatica-basica-1.4.ppt
informatica-basica-1.4.ppt
 
informatica-basica-1.4.ppt
informatica-basica-1.4.pptinformatica-basica-1.4.ppt
informatica-basica-1.4.ppt
 
Slide de informatica para Eja tema da ap
Slide de informatica para Eja tema da apSlide de informatica para Eja tema da ap
Slide de informatica para Eja tema da ap
 
Aula24 sistema operacional
Aula24 sistema operacionalAula24 sistema operacional
Aula24 sistema operacional
 
Noções de hardware e software
Noções de hardware e softwareNoções de hardware e software
Noções de hardware e software
 
Sistemas operativos de grande porte
Sistemas operativos de grande porteSistemas operativos de grande porte
Sistemas operativos de grande porte
 
Sistemas operativos de grande porte
Sistemas operativos de grande porteSistemas operativos de grande porte
Sistemas operativos de grande porte
 
M1_Sistemas Operativos.pptx
M1_Sistemas Operativos.pptxM1_Sistemas Operativos.pptx
M1_Sistemas Operativos.pptx
 
Sistemas operacionais
Sistemas operacionaisSistemas operacionais
Sistemas operacionais
 
Sistemas Operacionais - Aula 03 (Conceitos de hardware e software)
Sistemas Operacionais - Aula 03 (Conceitos de hardware e software)Sistemas Operacionais - Aula 03 (Conceitos de hardware e software)
Sistemas Operacionais - Aula 03 (Conceitos de hardware e software)
 
sistemas operativos.ppt
sistemas operativos.pptsistemas operativos.ppt
sistemas operativos.ppt
 
1 - introducao.pdf
1 - introducao.pdf1 - introducao.pdf
1 - introducao.pdf
 
A arquitetura básica de um computador
A arquitetura básica de um computadorA arquitetura básica de um computador
A arquitetura básica de um computador
 
Visão Geral: Estruturas do Sistema Operacional
Visão Geral: Estruturas do Sistema OperacionalVisão Geral: Estruturas do Sistema Operacional
Visão Geral: Estruturas do Sistema Operacional
 
Sistemas Operacionais - 2º unidade - Tiago Falcão
Sistemas Operacionais - 2º unidade - Tiago FalcãoSistemas Operacionais - 2º unidade - Tiago Falcão
Sistemas Operacionais - 2º unidade - Tiago Falcão
 
Introdução a computação
Introdução a computaçãoIntrodução a computação
Introdução a computação
 
So cap01
So cap01So cap01
So cap01
 

Mais de Patrícia Melo

Java Fundamentos Estrutura de Controle
Java Fundamentos Estrutura de ControleJava Fundamentos Estrutura de Controle
Java Fundamentos Estrutura de ControlePatrícia Melo
 
Conceitos Iniciais LP I
Conceitos Iniciais LP IConceitos Iniciais LP I
Conceitos Iniciais LP IPatrícia Melo
 
Ciclo de vida processo
Ciclo de vida processoCiclo de vida processo
Ciclo de vida processoPatrícia Melo
 
Engenharia de Software - Requisito.pptx
Engenharia de Software - Requisito.pptxEngenharia de Software - Requisito.pptx
Engenharia de Software - Requisito.pptxPatrícia Melo
 
A Informação E Dados.pptx
A Informação E Dados.pptxA Informação E Dados.pptx
A Informação E Dados.pptxPatrícia Melo
 
MidCell-apresentacao.ppt
MidCell-apresentacao.pptMidCell-apresentacao.ppt
MidCell-apresentacao.pptPatrícia Melo
 
middlewareReflexivo.ppt
middlewareReflexivo.pptmiddlewareReflexivo.ppt
middlewareReflexivo.pptPatrícia Melo
 
A Informação e sua representação- Parte 1 Sistemas de numeração e conversão d...
A Informação e sua representação- Parte 1 Sistemas de numeração e conversão d...A Informação e sua representação- Parte 1 Sistemas de numeração e conversão d...
A Informação e sua representação- Parte 1 Sistemas de numeração e conversão d...Patrícia Melo
 
4-Introducao programacao-convertido.pptx
4-Introducao programacao-convertido.pptx4-Introducao programacao-convertido.pptx
4-Introducao programacao-convertido.pptxPatrícia Melo
 

Mais de Patrícia Melo (16)

Java Fundamentos Estrutura de Controle
Java Fundamentos Estrutura de ControleJava Fundamentos Estrutura de Controle
Java Fundamentos Estrutura de Controle
 
Conceitos Iniciais LP I
Conceitos Iniciais LP IConceitos Iniciais LP I
Conceitos Iniciais LP I
 
Ciclo de vida processo
Ciclo de vida processoCiclo de vida processo
Ciclo de vida processo
 
Engenharia de Software - Requisito.pptx
Engenharia de Software - Requisito.pptxEngenharia de Software - Requisito.pptx
Engenharia de Software - Requisito.pptx
 
Ciencia.ppt
Ciencia.pptCiencia.ppt
Ciencia.ppt
 
A Informação E Dados.pptx
A Informação E Dados.pptxA Informação E Dados.pptx
A Informação E Dados.pptx
 
03modelos.ppt
03modelos.ppt03modelos.ppt
03modelos.ppt
 
Aula 09b.ppt
Aula 09b.pptAula 09b.ppt
Aula 09b.ppt
 
ArqOrgCom.ppt
ArqOrgCom.pptArqOrgCom.ppt
ArqOrgCom.ppt
 
TOF.ppt
TOF.pptTOF.ppt
TOF.ppt
 
MidCell-apresentacao.ppt
MidCell-apresentacao.pptMidCell-apresentacao.ppt
MidCell-apresentacao.ppt
 
middlewareReflexivo.ppt
middlewareReflexivo.pptmiddlewareReflexivo.ppt
middlewareReflexivo.ppt
 
Relógios Lógicos
Relógios LógicosRelógios Lógicos
Relógios Lógicos
 
A Informação e sua representação- Parte 1 Sistemas de numeração e conversão d...
A Informação e sua representação- Parte 1 Sistemas de numeração e conversão d...A Informação e sua representação- Parte 1 Sistemas de numeração e conversão d...
A Informação e sua representação- Parte 1 Sistemas de numeração e conversão d...
 
4-Introducao programacao-convertido.pptx
4-Introducao programacao-convertido.pptx4-Introducao programacao-convertido.pptx
4-Introducao programacao-convertido.pptx
 
03modelos (1).ppt
03modelos (1).ppt03modelos (1).ppt
03modelos (1).ppt
 

Último

Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...azulassessoria9
 
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdfLeloIurk1
 
Portfolio_Trilha_Meio_Ambiente_e_Sociedade.pdf
Portfolio_Trilha_Meio_Ambiente_e_Sociedade.pdfPortfolio_Trilha_Meio_Ambiente_e_Sociedade.pdf
Portfolio_Trilha_Meio_Ambiente_e_Sociedade.pdfjanainadfsilva
 
PLANOS E EIXOS DO CORPO HUMANO.educacao física pptx
PLANOS E EIXOS DO CORPO HUMANO.educacao física pptxPLANOS E EIXOS DO CORPO HUMANO.educacao física pptx
PLANOS E EIXOS DO CORPO HUMANO.educacao física pptxSamiraMiresVieiradeM
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...azulassessoria9
 
Revista-Palavra-Viva-Profetas-Menores (1).pdf
Revista-Palavra-Viva-Profetas-Menores (1).pdfRevista-Palavra-Viva-Profetas-Menores (1).pdf
Revista-Palavra-Viva-Profetas-Menores (1).pdfMárcio Azevedo
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...azulassessoria9
 
A poesia - Definições e Característicass
A poesia - Definições e CaracterísticassA poesia - Definições e Característicass
A poesia - Definições e CaracterísticassAugusto Costa
 
Ficha de trabalho com palavras- simples e complexas.pdf
Ficha de trabalho com palavras- simples e complexas.pdfFicha de trabalho com palavras- simples e complexas.pdf
Ficha de trabalho com palavras- simples e complexas.pdfFtimaMoreira35
 
Dicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim RangelDicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim RangelGilber Rubim Rangel
 
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestre
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestreCIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestre
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestreElianeElika
 
Discurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptxDiscurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptxferreirapriscilla84
 
Manual da CPSA_1_Agir com Autonomia para envio
Manual da CPSA_1_Agir com Autonomia para envioManual da CPSA_1_Agir com Autonomia para envio
Manual da CPSA_1_Agir com Autonomia para envioManuais Formação
 
VARIEDADES LINGUÍSTICAS - 1. pptx
VARIEDADES        LINGUÍSTICAS - 1. pptxVARIEDADES        LINGUÍSTICAS - 1. pptx
VARIEDADES LINGUÍSTICAS - 1. pptxMarlene Cunhada
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...azulassessoria9
 
Mapa mental - Classificação dos seres vivos .docx
Mapa mental - Classificação dos seres vivos .docxMapa mental - Classificação dos seres vivos .docx
Mapa mental - Classificação dos seres vivos .docxBeatrizLittig1
 
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...IsabelPereira2010
 
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....LuizHenriquedeAlmeid6
 
A horta do Senhor Lobo que protege a sua horta.
A horta do Senhor Lobo que protege a sua horta.A horta do Senhor Lobo que protege a sua horta.
A horta do Senhor Lobo que protege a sua horta.silves15
 

Último (20)

Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
 
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
 
Portfolio_Trilha_Meio_Ambiente_e_Sociedade.pdf
Portfolio_Trilha_Meio_Ambiente_e_Sociedade.pdfPortfolio_Trilha_Meio_Ambiente_e_Sociedade.pdf
Portfolio_Trilha_Meio_Ambiente_e_Sociedade.pdf
 
PLANOS E EIXOS DO CORPO HUMANO.educacao física pptx
PLANOS E EIXOS DO CORPO HUMANO.educacao física pptxPLANOS E EIXOS DO CORPO HUMANO.educacao física pptx
PLANOS E EIXOS DO CORPO HUMANO.educacao física pptx
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
 
Revista-Palavra-Viva-Profetas-Menores (1).pdf
Revista-Palavra-Viva-Profetas-Menores (1).pdfRevista-Palavra-Viva-Profetas-Menores (1).pdf
Revista-Palavra-Viva-Profetas-Menores (1).pdf
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
 
A poesia - Definições e Característicass
A poesia - Definições e CaracterísticassA poesia - Definições e Característicass
A poesia - Definições e Característicass
 
CINEMATICA DE LOS MATERIALES Y PARTICULA
CINEMATICA DE LOS MATERIALES Y PARTICULACINEMATICA DE LOS MATERIALES Y PARTICULA
CINEMATICA DE LOS MATERIALES Y PARTICULA
 
Ficha de trabalho com palavras- simples e complexas.pdf
Ficha de trabalho com palavras- simples e complexas.pdfFicha de trabalho com palavras- simples e complexas.pdf
Ficha de trabalho com palavras- simples e complexas.pdf
 
Dicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim RangelDicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim Rangel
 
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestre
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestreCIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestre
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestre
 
Discurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptxDiscurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptx
 
Manual da CPSA_1_Agir com Autonomia para envio
Manual da CPSA_1_Agir com Autonomia para envioManual da CPSA_1_Agir com Autonomia para envio
Manual da CPSA_1_Agir com Autonomia para envio
 
VARIEDADES LINGUÍSTICAS - 1. pptx
VARIEDADES        LINGUÍSTICAS - 1. pptxVARIEDADES        LINGUÍSTICAS - 1. pptx
VARIEDADES LINGUÍSTICAS - 1. pptx
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
 
Mapa mental - Classificação dos seres vivos .docx
Mapa mental - Classificação dos seres vivos .docxMapa mental - Classificação dos seres vivos .docx
Mapa mental - Classificação dos seres vivos .docx
 
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
 
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
 
A horta do Senhor Lobo que protege a sua horta.
A horta do Senhor Lobo que protege a sua horta.A horta do Senhor Lobo que protege a sua horta.
A horta do Senhor Lobo que protege a sua horta.
 

IP_Notas01.ppt

  • 1. CEEI DSC rangel@dsc.ufcg.edu.br Profs.: Andrey Elisio Monteiro Brito José Eustáquio Rangel de Queiroz Joseluce de Farias Cunha Roberto Medeiros de Faria Carga Horária: 60 h
  • 2. rangel@dsc.ufcg.edu.br 2 Introdução à Programação  Tópicos:  Introdução  O que é um Computador?  Organização de um Computador  Evolução de Sistemas Operacionais  Computação Pessoal, Distribuída e Cliente/Servidor  Linguagens de Máquina, de Montagem (Assembly) e de Alto Nível  Histórico da Linguagem C  A Biblioteca Padrão de C
  • 3. rangel@dsc.ufcg.edu.br 3  Tendências de Desenvolvimento de Software: Tecnologia de Objetos  C e C++  Java  Outras Linguagens de Alto Nível  Programação Estruturada  Fundamentos de um Ambiente Típico de Desenvolvimento de Programas em C  Tendências de Hardware  Internet  World Wide Web (WEB) Introdução à Programação
  • 4. rangel@dsc.ufcg.edu.br 4 Objetivos  Após a discussão do material deste capítulo, v. será capaz de:  Compreender conceitos computacionais básicos;  Familiarizar-se com diferentes tipos de linguagens de programação;  Familiarizar-se com o histórico da linguagem de programação C;  Tomar conhecimento da biblioteca-padrão da linguagem C;
  • 5. rangel@dsc.ufcg.edu.br 5 Objetivos  Após a discussão do material deste capítulo, v. será capaz de:  Compreender os elementos de um ambiente típico de programação em C;  Entender porque é importante aprender C em um primeiro curso programação;  Ponderar porque C oferece um embasamento para estudos posteriores de outras linguagens de programação, em especial C++ e Java.
  • 6. rangel@dsc.ufcg.edu.br 6 Introdução  Objeto de Estudo  A linguagem de programação C  Técnicas de Programação Estruturada  Extensão do Livro-texto  Fundamentos de C++  Capítulos 15 a 23  Fundamentos de Java  Capítulos 24 a 30  Público-alvo  Estudantes universitários com pouca ou nenhuma experiência de programação
  • 7. rangel@dsc.ufcg.edu.br 7  Computador  Dispositivo capaz de realizar computações e tomar decisões lógicas  Computadores processam dados a partir de conjuntos de instruções denominadas programas  Máquina eletrônica capaz de receber dados, submetê-los a um conjunto especificado/pré- determinado de operações lógicas/aritméticas e fornecer o resultado destas operações O que é um Computador?
  • 8. rangel@dsc.ufcg.edu.br 8  Os computadores atuais são dispositivos eletrônicos que, sob direção e controle de um programa, executam quatro operações fundamentais  Entrada (Input)  Processamento (Processing)  Saída (Output)  Armazenamento (Storage) O que é um Computador?
  • 10. rangel@dsc.ufcg.edu.br 10  Sistema de computação  Integração de componentes atuando como uma entidade, com o propósito de processar dados, i.e. realizar algum tipo de operação aritmética/ lógica envolvendo os dados, de modo a produzir diferentes níveis de informações O que é um Computador?
  • 11. rangel@dsc.ufcg.edu.br 11  Componentes de um Sistema Computacional Peopleware Software Hardware O que é um Computador?
  • 12. rangel@dsc.ufcg.edu.br 12  Componentes de um Sistema Computacional  Peopleware  Componente humana de um sistema de computação, i.e. indivíduos que utilizam o computador como ferramenta O que é um Computador?
  • 13. rangel@dsc.ufcg.edu.br 13  Componentes de um Sistema Computacional  Hardware  Componente física de um sistema de computação, i.e. todos os equipamentos utilizados pelo usuário nas ações de entrada, processamento, armazenamento e saída de dados O que é um Computador?
  • 14. rangel@dsc.ufcg.edu.br 14  Componentes de um Sistema Computacional  Software  Componente lógica de um sistema de computação, i.e. séries de instruções que fazem o computador funcionar (programas de computador)  programas básicos e programas do usuário O que é um Computador?
  • 15. rangel@dsc.ufcg.edu.br O Software  É um conjunto de programas  Um programa são instruções eletrônicas que informam ao computador como realizar determinadas tarefas  Existem duas classes de software: Software Básico Software Aplicativo 15
  • 16. rangel@dsc.ufcg.edu.br Software Básico  O software básico tem como finalidade possibilitar a operação e o uso do computador, seja qual for a aplicação (o foco está na máquina) – o software básico se concentra na necessidades gerais de grande parte dos usuários 16
  • 17. rangel@dsc.ufcg.edu.br Software Básico TIPOS de Software Básico:  Sistemas Operacionais,  Compiladores,  Utilitários:  Office  Comunicação  Compactação  SGBD,  Tocadores e editores de áudio, vídeo, etc. 17
  • 18. rangel@dsc.ufcg.edu.br Software Aplicativo  solução de um problema específico, utilizando o computador como ferramenta (o foco está na aplicação)  Exemplos:  Folha de pagamento  Controle de vendas  Venda de passagens  Sistema de biblioteca 18
  • 19. rangel@dsc.ufcg.edu.br Software Aplicativo  Customizado Aplicações originais desenvolvidas por analistas e programadores  Pronto  Free (Domínio público, código aberto,..)  Shareware 19
  • 20. rangel@dsc.ufcg.edu.br 20 Unidade Central de Processamento Unidade de Controle ULA Unidade Primária de Armazenamento Dispositivos de Entrada Dispositivos de Saída Dispositivos de Armazenamento Secundário O Hardware
  • 21. rangel@dsc.ufcg.edu.br 21  Partes Funcionais de um computador :  Unidade de Entrada (Input Unit)  Obtenção de dados a partir de dispositivos de entrada (e.g. teclado, mouse)  Unidade de Saída (Output unit)  Apresenta a informação em dispositivos de saída (e.g. monitor, impressora)  Unidade de Memória (Memory unit)  Acesso rápido, de baixa capacidade de armazenamento de informações. Organização de um Computador
  • 22. rangel@dsc.ufcg.edu.br 22  Unidade Central de Processamento – UCP (Central Processing unit - CPU)  Supervisão e coordenação das demais unidades que compõem o computador  Unidade de Armazenamento Secundário (Secondary storage unit)  Armazenamento barato, de alta capacidade e longa duração  Armazenamento de programas inativos Organização de um Computador
  • 23. rangel@dsc.ufcg.edu.br Unidade Central de Processamento  Conjunto complexo de circuitos eletrônicos.  Executa instruções de programas armazenadas.  Duas partes:  Unidade de Controle  Unidade Aritmética e Lógica (ALU) 23 © 2004 by Pearson Education
  • 24. rangel@dsc.ufcg.edu.br Unidade de Controle  Direciona o sistema do computador a executar instruções de programa armazenadas.  Deve comunicar-se com a memória e com a ALU.  Envia dados e instruções do armazenamento secundário para a memória, quando necessário. 24 © 2004 by Pearson Education
  • 25. rangel@dsc.ufcg.edu.br Unidade Aritmética e Lógica  Executa todas as operações aritméticas e lógicas.  Operações aritméticas:  Adição, subtração, multiplicação, divisão.  Operações lógicas:  Compara números, letras ou caracteres especiais.  Testa uma de três condições:  Condição de igualdade (igual a)  Condição menor que  Condição maior que 25 © 2004 by Pearson Education
  • 26. rangel@dsc.ufcg.edu.br Armazenamento de Dados e a CPU  Dois tipos de armazenamento:  Armazenamento primário (memória):  Armazena dados temporariamente.  A CPU referencia-o tanto para obtenção de instruções de programa como de dados.  Armazenamento secundário:  Armazenamento de longo prazo.  Armazenado em mídia externa; por exemplo, um disco. 26 © 2004 by Pearson Education
  • 27. rangel@dsc.ufcg.edu.br A CPU e a Memória  A CPU não pode processar dados diretamente do disco ou de um dispositivo de entrada:  Primeiramente, eles devem residir na memória.  A unidade de controle recupera dados do disco e transfere-os para a memória.  Itens enviados à CPU para ser processados:  A unidade de controle envia itens à CPU e depois os envia novamente à memória após serem processados.  Dados e instruções permanecem na memória até serem enviados a um dispositivo de saída ou armazenamento, ou o programa ser fechado. 27 © 2004 by Pearson Education
  • 28. rangel@dsc.ufcg.edu.br Áreas de Armazenamento Temporário  Registradores  Memória 28 © 2004 by Pearson Education
  • 29. rangel@dsc.ufcg.edu.br Registradores  Áreas de armazenamento temporário de alta velocidade.  Localizações de armazenamento situadas dentro da CPU.  Funcionam sob direção da unidade de controle:  Recebem, guardam e transferem instruções ou dados.  Controlam onde a próxima instrução a ser executada ou os dados necessários serão armazenados. 29 © 2004 by Pearson Education
  • 30. rangel@dsc.ufcg.edu.br Memória  Também conhecida como armazenamento primário e memória principal.  Freqüentemente expressa como memória de acesso aleatório (RAM).  Não faz parte da CPU.  Retém dados e instruções para serem processados.  Armazena informações somente enquanto o programa está em operação. 30 © 2004 by Pearson Education
  • 31. rangel@dsc.ufcg.edu.br Como a CPU Executa Instruções  Quatro etapas são executadas para cada instrução: captação, decodificação, execução e armazenamento.  Ciclo de máquina: a quantidade de tempo necessária para executar uma instrução.  Computadores pessoais executam-nas em menos de um milionésimo de segundo.  Supercomputadores executam-nas em menos de um trilionésimo de segundo.  Cada CPU tem seu próprio conjunto de instruções:  Aquelas instruções as quais a CPU pode entender e executar. 31
  • 32. rangel@dsc.ufcg.edu.br O Ciclo da Máquina  O tempo necessário para recuperar, executar e armazenar uma operação.  Componentes:  Tempo de instrução  Tempo de execução  O clock de sistema sincroniza as operações. 32 © 2004 by Pearson Education
  • 33. rangel@dsc.ufcg.edu.br Tempo de Instrução  Também chamado de I-time.  A unidade de controle recebe a instrução da memória e a coloca em um registro.  A unidade de controle decodifica a instrução e determina qual é a localização na memória para os dados necessários. 33 © 2004 by Pearson Education
  • 34. rangel@dsc.ufcg.edu.br Tempo de Execução  A unidade de controle transfere dados da memória para registros na ALU.  A ALU executa instruções relativas aos dados.  A unidade de controle armazena o resultado da operação na memória ou em um registro. 34 © 2004 by Pearson Education
  • 35. rangel@dsc.ufcg.edu.br Endereços de Memória  Cada localização de memória tem um endereço:  Um número único, como em uma caixa postal.  Pode conter somente uma instrução ou peça de dados:  Quando dados são reescritos na memória, o conteúdo anterior desse endereço é destruído.  Referenciado pelo número:  As linguagens de programação usam um endereço simbólico (nomeado), tal como Horas ou Salário. 35 © 2004 by Pearson Education
  • 36. rangel@dsc.ufcg.edu.br Representação de Dados  Os computadores entendem duas coisas: ligado e desligado.  Dados são representados na forma binária:  Sistema numérico binário (base 2).  Contém somente 2 dígitos: 0 e 1.  Corresponde a dois estados: ligado e desligado. 36 © 2004 by Pearson Education
  • 37. rangel@dsc.ufcg.edu.br Representando Dados  Bit  Byte  Palavra 37 © 2004 by Pearson Education
  • 38. rangel@dsc.ufcg.edu.br Bit  Abreviação de binary digit (dígito binário).  Dois valores possíveis: 0 e 1.  Nunca pode estar vazio.  Unidade básica para armazenar dados:  0 significa desligado; 1 significa ligado. 38 © 2004 by Pearson Education
  • 39. rangel@dsc.ufcg.edu.br Byte  Um grupo de 8 bits.  Cada byte tem 256 (28) valores possíveis.  Para texto, armazena um caractere:  Pode ser letra, dígito ou caractere especial.  Dispositivos de memória e armazenamento são medidos em número de bytes. 39 © 2004 by Pearson Education
  • 40. rangel@dsc.ufcg.edu.br Palavra  O número de bits que a CPU processa como uma unidade.  Tipicamente, um número inteiro de bytes.  Quanto maior a palavra, mais potente é o computador.  Computadores pessoais tipicamente têm 32 ou 64 bits de extensão de palavras. 40 © 2004 by Pearson Education
  • 41. rangel@dsc.ufcg.edu.br Capacidades de Armazenamento  Kilobyte: 1024 (210) bytes.  Capacidade de memória dos computadores pessoais mais antigos.  Megabyte: aproximadamente, um milhão (220) de bytes.  Memória de computadores pessoais.  Dispositivos de armazenamento portáteis (disquetes, CD-ROMs).  Gigabyte: aproximadamente, um bilhão (230) de bytes.  Dispositivos de armazenamento (discos rígidos).  Memória de mainframes e servidores de rede.  Terabyte: aproximadamente, um trilhão (240) de bytes.  Dispositivos de armazenamento para sistemas muito grandes. 41 © 2004 by Pearson Education
  • 42. rangel@dsc.ufcg.edu.br Capacidades de Armazenamento  SUMÁRIO:  · 1 Bit = Binary Digit · 8 Bits = 1 Byte · 1000 Bytes = 1 Kilobyte · 1000 Kilobytes = 1 Megabyte · 1000 Megabytes = 1 Gigabyte · 1000 Gigabytes = 1 Terabyte · 1000 Terabytes = 1 Petabyte · 1000 Petabytes = 1 Exabyte · 1000 Exabytes = 1 Zettabyte · 1000 Zettabytes = 1 Yottabyte · 1000 Yottabytes = 1 Brontobyte · 1000 Brontobytes = 1 Geopbyte 42
  • 43. rangel@dsc.ufcg.edu.br Esquemas de Codificação  Provêem uma maneira comum para representar um caractere de dados.  Necessários para os computadores poderem intercambiar dados.  Esquemas comuns:  ASCII  EBCDIC  Unicode 43 © 2004 by Pearson Education
  • 44. rangel@dsc.ufcg.edu.br ASCII  Sigla de American Standard Code for Information Interchange.  O padrão mais amplamente usado.  Usado virtualmente em todos os computadores pessoais. 44 © 2004 by Pearson Education
  • 45. rangel@dsc.ufcg.edu.br EBCDIC  Sigla de Extended Binary Coded Decimal Interchange Code.  Usado principalmente em mainframes IBM e compatíveis com IBM. 45 © 2004 by Pearson Education
  • 46. rangel@dsc.ufcg.edu.br Unicode  Projetado para acomodar alfabetos com mais de 256 caracteres.  Usa 16 bits para representar um caractere.  65.536 valores possíveis.  Exige duas vezes mais espaço para armazenar dados. 46 © 2004 by Pearson Education
  • 47. rangel@dsc.ufcg.edu.br A Unidade de Sistema  Abriga os componentes eletrônicos do sistema de computador:  Placa-mãe (motherboard)  Dispositivos de armazenamento 47 © 2004 by Pearson Education
  • 48. rangel@dsc.ufcg.edu.br Placa-mãe (motherboard)  Placa de circuitos plana que contém os circuitos do computador.  A unidade central de processamento (microprocessador) é o componente mais importante. http://www.youtube.com/watch?v=zq WKDzlIssU 48 © 2004 by Pearson Education
  • 49. rangel@dsc.ufcg.edu.br Dispositivos de Armazenamento  Armazenamento de longo prazo da memória.  Dados não se perdem quando o computador é desligado.  Incluem-se entre os exemplos: discos rígidos, disquetes, DVD-ROMs. 49 © 2004 by Pearson Education
  • 50. rangel@dsc.ufcg.edu.br Microprocessador  Unidade central de processamento impressa em chip de silício.  Contém dezenas de milhões de minúsculos transistores.  Componentes-chave:  Unidade central de processamento.  Registradores.  Clock do sistema. 50 © 2004 by Pearson Education
  • 51. rangel@dsc.ufcg.edu.br Microprocessador  Como funcionam os processadores http://www.youtube.com/watch?v=IfOIB4-pn1k  Conheça mais o processador http://olhardigital.uol.com.br/produtos/central_ de_videos/conheca-seu-micro-processador 51
  • 52. rangel@dsc.ufcg.edu.br Transistores  Comutadores eletrônicos que podem permitir ou não a passagem de corrente elétrica.  Se a corrente elétrica passar, o comutador estará ativado, representando um bit 1.  Caso contrário, o comutador estará desativado, representando um bit 0. 52 © 2004 by Pearson Education
  • 53. rangel@dsc.ufcg.edu.br Tipos de Chips  A Intel produz uma família de processadores:  Processadores Pentium 4, Pentium Dual Core, Core 2 Duo, i3 e i5 na maioria dos PCs.  Processador Celeron e Atom vendido para PCs de baixo custo.  Opteron, Xeon, Itanium, Core 2 Extreme, Core 2 Quad e i7 para estações de trabalho high-end e servidores de rede.  Outros processadores:  A Cyrix e a AMD produzem microprocessadores compatíveis com Intel.  Chips PowerPC são usados principalmente em computadores Macintosh.  O microprocessador Alpha, da Compaq, é usado em servidores high-end. 53
  • 54. rangel@dsc.ufcg.edu.br Componentes da Memória  RAM e ROM  Tecnologias:  Memória semicondutora  Memória Flash 54 © 2004 by Pearson Education
  • 55. rangel@dsc.ufcg.edu.br Memória Semicondutora  Usada pela maioria dos computadores modernos:  Confiável, barata e compacta.  Volátil: exige corrente elétrica contínua.  Se a corrente for interrompida, os dados se perdem.  Semicondutor Complementar de Óxido de Metal – Complementary Metal Oxide Semiconductor (CMOS).  Retém informação quando a energia é desligada.  Usado para armazenar informações necessárias quando o computador é inicializado. 55 © 2004 by Pearson Education
  • 56. rangel@dsc.ufcg.edu.br Memória Flash • um chip re-escrevível que, ao contrário de uma memória RAM, preserva o seu conteúdo sem a necessidade de fonte de alconvencionalimentação  Os chips de memória flash assemelham-se aos cartões de crédito.  Menores do que uma unidade de disco e requerem menos energia. 56
  • 57. rangel@dsc.ufcg.edu.br RAM e ROM  Memória de Acesso Aleatório – Random- Access Memory (RAM)  Memória Somente de Leitura – Read-Only Memory (ROM) 57 © 2004 by Pearson Education
  • 58. rangel@dsc.ufcg.edu.br Memória de Acesso Aleatório  Dados podem ser acessados aleatoriamente:  O endereço de memória 10 pode ser acessado tão rapidamente quanto o endereço de memória 10.000.000. 58 © 2004 by Pearson Education
  • 59. rangel@dsc.ufcg.edu.br Memória Somente de Leitura  Contém programas e dados registrados permanentemente na memória pela fábrica.  Não pode ser alterada pelo usuário.  Não-volátil: o conteúdo não desaparecerá quando houver queda de energia.  Chips de ROM programáveis (PROM):  Algumas instruções no chip podem ser alteradas. 59 © 2004 by Pearson Education
  • 60. rangel@dsc.ufcg.edu.br O Barramento (Bus) do Sistema  Percursos elétricos paralelos que transportam dados entre a CPU e a memória.  Largura de barramento:  O número de percursos elétricos para transportar dados.  Medida em bits.  Velocidade de barramento:  Medida em megahertz (MHz). 60 © 2004 by Pearson Education
  • 61. rangel@dsc.ufcg.edu.br Largura de Barramento  Tipicamente, a mesma largura do tamanho de palavra da CPU.  Com um tamanho de barramento maior, a CPU pode:  Transferir mais dados simultaneamente:  Torna o computador mais rápido.  Referenciar números de endereço de memória maiores:  Permite mais memória.  Suportar um número e uma variedade maiores de instruções. 61 © 2004 by Pearson Education
  • 62. rangel@dsc.ufcg.edu.br Velocidade de Barramento  Quanto maior a velocidade de barramento, mais rapidamente os dados viajarão por meio do sistema.  Computadores pessoais têm velocidades de barramento de 400 MHz , 533 MHz, 800 MHz ou 1066 MHz. 62 © 2004 by Pearson Education
  • 63. rangel@dsc.ufcg.edu.br Barramentos de Expansão  Adiciona dispositivos periféricos ao sistema:  Placa de expansão  Porta 63 © 2004 by Pearson Education
  • 64. rangel@dsc.ufcg.edu.br Placas de Expansão  Conectam-se a slots (encaixes) de expansão ou à placa-mãe.  São usadas para conectar dispositivos periféricos.  A maioria dos computadores são “onboard”. 64 © 2004 by Pearson Education
  • 65. rangel@dsc.ufcg.edu.br Portas  Conectores externos para plugar periféricos, como, por exemplo, impressoras.  Dois tipos de portas:  Seriais: transmitem dados à base de um bit a cada vez.  Usadas para dispositivos lentos, como o mouse e o teclado.  Paralelas: transmitem grupos de bits em conjunto, lado a lado.  Usadas para dispositivos mais rápidos, como impressoras e scanners. 65 © 2004 by Pearson Education
  • 66. rangel@dsc.ufcg.edu.br Cache  Uma área de armazenamento temporário:  Agiliza a transferência de dados dentro do computador.  Memória cache  Cache de processador 66 © 2004 by Pearson Education
  • 67. rangel@dsc.ufcg.edu.br Memória Cache  Um pequeno bloco de memória de alta velocidade:  Armazena os dados e as instruções usados com mais freqüência e mais recentemente.  O microprocessador procura primeiramente na cache os dados de que necessita:  Transferidos da cache muito mais rapidamente do que da memória.  Se não estiverem na cache, a unidade de controle recupera-os da memória.  Quanto mais “presença de dados” na cache, mais rápido é o desempenho do sistema. 67 © 2004 by Pearson Education
  • 68. rangel@dsc.ufcg.edu.br Cache de Processador  Cache interna (Nível 1) embutida no microprocessador.  Acesso mais rápido, porém custo mais elevado.  Cache externa (Nível 2) em um chip separado.  Incorporada ao processador e alguns microprocessadores atuais. 68 © 2004 by Pearson Education
  • 69. rangel@dsc.ufcg.edu.br Cache e Registradores  Diferença entre Memória Cache e Registradores  Registradores: armazenam dados a serem usados de imediato  Cache: armazena dados usados mais frequentemente  http://taturial.blogspot.com.br/2012/02/diferenca-entre-as- memorias.html  http://informatica.hsw.uol.com.br/memoria-do-computador4.htm  http://crv.educacao.mg.gov.br/sistema_crv/index.aspx?ID_OBJETO=3 7829&tipo=ob&cp=003366&cb=&n1=&n2=Biblioteca%20Virtual&n3=C adernos%20de%20Inform%C3%A1tica&n4=&b=s 69
  • 71. rangel@dsc.ufcg.edu.br Classificação de tipos de Memória  Quanto às operações suportadas:  RAM  ROM  Quanto ao tempo de permanência de dados:  Volátil  Não Volátil
  • 72. rangel@dsc.ufcg.edu.br  Que usa múltiplos processadores simultaneamente  O processador de controle divide o problema em partes:  Cada parte é enviada a um processador distinto.  Cada processador tem sua própria memória.  O processador de controle monta os resultados.  Alguns computadores que usam processamento paralelo operam em termos de teraflops: trilhões de instruções com ponto flutuante por segundo. 72
  • 73. rangel@dsc.ufcg.edu.br 73 Tendências de Hardware  Características que, grosso modo, duplicam a cada um ou dois anos:  Quantidade de memória (execução de programas)  Quantidade de meio de armazenamento secundário (e.g. disco rígido)  Armazenamento de longa duração de programas e dados  Rapidez do Processador  Velocidade com que os computadores executam os programas
  • 74. rangel@dsc.ufcg.edu.br 74  Processamento por Lotes (Batch processing)  Apenas um serviço (job) ou uma tarefa (task) por vez  Sistemas Operacionais  Gestão de transições entre serviços/tarefas  Throughput incrementada  Quantidade de trabalho processada por computadores Evolução dos Sistemas Operacionais
  • 75. rangel@dsc.ufcg.edu.br 75  Multiprogramação  Compartilhamento de recursos computacionais por vários serviços ou tarefas  Compartilhamento de Tempo (Timesharing)  Execução de diversos serviços, com a UCP alternando-se entre eles tão freqüentemente que os usuários podem interagir com cada programa durante sua execução. Evolução dos Sistemas Operacionais
  • 76. rangel@dsc.ufcg.edu.br 76  Computação Pessoal  Econômica o bastante para uso individual  Computação Distribuída  Processamento da informação através de redes de computadores  Computação Cliente/Servidor  Compartilhamento da informação ao longo de redes de computadores entre servidores e clientes de arquivos (computadores pessoais) Computação Pessoal, Distribuída e Cliente/Servidor
  • 77. rangel@dsc.ufcg.edu.br 77  Tipos de Linguagens de Programação  Linguagens de Máquina  Seqüências de números relativas a instruções de máquina específicas  Exemplo: +1300042774 +1400593419 +1200274027 Linguagens de Máquina, de Montagem e de Alto Nível
  • 78. rangel@dsc.ufcg.edu.br 78  Tipos de Linguagens de Programação  Linguagens de Montagem (Assembly)  Instruções computacionais formuladas a partir de termos ingleses abreviados, representando operações elementares, traduzidas a partir de montadores (assemblers)  Exemplo: LOAD A ADD B STORE (A+B) Linguagens de Máquina, de Montagem e de Alto Nível
  • 79. rangel@dsc.ufcg.edu.br 79  Tipos de Linguagens de Programação  Linguagens de Alto Nível  Códigos similares ao inglês cotidiano  Uso de notações matemáticas (traduzidas via compiladores)  Exemplo: Bruto = Líquido + Descontos Área = (Base * Altura)/2 Linguagens de Máquina, de Montagem e de Alto Nível
  • 80. rangel@dsc.ufcg.edu.br 80  Linguagem C  Desenvolvida por Ritchie, a partir de duas linguagens de programação antecessoras: BCPL e B  Uso no desenvolvimento do UNIX  Emprego na codificação de sistemas operacionais modernos  Independência de hardware (portável)  "C Tradicional"  C desenvolvido no final da década de 70 Histórico da Linguagem C
  • 81. rangel@dsc.ufcg.edu.br 81  Padronização da Linguagem C  Motivação: Incompatibilidade entre diversas variantes existentes de C  Formação de um comitê da ANSI para a definição de uma linguagem "isenta de ambigüidades e independente de máquina"  Criação do C padrão em 1989  Atualização da linguagem em 1999 Histórico da Linguagem C
  • 82. rangel@dsc.ufcg.edu.br 82  Programas em C  módulos denominados funções  Possibilidade de criação de funções específicas pelo programador  Vantagem  Conhecimento exato do comportamento das funções  Desvantagem  Dispêndio de tempo no desenvolvimento de funções específicas A Biblioteca Padrão de C
  • 83. rangel@dsc.ufcg.edu.br 83  Programas em C  módulos denominados funções  Uso freqüente das funções da biblioteca de C por programadores  Uso como “blocos” para a construção de aplicações próprias  Reuso evita a “reinvenção da roda”  Uso de funções existentes é, em geral, melhor do que a reescrita de código com o mesmo propósito  Funções da biblioteca foram cuidadosamente desenvolvidas para uso eficiente e portabilidade A Biblioteca Padrão de C
  • 84. rangel@dsc.ufcg.edu.br 84  Objetos  Componentes reusáveis de software que modelam itens do mundo real  Unidades significativas de software  Objetos de dados, tempo, pagamento, áudio, vídeo, arquivos, etc.  Qualquer nome pode ser representado como um objeto com comportamento bem definido  Maior capacidade de reuso Tendências de Desenvolvimento de Software: Tecnologia de Objetos
  • 85. rangel@dsc.ufcg.edu.br 85  Objetos  Maior compreensibilidade, melhor organização, maior facilidade de manutenção do que a programação baseada em procedimentos (procedural)  Favorescimento à modularidade Tendências de Desenvolvimento de Software: Tecnologia de Objetos
  • 86. rangel@dsc.ufcg.edu.br 86  C++  Superconjunto de C, desenvolvido por Bjarne Stroustrup no Bell Labs  “Extende" C, oferecendo facilidades de orientação a objetos  Poder do projeto orientado a objetos  Produtividade incrementada de 10 a 100 vezes  Linguagem dominante na indústria e em academias C e C++
  • 87. rangel@dsc.ufcg.edu.br 87  Aprendizado de C++  Uma vez que C++ abrange C, se afigura indispensável o domínio de C para um aprendizado efetivo de C++  Vide Capítulo 15 (introdução ao C++) C e C++
  • 88. rangel@dsc.ufcg.edu.br 88  Uso de Java  Criação de páginas Web com conteúdo dinâmico e interativo  Desenvolvimento de aplicações empresariais em larga escala  Incrementação da funcionalidade de servidores Web  Desenvolvimento de aplicações para dispositivos tais como telefones celulares, pagers e assistentes digitais pessoais (PDA) JAVA
  • 89. rangel@dsc.ufcg.edu.br 89  FORTRAN  Uso em aplicações de engenharia e aplicações científicas  COBOL  Uso para a manipulação de grandes quantidades de dados  Pascal  Uso acadêmico Outras Linguagens de Alto Nível
  • 90. rangel@dsc.ufcg.edu.br 90 Programação Estruturada  Programação Estruturada  Abordagem com regras bem definidas para a escrita de programas  Clareza, facilidade de teste e depuração e facilidade de alteração do código
  • 91. rangel@dsc.ufcg.edu.br 91 Pré-processador Disco Ambiente Típico de Desenvolvimento de Programas em C  Fases de Programas em C/C++  Edição  Pré-processamento  Compilação  Linkagem  Carregamento  Execução O programa é criado no editor e armazenado em disco. O programa pré- processador processa o código. O carregador transfere o programa para a memória. A UCP recupera cada instrução e a executa, armazenando (quando possível) novos valores de dados à medida que o programa é executado. O compilador cria o código-objeto e o armazena em disco. O linker faz o link do código-objeto com as bibliotecas. Carregador Compilador Editor Linker Disco UCP Memória Primária Disco Disco Disco Memória Primária
  • 92. rangel@dsc.ufcg.edu.br 92 /* Programa que executa a soma de dois inteiros */ #include <stdio.h> /* início da função main */ int main() { int inteiro1; /*variável que contém a primeira parcela da soma */ int inteiro2; /* variável que contém a segunda parcela da soma */ int soma; /* variável na qual será armazenado o resultado da soma */ printf(“Digite o primeiro inteiro:n"); /*preparação para o recebimento do primeiro número inteiro */ scanf( "%d", &inteiro1 ); /* leitura do primeiro número */ printf(“Digite o segundo inteiro:n"); /* preparação para o recebimento do segundo número inteiro*/ scanf( "%d", &inteiro2 ); /* leitura do primeiro número */ soma = inteiro1 + inteiro2; /* realização da soma dos 2 inteiros digitados pelo usuário */ printf( “A soma eh igual a %dn", soma ); /* impressão da soma */ return 0; /* indicação de que o programa encerrou satisfatoriamente */ } /* fim da função main */ Preparação para o Capítulo 2 Exemplo (Soma de 2 Inteiros)
  • 93. CEEI DSC rangel@dsc.ufcg.edu.br Andrey Elisio Monteiro Brito José Eustáquio Rangel de Queiroz Joseluce de Farias Cunha Roberto Medeiros de Faria DEPARTAMENTO DE SISTEMAS E COMPUTAÇÃO UNIVERSIDADE FEDERAL DE CAMPINA GRANDE CENTRO DE ENGENHARIA ELÉTRICA E INFORMÁTICA