Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Desafío: Métodos | Structs y Enumeradores
C# Más Allá de lo Básico

bookDesafío: Métodos

El código contiene una estructura llamada Cypher que básicamente representa una especie de cifrado César.

Note
Nota

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:

  1. El método setText convierte el texto proporcionado en texto codificado y lo almacena en el campo text. Este método recibe un argumento de tipo string llamado text, y el método no retorna ningún valor;
  2. rawText devuelve el contenido del campo text. Este método no recibe argumentos;
  3. decodedText decodifica el contenido del campo text y retorna el resultado. Este método tampoco recibe argumentos.
index.cs

index.cs

copy
1234567891011121314151617181920212223242526272829303132333435363738394041424344
using 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()); } }
  1. Es una buena práctica utilizar la palabra clave this siempre que se haga referencia a los campos de la estructura.
  2. Se utiliza la palabra clave void como valor de retorno en caso de que el método no retorne ningún valor.
index.cs

index.cs

copy
1234567891011121314151617181920212223242526272829303132333435363738394041424344
using 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()); } }
¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 2. Capítulo 7

Pregunte a AI

expand

Pregunte a AI

ChatGPT

Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla

Awesome!

Completion rate improved to 2.04

bookDesafí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.

Note
Nota

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:

  1. El método setText convierte el texto proporcionado en texto codificado y lo almacena en el campo text. Este método recibe un argumento de tipo string llamado text, y el método no retorna ningún valor;
  2. rawText devuelve el contenido del campo text. Este método no recibe argumentos;
  3. decodedText decodifica el contenido del campo text y retorna el resultado. Este método tampoco recibe argumentos.
index.cs

index.cs

copy
1234567891011121314151617181920212223242526272829303132333435363738394041424344
using 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()); } }
  1. Es una buena práctica utilizar la palabra clave this siempre que se haga referencia a los campos de la estructura.
  2. Se utiliza la palabra clave void como valor de retorno en caso de que el método no retorne ningún valor.
index.cs

index.cs

copy
1234567891011121314151617181920212223242526272829303132333435363738394041424344
using 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()); } }
¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 2. Capítulo 7
some-alt