Faça um programa que dado 2 palavras, determine:
Verifique se a segunda palavra é uma sub string da primeira:
Exemplo: Palavra 1= casamento
Palavra 2 = casa
Verifique se a segunda palavra é uma sub string da primeira:
Exemplo: Palavra 1= casamento
Palavra 2 = casa
Passo 1
Beleza, então o problema é: a gente recebe duas palavras e tem que descobrir se a segunda aparece dentro da primeira, como “casa” dentro de “casamento”. Isso é um lance de manipulação de strings, mais especificamente de busca de substring. Para resolver isso, vamos precisar entender o que é substring e como comparar pedaços de texto.
Passo 2
Teoria da substring:
Uma string de tamanho
contém outra string
de tamanho
como substring se existir um índice
(com
) tal que, para todo
de
até
, o caractere
seja igual a
. Em pseudo-fórmula:
Uma string
Na prática, a gente varre a string maior, pega pedaços de tamanho igual à da string menor e compara.
Passo 3
Vamos mostrar o passo a passo em pseudo-código bem simples:
- Ler a string grande
(tamanho ) e a string menor (tamanho ). - Se
, já dá pra dizer que não é substring (não cabe). - Para cada posição
de 0 até :
3.1. Extrair o pedaço.
3.2. Se esse pedaço for igual a, concluímos que é substring e paramos. - Se nenhum pedaço bateu, não é substring.
Em notação mais direta (estilo Python):
para i de 0 até n-m:
se S[i : i + m] == P:
retorna “É substring”
retorna “Não é substring”
Passo 4
Vamos aplicar com S = “casamento” e P = “casa”:
-
, . - i = 0: S[0:4] = “casa” → bate com P = “casa”!
Então já encontramos na primeira tentativa.
Resposta
Sim, “casa” é uma substring de “casamento”.