Programação

Como funciona um computador: entrada, processamento e saída

Atualizado em

Capa do artigo Como funciona um computador: entrada, processamento e saída
Leitura com foco

Entenda o contexto.
Leve para a prática.

Neste artigo
  1. Não tenho conhecimento em informática. Posso ser programador?
  2. O que é hardware e o que é software?
  3. Como funciona um computador?
  4. O que tem dentro de um computador?
  5. Aí você pergunta: Walmir, o que tudo isso tem a ver com programação?
  6. Como ficam a entrada, o processamento e a saída em um programa?
  7. Quais são os erros mais comuns na entrada de dados?
  8. Agora é com você!

Um computador funciona em três passos: recebe dados (entrada), faz alguma coisa com eles (processamento) e devolve um resultado (saída).

No artigo Quero trabalhar com TI, por onde começar?, você viu que a base da TI está em infraestrutura, software e dados. Agora vamos olhar para a máquina: o que ela é por fora, o que tem por dentro e por que isso é o primeiro passo de quem quer programar.

Antes de começar, lembre-se: você não precisa ser um gênio para aprender programação! Pegue essa frase e coloque em um lugar visível, para ler sempre que avançar nos estudos.

Não tenho conhecimento em informática. Posso ser programador?

Pode. Para começar a estudar programação, você não precisa ser EXPERT em informática. O conhecimento vem aos poucos: um pouquinho aqui, um pouquinho ali. Sem pressa! O mínimo que você precisa saber para começar está neste artigo. É um resumo, mas ele é o PILAR dos próximos níveis.

O que é hardware e o que é software?

Pega o seu celular! Ele é uma “caixa” fina, com uma tela, uma câmera, alguns botões e um alto-falante. Tudo o que você consegue tocar é hardware: o equipamento físico. O que você não consegue tocar é software: os programas.

O software que controla o aparelho é o sistema operacional. Ele fica entre os aplicativos e o hardware: gerencia o processador e os periféricos e oferece a interface para você usar a máquina. O Windows e o Linux são sistemas operacionais. O Android, que pode estar no seu celular, também é.

Como funciona um computador?

Quando falo em dispositivo, falo de celular, tablet, computador, relógio digital, impressora. A ideia que explica o computador cabe em três palavras: ENTRADA, PROCESSAMENTO e SAÍDA.

  • Entrada: os dispositivos de entrada permitem que o computador receba informações do mundo externo. Exemplos: teclado, mouse, tela sensível ao toque e leitor de código de barras.
  • Processamento: o processador faz os cálculos e o controle enquanto um programa é executado. É ele que transforma os dados de entrada em dados de saída.
  • Saída: os dispositivos de saída enviam as informações para fora. Exemplos: monitor, impressora e alto-falante.
Esquema do computador em três blocos: entrada com teclado, mouse e tela sensível ao toque, processamento com o processador (CPU) e saída com monitor, impressora e alto-falante
O computador em três blocos. Os dados entram pelos dispositivos de entrada, passam pelo processador e saem pelos dispositivos de saída.

Quando você aperta uma tecla, está inserindo dados (entrada). O processador recebe esses dados e faz alguma coisa com eles (processamento), por exemplo, mandar mostrar a letra no monitor (saída). Em um notebook é igual: o teclado é a entrada, o processador fica embutido e a tela é a saída. Percebeu? Tudo não passou de ENTRADA, PROCESSAMENTO e SAÍDA.

Existe uma quarta peça nessa história, o armazenamento, que é onde os dados ficam guardados. Ela é o assunto do artigo Memória RAM e HD: qual é a diferença e como funcionam.

O que tem dentro de um computador?

ATENÇÃO: CPU não é a caixa do computador. CPU (Unidade Central de Processamento) é outro nome do processador, uma peça que fica dentro da caixa.

O processador é ligado à placa-mãe. Ela é o conjunto de chips e conexões que liga o processador aos outros componentes, como a memória, o HD e a placa de vídeo, e cuida da troca de dados entre eles.

O resto são periféricos: teclado, mouse, monitor, impressora. São os dispositivos de entrada e de saída que você já conheceu.

Não se preocupe! Você não precisa saber agora o que cada componente minúsculo de uma placa faz. Precisa saber que essas peças recebem uma entrada, fazem um processamento e podem gerar uma saída.

Aí você pergunta: Walmir, o que tudo isso tem a ver com programação?

Tudo! Programação também se resume a entrada, processamento e saída. Parece ridículo, mas é exatamente isso. Você vai escrever programas que recebem as entradas, fazem o processamento e produzem as saídas.

Perceba que repito várias vezes as mesmas coisas, para você memorizar mais rápido. É de propósito!

Para não ficar dúvida, pense em uma vitamina de banana. Os ingredientes (a banana e o leite) são os dados. O botão de ligar é a entrada. O liquidificador faz o processamento. A vitamina pronta, no copo, é a saída.

Comparação entre a vitamina de banana e o programa: ingredientes e botão são a entrada, o liquidificador é o processamento e a vitamina no copo é a saída
A mesma ideia na cozinha e no programa deste artigo: entrada, processamento e saída.

Como ficam a entrada, o processamento e a saída em um programa?

O programa abaixo é a vitamina em forma de código. Ele pergunta o seu nome e quantas vitaminas você quer fazer (entrada), calcula os ingredientes (processamento) e mostra a lista (saída). Na receita do exemplo, cada vitamina leva 2 bananas e 1 copo de leite.

Em Python:

# Entrada, processamento e saída: a vitamina de banana

# entrada
nome = input("Qual é o seu nome? ")
quantidade = int(input("Quantas vitaminas você quer fazer? "))

# processamento
bananas = quantidade * 2            # 2 bananas em cada vitamina
copos_de_leite = quantidade * 1     # 1 copo de leite em cada vitamina

# saída
print("%s, para fazer %d vitaminas você precisa de:" % (nome, quantidade))
print("- %d bananas" % bananas)
print("- %d copos de leite" % copos_de_leite)

Em PHP:

<?php
// Entrada, processamento e saída: a vitamina de banana

// entrada
echo "Qual é o seu nome? ";
$nome = trim(fgets(STDIN));
echo "Quantas vitaminas você quer fazer? ";
$quantidade = (int) trim(fgets(STDIN));

// processamento
$bananas = $quantidade * 2;            // 2 bananas em cada vitamina
$copos_de_leite = $quantidade * 1;     // 1 copo de leite em cada vitamina

// saída
printf("%s, para fazer %d vitaminas você precisa de:\n", $nome, $quantidade);
printf("- %d bananas\n", $bananas);
printf("- %d copos de leite\n", $copos_de_leite);

Em C:

/* Entrada, processamento e saída: a vitamina de banana */
#include <stdio.h>

int main(void) {
    char nome[50];
    int quantidade = 0;

    /* entrada */
    printf("Qual é o seu nome? ");
    scanf("%49s", nome);
    printf("Quantas vitaminas você quer fazer? ");
    scanf("%d", &quantidade);

    /* processamento */
    int bananas = quantidade * 2;           /* 2 bananas em cada vitamina */
    int copos_de_leite = quantidade * 1;    /* 1 copo de leite em cada vitamina */

    /* saída */
    printf("%s, para fazer %d vitaminas você precisa de:\n", nome, quantidade);
    printf("- %d bananas\n", bananas);
    printf("- %d copos de leite\n", copos_de_leite);
    return 0;
}

Rodei o programa e digitei Ana e 3. O terminal ficou assim, igual nas três linguagens:

Qual é o seu nome? Ana
Quantas vitaminas você quer fazer? 3
Ana, para fazer 3 vitaminas você precisa de:
- 6 bananas
- 3 copos de leite

Veja as três partes:

  • Entrada. Em Python, o input escreve a pergunta, lê a linha que você digitou e devolve essa linha como texto. O int transforma o texto “3” no número 3. Em PHP, o fgets(STDIN) lê uma linha da entrada padrão, o trim limpa a quebra de linha que vem junto e o (int) transforma o texto em número. Em C, o scanf lê da entrada padrão, que é o teclado: o %s lê uma palavra, o %d lê um número inteiro e o & indica o endereço da variável que vai receber o dado.
  • Processamento. São duas multiplicações: 3 × 2 = 6 bananas e 3 × 1 = 3 copos de leite. Nessa parte, nada aparece na tela.
  • Saída. O print, em Python, e o printf, em PHP e em C, mostram o resultado na tela.

As “caixinhas” nome, quantidade, bananas e copos_de_leite são variáveis. Elas e os tipos de dados estão explicados em conceitos básicos de programação.

Ver a animação: o programa passo a passo
Animação do programa da vitamina: o programa pergunta o nome e a quantidade, calcula as bananas e os copos de leite e mostra a lista na tela
O programa pergunta e espera duas vezes, faz as duas contas sem mostrar nada e só então escreve o resultado.

Quais são os erros mais comuns na entrada de dados?

  • Esquecer que o que vem do teclado chega como texto. Em Python, sem o int, a conta “3” * 2 não dá 6. Dá 33: o texto repetido duas vezes.
  • Digitar texto onde o programa espera um número. Digitei três no lugar de 3. O Python parou com a mensagem ValueError: invalid literal for int() with base 10: ‘três’. O PHP e o C não reclamaram e responderam “Ana, para fazer 0 vitaminas você precisa de:”. Um avisa, os outros seguem em frente com zero.
  • Digitar um nome com espaço em C. Digitei Ana Maria. Em Python e em PHP, que leem a linha inteira, o nome saiu completo. Em C, o %s lê uma palavra só: o programa guardou Ana, não esperou eu digitar a quantidade e respondeu com 0 vitaminas.
  • Esquecer o & no scanf. Em C, é preciso colocar o & antes do nome da variável que vai receber o número lido.

Agora é com você!

No papel: desenhe os três blocos (entrada, processamento e saída) e coloque cada dispositivo no bloco certo: microfone, caixa de som, mouse, impressora e leitor de código de barras. Depois pense na tela do seu celular: em qual bloco ela fica?

No computador: escolha uma das três linguagens, mude a receita para 3 bananas por vitamina e acrescente 1 colher de açúcar em cada uma. Rode com 4 vitaminas e confira a conta na mão. Tente sozinho, sem pedir a resposta pronta para ninguém, nem para a IA!

Tudo não passou de ENTRADA, PROCESSAMENTO e SAÍDA. No próximo artigo, você vai ver onde os dados ficam guardados enquanto isso acontece: Memória RAM e HD: qual é a diferença e como funcionam.

Confiança Sempre!!!

Fontes:

Sobre quem escreve

Walmir Silva

Olá! Sou Walmir, engenheiro de software com MBA em Engenharia de Software e o cérebro por trás do GrowthCode e autor do livro "Além do Código".

Se você acha que programação é apenas sobre escrever código, prepare-se para expandir seus horizontes. Aqui, nós vamos além do código e exploramos as interseções fascinantes entre tecnologia, negócios, artes e filosofia.

Você está em busca de crescimento na carreira? Quer se destacar em um mercado competitivo? Almeja uma vida mais rica em conhecimento e realização? Então você chegou ao lugar certo. No GrowthCode, oferecemos insights profundos, estratégias comprovadas e um toque de sabedoria filosófica para catalisar seu crescimento pessoal e profissional.

Ver todos os artigos →

Continue a conversa

Compartilhe sua perspectiva

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Encontre sua próxima resposta

O que você quer aprender?

Preferências de cookies

Os cookies opcionais começam desligados. Você pode mudar a escolha a qualquer momento por esta tela.

NecessáriosSempre ativos

Guardam a sua escolha de cookies e mantêm o site funcionando. Não são usados para publicidade.

Contam visitas e mostram como o site é usado: Google Analytics e Microsoft Clarity, carregados pelo Google Tag Manager. Como esse contêiner também carrega tags de publicidade, as estatísticas só são ativadas junto com Publicidade e marketing.

Exibem anúncios do Google AdSense e medem campanhas e e-mails: pixels da Meta e do TikTok e o Mautic.

Permite que o Google escolha anúncios com base nos seus interesses. Desligado, os anúncios aparecem sem personalização. Depende de Publicidade e marketing.

Também é possível bloquear cookies nas configurações do navegador. Detalhes na Política de privacidade.