-
Notifications
You must be signed in to change notification settings - Fork 1
Home
¡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.
- Mundo PC
- Manejo de Archivos
- Catálogo de Películas
- Objetos
- Sobreescritura
- Registros con PostgreSQL y Python
- Objetos parte 2
- Python
- Java
- JavaScript
- Calisaya Fernando Daniel
- Ruiz Paola Del Valle
- Hidalgo Gabriel
- Morales Gastón
- Morales Castro Danisa
- Peña Matías Nicolas
- Pereyra Facundo Ezequiel
- Vizcaino Lucas Ezequiel
- Vizcaino Gisela Carina
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!
¡Bienvenido a la Wiki de Mundo PC!
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.
El proyecto Mundo PC está estructurado en diferentes paquetes y clases. A continuación se muestra la estructura y descripción de cada una:
- 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 clasesRatonyTeclado. - 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.
- Clase
MundoPc: es la clase principal del proyecto, donde se encuentran el métodomainy 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.
Para utilizar el proyecto Mundo PC, puedes seguir los siguientes pasos:
- Importa el proyecto en tu entorno de desarrollo.
- Ejecuta la clase
MundoPcpara probar el programa. - Se crearán diferentes objetos de computadoras, monitores, teclados y ratones.
- Se crearán órdenes y se agregarán computadoras a cada orden.
- 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!
¡Bienvenido a la Wiki del Manejo de Archivos en Python!
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.
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.
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.
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.
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:
- Documentación oficial de Python sobre manejo de archivos
- Tutorial de Real Python sobre manejo de archivos en Python
- Tutorial de W3Schools sobre manejo de archivos en Python
¡Bienvenido a la Wiki del Proyecto "Catálogo de Películas"!
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.
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.
-
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 clasePeliculay 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.
-
A continuación, se muestra el diagrama UML del proyecto:
El diagrama muestra la estructura de clases y relaciones del proyecto.
Estas son las instrucciones para utilizar el proyecto "Catálogo de Películas":
-
Descarga el proyecto desde el repositorio de GitHub.
-
Asegúrate de tener instalado Python en tu sistema.
-
Abre una terminal o línea de comandos y navega hasta el directorio del proyecto.
-
Ejecuta el siguiente comando para instalar las dependencias requeridas:
pip install -r requirements.txt -
Una vez instaladas las dependencias, puedes comenzar a utilizar el proyecto.
-
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. -
Para listar todas las películas en el catálogo, ejecuta el siguiente comando:
python main.py listarEsto mostrará en pantalla el nombre de todas las películas del catálogo.
-
Si deseas eliminar todo el catálogo de películas, utiliza el siguiente comando:
python main.py eliminarTen 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".
¡Bienvenido a la Wiki del proyecto "Objetos"!
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.
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);El proyecto "Objetos" incluye las siguientes funcionalidades:
- Creación de objetos con propiedades y métodos.
- Acceso a las propiedades y métodos de un objeto utilizando la sintaxis de punto y de corchetes.
- Cambio dinámico de los valores de las propiedades de un objeto.
- Eliminación de propiedades de un objeto utilizando el operador
delete. - 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);
-
Para utilizar el proyecto "Objetos", sigue estos pasos:
-
Copia el código del proyecto en un archivo JavaScript con extensión
.js. -
Abre el archivo con un editor de código o intégralo en un proyecto existente.
-
Ejecuta el archivo JavaScript para ver los resultados en la consola.
