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
setText
converte o texto passado em texto codificado e o armazena no campotext
. Este método recebe um argumentostring
chamadotext
, e o método não retorna nenhum valor; rawText
retorna o conteúdo do campotext
. Este método não recebe argumentos;decodedText
decodifica o conteúdo do campotext
e 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
this
sempre que estiver se referindo aos campos da struct. - Use a palavra-chave
void
como 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
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
setText
converte o texto passado em texto codificado e o armazena no campotext
. Este método recebe um argumentostring
chamadotext
, e o método não retorna nenhum valor; rawText
retorna o conteúdo do campotext
. Este método não recebe argumentos;decodedText
decodifica o conteúdo do campotext
e 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
this
sempre que estiver se referindo aos campos da struct. - Use a palavra-chave
void
como 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!