Ranges

Compartilhado por um usuário do Flashcards.gg · gerado com IA · Denunciar este conjunto

Conceitos fundamentais sobre o uso de ranges e sequências na programação, voltado para iniciantes.

50 cartões Português Nível: Iniciante Programação Publicado
Toque no cartão para virar

Cartões · 50

O que é um range na programação?
Sequência ordenada de valores entre limites definidos. Caso de uso: controlar repetições em laços for sem criar listas inteiras na memória.
range(n) com um único argumento em Python
Gera números de 0 até n - 1 com passo 1. Caso de uso: range(5) para executar um bloco exatamente 5 vezes (índices 0 a 4).
range(início, fim)
Gera números do valor inicial até fim - 1. Caso de uso: range(1, 11) para iterar pelos números de 1 a 10 ao processar páginas de um relatório.
range(início, fim, passo)
Gera valores do início ao fim com incremento personalizado. Caso de uso: range(0, 100, 10) para coletar dados a cada 10 unidades de medida.
Por que o valor final do range é exclusivo?
Garante consistência com indexação baseada em zero e o tamanho da lista. Caso de uso: range(len(lista)) acessa todos os índices sem ultrapassar o limite.
Passo negativo em range
Gera uma sequência decrescente quando início é maior que fim. Caso de uso: range(10, 0, -1) para criar uma contagem regressiva de lançamento.
Consumo de memória do range em Python 3
Usa memória constante O(1), gerando itens sob demanda. Caso de uso: range(10000000) ocupa o mesmo espaço que range(5), evitando estouro de RAM.
Verificar se um valor está dentro do range
Usa o operador in com verificação matemática imediata O(1). Caso de uso: 25 in range(1, 50) para validar se a idade informada está permitida.
Acesso por índice em um range
Permite recuperar elementos por posição sem convertê-lo em lista. Caso de uso: r = range(10, 100); r[3] retorna o quarto número da série instantaneamente.
Tamanho de um range com len()
Calcula a quantidade exata de elementos gerados. Caso de uso: len(range(5, 50, 5)) informa quantos lotes de 5 itens serão processados.
Fatiamento (slicing) de range
Cria um novo range a partir de outro usando colchetes. Caso de uso: range(0, 100)[10:20] extrai uma fatia específica de índices para processamento.
Converter range para lista
Materializa todos os números em memória usando list(range(...)). Caso de uso: list(range(1, 6)) cria [1, 2, 3, 4, 5] para salvar como array em banco de dados.
range vazio
Ocorre quando a condição de término já começa satisfeita. Caso de uso: range(10, 5) com passo positivo não executa o laço, evitando erros em tempo de execução.
Iterar sobre índices de uma lista com range
Usa for i in range(len(lista)) para obter a posição atual. Caso de uso: atualizar elementos da lista no próprio local durante a iteração.
range versus enumerate
enumerate fornece índice e elemento; range dá apenas a sequência. Caso de uso: usar enumerate quando precisar ler o valor, e range para passos customizados.
range com números flutuantes
O range nativo aceita apenas inteiros; para floats usa-se numpy.arange. Caso de uso: np.arange(0.0, 1.0, 0.1) para simulações científicas de tempo.
Operador .. em Ruby
Cria um range inclusivo abrangendo início e fim. Caso de uso: (1..5) inclui o 5 ao verificar se uma nota escolar está dentro da faixa regular.
Operador ... em Ruby
Cria um range exclusivo, descartando o último valor. Caso de uso: (1...5) para iterar apenas de 1 a 4 ao processar limites abertos de horários.
Operador .. em Kotlin
Cria progressões e intervalos fechados. Caso de uso: 1..10 inclui 1 e 10 para validar dias úteis de um ciclo de trabalho.
Função until em Kotlin
Cria intervalos fechados no início e abertos no fim. Caso de uso: 0 until array.size para iterar com segurança sobre os elementos de um vetor.
Palavra-chave downTo em Kotlin
Gera sequências regressivas inclusivas. Caso de uso: 10 downTo 1 para atualizar temporizadores regressivos de notificações.
Função step em Kotlin e Ruby
Modifica o incremento de um intervalo numérico existente. Caso de uso: (0..100).step(5) para exibir marcadores em uma barra de progresso visual.
Operador ..= em Rust
Cria uma faixa inclusiva contendo início e fim. Caso de uso: 1..=100 para checar se uma porcentagem válida foi informada pelo usuário.
Operador .. em Rust
Cria um intervalo aberto à direita. Caso de uso: for i in 0..items.len() para percorrer posições de memória sem risco de panic por overflow.
Array.from() com length em JavaScript
Forma comum de simular range no JS moderno. Caso de uso: Array.from({length: 5}, (_, i) => i) para renderizar 5 botões de paginação na interface.
IntStream.range() em Java
Gera fluxo sequencial de inteiros com limite superior exclusivo. Caso de uso: IntStream.range(0, 10) para processar itens em paralelo com streams.
IntStream.rangeClosed() em Java
Gera fluxo sequencial de inteiros com limite superior incluso. Caso de uso: IntStream.rangeClosed(1, 12) para iterar pelos meses do ano.
Enumerable.Range() em C#
Gera sequência de inteiros a partir de valor inicial e quantidade. Caso de uso: Enumerable.Range(100, 5) gera de 100 a 104 para emitir números de senhas.
Operador de índice e intervalo (..) no C# 8+
Fatia coleções definindo limites de índices. Caso de uso: texto[1..^1] para remover as aspas iniciais e finais de uma string.
Função seq em bash
Gera sequências numéricas no terminal Linux. Caso de uso: for i in $(seq 1 5); do touch log$i.txt; done para criar 5 arquivos de log rapidamente.
Expansão de chaves {início..fim} no Bash
Recurso nativo da shell para gerar faixas sem invocar programas externos. Caso de uso: echo {A..Z} para listar todas as letras do alfabeto em scripts.
Operador BETWEEN em SQL
Verifica se um campo numérico ou data está dentro de faixa inclusiva. Caso de uso: WHERE data BETWEEN '2023-01-01' AND '2023-12-31' para filtrar vendas anuais.
Tipo daterange no PostgreSQL
Armazena intervalos de tempo como um tipo nativo de dados. Caso de uso: daterange(inicio, fim) para reservar quartos e evitar reservas sobrepostas.
Operador de contenção @> em PostgreSQL
Verifica se um range contém um elemento ou outro range. Caso de uso: periodo @> '2023-06-15'::date para saber se a data está contida na locação.
Operador de sobreposição && em PostgreSQL
Checa se dois ranges compartilham valores em comum. Caso de uso: horario_a && horario_b para detectar conflitos de agendamento de consultas.
Range numérico em validação de schema (JSON Schema)
Usa minimum e maximum para restringir valores permitidos. Caso de uso: validar se a pontuação enviada por API fica entre 0 e 100.
Range no Excel e Planilhas (ex: A1:C10)
Referência retangular a um grupo contíguo de células. Caso de uso: SOMA(B2:B30) para totalizar as receitas da coluna B.
Input do tipo range em formulários HTML
Elemento <input type='range'> que renderiza um seletor deslizante. Caso de uso: permitir ajuste visual de volume de áudio ou nível de brilho.
Atributos min, max e step no <input type='range'>
Definem os limites inferior, superior e o salto do controle deslizante. Caso de uso: min='0' max='100' step='5' para escolher preços arredondados.
Cabeçalho HTTP Range
Permite ao cliente solicitar apenas partes específicas de um arquivo. Caso de uso: Range: bytes=0-1024 para download pausável e streaming de vídeo.
Status HTTP 206 Partial Content
Resposta do servidor indicando envio bem-sucedido do intervalo pedido. Caso de uso: carregar trechos sob demanda em tocadores de podcast.
Status HTTP 416 Range Not Satisfiable
Erro indicando que o byte range solicitado está além do tamanho do recurso. Caso de uso: alertar o cliente quando pede bytes de arquivo inexistente.
Range em CSS Media Queries (Level 4)
Sintaxe moderna para limites de viewport como (width <= 600px). Caso de uso: aplicar estilos responsivos para celulares sem min-width redundante.
Range de caracteres em Expressões Regulares
Define conjunto contínuo de caracteres dentro de colchetes. Caso de uso: [a-z0-9] para validar usernames com apenas letras minúsculas e dígitos.
Range em endereços de rede (CIDR)
Faixa contígua de IPs definidos por máscara de sub-rede. Caso de uso: 192.168.1.0/24 representa o range de 192.168.1.1 até 192.168.1.254.
Range sem limites (unbounded / open range)
Intervalo com início ou fim omitido, estendendo-se ao infinito. Caso de uso: lista[2:] em Python para selecionar itens da terceira posição até o final.
Range com passo zero
Operação inválida que dispara erro (como ValueError em Python). Caso de uso: validar entradas dinâmicas de passo para não travar loops infinitos.
Range circular / modular
Sequência que retorna ao início após alcançar o limite máximo. Caso de uso: usar operador módulo (x % 12) para simular ciclo de horas em relógios.
Range de datas em Python com timedelta
Criação de sequência de dias iterando com datetime e timedelta. Caso de uso: gerar relatórios diários para todos os dias do mês atual.
Gerador customizado para simular range de floats
Função com yield que incrementa ponto flutuante com segurança. Caso de uso: gerar coordenadas de interpolação gráfica suave entre 0.0 e 1.0.

Conjuntos relacionados

Mais em Programação →