Desafio: Métodos
O código contém uma struct chamada Cypher, que basicamente representa um tipo de cifra de César.
A cifra de César é um método de codificação de texto que torna as mensagens ilegíveis ao deslocar cada letra por um número fixo de posições no alfabeto ou em caracteres ASCII. Por exemplo, ao deslocar cada caractere em "HelloWorld" por 7 posições conforme a tabela ASCII, resulta em "Olssv^vysk." É como um código secreto onde cada letra é substituída por outra letra um certo número de passos adiante. Pode ser considerado uma forma simples de ocultar mensagens ou textos.
Você pode ler sobre a cifra de César em sua página da Wikipédia, porém, isso não é necessário para resolver este exercício prático.
Leia o código e preencha as lacunas para garantir que ele funcione corretamente. O programa final deve ser o seguinte:
- O método
setTextconverte o texto passado em texto codificado e o armazena no campotext. Este método recebe um argumentostringchamadotext, e o método não retorna nenhum valor; rawTextretorna o conteúdo do campotext. Este método não recebe argumentos;decodedTextdecodifica o conteúdo do campotexte retorna o resultado. Este método também não recebe argumentos.
index.cs
1234567891011121314151617181920212223242526272829303132333435363738394041424344using System; struct Cypher { public string text; ___ { string encodedText = ""; foreach(char chr in text) encodedText += (char) (chr + 7); ___ = encodedText; } public string rawText() { ___ } ___ { string decodedText = ""; foreach (char chr in this.text) decodedText += (char)(chr - 7); ___ } } class ConsoleApp { static void Main(string[] args) { Cypher text1 = new Cypher(); text1.setText("This is an example sentence."); Console.WriteLine(text1.rawText()); Console.WriteLine(text1.decodedText()); } }
- É uma boa prática utilizar a palavra-chave
thissempre que estiver se referindo aos campos da struct. - Use a palavra-chave
voidcomo valor de retorno caso o método não retorne nenhum valor.
index.cs
1234567891011121314151617181920212223242526272829303132333435363738394041424344using System; struct Cypher { public string text; public void setText(string text) { string encodedText = ""; foreach (char chr in text) encodedText += (char)(chr + 7); this.text = encodedText; } public string rawText() { return this.text; } public string decodedText() { string decodedText = ""; foreach (char chr in this.text) decodedText += (char)(chr - 7); return decodedText; } } class ConsoleApp { static void Main(string[] args) { Cypher text1 = new Cypher(); text1.setText("This is an example sentence."); Console.WriteLine(text1.rawText()); Console.WriteLine(text1.decodedText()); } }
Obrigado pelo seu feedback!
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo
Can you show me the code that needs to be filled in?
What are the blanks that need to be completed in the code?
Can you explain how the encoding and decoding should work in this context?
Awesome!
Completion rate improved to 2.04
Desafio: Métodos
Deslize para mostrar o menu
O código contém uma struct chamada Cypher, que basicamente representa um tipo de cifra de César.
A cifra de César é um método de codificação de texto que torna as mensagens ilegíveis ao deslocar cada letra por um número fixo de posições no alfabeto ou em caracteres ASCII. Por exemplo, ao deslocar cada caractere em "HelloWorld" por 7 posições conforme a tabela ASCII, resulta em "Olssv^vysk." É como um código secreto onde cada letra é substituída por outra letra um certo número de passos adiante. Pode ser considerado uma forma simples de ocultar mensagens ou textos.
Você pode ler sobre a cifra de César em sua página da Wikipédia, porém, isso não é necessário para resolver este exercício prático.
Leia o código e preencha as lacunas para garantir que ele funcione corretamente. O programa final deve ser o seguinte:
- O método
setTextconverte o texto passado em texto codificado e o armazena no campotext. Este método recebe um argumentostringchamadotext, e o método não retorna nenhum valor; rawTextretorna o conteúdo do campotext. Este método não recebe argumentos;decodedTextdecodifica o conteúdo do campotexte retorna o resultado. Este método também não recebe argumentos.
index.cs
1234567891011121314151617181920212223242526272829303132333435363738394041424344using System; struct Cypher { public string text; ___ { string encodedText = ""; foreach(char chr in text) encodedText += (char) (chr + 7); ___ = encodedText; } public string rawText() { ___ } ___ { string decodedText = ""; foreach (char chr in this.text) decodedText += (char)(chr - 7); ___ } } class ConsoleApp { static void Main(string[] args) { Cypher text1 = new Cypher(); text1.setText("This is an example sentence."); Console.WriteLine(text1.rawText()); Console.WriteLine(text1.decodedText()); } }
- É uma boa prática utilizar a palavra-chave
thissempre que estiver se referindo aos campos da struct. - Use a palavra-chave
voidcomo valor de retorno caso o método não retorne nenhum valor.
index.cs
1234567891011121314151617181920212223242526272829303132333435363738394041424344using System; struct Cypher { public string text; public void setText(string text) { string encodedText = ""; foreach (char chr in text) encodedText += (char)(chr + 7); this.text = encodedText; } public string rawText() { return this.text; } public string decodedText() { string decodedText = ""; foreach (char chr in this.text) decodedText += (char)(chr - 7); return decodedText; } } class ConsoleApp { static void Main(string[] args) { Cypher text1 = new Cypher(); text1.setText("This is an example sentence."); Console.WriteLine(text1.rawText()); Console.WriteLine(text1.decodedText()); } }
Obrigado pelo seu feedback!