Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
teaching:cc4101:tareas:2025-1:tarea3 [2025/06/19 20:54] – [Tarea 3 (Entrega: TBD)] dibanezteaching:cc4101:tareas:2025-1:tarea3 [2025/07/09 20:04] (current) – [Objetos (1.5 pts)] dibanez
Line 1: Line 1:
-====== Tarea 3 (Entrega: TBD) ====== +====== Tarea 3 (Entrega: 6 de Julio de 2025) ====== 
  
 Esta tarea se distribuye con un archivo zip ({{ :teaching:cc4101:tareas:2025-1:t3-init.zip |}}) que contiene 3 archivos: main.rkt, tests.rkt y env.rkt. Los archivos están incompletos, y en ellos tiene que implementar lo que se solicita en las preguntas siguientes.  Esta tarea se distribuye con un archivo zip ({{ :teaching:cc4101:tareas:2025-1:t3-init.zip |}}) que contiene 3 archivos: main.rkt, tests.rkt y env.rkt. Los archivos están incompletos, y en ellos tiene que implementar lo que se solicita en las preguntas siguientes. 
Line 7: Line 7:
 <note important>Consulte las normas de entrega de tareas en http://pleiad.cl/teaching/cc4101</note> <note important>Consulte las normas de entrega de tareas en http://pleiad.cl/teaching/cc4101</note>
  
-**Recuerde que el testing y calidad de código se evalúan de acuerdo a [[https://docs.google.com/document/d/1Ahtk97_teZwtpFnJ-H--rLndeiFuyeDHpoGWpC8wL5I/edit?usp=sharing|la rúbrica]].**+**Recuerde que el testing y calidad de código se evalúan de acuerdo a [[https://docs.google.com/document/d/1Ahtk97_teZwtpFnJ-H--rLndeiFuyeDHpoGWpC8wL5I/edit?usp=sharing|esta rúbrica]].**
  
 ====== Resumen ====== ====== Resumen ======
Line 204: Line 204:
                              {def init {x y} {begin {set x x}                              {def init {x y} {begin {set x x}
                                                     {set y y}}}}}}                                                     {set y y}}}}}}
-                  {init A}})+                  {new A}})
 ; Retorna una instancia donde x e y no están inicializados. ; Retorna una instancia donde x e y no están inicializados.
 </code> </code>
Line 303: Line 303:
  
 ===== Parte 3 (extra): Campos de Clase (1 pt de Bonus) ===== ===== Parte 3 (extra): Campos de Clase (1 pt de Bonus) =====
-En las parte 1 implementamos clases con campos y métodos de instancia, además de estos la mayoría de lenguajes que permiten POO soportan campos y métodos de clase, como también campos y métodos estáticos.+En la parte 1 implementamos clases con campos y métodos de instancia, además de estos la mayoría de lenguajes que permiten POO soportan campos y métodos de clase, como también campos y métodos estáticos.
  
 En esta parte extenderemos el lenguaje con campos de clase, para ello modificaremos la sintáxis de esta forma: En esta parte extenderemos el lenguaje con campos de clase, para ello modificaremos la sintáxis de esta forma:
Line 329: Line 329:
                                {begin {set x x}                                {begin {set x x}
                                       {set y {+ 1 {get self y}}}}}}}                                       {set y {+ 1 {get self y}}}}}}}
-                   {o1 {init A 5}} +                   {o1 {new A 5}} 
-                   {o2 {init A 10}} +                   {o2 {new A 10}} 
-                   {o3 {init A 0}}}+                   {o3 {new A 0}}}
                   {get A y}})                   {get A y}})
 3 3
Line 355: Line 355:
                    {o1 {init Test}}                    {o1 {init Test}}
                    {o2 {init Test}}                    {o2 {init Test}}
-                  {begin {-> set-b o1 #t}+                  {begin {-> o1 set-b #t}
                          {get o2 b}}})                          {get o2 b}}})
 +#t
 </code> </code>
 +
 +  * Realize las modificaciones necesarias para extender el lenguaje con campos de clase.