Menu
Coddy logo textTech

Fechado vs Meio-Aberto

Parte da seção Lógica e Fluxo do Journey de Swift da Coddy — lição 7 de 56.

O Swift tem dois operadores de intervalo que parecem quase idênticos, mas significam coisas diferentes.

a...b é o intervalo fechado. Ele inclui b:

for i in 1...3 { print(i) }
// 1
// 2
// 3

a..<b é o intervalo semiaberto. Ele para antes de b:

for i in 1..<3 { print(i) }
// 1
// 2

Meio-aberto é a escolha natural quando você tem uma contagem: 0..<arr.count abrange todos os índices válidos do array. Use fechado quando ambas as extremidades forem valores reais com os quais você se importa (como um intervalo de pontuação ou um limite de nota inclusivo).

challenge icon

Desafio

Fácil

Leia dois números inteiros (duas linhas): a e b, com a <= b. Imprima três linhas:

  1. Os valores no intervalo fechado a...b, unidos com , em uma linha
  2. Os valores no intervalo meio-aberto a..<b, unidos com , (ou uma linha vazia quando o intervalo estiver vazio)
  3. A soma de cada valor no intervalo fechado

Para a entrada 1 e depois 5, a saída é:

1,2,3,4,5
1,2,3,4
15

Folha de consulta

Operadores de intervalo em Swift:

  • a...bintervalo fechado, inclui tanto a quanto b
  • a..<bintervalo semiaberto, inclui a, mas para antes de b
for i in 1...3 { print(i) } // 1, 2, 3
for i in 1..<3 { print(i) } // 1, 2

Use 0..<arr.count para cobrir todos os índices válidos do array. Use intervalos fechados quando ambos os limites forem valores significativos.

Experimente você mesmo

let a = Int(readLine()!)!
let b = Int(readLine()!)!

// TODO: imprimir o intervalo fechado unido, o intervalo semiaberto unido, a soma do intervalo fechado
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Lógica e Fluxo