|
@@ -283,33 +283,34 @@ En la introducción al tema de funciones viste que, tanto en matemáticas como e
|
283
|
283
|
|
284
|
284
|
1. Estudia el código de la función `main()` del archivo `main.cpp`. La línea `XYPlotWindow wCircleR5;` crea el objeto `wCircleR5` que será la ventana en donde se dibujará una gráfica, en este caso la gráfica de un círculo de radio 5. De manera similar se crean los objetos `wCircle` y `wButterfly`. Observa el ciclo `for`. En este ciclo se genera una serie de valores para el ángulo $$t$$ y se invoca la función `circle`, pasándole el valor de $$t$$ y las referencias a $$x$$ y $$y$$. La función `circle` no devuelve valor pero, usando parámetros por referencia, calcula valores para las coordenadas $$xCoord$$ y $$yCoord$$ del círculo con centro en el origen y radio 5. Además, permite que la función `main` tenga esos valores en las variables `x` , `y`.
|
285
|
285
|
|
286
|
|
- ```cpp
|
287
|
|
- XYPlotWindow wCircleR5;
|
288
|
|
- XYPlotWindow wCircle;
|
289
|
|
- XYPlotWindow wButterfly;
|
290
|
|
-
|
291
|
|
- double r;
|
292
|
|
- double y = 0.00;
|
293
|
|
- double x = 0.00;
|
294
|
|
- double increment = 0.01;
|
295
|
|
- int argValue=0, argRef=0;
|
296
|
|
-
|
297
|
|
- // invoca la función illustration para ver los contenidos de la variable
|
298
|
|
- // por valor y por referencia.
|
299
|
|
-
|
300
|
|
- illustration(argValue,argRef);
|
301
|
|
- cout << endl << "El contenido de argValue es: " << argValue << endl
|
302
|
|
- << "El contenido de argRef es: " << argRef << endl;
|
303
|
|
-
|
304
|
|
- // repite por varios valores para el ángulo t
|
305
|
|
- for (double t = 0; t < 16*M_PI; t = t + increment) {
|
306
|
|
-
|
307
|
|
- // invoca circle con el ángulo t y las variables de referencia x, y como argumentos
|
308
|
|
- circle(t,x,y);
|
309
|
|
-
|
310
|
|
- // añade el punto (x,y) a la gráfica del círculo
|
311
|
|
- wCircleR5.AddPointToGraph(x,y);
|
312
|
|
- ```
|
|
286
|
+ ```
|
|
287
|
+ XYPlotWindow wCircleR5;
|
|
288
|
+ XYPlotWindow wCircle;
|
|
289
|
+ XYPlotWindow wButterfly;
|
|
290
|
+
|
|
291
|
+ double r;
|
|
292
|
+ double y = 0.00;
|
|
293
|
+ double x = 0.00;
|
|
294
|
+ double increment = 0.01;
|
|
295
|
+ int argValue=0, argRef=0;
|
|
296
|
+
|
|
297
|
+ // invoca la función illustration para ver los contenidos de la variable
|
|
298
|
+ // por valor y por referencia.
|
|
299
|
+
|
|
300
|
+ illustration(argValue,argRef);
|
|
301
|
+ cout << endl << "El contenido de argValue es: " << argValue << endl
|
|
302
|
+ << "El contenido de argRef es: " << argRef << endl;
|
|
303
|
+
|
|
304
|
+ // repite por varios valores para el ángulo t
|
|
305
|
+ for (double t = 0; t < 16*M_PI; t = t + increment) {
|
|
306
|
+
|
|
307
|
+ // invoca circle con el ángulo t y las variables de referencia x, y como argumentos
|
|
308
|
+ circle(t,x,y);
|
|
309
|
+
|
|
310
|
+ // añade el punto (x,y) a la gráfica del círculo
|
|
311
|
+ wCircleR5.AddPointToGraph(x,y);
|
|
312
|
+ }
|
|
313
|
+ ```
|
313
|
314
|
|
314
|
315
|
Luego de la invocación, cada par ordenado $$(x,y)$$ es añadido a la gráfica del círculo por el método `AddPointToGraph(x,y)`. Luego del ciclo se invoca el método `Plot()`, que "dibuja" los puntos, y el método `show()`, que muestra la gráfica. Los *métodos* son funciones que nos permiten trabajar con los datos de los objetos. Nota que cada uno de los métodos se escribe luego de `wCircleR5`, seguido de un punto. En una experiencia de laboratorio posterior, aprenderás más sobre objetos y practicarás cómo crearlos e invocar sus métodos.
|
315
|
316
|
|