Skip to content

Commit d80a5cb

Browse files
authored
Merge pull request #15 from python-la-paz/update/taicoding/sesion6
Update sesion 06
2 parents 1c5f1db + 04dc905 commit d80a5cb

File tree

1 file changed

+51
-39
lines changed

1 file changed

+51
-39
lines changed

content/sesion06/Readme.md

Lines changed: 51 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@
99
#### Agrupación y Composición
1010
#### Relaciones entre objetos
1111

12+
---
13+
### Antes de empezar
1214
---
1315

1416
#### Proyecto en VSCode
@@ -1424,56 +1426,57 @@ psg-oop-2025/
14241426

14251427
---
14261428

1427-
1. Simulación del transporte urbano con minibuses y pasajeros
1429+
1. En su trayecto diario al trabajo, las personas pueden abordar distintos **minibuses**. Cada minibus está identificado por un **número de ruta** y sigue un recorrido compuesto por varias **paradas** (ubicaciones). Por otro lado, cada **pasajero** tiene un **nombre** y una **ubicación de destino** a la que desea llegar.
1430+
14281431

1429-
Las personas, al dirigirse a su trabajo, pueden tomar distintos **minibuses**.
1430-
Cada minibus tiene un **número** de ruta y posee varias **paradas** (ubicaciones)
1432+
*(1/5)*
1433+
1434+
---
14311435

1432-
Por otro lado, cada **pasajero** tiene un **nombre** y una **ubicación** al que desea llegar
1436+
Los pasajeros pueden **subir o bajar** del minibus en cualquier parada, pero bajo las siguientes condiciones:
14331437

1434-
*(1/4)*
1438+
- Un pasajero **solo puede subir** si el recorrido del minibus incluye su destino entre las paradas programadas.
1439+
- Un pasajero **solo puede bajar** si la **parada actual** del minibus coincide con su **destino**.
1440+
- Las paradas son **circulares**: al llegar al final del recorrido, el minibus invierte su **lista de paradas** y regresa en sentido contrario.
1441+
1442+
1443+
*(2/5)*
14351444

14361445
---
14371446

1438-
Los pasajeros pueden **subir o bajar** en cualquier parada pero sólo bajo ciertas condiciones:
1439-
- Un pasajero sólo puede subir a un minibus si alguna de sus paradas coincide con su destino
1440-
- Un pasajero sólo puede bajar en la parada **actual** que coincide con su destino
1441-
- Las paradas son circulares, es decir, después de la última parada vuelve a la primera
1447+
- Diseñar las clases necesarias para representar **Minibus** y **Pasajero**.
1448+
- Toma en cuenta las siguientes características:
1449+
- Un minibus tiene una lista de **paradas programadas** (ejemplo: `["Arce", "Prado", "Perez"]`).
1450+
- Un minibus puede transportar **múltiples pasajeros**.
1451+
- Simular el movimiento del minibus entre paradas y las acciones de **subida** y **bajada** de pasajeros.
14421452

1443-
*(2/4)*
1453+
*(3/5)*
14441454

14451455
---
14461456

1447-
**Requisitos:**
1448-
- Crear las clases necesarias para representar **Minibus** y **Pasajero**.
1449-
- Implementar la relación entre las clases: un minibus tiene varias paradas programadas y un minibus tiene varios pasajeros
1450-
- Simular el movimiento del minibus entre las paradas y las acciones de subir o bajar pasajeros.
1457+
- Realiza el **análisis** y **diagrama de clases** para las clases `Minibus` y `Pasajero` en el archivo `ejercicio_01.md`.
1458+
- Escribe el código en Python para las clases `Minibus` y `Pasajero` en el archivo `ejercicio_01.py`.
1459+
- Aplica los principios de **relaciones entre las clases** (composición o agregación según corresponda).
14511460

1452-
*(3/4)*
1461+
*(4/5)*
14531462

14541463
---
14551464

1456-
**Tareas:**
1457-
- Realiza el **análisis y diagrama de clases** en el archivo `ejercicio_01.md`.
1458-
- Escribe el **código en Python** correspondiente en el archivo `ejercicio_01.py`.
1459-
- Aplica los conceptos de **relaciones entre objetos**.
1460-
- Asegúrate de que las clases tengan atributos y métodos coherentes con su función.
1461-
- Utiliza buenas prácticas de **nomenclatura y encapsulamiento**.
1465+
- Asegúrate de que las clases incluyan *atributos* y *métodos* coherentes con su propósito.
1466+
- Utiliza buenas prácticas de *nomenclatura*, *encapsulamiento* y *legibilidad*.
14621467

1463-
*(4/4)*
14641468

1469+
*(5/5)*
14651470

1466-
---
14671471

1468-
2. Sistema para administrar un edificio
1472+
---
14691473

1470-
Se desea representar un **edificio** ubicado en la ciudad de **La Paz**, el cual cuenta con **3 pisos**.
1471-
Cada piso contiene **departamentos** y **oficinas**.
1474+
2. Se debe modelar un edificio ubicado en la ciudad de La Paz, compuesto por 3 pisos. Cada piso contiene una combinación de **departamentos** y **oficinas**
14721475

1473-
- Cada **departamento** tiene un **número** de departamento, comienza con el número del piso seguido de *número* de departamento (*201* o *304*).
1474-
- Cada **oficina** tiene un **número** de oficina, comienza con el número del piso seguido de una **letra** (*2A* o *3C*).
1476+
- Cada **departamento** tiene un *número* que comienza con el número del piso seguido de un número de unidad (por ejemplo: `201`, `304`).
1477+
- Cada **oficina** tiene un *número* que comienza con el número del piso seguido de una letra (por ejemplo: `2A`, `3C`).
14751478

1476-
*(1/4)*
1479+
*(1/5)*
14771480

14781481
---
14791482

@@ -1483,25 +1486,34 @@ Además:
14831486
- Las **oficinas** cuentan con un atributo `telefono`.
14841487
- Los **departamentos** tienen un atributo `inquilinos`.
14851488

1486-
El sistema debe permitir crear pisos con sus departamentos y oficinas correspondientes, y acceder a la información del edificio de forma organizada.
1489+
*(2/5)*
1490+
1491+
---
1492+
1493+
El sistema debe permitir:
1494+
- Crear un **edificio** con sus pisos correspondientes.
1495+
- Agregar **departamentos** y **oficinas** a cada **piso**.
1496+
- **Acceder** y **mostrar** la información del edificio de forma organizada y jerárquica
1497+
14871498

1488-
*(2/4)*
1499+
*(3/5)*
14891500

14901501
---
14911502

1492-
**Tareas:**
14931503
- Realiza el **análisis y diagrama de clases** de las clases `Edificio`, `Piso`, `Departamento` y `Oficina` en el archivo `ejercicio_02.md`.
1494-
- Escribe el **código en Python** correspondiente en el archivo `ejercicio_02.py`.
1495-
- Implementa relaciones jerárquicas entre las clases (por ejemplo, un edificio contiene pisos, y cada piso contiene oficinas y departamentos).
1504+
- Escribe el **código en Python** de las clases `Edificio`, `Piso`, `Departamento` y `Oficina` en el archivo `ejercicio_02.py`.
1505+
- Implementa relaciones jerárquicas entre objetos:
1506+
- Un edificio contiene varios pisos.
1507+
- Cada piso contiene varios departamentos y oficinas
14961508

1497-
*(3/4)*
1509+
*(4/5)*
14981510

14991511
---
1512+
- Aplica los principios de **relaciones entre las clases** (composición o agregación según corresponda).
1513+
- Utiliza *atributos* y *métodos* adecuados para *representar* y *mostrar* la información de cada entidad.
1514+
- Utiliza buenas prácticas de *nomenclatura*, *encapsulamiento* y *legibilidad*.
15001515

1501-
- Aplica los conceptos de **relaciones entre objetos**.
1502-
- Utiliza propiedades y métodos adecuados para mostrar la información de cada edificio, piso, departamento y oficina.
1503-
1504-
*(4/4)*
1516+
*(5/5)*
15051517

15061518
---
15071519

0 commit comments

Comments
 (0)