Escrever uma função que:
insira o segundo string no primeiro, na posição indicada pelo valor.

Passo 1

Beleza, o enunciado pede uma função que, dado:
  • uma string “primeiro” (vamos chamar de str1),
  • outra string “segundo” (str2)
  • e um valor inteiro “posição” (pos),
insira str2 dentro de str1 exatamente na posição pos.
Conteúdo da matéria: manipulação de strings (fatiamento/sub­string e concatenação).
O que vamos precisar:
  • Entender índices de strings (onde o primeiro caractere é índice 0).
  • Saber “fatiar” (pegar partes) de uma string.
  • Concatenar (juntar) strings.

Passo 2

Primeiro, a teoria de substring (fatiamento):
Se tenho uma string S, posso dividir em duas partes:
  1. prefixo = S[0 : p] → pega do início até antes do índice p
  2. sufixo = S[p : fim] → pega de p até o final
Em muitas linguagens isso é feito com algo como S.substring(0, p) e S.substring§.
Depois, basta colar: resultado = prefixo + outraString + sufixo.

Passo 3

Vamos detalhar cada pedacinho:
  1. prefixo = str1[0 : pos]
    • Pega todos os caracteres de str1 do índice 0 até pos−1.
  2. sufixo = str1[pos : |str1|]
    • Pega todos os caracteres de str1 do índice pos até o fim.
  3. resultado = prefixo + str2 + sufixo
    • Junta a primeira parte de str1, depois str2 inteira, depois a parte final de str1.
Em notação LaTeX, se chamarmos prefixo = c0 c1 dots cp-1, sufixo = cp cp+1 dots cn-1, e pos = resu, então:

Passo 4

Exemplo rápido pra “fechar o raciocínio”:
  • str1 = “ABCD”, str2 = “XY”, pos = 2
    • prefixo = “AB” (índices 0 e 1)
    • sufixo = “CD” (a partir do índice 2)
    • resultado = “AB” + “XY” + “CD” = “ABXYCD”

Resposta

Segue a função em pseudocódigo (ou JavaScript, por exemplo):
function inserirString(str1, str2, pos) {
  const prefixo = str1.substring(0, pos);
  const sufixo  = str1.substring(pos);
  return prefixo + str2 + sufixo;
}

Exercícios relacionados