Conversor de C# a Pascal - Ejercicio de Programacion C# Sharp

Este ejercicio consiste en crear un programa en C# que convierta programas simples en C# a su equivalente en el lenguaje Pascal. El programa debe leer un código en C#, identificar sus elementos (como declaraciones de variables, estructuras de control, funciones, etc.), y generar un código en Pascal que represente la misma lógica. El programa debe ser capaz de manejar estructuras básicas como variables, condicionales y bucles, y producir un código en Pascal que compile correctamente. Este ejercicio implica el análisis y la transformación de código de un lenguaje de programación a otro.

 Categoría

Administración de Archivos

 Ejercicio

Conversor De C# A Pascal

 Objectivo

Crear un programa para convertir programas simples de C#, como el siguiente, al lenguaje Pascal

 Ejemplo Ejercicio C#

 Copiar Código C#
// Importing the System namespace to use basic functionality like Regex
using System;

class Program // Class definition in C#
{
    // Main method where the program execution begins
    static void Main()
    {
        // Example C# code to convert
        string cSharpCode = @"
using System;

class Program
{
    static void Main()
    {
        int x = 10;
        int y = 5;
        if (x > y)
        {
            Console.WriteLine(""x is greater"");
        }
        else
        {
            Console.WriteLine(""y is greater"");
        }
    }
}
";

        // Convert the C# code to Pascal
        string pascalCode = ConvertCSharpToPascal(cSharpCode);

        // Print the Pascal code to the console
        Console.WriteLine("Converted Pascal Code:");
        Console.WriteLine(pascalCode);
    }

    // Method to convert simple C# code to Pascal code
    static string ConvertCSharpToPascal(string cSharpCode)
    {
        // Remove 'using System;' line from C#
        // This line removes the unnecessary 'using System;' from the C# code
        cSharpCode = Regex.Replace(cSharpCode, @"using\s+System;\s*", "");

        // Convert C# class declaration to Pascal program declaration
        // This converts the C# 'class Program' to Pascal's 'program Program;'
        cSharpCode = Regex.Replace(cSharpCode, @"class\s+(\w+)", "program $1;");

        // Convert C# method declaration to Pascal method declaration
        // This converts the C# 'static void Main()' to Pascal's 'begin'
        cSharpCode = Regex.Replace(cSharpCode, @"static\s+void\s+Main\(\)", "begin");

        // Convert C# variables declaration to Pascal variable declaration
        // This converts C# declarations like 'int x = 10;' to Pascal's 'var x: Integer; begin x := 10;'
        cSharpCode = Regex.Replace(cSharpCode, @"int\s+(\w+)\s*=\s*(\d+);", "var $1: Integer; begin $1 := $2;");

        // Convert C# if-else block to Pascal if-else block
        // This converts C# 'if (condition) { ... } else { ... }' to Pascal's 'if condition then ... else ...'
        cSharpCode = Regex.Replace(cSharpCode, @"if\s*\((.*?)\)\s*{(.*?)}\s*else\s*{(.*?)}", "if $1 then\n$2\nelse\n$3");

        // Convert C# method calls like Console.WriteLine to Pascal WriteLn
        // This converts the C# method 'Console.WriteLine()' to Pascal's 'WriteLn()'
        cSharpCode = Regex.Replace(cSharpCode, @"Console\.WriteLine\((.*?)\);", "WriteLn($1);");

        // Add an 'end.' to complete the Pascal program
        // This adds 'end.' at the end of the Pascal code to indicate the end of the program
        cSharpCode = cSharpCode + "\nend.";

        // Return the final Pascal code
        return cSharpCode;
    }
}

 Salida

program Program;

var
  x, y: Integer;

begin
  x := 10;
  y := 5;
  
  if x > y then
    WriteLn('x is greater')
  else
    WriteLn('y is greater');

end.

 Comparte este Ejercicio C# Sharp

 Más Ejercicios de Programacion C# Sharp de Administración de Archivos

¡Explora nuestro conjunto de ejercicios de programación C# Sharp! Estos ejercicios, diseñados específicamente para principiantes, te ayudarán a desarrollar una sólida comprensión de los conceptos básicos de C#. Desde variables y tipos de datos hasta estructuras de control y funciones simples, cada ejercicio está diseñado para desafiarte de manera gradual a medida que adquieres confianza en la codificación en C#.

  •  Volcado

    Este ejercicio consiste en crear una utilidad de "dump": un visor hexadecimal que muestra el contenido de un archivo, con 16 bytes por fila y 24 filas por pantalla. El progr...

  •  Extractor DBF

    Este ejercicio consiste en crear un programa que muestre la lista de campos almacenados en un archivo DBF. El formato DBF es utilizado por el antiguo gestor de bases de dato...

  •  Texto censurado

    Este ejercicio consiste en crear un programa que censure archivos de texto. El programa debe leer un archivo de texto y volcar su contenido a un nuevo archivo, reemplazando ...

  •  SQL a texto

    En este ejercicio, debes crear un programa en C# capaz de analizar comandos SQL de tipo INSERT y extraer sus datos en líneas de texto separadas. El programa debe proc...

  •  Visor PGM

    El formato PGM es una de las versiones de los formatos de imagen NetPBM. Específicamente, es la variante capaz de manejar imágenes en tonos de gris. Su encabezado comienza con una ...

  •  Mostrar BMP en la consola V2

    En este ejercicio, se te solicita desarrollar un programa en C# que pueda mostrar un archivo BMP de tamaño 72x24 en la consola. Para ello, deberás utilizar la ...