Zero


Project maintained by Baltasarq Hosted on GitHub Pages — Theme by mattgraham

Ejercicios con Prowl
(exercises using Prowl)

  1. Hola, mundo.
    Visualiza por pantalla "hola, mundo".
    Solution.

    Hello, world.
    Show "hello, world!" on screen.
    Solution.

  2. Tabla de multiplicar
    Se trata de pedir un número por teclado, y mostrar su tabla de multiplicar.
    Solución.

    Multiplying table
    Write a program asking the a number, and display its mutiplying table.
    Solution.

  3. Herencia dinámica.
    Se trata de, según unas condiciones que pueden cumplirse o no, que el objeto EmpleadoEmpresa derive de EmpleadoAuxiliar o Directivo.
    Solución.

    Dynamic inheritance
    Write a program that, following some conditions that can be true or not, changes the parent of the object EmpleadoEmpresa from EmpleadoAuxiliar to Directivo.
    Solution.

Ejercicios con J--
(exercises using J--)

  1. Presentación
    Se trata de pedir el nombre del usuario, y repetirlo por pantalla
    Solución.

    Presentation
    Write a program asking the name of the user, and repeat them on the screen.
    Solution.

  2. Números pares
    Se trata de decidir si un determinado número es par o impar.
    Solución.

    Even numbers
    Write a program deciding whether a given number is even or odd.
    Solution.

  3. Números primos
    Se trata de calcular los n primeros números primos.
    Solución.

    Prime numbers
    Write a program calculating the first n primer numbers.
    Solution.

  4. Potencia de un número
    Se trata de calcular xy.
    Solución.

    x powered to y
    Write a program calculating xy.
    Solution.

  5. Calculadora de consola
    Se trata de crear una calcularo que permita sumar, restar, dividir y multiplicar.
    Solución.

    console calculator
    Write a program allowing adding, substracting, multiplying and divding.
    Solution.

  6. Agenda personal
    Crear un programa que permita, mediante un menú, añadir, listar o borrar contactos (nombre e e.mail).
    Solución.

    Contact management
    Write a program that, by means of a menu, allows to add, list or delete contacts (name and e.mail)
    Solution.

Ejercicios con macroensamblador Zero
(exercises using Zero's macroassembler)

  1. Creación de objetos.
    Se trata de crear un prototipo Punto, con los atributos x e y, copiarlo para crear un objeto, e imprimir sus propiedades en pantalla.
    Solution.

    Object creation.
    You should create the "Point" prototype, with the x and y attributes, and write its attributes on screen.
    Solution.

  2. Presentación
    Se trata de pedir el nombre y la edad del usuario, y repetirlo por pantalla
    Solución.

    Presentation
    Write a program asking the name and age of the user, and repeat them on the screen.
    Solution.

  3. Tabla de multiplicar
    Se trata de pedir un número por teclado, y mostrar su tabla de multiplicar.
    Solución.

    Multiplying table
    Write a program asking the a number, and display its mutiplying table.
    Solution.

  4. Factorial
    Se trata de pedir un número por teclado, y calcular su factorial.
    Solución.

    Multiplying table
    Write a program asking the a number, and display its factorial.
    Solution.

  5. Herencia.
    Se trata de crear un prototipo Línea, que tendrá dos atributos, p1 y p2, que señalarán al prototipo Punto. Es necesario copiarlo para crear un objeto, e imprimir sus propiedades en pantalla.
    Solution.

    Inheritance.
    The objective is to create the "Line" prototype, with two attributes pointing to two objects of the "Point" prototype. It is necessary to copy this object in order to create a new one, and write its attributes on screen.
    Solution.

  6. Polimorfismo.
    Se trata de crear un prototipo Figura, del que heredarán Rectangulo y Circulo, implementando cada uno de ellos el método "calcArea()", que debe forzar el prototipo Figura. Debe darse opción a crear un círculo o un rectángulo, y, una vez creados, calcular su área.
    Solución.

    Polyphormism.
    The objective is to create a "Shape" prototype. "Circle" and "Rectangle" should derive from it, implementing the "calcArea" method, mandatorily because of the inheritance from "Shape". Give the user the option to create a circle or a rectangle and, once created, calculate the are of the shape without knowing what kind of shape is involved.
    Solution.

  7. Problema de las 8 reinas
    Se trata de calcular cómo situar 8 reinas en un tablero de ajedrez sin que ninguna de ellas esté amenazada.
    Solución.

    8-queen problem
    Write a program that solves the eight-queen problem.
    Solution.

  8. Agenda personal
    Crear un programa que permita, mediante un menú, añadir, listar o borrar contactos (nombre e e.mail).
    Solución.

    Contact management
    Write a program that, by means of a menu, allows to add, list or delete contacts (name and e.mail)
    Solution.

  9. Herencia dinámica.
    Se trata de, utilizando el contenedor "Map" proporcionado por la librería, capaz de almacenar elementos de forma asociativa, crear dos subprototipos, "MapaVacio", y "MapaNoVacio". Debe crearse un objeto que, heredando bien de uno o de otro, almacene elementos o no. Ésto implica cambiar el atributo Parent.
    Solución.

    Dynamic inheritance
    The objective is to create, using the "Map" container of the standard library, able to store object in an associative manner, create two protoypes, "EmptyMap" and "NonEmptyMap". Create another object inheriting from these two prototypes (alternatively), when the conditions given by their names are met. This implies changing the "parent" attribute.
    Solution.