Skip to content
MatiasNicolas2013 edited this page May 23, 2023 · 17 revisions

La Wiki de Team Fortran

Descripción

¡Bienvenido a la Wiki de Team Fortran! Aquí encontrarás documentación detallada sobre nuestros proyectos y las contribuciones de cada miembro del equipo. Explora la información proporcionada para aprender más sobre los proyectos, lenguajes de programación utilizados y metodología de trabajo.

Proyectos

Lenguajes de Programación

  • Python
  • Java
  • JavaScript

Integrantes del Equipo

Metodología de Trabajo

En nuestro equipo utilizamos una metodología híbrida que combina SCRUM y KANBAN para gestionar nuestros proyectos. La metodología SCRUM nos permite realizar entregas iterativas en ciclos cortos llamados "sprints", mientras que KANBAN nos ayuda a visualizar y gestionar el flujo de trabajo utilizando tableros visuales. Esta combinación nos permite trabajar de manera eficiente y mantener una alta colaboración y transparencia en nuestro equipo. Saver más.

¡Explora la wiki para obtener más detalles sobre nuestros proyectos y la documentación relacionada!

Wiki de Mundo PC

¡Bienvenido a la Wiki de Mundo PC!

Descripción del proyecto

Mundo PC es un sistema de gestión de computadoras desarrollado en Java. El proyecto tiene como objetivo permitir la creación, modificación y visualización de computadoras, junto con sus componentes, como monitores, teclados y ratones.

Estructura del proyecto

El proyecto Mundo PC está estructurado en diferentes paquetes y clases. A continuación se muestra la estructura y descripción de cada una:

Paquete ar.com.system2023.mundopc

  • Clase Computadora: representa una computadora con sus atributos, como el nombre, el monitor, el teclado y el ratón. Permite crear y gestionar computadoras, así como obtener información detallada sobre ellas.
  • Clase DispositivoEntrada: es una clase base abstracta que representa un dispositivo de entrada genérico, con atributos como el tipo de entrada y la marca. Se utiliza como superclase para las clases Raton y Teclado.
  • Clase Monitor: representa un monitor con atributos como la marca y el tamaño. Permite crear y gestionar monitores, y proporciona métodos para obtener información sobre ellos.
  • Clase Orden: representa una orden que contiene una lista de computadoras. Permite agregar computadoras a una orden y mostrar el contenido de la orden.
  • Clase Raton: representa un ratón, que es un tipo de dispositivo de entrada, con atributos adicionales como el ID del ratón. Permite crear y gestionar ratones, y proporciona información detallada sobre ellos.
  • Clase Teclado: representa un teclado, que es otro tipo de dispositivo de entrada, con atributos adicionales como el ID del teclado. Permite crear y gestionar teclados, y ofrece métodos para obtener información sobre ellos.

Paquete mundoPc

  • Clase MundoPc: es la clase principal del proyecto, donde se encuentran el método main y la lógica principal del programa. Aquí se crean objetos de computadoras, monitores, teclados, ratones y órdenes. Se utilizan para realizar pruebas y demostrar el funcionamiento del sistema de gestión de computadoras.

Uso del proyecto

Para utilizar el proyecto Mundo PC, puedes seguir los siguientes pasos:

  1. Importa el proyecto en tu entorno de desarrollo.
  2. Ejecuta la clase MundoPc para probar el programa.
  3. Se crearán diferentes objetos de computadoras, monitores, teclados y ratones.
  4. Se crearán órdenes y se agregarán computadoras a cada orden.
  5. Las órdenes se mostrarán en la consola, con información detallada sobre las computadoras y sus componentes.

¡Disfruta utilizando Mundo PC y gestionando tus computadoras de manera eficiente!

Wiki del Manejo de Archivos en Python

¡Bienvenido a la Wiki del Manejo de Archivos en Python!

Descripción del proyecto

El Manejo de Archivos en Python es una funcionalidad esencial que permite leer y escribir en archivos de texto, facilitando la manipulación y gestión de información almacenada en ellos.

Uso del contexto with

El contexto with es una sintaxis simplificada que se utiliza para abrir y cerrar archivos de manera automática. En lugar de utilizar un bloque try-finally para asegurarse de cerrar el archivo correctamente, podemos utilizar la estructura with que se encarga de cerrar el archivo automáticamente al finalizar su uso. A continuación, se muestra un ejemplo de cómo utilizarlo:

from ManejoArchivos import ManejoArchivos

with ManejoArchivos('prueba.txt') as archivo:
    print(archivo.read())

En el código anterior, el archivo se abre dentro del bloque with y se cierra automáticamente al finalizar. Esto proporciona una forma más segura y conveniente de manejar archivos en Python.

Ejemplo de lectura y escritura de archivos

Aquí tienes un ejemplo que muestra cómo leer y escribir en un archivo en Python:

archivo = open('prueba.txt', 'r', encoding='utf8')

# Lectura del contenido completo del archivo
print(archivo.read())

# Lectura de una cantidad específica de caracteres
print(archivo.read(15))

# Iteración por cada línea del archivo
for linea in archivo:
    print(linea)

archivo2 = open('copia.txt', 'a', encoding='utf8')
archivo2.write(archivo.read())

archivo.close()
archivo2.close()

En este ejemplo, se muestra cómo abrir un archivo en modo lectura ('r') y leer su contenido completo, una cantidad específica de caracteres o iterar por cada línea. También se muestra cómo abrir otro archivo en modo escritura ('a') y escribir el contenido del primer archivo en el segundo archivo.

Uso del manejo de excepciones

El manejo de excepciones es una práctica recomendada al trabajar con archivos, ya que pueden ocurrir errores durante su lectura o escritura. Aquí tienes un ejemplo de cómo utilizar el manejo de excepciones al leer y escribir en un archivo:

try:
    archivo = open('prueba.txt', 'w', encoding='utf8')
    archivo.write('Texto de ejemplo')
except Exception as e:
    print(f'Ocurrió un error: {e}')
finally:
    archivo.close()

En este ejemplo, se intenta abrir el archivo en modo escritura ('w') y se escribe un texto de ejemplo. Si ocurre algún error durante la escritura, se captura la excepción y se muestra un mensaje de error. En cualquier caso, se asegura de cerrar el archivo utilizando el bloque finally.

Recursos adicionales

Si deseas obtener más información sobre el manejo de archivos en Python, te recomendamos consultar la documentación oficial de Python y otros recursos en línea. A continuación, encontrarás algunos enlaces útiles:

Wiki del Proyecto "Catálogo de Películas"

¡Bienvenido a la Wiki del Proyecto "Catálogo de Películas"!

Descripción del proyecto

El proyecto "Catálogo de Películas" es una aplicación en Python que permite gestionar y administrar un catálogo de películas. El proyecto utiliza conceptos de manejo de archivos y programación orientada a objetos para realizar operaciones como agregar películas, listar películas y eliminar el catálogo.

Clase Película

La clase Pelicula representa una película en el catálogo. Tiene los siguientes atributos y métodos:

class Pelicula:
    def __init__(self, nombre):
        self._nombre = nombre

    def __str__(self):
        return f'Pelicula: {self._nombre}'

    @property
    def nombre(self):
        return self._nombre

    @nombre.setter
    def nombre(self, nombre):
        self._nombre = nombre
  • Atributos:

    • _nombre: nombre de la película.
  • Métodos:

    • __init__(self, nombre): constructor que recibe el nombre de la película y lo asigna al atributo _nombre.
    • __str__(self): devuelve una representación en cadena de la película.
    • nombre: propiedad que devuelve el nombre de la película.
    • nombre.setter: método setter para actualizar el nombre de la película.

Clase CatalogoPeliculas

La clase CatalogoPeliculas es responsable de administrar el catálogo de películas. Tiene los siguientes atributos y métodos:

from Dominio.pelicula import Pelicula
from Catalogo_pelicula import CatalogoPeliculas as cp

class CatalogoPeliculas:
    ruta_archivo = 'peliculas.txt'

    @classmethod
    def agregar_peliculas(cls, pelicula):
        with open(cls.ruta_archivo, 'a', encoding='utf8') as archivo:
            archivo.write(f'{pelicula.nombre}\n')

    @classmethod
    def listar_peliculas(cls):
        with open(cls.ruta_archivo, 'r', encoding='utf8') as archivo:
            print(f'Catálogo de películas'.center(50, '-'))
            print(archivo.read())

    @classmethod
    def eliminar_catalogo(cls):
        os.remove(cls.ruta_archivo)
        print(f'Archivo eliminado: {cls.ruta_archivo}')
  • Atributos:

    • ruta_archivo: ruta del archivo de texto donde se almacenan las películas.
  • Métodos:

    • agregar_peliculas(cls, pelicula): agrega una película al catálogo. Recibe un objeto de la clase Pelicula y escribe su nombre en el archivo.
    • listar_peliculas(cls): muestra en pantalla el contenido del catálogo de películas leyendo el archivo.
    • eliminar_catalogo(cls): elimina el archivo de catálogo de películas.

Diagrama UML

A continuación, se muestra el diagrama UML del proyecto:

El diagrama muestra la estructura de clases y relaciones del proyecto.

Instrucciones de Uso

Estas son las instrucciones para utilizar el proyecto "Catálogo de Películas":

  1. Descarga el proyecto desde el repositorio de GitHub.

  2. Asegúrate de tener instalado Python en tu sistema.

  3. Abre una terminal o línea de comandos y navega hasta el directorio del proyecto.

  4. Ejecuta el siguiente comando para instalar las dependencias requeridas:

    pip install -r requirements.txt
    
  5. Una vez instaladas las dependencias, puedes comenzar a utilizar el proyecto.

  6. Para agregar una película al catálogo, ejecuta el siguiente comando en la terminal:

    python main.py agregar <nombre de la película>
    

    Reemplaza <nombre de la película> por el nombre de la película que deseas agregar.

  7. Para listar todas las películas en el catálogo, ejecuta el siguiente comando:

    python main.py listar
    

    Esto mostrará en pantalla el nombre de todas las películas del catálogo.

  8. Si deseas eliminar todo el catálogo de películas, utiliza el siguiente comando:

    python main.py eliminar
    

    Ten en cuenta que esta acción eliminará permanentemente todas las películas del catálogo.

Estas son las instrucciones básicas para utilizar el proyecto "Catálogo de Películas".

Wiki sobre el proyecto "Objetos"

¡Bienvenido a la Wiki del proyecto "Objetos"!

Descripción del proyecto

El proyecto "Objetos" es un proyecto desarrollado en JavaScript que explora el uso de objetos y propiedades en el lenguaje. El objetivo principal del proyecto es demostrar cómo trabajar con objetos y utilizar sus propiedades y métodos.

Código del proyecto

A continuación se muestra el código del proyecto:

// Variable de tipo primitivo
let x = 10;
console.log(x.length); // Error: length no es una propiedad de un número

console.log('Tipos primitivos');

// Objeto
let persona = {
    nombre: 'Carlos',
    apellido: 'Gil',
    email: 'cgil@gmail.com',
    edad: 30,
    nombreCompleto: function () { //método o función en JavaScript
        return this.nombre + ' ' + this.apellido;
    }
};

console.log('Nombre: ' + persona.nombre + ',',
    'Apellido: ' + persona.apellido + ',',
    'Edad:  ' + persona.edad + ',',
    'Correo: ' + persona.email);
console.log(persona.nombre.length);
console.log(persona);

// Trabajo con el método o función
console.log(persona.nombreCompleto());

console.log('Ejecutando con un objeto');

// Debe crear un nuevo objeto en memoria
let persona2 = new Object();
persona2.nombre = 'Juna';
persona2.direccion = 'Salada 14';
persona2.telefono = '548965822';
console.log(persona2.telefono);

console.log('Creamos un nuevo objeto');

// Accedemos al objeto, como si fuera un arreglo
console.log(persona['apellido']);

// for...in y accedemos al objeto como si fuera un arreglo
for (propiedad in persona) {
    console.log(propiedad);
    console.log(persona[propiedad])
}

// Cambiamos dinámicamente un valor del objeto
persona.apellido = 'Betancud';
console.log(persona.apellido);

console.log('Eliminarmos un error');
// Eliminar
persona.apellida = 'Beta'; // Como se puede observar, se agregó mal el apellido
delete persona.apellida; // Con el delete eliminamos el error
console.log(persona);

// Distintas formas de imprimir un objeto
// Número 1: la más sencilla: concatenar cada valor de cada propiedad
console.log('Distinta forma de imprimir un objeto: Forma 1');
console.log(persona.nombre + ' ' + persona.apellido);

// Número 2: a través del ciclo for...in
console.log('Distinta forma de imprimir un objeto: Forma 2');
for (nombrePropiedad in persona) {
    console.log(persona[nombrePropiedad]);
}

// Número 3: La función Object.values()
console.log('Distinta forma de imprimir un objeto: Forma 3');
let personaArray = Object.values(persona);
console.log(personaArray);

// Número 4: Utilizamos el método JSON.stringify
console.log('Distinta forma de imprimir un objeto: Forma 4');
let personaString = JSON.stringify(persona);
console.log(personaString);

Funcionalidades del proyecto

El proyecto "Objetos" incluye las siguientes funcionalidades:

  1. Creación de objetos con propiedades y métodos.
  2. Acceso a las propiedades y métodos de un objeto utilizando la sintaxis de punto y de corchetes.
  3. Cambio dinámico de los valores de las propiedades de un objeto.
  4. Eliminación de propiedades de un objeto utilizando el operador delete.
  5. Distintas formas de imprimir un objeto:
    • Forma 1: Concatenar cada valor de cada propiedad:

      console.log('Distinta forma de imprimir un objeto: Forma 1');
      console.log(persona.nombre + ' ' + persona.apellido);
    • Forma 2: Utilizando el ciclo for...in:

      console.log('Distinta forma de imprimir un objeto: Forma 2');
      for (nombrePropiedad in persona) {
          console.log(persona[nombrePropiedad]);
      }
    • Forma 3: Utilizando la función Object.values():

      console.log('Distinta forma de imprimir un objeto: Forma 3');
      let personaArray = Object.values(persona);
      console.log(personaArray);
    • Forma 4: Utilizando el método JSON.stringify:

      console.log('Distinta forma de imprimir un objeto: Forma 4');
      let personaString = JSON.stringify(persona);
      console.log(personaString);

Instrucciones de uso

Para utilizar el proyecto "Objetos", sigue estos pasos:

  1. Copia el código del proyecto en un archivo JavaScript con extensión .js.

  2. Abre el archivo con un editor de código o intégralo en un proyecto existente.

  3. Ejecuta el archivo JavaScript para ver los resultados en la consola.

Clone this wiki locally