Pular para o conteúdo

Representação de informações

Ciência da Computação do A-Level · Tópico 1

Treinar
Videoaula para este tópico Abrir a página do vídeo
22:30

Sistemas Numéricos & Dados

Esta foto. Esta música. Este próprio vídeo. Seu nome, suas mensagens, cada arquivo em cada dispositivo — dentro do computador, tudo isso não passa de uns e zeros.…

Narração em inglês · Legendas em inglês + 中文 gravadas

1.1

Sistemas numéricos

Programa
Os candidatos devem ser capazes de: Notas e orientações
Demonstrar compreensão das magnitudes binárias e da diferença entre prefixos binários e prefixos decimais Compreender a diferença entre e usar: • kibi e kilo • mebi e mega • gibi e giga • tebi e tera
Demonstrar compreensão de diferentes sistemas numéricos Usar as bases numéricas binário, decimal e hexadecimal e a representação Decimal Codificado por BCD (BCD), complemento de um e complemento de dois para números binários
Converter um valor inteiro de uma base numérica/representação para outra
Realizar adição e subtração binária Usando inteiros binários positivos e negativos
Demonstrar compreensão de como pode ocorrer o transbordamento
Descrever aplicações práticas onde são usados Decimal Codificado por BCD (BCD) e Hexadecimal
Demonstrar compreensão e ser capaz de representar dados de caracteres na sua forma binária interna, dependendo do conjunto de caracteres usado Os alunos devem estar familiarizados com ASCII (American Standard Code for Information Interchange), ASCII estendido e Unicode. Não se espera que memorizem códigos de caracteres específicos

Fonte: Programa Cambridge International

Contagem em binário: 0 a 15

Os três sistemas numéricos 数制 que deve dominar:

  • decimal 十进制 (base 10) — usa dígitos 0–9. Os lugares valoriais são potências de dez.
  • binário 二进制 (base 2) — usa 0 e 1. Os lugares valoriais são potências de dois. Cada byte 字节 tem 8 bits 位.
  • hexadecimal 十六进制 (base 16) — usa 0–9 seguidos de A–F para 10–15. Cada dígito hexadecimal representa exatamente 4 bits.
Contas num abaco tradicional
Um abaco representa números por lugar valorial — a mesma ideia subjacente ao decimal, binário e hexadecimal

Conversões

Decimal → binário: continue a dividir por 2 e registe os restos, lendo de baixo para cima. Ou subtraia o maior lugar valorial 位值 (potência de 2) que couber.

Exemplo: $558_{10}$: $558 = 512 + 32 + 8 + 4 + 2 = 2^{9} + 2^{5} + 2^{3} + 2^{2} + 2^{1}$. Em 12 bits: 0010 0010 1110.

Binário → hexadecimal: agrupe os bits em nibbles 半字节 (4 bits) da direita para a esquerda e converta cada um. 0010 0010 1110 → 2 2 E → 22E.

Hexadecimal → binário: substitua cada dígito hexadecimal por seu padrão de 4 bits. Hexadecimal → decimal: multiplique cada dígito por seu valor posicional. 22E $= 2 \times 256 + 2 \times 16 + 14 = 558$.

Exemplo resolvido. Converta o decimal 200 para binário de 8 bits, depois para hexadecimal.

$200 = 128 + 64 + 8$, então o binário é 11001000. Em nibbles, 1100 1000 $= 12$ e $8$, ou seja, $\text{C}$ e $8$, então o hexadecimal é C8.

Um gráfico de lugares valoriais binários para 200: as colunas 128, 64, 32, 16, 8, 4, 2, 1 contêm os bits 1,1,0,0,1,0,0,0; os dois meios bytes de 4 bits 1100 e 1000 tornam-se os dígitos hex C e 8, logo 200 = 11001000 = C8
Ler 200 pelos seus lugares valoriais, depois agrupar os bits em meios bytes para obter hex C8

Quantos bits?

As questões de exame fixam a largura do registrador 寄存器宽度 (8, 12 ou 16 bits). Preencha com zeros à esquerda até essa largura: $558$ em 12 bits é 0010 0010 1110, nunca 10 0010 1110.

Para encontrar o número mínimo de bits necessários para armazenar um valor, pergunte quais lugares valoriais precisa:

  • um inteiro sem sinal de $0$ a $2^{n} - 1$ precisa de $n$ bits: $200$ precisa de 8 bits (o topo é $255$), $1000$ precisa de 10 bits (o topo é $1023$), $16$ precisa de 5 bits (4 bits param em $15$).
  • um inteiro com sinal em complemento para dois de $-2^{n-1}$ a $2^{n-1} - 1$ precisa de $n$ bits: $-200$ precisa de 9 bits, pois 8 bits param em $-128$.
  • um dígito hexadecimal precisa de 4 bits, um dígito BCD precisa de 4 bits, e um carácter ASCII precisa de 7 bits (8 para ASCII expandido).

Prefijos binários vs decimais

Dois famílias de prefijos parecem semelhantes mas diferem — decimal (potências de 10) e binário (potências de 2):

Decimal (SI) Binário (memória)
quilo $= 10^{3}$ kibi (Ki) $= 2^{10} = 1024$
mega $= 10^{6}$ mebi (Mi) $= 2^{20}$
giga $= 10^{9}$ gibi (Gi) $= 2^{30}$
tera $= 10^{12}$ tebi (Ti) $= 2^{40}$

Assim, um tebibyte (TiB) é ligeiramente maior que um terabyte (TB). Um disco "1 TB" armazena $10^{12}$ bytes, mas um sistema operacional que relata em TiB mostra um número menor.

Explorar

Binário, decimal e hexadecimal

Digite um número e veja-o em binário, decimal e hexadecimal ao mesmo tempo — e como os valores posicionais se somam.

Vocabulário Treinar
Inglês Chinês Pinyin
number system/ˈnʌmbə ˈsɪstəm/ 数制 shù zhì
binary/ˈbaɪnəri/ 二进制 èr jìn zhì
denary/ˈdiːnəri/ 十进制 shí jìn zhì
place value/pleɪs ˈvæljuː/ 位值 wèi zhí
byte/baɪt/ 字节 zì jié
bit/bɪt/ 位 wèi
hexadecimal/ˌheksəˈdesɪml/ 十六进制 shí liù jìn zhì
nibble/ˈnɪbl/ 半字节 bàn zì jié
register width/ˈredʒɪstə wɪtθ/ 寄存器宽度 jì cún qì kuān dù
1.1

Aritmética binária

Adição binária

Adicione coluna por coluna da direita, carregando como na decimal:

Bit A Bit B Carry in Sum bit Carry out
0 0 0 0 0
0 0 1 1 0
0 1 0 1 0
0 1 1 0 1
1 1 0 0 1
1 1 1 1 1

Overflow 溢出 ocorre quando o resultado precisa de mais bits do que o register 寄存器 pode armazenar — o carry-out da coluna mais à esquerda é o bit de overflow.

Exemplo resolvido. Some os inteiros sem sinal de 8 bits $10110101$ e $01101100$, e comente sobre o resultado.

$10110101 + 01101100 = 1\,00100001$. A resposta precisa de 9 bits, então não cabe em um registro de 8 bits: ocorreu overflow. Uma resposta completa nomeia o erro e diz por quê, usando a largura de palavra dada pela questão: "Overflow: o resultado verdadeiro ($289$) é maior que o maior valor que um registro de 8 bits pode armazenar ($255$), então o carry out do bit mais significativo é perdido e o resultado armazenado ($00100001 = 33$) está errado."

Subtração binária

O método usual é a adição de two's complement 补码: para fazer $A - B$, forme o two's complement de $B$ (inverte todos os bits e soma 1), depois some, e descarte qualquer carry-out final.

Para subtrair $00011110$ de $01100100$ (sem sinal 8 bits):

  • two's complement de $00011110$: inverta → $11100001$, some 1 → $11100010$.
  • some com $01100100$: resultado $1\,01000110$ (9 bits) — descarte o 1 inicial → $01000110 = 70_{10}$. Verifique: $100 - 30 = 70$. ✓

Inteiros sinalizados em two's complement

Em um número two's complement de $n$ bits:

  • o most significant bit 最高有效位 (MSB) é o sign bit 符号位: 0 = positivo, 1 = negativo.
  • para ler um número negativo: inverta todos os bits, some 1, depois negue.

Então $11100010$ é negativo; inverta → $00011101$, some 1 → $00011110 = 30$, logo é $-30$. Este é um signed integer 有符号整数 (ao contrário de um sem sinal 无 signed one). O intervalo para $n$ bits é $-2^{n-1}$ a $+2^{n-1} - 1$; para 8 bits, $-128$ ($10000000$) a $+127$ ($01111111$).

Os mesmos bits significam números diferentes dependendo da leitura acordada. Como inteiro sem sinal, cada bit é um valor posicional, então 8 bits variam de $0$ a $255$; como inteiro sinalizado two's complement, o bit superior é o sinal, então os mesmos 8 bits variam de $-128$ a $+127$. O padrão $11111111$ é $255$ lido de uma forma e $-1$ lido da outra — nada nos próprios bits diz qual é.

Uma tabela de quatro padrões de 8 bits lidos duas vezes: 00000000 é 0 de ambos os modos, 01111111 é 127 unsigned e +127 signed, 10000000 é 128 unsigned mas -128 signed, e 11111111 é 255 unsigned mas -1 signed O mesmo byte lido como unsigned e signed: apenas a interpretação acordada os distingue Uma linha numérica two's complement de 8 bits de -128 (10000000) a +127 (01111111); números com sign bit 1 são negativos e aqueles com sign bit 0 são positivos, com -1 = 11111111 logo abaixo de 0 = 00000000 Two's complement de 8 bits: o sign bit divide o intervalo em negativo ($-128$ a $-1$) e positivo ($0$ a $127$)

Exemplo resolvido. Qual o valor decimal representado pelo número two's complement de 8 bits $10110100$?

O MSB é 1, então é negativo. Inverta → $01001011$, adicione 1 → $01001100 = 76$, então o valor é $-76$. Verifique com valores posicionais: $-128 + 32 + 16 + 4 = -76$.

Exemplo resolvido. Escreva $-108$ como um inteiro two's complement de 12 bits.

Comece com $+108$ em 12 bits: $108 = 64 + 32 + 8 + 4$, então 0000 0110 1100. Inverta todos os bits: 1111 1001 0011. Some 1: 1111 1001 0100. Verifique com valores posicionais, onde o bit superior vale $-2^{11} = -2048$: $-2048 + 1024 + 512 + 256 + 128 + 16 + 4 = -108$. ✓

Para 12 bits, o intervalo é $-2048$ (1000 0000 0000) a $+2047$ (0111 1111 1111). Questões que pedem os menores e maiores valores querem esses dois padrões, então aprenda a regra: o número mais negativo é um 1 seguido de zeros; o mais positivo é um 0 seguido de uns.

Um arithmetic shift 算术移位 move todos os bits para a esquerda ou direita, mas mantém o sinal: um shift right em um lugar divide o valor ao meio e copia o sign bit no espaço vazio à esquerda, então um número negativo permanece negativo (1111 1001 0100 deslocado right três lugares é 1111 1111 0010, que é $-14$: $-108 / 8 = -13.5$, e um shift right arredonda para baixo). Um shift left dobra o valor. Shifts pertencem ao conjunto de instruções assembly no tópico 4, mas esta pergunta é feita com o trabalho numérico aqui.

Overflow em aritmética sinalizada ocorre quando o resultado verdadeiro cai fora deste intervalo — identificado quando o sign bit inverte incorretamente (dois positivos dando negativo, ou dois negativos dando positivo).

One's complement

Antes do two's complement, um esquema antigo chamado one's complement 反码 representava um número negativo simplesmente invertendo todos os bits do positivo — não há etapa de "somar 1".

  • $+30 = 00011110$, então em one's complement $-30 = 11100001$ (apenas o inverso).
  • Desvantagem: possui dois zeros — $00000000$ ($+0$) e $11111111$ ($-0$) — o que desperdiça um padrão de bits e torna a aritmática complicada.

Two's complement (inverta e some 1) elimina o zero negativo: ele tem um único zero e permite que adição e subtração usem o mesmo circuito. É por isso que computadores modernos armazenam inteiros sinalizados em two's complement, não em one's complement.

Explorar

Binário & inteiros sinalizados

byte = Σ valores de posição

Veja como um padrão de 8 bits mapeia para um número (e como transbordaria além de 255).

Explorar

Bits sinalizados em complemento de dois

O bit mais à esquerda carrega um valor de posição negativo. Alterne qualquer bit — ou clique em Negate (inverta todos os bits, depois adicione 1) — e veja o valor sinalizado mudar.

Vocabulário Treinar
Inglês Chinês Pinyin
register/ˈredʒɪstə/ 寄存器 jì cún qì
unsigned/ʌnˈsaɪnd/ 无符号 wú fú hào
overflow/ˌəʊvəˈfləʊ/ 溢出 yì chū
most significant bit/məʊst sɪɡˈnɪfɪkənt bɪt/ 最高有效位 zuì gāo yǒu xiào wèi
two's complement/tuːz ˈkɒmplɪmənt/ 补码 bǔ mǎ
signed integer/saɪnd ˈɪntɪdʒə/ 有符号整数 yǒu fú hào zhěng shù
sign bit/saɪn bɪt/ 符号位 fú hào wèi
arithmetic shift/ˌærɪθˈmetɪk ʃɪft/ 算术移位 suàn shù yí wèi
one's complement/wʌnz ˈkɒmplɪmənt/ 反码 fǎn mǎ
1.1

Decimal Coded Binary (BCD)

Em BCD 二进码十进数, cada dígito decimal é escrito como seu próprio padrão de 4 bits. O número $93$ é 1001 0011 em BCD — não binário 93 ($01011101$). Cada nibble usa apenas 0–9; padrões $1010$–$1111$ são inválidos.

Leitura BCD: 0010 0111 0101 → 2, 7, 5 → 275.

Uso: calculadoras, relógios digitais e dispositivos que exibem dígitos decimais — cada dígito aciona um 7-segment display 七段显示器. O código de moeda frequentemente usa BCD para evitar erros de arredondamento ao converter frações como 0.1 em binário.

Uma resposta "justify" deve ligar o uso a uma propriedade do BCD: cada dígito decimal tem seus próprios 4 bits, então um dígito pode ser enviado diretamente para seu display, ou somado dígito por dígito, sem conversão do número todo; e uma fração decimal como $0.10$ é armazenada exatamente, algo que uma fração binária não consegue fazer.

Componente de display LED de sete segmentos de um único dígito, mostrando suas sete barras separadas
Um display de sete segmentos mostra um dígito decimal, frequentemente acionado por BCD
Vocabulário Treinar
Inglês Chinês Pinyin
BCD/ˌbiː siː ˈdiː/ 二进码十进数 èr jìn mǎ shí jìn shù
7-segment display/ˈsevən ˈseɡmənt dɪˈspleɪ/ 七段显示器 qī duàn xiǎn shì qì
1.1

Hexadecimal — usos práticos

Hex é uma forma compacta de escrever binário (1 dígito hex = 4 bits):

Um byte se divide em dois nibbles; cada nibble é um dígito hexadecimal
Um byte são dois nibbles; cada nibble é um dígito hex
  • memory addresses 内存地址 em programação de baixo nível — 0x7FFE.
  • colour values em HTML/CSS — #FF8800.
  • MAC addresses — AC:DE:48:00:11:22.

Hex não altera os dados armazenados — apenas facilita o binário para humanos.

Vocabulário Treinar
Inglês Chinês Pinyin
memory address/ˈmeməri əˈdres/ 内存地址 nèi cún dì zhǐ
1.1

Códigos de caracteres

Computadores armazenam texto como números; cada caractere tem um code point 码点 numérico definido por um character set 字符集.

ASCII

  • ASCII usa 7 bits — 128 code points. Letras latinas básicas, dígitos, pontuação e códigos de controle.
  • Extended ASCII usa 8 bits — 256 code points; os primeiros 128 correspondem ao ASCII, os últimos 128 variam por região.
Tabela pequena de ASCII: o caractere A é código 65 = 01000001, a é 97 = 01100001, o dígito 0 é 48 = 00110000, e espaço é 32 = 00100000
Cada caractere é armazenado como um número — alguns code points ASCII em decimal e binário

Unicode

  • Unicode é um conjunto universal de caracteres cobrindo quase todos os scripts, além de símbolos e emojis.
  • encodings 编码 comuns: UTF-8 (1–4 bytes, compatível com ASCII), UTF-16 (2 ou 4 bytes), UTF-32 (fixo 4 bytes).

Por que Unicode supera ASCII

  • representa muitos mais caracteres (todos os scripts, emojis); ASCII cobre apenas inglês básico.
  • arquivos são portáteis sem confusão de páginas de código, e permitem texto multilíngue em um único documento.
  • trade-off: arquivos Unicode costumam ser maiores para texto apenas em inglês.

Quando uma questão pede diferenças, dê-as em pares com números: ASCII usa 7 bits (ASCII estendido 8), logo 128 (256) caracteres; Unicode usa até 32 bits (UTF-8 usa 1 a 4 bytes), logo mais de um milhão de code points. ASCII cobre apenas inglês básico; Unicode cobre todos os scripts, e seus primeiros 128 code points são os do ASCII. Em UTF-8, uma letra inglesa ainda ocupa 1 byte, então um nome de arquivo de 40 letras em inglês tem 40 bytes tanto no ASCII quanto no UTF-8, enquanto um caractere chinês ocupa 3 bytes.

Explorar

Um caractere é armazenado como um número

Cada caractere tem um código numérico — 'A' é 65. Inverta os bits para ver esse código em binário e hexadecimal, exatamente como o computador o armazena.

Vocabulário Treinar
Inglês Chinês Pinyin
code point/kəʊd pɔɪnt/ 码点 mǎ diǎn
character set/ˈkærɪktə set/ 字符集 zì fú jí
encoding/enˈkəʊdɪŋ/ 编码 biān mǎ
1.2

Imagens bitmap

Programa
Os candidatos devem ser capazes de: Notas e orientações
Demonstrar compreensão de como os dados de uma imagem bitmap são codificados Usar e compreender os termos: pixel, cabeçalho do arquivo, resolução da imagem, resolução da tela, profundidade de cor / profundidade de bits
Realizar cálculos para estimar o tamanho do arquivo para uma imagem bitmap
Demonstrar compreensão dos efeitos de alterar elementos de uma imagem bitmap na qualidade da imagem e no tamanho do arquivo Usar os termos: resolução da imagem, profundidade de cor / profundidade de bits
Demonstrar compreensão de como os dados de um gráfico vetorial são codificados Usar os termos: objeto de desenho, propriedade, lista de desenho
Justificar o uso de uma imagem bitmap ou um gráfico vetorial para uma tarefa dada
Demonstrar compreensão de como o som é representado e codificado Usar os termos: amostragem, taxa de amostragem, resolução de amostragem, dados analógicos e dados digitais
Demonstrar compreensão do impacto de alterar a taxa de amostragem e a resolução Incluindo o impacto no tamanho do arquivo e na precisão

Fonte: Programa Cambridge International

Uma imagem bitmap 位图 (também chamada de bitmapped image) armazena a cor de cada pixel 像素 em uma grade. No início do arquivo, um file header 文件头 registra os metadados da imagem — sua largura, altura e profundidade de cor — para que o software saiba como ler os dados de pixel que seguem.

  • image resolution 图像 resolução: o tamanho próprio do bitmap, largura × altura em pixels (ex. 1920 × 1080).
  • screen resolution 屏幕分辨率: a largura × altura que o display pode mostrar. Se a resolução de uma imagem for maior que a tela, ela é escalonada para caber; uma imagem de baixa resolução fica pixelizada quando esticada em uma tela de alta resolução.
  • profundidade de cor profundidade de cor (profundidade de bits profundidade de bits): bits por pixel. 1 bit → preto e branco; 8 bits → 256 cores; 24 bits → 16.7 milhão ("cor verdadeira").
O mesmo disco armazenado em três grades de pixels, A a C, ficando mais pixelizado conforme os pixels crescem e diminuem
A mesma imagem armazenada em três resoluções, de alta (A) a baixa (C): menos pixels maiores significam menos detalhes

Tamanho do arquivo

$$\text{size in bits} = \text{width} \times \text{height} \times \text{bit depth}.$$

Divida por 8 para bytes, por 1024 para KiB, etc. Exemplo: uma imagem $3000 \times 2000$ a 24 bpp é $3000 \times 2000 \times 24 = 1.44 \times 10^{8}$ bits $\approx 17.2\ \text{MiB}$.

Uma grade de pixels 6 por 4 com sua largura e altura rotuladas; pixels = 6 vezes 4 = 24, e a 8 bits por pixel o tamanho = 24 vezes 8 = 192 bits
A mesma fórmula em números pequenos: conte os pixels, depois multiplique pela profundidade de cor

Informe as unidades que usou. O gabarito aceita $1\ \text{MB} = 10^{6}$ bytes (prefixo SI) ou $1\ \text{MiB} = 1024 \times 1024$ bytes (prefixo binário), desde que seu cálculo mostre qual; a mesma imagem é $18.0\ \text{MB}$ ou $17.2\ \text{MiB}$. Adicione o tamanho do cabeçalho do arquivo se a questão o fornecer.

Um vídeo é uma sequência de imagens bitmap, cada uma sendo um quadro 帧. Antes da compressão, seu tamanho é o tamanho de um quadro $\times$ a taxa de quadros 帧率 (quadros por segundo) $\times$ a duração em segundos: 30 quadros por segundo de $1920 \times 1080$ pixels a 24 bits são $30 \times 1920 \times 1080 \times 24 \approx 1.5 \times 10^{9}$ bits, aproximadamente $187\ \text{MB}$, para cada segundo. É por isso que vídeos sempre são comprimidos.

Alterando configurações

  • resolução mais baixa → arquivo menor, menos detalhes (aparece pixelizado quando ampliado).
  • profundidade de cor mais baixa → arquivo menor, mas tons suaves mostram faixas.
  • maior de qualquer um → arquivo maior, melhor qualidade.
Vocabulário Treinar
Inglês Chinês Pinyin
bitmap/ˈbɪtmæp/ 位图 wèi tú
pixel/ˈpɪksl/ 像素 xiàng sù
file header/faɪl ˈhedə/ 文件头 wén jiàn tóu
colour depth/ˈkʌlə depθ/ 颜色深度 yán sè shēn dù
image resolution/ˈɪmɪdʒ ˌrezəˈluːʃn/ 图像分辨率 tú xiàng fēn biàn lǜ
screen resolution/skriːn ˌrezəˈluːʃn/ 屏幕分辨率 píng mù fēn biàn lǜ
bit depth/bɪt depθ/ 位深度 wèi shēn dù
frame/freɪm/ 帧 zhēn
1.2

Gráficos vetoriais

Um gráfico vetorial 矢量图形 armazena as instruções para desenhar a imagem como uma lista de desenho 绘图列表 — uma lista ordenada de objetos de desenho 绘图对象 (primitivas geométricas 图元: linhas, curvas, polígonos, círculos). Cada objeto de desenho possui propriedades 属性 como cor, preenchimento, largura da linha e posição (coordenadas). Para exibi-lo, o programa renderiza 渲染 a lista de desenhos na resolução necessária.

Um desenho simples de casa feito a partir de um corpo retangular, telhado triangular, janela circular, porta retangular e uma linha, cada um rotulado com seu tipo de forma e atributos
Uma imagem vetorial é construída a partir de formas geométricas rotuladas, cada uma com atributos

Bitmap vs Vetor

Tarefa Melhor escolha Por quê
Fotografia Bitmap Detalhes complexos ao nível do pixel não podem ser descritos como formas.
Logotipo, ícone, sinal Vetor Bordas nítidas; escala para qualquer tamanho sem desfoque.
Desenho técnico Vetor Geometria precisa e escalabilidade.
Pintura, textura Bitmap Detalhe tonal suave por área.

Vantagem vetorial: ele escala sem perder qualidade — um logotipo vetorial permanece nítido em qualquer tamanho, enquanto um bitmap fica desfocado quando ampliado. Desvantagem vetorial: não pode descrever detalhes arbitrários de pixels (fotografias).

Uma resposta "justificativa" vincula a escolha à tarefa. "O logotipo deve aparecer num cartão de visita e num outdoor, então deve ser um gráfico vetorial: é armazenado como objetos de desenho e é renderizado nitidamente em qualquer tamanho, enquanto um bitmap mostraria seus pixels quando ampliado." Para uma fotografia, o argumento funciona ao contrário: não há formas para descrever, então a cor de cada pixel deve ser armazenada.

Lado a lado, ambos ampliados: uma diagonal bitmap é uma escada irregular de pixels, enquanto uma diagonal vetorial permanece uma linha reta suave
Ampliado, os pixels de um bitmap tornam-se irregulares; um vetorial permanece suave em qualquer tamanho
Explorar

Laboratório de conceitos de computação

Classifique exemplos concretos pelo conceito de computação que eles demonstram.

Vocabulário Treinar
Inglês Chinês Pinyin
vector graphic/ˈvektə ˈɡræfɪk/ 矢量图形 shǐ liàng tú xíng
drawing list/ˈdrɔːɪŋ lɪst/ 绘图列表 huì tú liè biǎo
drawing objects/ˈdrɔːɪŋ ˈɒbdʒekts/ 绘图对象 huì tú duì xiàng
primitive/ˈprɪmɪtɪv/ 图元 tú yuán
properties/ˈprɒpətiz/ 属性 shǔ xìng
render/ˈrendə/ 渲染 xuàn rǎn
analogue data/ˈænəlɒɡ ˈdeɪtə/ 模拟数据 mó nǐ shù jù
digital data/ˈdɪdʒɪtl ˈdeɪtə/ 数字数据 shù zì shù jù
1.2

Som

Uma onda contínua de dados analógicos 模拟数据 (o som) é convertida em dados digitais 数字数据 por amostragem 采样:

  • taxa de amostragem 采样率 — amostras por segundo (Hz). Qualidade CD é $44.1\ \text{kHz}$.
  • resolução de amostragem 采样分辨率 (profundidade de bits) — bits por amostra de amplitude 振幅. Qualidade CD é 16 bits.
Uma onda sonora analógica suave com barras verticais de amostra em intervalos regulares de tempo, cada barra lendo a amplitude da onda
Amostragem de uma onda sonora: sua amplitude é lida em cada intervalo de tempo

Tamanho do arquivo

$$\text{size in bits} = \text{sampling rate} \times \text{resolution} \times \text{duration} \times \text{channels}.$$

Um clipe estéreo CD de 10 segundos: $44100 \times 16 \times 10 \times 2 = 14\,112\,000$ bits $\approx 1.68\ \text{MiB}$.

Alterando configurações

  • taxa de amostragem mais alta → capta agudos mais altos, arquivo maior.
  • resolução de amostragem mais alta → passos de amplitude mais finos, menos ruído de quantização 量化, arquivo maior.
  • menor de qualquer um → arquivo menor, perda clara de qualidade.

(A taxa de amostragem deve ser pelo menos duas vezes a frequência mais alta que você deseja manter.)

Uma onda sonora cruzada por linhas de amostra espaçadas uniformemente, um ponto por amostra, anotado como taxa de amostragem = amostras por segundo e Nyquist pelo menos duas vezes a frequência mais alta
Taxa de amostragem é amostras por segundo; a regra de Nyquist é por que deve ser pelo menos duas vezes a frequência mais alta mantida
Explorar

Amostragem de som

y = a sin(bt + c)

A amostragem mede uma onda sonora em intervalos regulares — quanto maior a taxa, mais fielmente ela é copiada.

Vocabulário Treinar
Inglês Chinês Pinyin
digit/ˈdɪdʒɪt/ 数位 shù wèi
sampling/ˈsæmplɪŋ/ 采样 cǎi yàng
sampling rate/ˈsæmplɪŋ reɪt/ 采样率 cǎi yàng lǜ
sampling resolution/ˈsæmplɪŋ ˌrezəˈluːʃn/ 采样分辨率 cǎi yàng fēn biàn lǜ
amplitude/ˈæmplɪtjuːd/ 振幅 zhèn fú
sample resolution/ˈsæmpl ˌrezəˈluːʃn/ 采样分辨率 cǎi yàng fēn biàn lǜ
quantisation/ˌkwɒntaɪˈzeɪʃn/ 量化 liàng huà
bandwidth/ˈbændwɪdθ/ 带宽 dài kuān
lossless/ˈlɒsləs/ 无损 wú sǔn
lossy/ˈlɒsi/ 有损 yǒu sǔn
run-length encoding/rʌn leŋθ enˈkəʊdɪŋ/ 行程编码 xíng chéng biān mǎ
dictionary methods/ˈdɪkʃənəri ˈmeθədz/ 字典编码 zì diǎn biān mǎ
1.3

Compressão

Programa
Os candidatos devem ser capazes de: Notas e orientações
Demonstrar compreensão da necessidade e exemplos de uso de compactação
Demonstrar compreensão de compactação com perda e sem perda e justificar o uso de um método numa situação dada
Demonstrar compreensão de como um arquivo de texto, imagem bitmap, gráfico vetorial e arquivo de som podem ser compactados Incluindo o uso de codificação run-length (RLE)

Fonte: Programa Cambridge International

Compressão 压缩 reduz o tamanho do arquivo, economizando armazenamento e largura de banda 带宽 de transmissão. Dois tipos:

  • sem perdas 无损 — os dados originais são recuperados exatamente (texto, programas, ZIP/PNG).
  • com perdas 有损 — alguns detalhes são descartados para arquivos muito menores (JPEG, MP3, vídeo).

Quando usar qual

  • sem perdas para documentos, código-fonte, imagens médicas — qualquer coisa que precise de dados exatos.
  • com perdas para streaming de mídia. Streaming de vídeo em tempo real usa compressão com perdas porque deve enviar grandes quantidades de dados em tempo real sobre largura de banda limitada; sem perdas não reduziria o suficiente. Vídeo HD bruto é gigabytes por minuto, então sem compressão a imagem ficaria travando constantemente.

Uma resposta "justificativa" nomeia o método, depois a razão baseada na situação: "Sem perdas, porque a planilha deve ser restaurada exatamente; um único valor alterado tornaria as contas erradas." Ou: "Com perdas, porque as fotografias são visualizadas numa tela de celular onde os detalhes perdidos não são visíveis, e os arquivos menores sobem mais rápido e usam menos armazenamento."

Métodos sem perdas

  • codificação por comprimento de corrida 行程编码 (RLE): armazene "os próximos $n$ valores são $x$" em vez de repetir $x$. Ótimo para áreas planas; inútil para dados ruidosos.
  • métodos de dicionário 字典编码 (ZIP, PNG): substitui sequências de bytes repetidas por uma referência curta. Bom para texto e código.
  • codificação Huffman 霍夫曼编码: dá códigos curtos para símbolos comuns e longos para raros, aproximando o comprimento médio do código da entropia 熵 dos dados.

Como cada tipo de arquivo é comprimido:

  • arquivo de texto: métodos de dicionário e codificação Huffman transformam palavras repetidas e caracteres comuns em códigos curtos. Texto deve permanecer sem perdas, pois um caractere alterado muda o significado.
  • imagem bitmap: RLE para corridas de pixels idênticos (ícones, diagramas, digitalizações preto-e-branco); JPEG com perdas para fotografias, ou profundidade/resolução de cor mais baixa.
  • gráfico vetorial: a lista de desenho já é pequena; remova objetos de desenho desnecessários, armazene coordenadas com menos casas decimais, ou aplique um método sem perdas como ZIP ao arquivo.
  • arquivo de som: MP3 ou AAC com perdas remove o que o ouvido não consegue ouvir; taxa ou resolução de amostragem mais baixa também é com perdas; formatos sem perdas mantêm cada amostra e reduzem o arquivo muito menos.
Uma fileira de 16 pixels com 6 células brancas, 4 pretas e 6 brancas; as três corridas são delimitadas e rotuladas 6W, 4B, 6W, assim 16 pixels são armazenados como as 3 corridas 6W 4B 6W
Codificação por comprimento de corrida em uma única fileira: 16 pixels tornam-se 3 corridas
Uma grade preto-e-branco 8 por 8 mostrando a letra F, com o padrão binário de cada fileira e seu código de comprimento de corrida mais curto listados ao lado
Codificação por comprimento de corrida da letra F em uma grade preto-e-branco $8\times8$
Codificação de dicionário demonstrada: a fonte ABC ABC ABC XYZ, um dicionário no qual 1 representa ABC e 2 representa XYZ, e o stream codificado 1 1 1 2
Codificação de dicionário: cada sequência repetida é armazenada uma vez, e cada ocorrência torna-se um índice curto
Codificação Huffman demonstrada na palavra BANANA: contagens das letras A 3, N 2 e B 1, a árvore de códigos construída a partir delas, e os códigos resultantes A = 0, B = 10, N = 11
Codificação Huffman: o símbolo mais comum recebe o código mais curto, então BANANA precisa de 10 bits em vez de 12

Métodos com perdas

  • imagens (JPEG): descarta detalhes finos e diferenças de cor que o olho mal percebe.
  • som (MP3, AAC): descarta agudos que ouvimos menos bem, e sons quietos escondidos por sons mais altos.
  • vídeo combina compressão espacial 空间 (dentro de cada quadro, como JPEG) com compressão temporal 时间 (a maioria dos quadros armazena apenas as diferenças em relação ao quadro anterior).
Uma árvore classificando compressão em sem perdas (RLE, dicionário/ZIP/PNG, Huffman) e com perdas (imagens JPEG, som MP3/AAC, vídeo) com exemplos sob cada ramo
Métodos de compressão: sem perdas versus com perdas, com exemplos comuns
Explorar

Codificação por comprimento de corrida

Veja uma sequência de símbolos repetidos sendo comprimida em uma contagem — compressão sem perda simples.

Vocabulário Treinar
Inglês Chinês Pinyin
compression/kəmˈpreʃn/ 压缩 yā suō
frame rate/freɪm reɪt/ 帧率 zhēn lǜ
Huffman coding/ˈhʌfmən ˈkəʊdɪŋ/ 霍夫曼编码 huò fū màn biān mǎ
entropy/ˈentrəpi/ 熵 shāng
spatial/ˈspeɪʃl/ 空间 kōng jiān
temporal/ˈtempərəl/ 时间 shí jiān
Assistir aula
1.3

Definições aceitas pelo examinador

Uma questão de definição é avaliada contra wording fixo. Aprenda estas exatamente, e dê apenas uma resposta.

Termo Definição
bit um único dígito binário, 0 ou 1
byte um grupo de 8 bits
prefixo binário um multiplicador que é uma potência de 2 (kibi = 1024) em vez de uma potência de 10 (kilo = 1000)
complemento de dois uma maneira de representar inteiros sinalizados em que o bit mais significativo tem valor posicional negativo
estouro o resultado de um cálculo é grande demais para ser representado no número de bits disponíveis
Decimal Codificado Binariamente cada dígito decimal é armazenado como seu próprio padrão binário de 4 bits
conjunto de caracteres o conjunto de caracteres que um computador pode representar, cada um com seu próprio código binário
pixel o menor elemento de uma imagem bitmap, armazenando um valor de cor
resolução de imagem o número de pixels em uma imagem, dado como largura por altura
resolução de tela o número de pixels que um display pode mostrar, dado como largura por altura
profundidade de cor o número de bits usados para armazenar a cor de um pixel
taxa de amostragem o número de amostras do som tiradas por segundo
resolução de amostragem o número de bits usados para armazenar a amplitude de uma amostra
compressão sem perdas compressão da qual os dados originais podem ser recuperados exatamente
compressão com perdas compressão que remove permanentemente alguns dados, de modo que os originais não podem ser recuperados
codificação por comprimento de corrida substituir uma corrida de valores repetidos por um valor e uma contagem
1.3

Dicas de prova

  • Mostre cálculos para conversões de base: decimal → binário por posições, binário → hexadecimal em nibbles (grupos de 4 bits).
  • Para complemento de dois o MSB é negativo; para inverter, inverte e soma 1; atenção para transbordamento quando o bit de sinal muda incorretamente.
  • Distinga bitmap (pixels; tamanho do arquivo $=$ largura $\times$ altura $\times$ profundidade de cor) de vetor (comandos de desenho; escala sem perdas).
  • O tamanho do arquivo de som depende de taxa de amostragem $\times$ profundidade de bits $\times$ tempo — mais de cada um significa melhor qualidade, mas um arquivo maior.
  • Compare compressão sem perdas vs. com perdas e dê um uso para cada uma.

Erros comuns

  • Explicar um overflow com "a resposta foi maior que 255" ou "ele tem 9 bits". Indique o tamanho de palavra dado na questão, depois diga que o resultado não pode ser representado nele.
  • Criar um número negativo definindo o bit superior como 1 e deixando o resto (sinal e magnitude). Complemento a dois significa inverter todos os bits do valor positivo, depois adicionar 1.
  • Esquecer de preencher com zeros à esquerda um número convertido para a largura do registro solicitada pela questão.
  • Misturar bits e bytes em um cálculo de tamanho de arquivo. Trabalhe em bits, divida por 8 apenas uma vez, e especifique se usou 1000 ou 1024.
  • Responder "descreva" em linguagem cotidiana ("a imagem fica pior"). Use os termos da ementa: menos cores, banding, menor resolução de imagem, pixels maiores.

Aulas interativas sobre este tópico

Passe por ele passo a passo, com exercícios de verificação instantânea.

Provas Anteriores

Mais tópicos em Ciência da Computação do A-Level

Entrar ou criar conta

IGCSE, A-Level & AP