Documente Academic
Documente Profesional
Documente Cultură
Computação
1
Escola Nacional de Ciências Estatísticas
Introdução
Exemplo I.1
Pense nisto: quanto tempo você levaria para determinar o mesmo resultado utilizando calculadora,
lápis e papel?
Exemplo I.2
Nos dias atuais, os supercomputadores mais rápidos podem executar trilhões de adições por
segundo.
Isto representa o mesmo número de cálculos que centenas de milhares de pessoas podem
realizar, se trabalharem em conjunto, no período de um ano!
Desta forma, o computador pode ser considerado como um dispositivo criado para
auxiliar o homem em seu trabalho, diminuindo esforços e economizando tempo.
1
Experimento realizado num PC com processador Athlon 3200+ e 1GB de memória RAM.
2
Escola Nacional de Ciências Estatísticas
Para que um computador possa realizar qualquer tarefa solicitada por um ser
humano é preciso que ele receba instruções. Um programa de programa de computador
consiste em um conjunto de instruções que conseguem ser entendidas e executadas por um
computador.
O ser humano responsável por escrever um programa é chamado de programador
(ou desenvolvedor). Por sua vez, a pessoa que adquire e usa um programa é chamada de
usuário. O processo de escrita de um programa de computador também é conhecido como
implementação ou desenvolvimento.
De uma maneira geral, um programa de computador funciona da maneira
apresentada pela Figura I.1.
Figura I.1 – Um programa de computador recebe dados de entrada e produz uma saída.
A Figura I.1 ilustra que um programa toma algum valor, ou conjunto de valores
como entrada (estes valores podem, por exemplo, ser digitados pelo usuário via teclado ou
selecionados com o uso do mouse). Em seguida, o programa executa as tarefas
(instruções) implementadas pelo programador, levando em conta o que foi passado como
entrada. Como resultado, será produzido algum valor ou conjunto de valores que serão
apresentados ao usuário. Estes valores para apresentação são chamados de saída do
programa. Tipicamente, a saída é mostrada no vídeo, mas também pode ser direcionada
para a impressora e outros dispositivos. A saída de um programa é sempre função da
entrada (ou seja, entradas diferentes resultam em saídas diferentes).
Como exemplo prático, considere um programa que solicita com que o usuário digite
um número inteiro positivo e que, após este número ser digitado, informe ao usuário a
quantidade de números primos que são menores ou iguais ao número digitado. Neste caso a
entrada e saída são as seguintes:
3
Escola Nacional de Ciências Estatísticas
Exemplo I.3
Considere um web site de um jornal que disponibilize uma página para que o usuário possa
consultar os filmes em cartaz nos cinemas de sua cidade. Suponha que esta página possua uma
opção de envio da programação por e-mail. Para tal, basta que o usuário preencha um formulário
com o seu nome, e-mail e cidade e clique num botão.
Saída: texto enviado para o e-mail indicado, contendo a programação dos cinemas na cidade
especificada.
Exemplo I.4
Uma universidade possui um sistema onde o aluno pode digitar a sua matrícula e consultar a sua
situação (notas e faltas) em cada uma das disciplinas em que ele se inscreveu.
program Dobro;
var n, d: integer;
begin
writeln(’Digite um número inteiro:’);
readln(n);
d := n * 2;
writeln(’O dobro do número é:’, d);
end.
Figura I.2 – Programa que obtém um número inteiro e calcula e imprime o dobro deste número.
4
Escola Nacional de Ciências Estatísticas
5
Escola Nacional de Ciências Estatísticas
I.4. Hardware
6
Escola Nacional de Ciências Estatísticas
7
Escola Nacional de Ciências Estatísticas
computador que tem freqüência igual a 1 GHz. Isto significa que seu relógio vibra 1 bilhão
de vezes em um segundo. Então, se a CPU for capaz de executar uma instrução a cada
ciclo, o número total de operações por segundo será igual a 1.000.000.000!
No passado, as CPU’s dos computadores eram formadas por um grande número de
chips, distribuídos ao longo de uma ou diversas placas. Atualmente, graças ao
desenvolvimento da microeletrônica, é possível construir toda uma CPU em apenas um
chip. Este chip é chamado de microprocessador. Alguns exemplos microprocessadores:
• Modernos: Pentium 4, Athlon 64, Semprom, Pentium D (Dual Core). Estes chips
fazem parte dos PC’s (computadores pessoais) utilizados tanto por usuários
domésticos, como por empresas.
I.4.2 Memória
É uma memória de alta velocidade (ou seja, seu tempo de acesso é baixo) e
(relativamente) baixa capacidade de armazenamento. Existem dois tipos diferentes:
• ROM (Read Only Memory): fixa, só pode ser lida pelo computador. Utilizada
para gravar de forma permanente tabelas e programas de finalidades especiais
em computadores (ex: programa do SETUP nos PC’s).
Devido a sua importância, a memória RAM receberá maior atenção ao longo curso.
A importância da memória RAM é justificada pelo seguinte fato: para que um programa
aplicativo possa ser executado (ex: editor de texto, jogo, planilha, etc), ele precisa
inicialmente ser carregado na memória RAM. Os dados que esses programas manipulam
(por exemplo textos e imagens) também precisam estar na RAM. O conteúdo de variáveis
utilizadas em programas de computadores também é armazenado na memória RAM.
Cada informação é guardada numa posição ou lugar específico da memória,
chamado endereço de memória (Figura I.4).
8
Escola Nacional de Ciências Estatísticas
E 000000
N 000001
C 000002
E 000003
...
FFFFFE
FFFFFF
Figura I.4 – Endereços de memória.
Observe que cada endereço possui um número único. No exemplo acima podem ser
vistos os seguintes números de endereço: 000000, 000001, 000002, 000003, FFFFFE e
FFFFFF (letras como “E” e “F” aparecem nos números dos endereços porque estes são
representados em notação hexadecimal - assunto tratado na próxima unidade deste curso).
De maneira simplificada, pode-se dizer que, dentro de cada endereço de memória, é
possível armazenar um byte. Normalmente um caractere (ex: uma letra, dígito ou símbolo
de pontuação), representa um byte.
Retornando ao exemplo da Figura I.4, veja que o caractere “E” está armazenado no
endereço de número 000000. Pode-se dizer então que o conteúdo do endereço 000000 é
“E”. Da mesma forma, o conteúdo armazenado no endereço 000001 é “N”. Note ainda
que, no exemplo, os endereços FFFFFE e FFFFFF encontram-se com o conteúdo vazio.
A quantidade de informação que pode ser armazenada na memória é chamada de
capacidade ou tamanho da memória. Esta capacidade é usualmente expressa quantidade
de bytes. Mais precisamente, o tamanho da memória costuma ser apresentado em algum
múltiplo de 210 bytes, conforme indica a Figura I.5:
1Mbyte = 1 Kbyte x 210 bytes (também referenciado por 1MB ou 1 mega byte).
1Gbyte = 1 Mbyte x 210 bytes (também referenciado por 1GB ou 1 giga byte).
Figura I.5 – Medidas para a representação da capacidade de memória de computador
9
Escola Nacional de Ciências Estatísticas
Considere um computador antigo, que possuía memória RAM com capacidade igual a 256 KB.
Qual a quantidade máxima de caracteres que esta memória podia armazenar?
Resposta: 256 KB representa 256 x 210 bytes = 256 x 1024 bytes = 262.144 bytes. Como 1
caractere ocupa 1 byte, então a memória do computador antigo podia armazenar 262.144
caracteres.
10
Escola Nacional de Ciências Estatísticas
1GB ≈ R$ 180,00
Memória Secundária
160GB ≈ R$ 180,00
Figura I.6 – Memória principal x Memória Secundária
I.5. Software
11
Escola Nacional de Ciências Estatísticas
Figura I.7 – Usuário do sistema operacional Windows executando três programas aplicativos.
12
Escola Nacional de Ciências Estatísticas
Exercícios
(1) Escreva um exemplo de problema que você considera que poderia ser resolvido de
maneira extremamente rápida por um computador, mas que dificilmente poderia ser
resolvido desta forma por um ser humano (obs: devem ser citados exemplos diferentes dos
Exemplos I.1 e I.2, contidos Seção I.1 da apostila).
(3) Uma academia de ginástica possui um computador em uma de suas salas. Ele contém
um programa para o cálculo do índice de massa corpórea (IMC) de seus alunos. Para usar
este programa, basta que o aluno digite seu peso (em kg) e altura (em cm) e depois clique
num botão. O programa calcula e exibe para o aluno o valor de seu IMC, utilizando a
seguinte fórmula: IMC = peso ÷ altura2 (obs: se o valor do IMC for acima de 25 considera-
se que o aluno está acima do peso). Responda: Qual é a entrada deste programa? Qual é a
saída?
13
Escola Nacional de Ciências Estatísticas
(4) Considere um PC atual, dotado de memória RAM com capacidade igual a 4 GB. Qual a
quantidade máxima de caracteres que esta memória pode armazenar?
(5) Nos dias atuais, quase todos os supermercados possuem em seus caixas computadores
que utilizam programas para registrar as compras dos clientes. Cite exemplos de periféricos
de entrada e saída comumente conectados a estes computadores.
(7) Em um programa, qual o papel dos comandos de entrada? E para que servem os
comandos de saída?
Obs: para fazer este e os outros programas propostos nesta apostila, oriente-se pelo
programa apresentado na Figura I.1 (página 4).
program MeExplique;
var altura, base, area: integer;
begin
writeln(’Digite o valor da base:’);
readln(base);
writeln(’Digite o valor da altura:’);
readln(altura);
area := base * altura;
writeln(area);
end.
(10) Uma loja do centro da cidade comercializa um módulo de memória RAM para PC’s,
com capacidade de 1 GB, pelo preço de R$ 220,00. Calcule o custo por byte desta
memória.
14
Escola Nacional de Ciências Estatísticas
(12) Considere uma CPU com freqüência de 800MHz. Supondo que essa CPU seja capaz
de realizar uma operação de multiplicação a cada dois ciclos, qual o número total de
multiplicações que ela realiza em um segundo?
(13) Desenvolva um programa Pascal que leia um número inteiro e exiba o seu sucessor e
o seu antecessor.
(14) Implemente um programa que leia o raio de um círculo e calcule e imprima sua área e
perímetro (obs: área do círculo = π x raio2 e perímetro = 2 x π x raio).
(15) Escreva um programa em Pascal que peça ao usuário que forneça dois números
inteiros; a seguir o programa deve exibir a soma, o produto, a diferença e o quociente dos
dois números.
2
Trata-se apenas de uma suposição. Na vida real o processador não funciona exatamente assim.
15