Desafío: Métodos
El código contiene una estructura llamada Cypher
que básicamente representa una especie de cifrado César.
El cifrado César es un método de codificación de texto que hace que los mensajes sean ilegibles desplazando cada letra un número fijo de posiciones en el alfabeto o en los caracteres ASCII. Por ejemplo, al desplazar cada carácter de "HelloWorld" 7 posiciones según la tabla ASCII, se obtiene "Olssv^vysk." Es como un código secreto donde cada letra es reemplazada por otra letra a cierta cantidad de pasos de distancia. Se puede considerar como una forma sencilla de ocultar mensajes o texto.
Puedes leer sobre el cifrado César en su página de Wikipedia, sin embargo, no es necesario para resolver este ejercicio práctico.
Lee el código y completa los espacios en blanco para asegurarte de que funcione correctamente. El programa final debe ser el siguiente:
- El método
setText
convierte el texto proporcionado en texto codificado y lo almacena en el campotext
. Este método recibe un argumento de tipostring
llamadotext
, y el método no retorna ningún valor; rawText
devuelve el contenido del campotext
. Este método no recibe argumentos;decodedText
decodifica el contenido del campotext
y retorna el resultado. Este método tampoco recibe 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()); } }
- Es una buena práctica utilizar la palabra clave
this
siempre que se haga referencia a los campos de la estructura. - Se utiliza la palabra clave
void
como valor de retorno en caso de que el método no retorne ningún 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()); } }
¡Gracias por tus comentarios!
Pregunte a AI
Pregunte a AI
Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla
Awesome!
Completion rate improved to 2.04
Desafío: Métodos
Desliza para mostrar el menú
El código contiene una estructura llamada Cypher
que básicamente representa una especie de cifrado César.
El cifrado César es un método de codificación de texto que hace que los mensajes sean ilegibles desplazando cada letra un número fijo de posiciones en el alfabeto o en los caracteres ASCII. Por ejemplo, al desplazar cada carácter de "HelloWorld" 7 posiciones según la tabla ASCII, se obtiene "Olssv^vysk." Es como un código secreto donde cada letra es reemplazada por otra letra a cierta cantidad de pasos de distancia. Se puede considerar como una forma sencilla de ocultar mensajes o texto.
Puedes leer sobre el cifrado César en su página de Wikipedia, sin embargo, no es necesario para resolver este ejercicio práctico.
Lee el código y completa los espacios en blanco para asegurarte de que funcione correctamente. El programa final debe ser el siguiente:
- El método
setText
convierte el texto proporcionado en texto codificado y lo almacena en el campotext
. Este método recibe un argumento de tipostring
llamadotext
, y el método no retorna ningún valor; rawText
devuelve el contenido del campotext
. Este método no recibe argumentos;decodedText
decodifica el contenido del campotext
y retorna el resultado. Este método tampoco recibe 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()); } }
- Es una buena práctica utilizar la palabra clave
this
siempre que se haga referencia a los campos de la estructura. - Se utiliza la palabra clave
void
como valor de retorno en caso de que el método no retorne ningún 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()); } }
¡Gracias por tus comentarios!