|
|
|
|
5
|
![main2.png](images/main2.png)
|
5
|
![main2.png](images/main2.png)
|
6
|
![main4.png](images/main4.png)
|
6
|
![main4.png](images/main4.png)
|
7
|
|
7
|
|
8
|
-[verano 2016 - Coralys - Ive]
|
|
|
|
|
8
|
+[verano 2016 - Coralys - Ive - Coralys]
|
9
|
|
9
|
|
10
|
-Las expresiones aritméticas son parte esencial de casi cualquier algoritmo que resuelve un problema útil. Por lo tanto, implementar expresiones aritméticas correctamente es una destreza básica en cualquier lenguaje de programación de computadoras. En esta experiencia de laboratorio practicarás la implementación de expresiones aritméticas en C++ escribiendo ecuaciones para la fórmula cuadrática y así, completar el código para un juego en el que un sapito brinca de una hoja a otra.
|
|
|
|
|
10
|
+Las expresiones aritméticas son parte esencial de casi cualquier algoritmo que resuelve un problema útil. Por lo tanto, implementar expresiones aritméticas correctamente es una destreza básica en cualquier lenguaje de programación de computadoras. En esta experiencia de laboratorio practicarás la implementación de expresiones aritméticas en C++, escribiendo ecuaciones para la fórmula cuadrática y así, completar el código para un juego en el que un sapito brinca de una hoja a otra.
|
11
|
|
11
|
|
12
|
|
12
|
|
13
|
## Objetivos:
|
13
|
## Objetivos:
|
|
|
|
|
28
|
|
28
|
|
29
|
b. Los tipos de datos básicos de C++ (int, float, double, char)
|
29
|
b. Los tipos de datos básicos de C++ (int, float, double, char)
|
30
|
|
30
|
|
31
|
- c. El uso de "type casting" para covertir el valor de una variable a otro tipo, dentro de expresiones.
|
|
|
|
|
31
|
+ c. El uso de "type casting" para covertir el valor de una variable a otro tipo dato dentro de expresiones
|
32
|
|
32
|
|
33
|
d. Utilizar funciones y constantes aritméticas de la biblioteca `cmath`
|
33
|
d. Utilizar funciones y constantes aritméticas de la biblioteca `cmath`
|
34
|
|
34
|
|
|
|
|
|
62
|
|
62
|
|
63
|
Nota que si el *discriminante* $$b^2-4ac$$ de la fórmula cuadrática es negativo, los valores de $$x$$ serán números imaginarios y no se pueden graficar en el plano cartesiano porque los puntos $$(x,y)$$ en este plano tienen coordenadas que son números reales. Por lo tanto, si el discriminante es negativo, la parábola no interseca el eje de $$x$$. Si el discriminate es igual a $$0$$, entonces la parábola interseca el eje de $$x$$ en un solo punto (solo el vértice toca el eje de $$x$$).
|
63
|
Nota que si el *discriminante* $$b^2-4ac$$ de la fórmula cuadrática es negativo, los valores de $$x$$ serán números imaginarios y no se pueden graficar en el plano cartesiano porque los puntos $$(x,y)$$ en este plano tienen coordenadas que son números reales. Por lo tanto, si el discriminante es negativo, la parábola no interseca el eje de $$x$$. Si el discriminate es igual a $$0$$, entonces la parábola interseca el eje de $$x$$ en un solo punto (solo el vértice toca el eje de $$x$$).
|
64
|
|
64
|
|
65
|
-Si el discriminante es positivo, la fórmula cuadrática nos da dos soluciones a la ecuación $$0 = a x^2 + b x + c$$ y estas soluciones son los intersectos en el eje de $$x$$. Por ejemplo, supón que la fórmula cuadrática nos da dos valores
|
|
|
|
|
65
|
+Si el discriminante es positivo, la fórmula cuadrática nos da dos soluciones a la ecuación $$0 = a x^2 + b x + c$$ y estas soluciones son los intersectos en el eje de $$x$$. Por ejemplo, supón que la fórmula cuadrática nos da dos valores:
|
66
|
|
66
|
|
67
|
$$x = x_1 $$
|
67
|
$$x = x_1 $$
|
68
|
$$x = x_2 $$
|
68
|
$$x = x_2 $$
|
|
|
|
|
121
|
|
121
|
|
122
|
|
122
|
|
123
|
|
123
|
|
124
|
-**Instrucciones**
|
|
|
|
|
124
|
+#### Instrucciones
|
125
|
|
125
|
|
126
|
1. Carga a Qt el proyecto `QuadraticFrog`. Hay dos maneras de hacer esto:
|
126
|
1. Carga a Qt el proyecto `QuadraticFrog`. Hay dos maneras de hacer esto:
|
127
|
|
127
|
|
128
|
- * Utilizando la máquina virtual: Haz doble "click" en el archivo `QuadraticFrog.pro` que se encuentra en el directorio `home/Documents/eip/Expressions-QuadraticFrog` de la máquina virtual.
|
|
|
|
|
128
|
+ * Utilizando la máquina virtual: Haz doble "click" en el archivo `QuadraticFrog.pro` que se encuentra en el directorio `home/eip/labs/expressions-quadraticfrog` de la máquina virtual.
|
129
|
|
129
|
|
130
|
- * Descargando la carpeta del proyecto de `Bitbucket`: Utiliza un terminal y escribe el comando `git clone http://bitbucket.org/eip-uprrp/expressions-quadraticfrog` para descargar la carpeta `QuadraticFrog`. En esa carpeta, haz doble "click" en el archivo `QuadraticFrog.pro`.
|
|
|
|
|
130
|
+ * Descargando la carpeta del proyecto de `Bitbucket`: Utiliza un terminal y escribe el comando `git clone http://bitbucket.org/eip-uprrp/expressions-quadraticfrog` para descargar la carpeta `expressions-quadraticfrog`. En esa carpeta, haz doble "click" en el archivo `QuadraticFrog.pro`.
|
131
|
|
131
|
|
132
|
2. Configura el proyecto y ejecuta el programa marcando la flecha verde en el menú de la izquierda de la ventana de Qt Creator. El programa te dará un mensaje que dice que la fórmula cuadrática está mal escrita. Esto sucede porque el programa tiene instrucciones que prueban el programa y verifican que la implementación del código esté correcta. Tu programa aún no tiene las instrucciones para evaluar la fórmula cuadrática y por esto sale el mensaje.
|
132
|
2. Configura el proyecto y ejecuta el programa marcando la flecha verde en el menú de la izquierda de la ventana de Qt Creator. El programa te dará un mensaje que dice que la fórmula cuadrática está mal escrita. Esto sucede porque el programa tiene instrucciones que prueban el programa y verifican que la implementación del código esté correcta. Tu programa aún no tiene las instrucciones para evaluar la fórmula cuadrática y por esto sale el mensaje.
|
133
|
|
133
|
|
|
|
|
|
139
|
|
139
|
|
140
|
$$result = \frac{-b-\sqrt{b^2-4ac}}{2a}.$$
|
140
|
$$result = \frac{-b-\sqrt{b^2-4ac}}{2a}.$$
|
141
|
|
141
|
|
142
|
- Los otros archivos del proyecto tienen código que hará pruebas a las ecuaciones que escribiste evaluando varios valores para $$a, b ,c$$ y verificando que el resultado que producen las ecuaciones es el esperado. La validación del código de un programa es una parte importante del desarrollo de programas y proyectos.
|
|
|
|
|
142
|
+ Los otros archivos del proyecto tienen código que hará pruebas a las ecuaciones que escribiste, evaluando varios valores para $$a, b ,c$$ y verificando que el resultado que producen las ecuaciones es el esperado. La validación del código de un programa es una parte importante del desarrollo de programas y proyectos.
|
143
|
|
143
|
|
144
|
4. Ejecuta el programa marcando el botón verde en el menú de la izquierda. Si las ecuaciones que escribiste están correctas, deberá aparecer una ventana parecida a la Figura 2.
|
144
|
4. Ejecuta el programa marcando el botón verde en el menú de la izquierda. Si las ecuaciones que escribiste están correctas, deberá aparecer una ventana parecida a la Figura 2.
|
145
|
|
145
|
|
|
|
|
|
147
|
|
147
|
|
148
|
![figure2.png](images/figure2.png)
|
148
|
![figure2.png](images/figure2.png)
|
149
|
|
149
|
|
150
|
- <b>Figura 2.</b> Ventana del juego *Quadratic Frog*.
|
|
|
|
|
150
|
+ <b>Figura 2.</b> Ventana del juego *Sapo Cuadrático*.
|
151
|
|
151
|
|
152
|
---
|
152
|
---
|
153
|
|
153
|
|
|
|
|
|
157
|
|
157
|
|
158
|
### Ejercicio 2 - Escribir un programa para obtener el promedio notas
|
158
|
### Ejercicio 2 - Escribir un programa para obtener el promedio notas
|
159
|
|
159
|
|
160
|
-
|
|
|
161
|
Supón que todos los cursos en la Universidad de Yauco son de 3 créditos y que las notas tienen las siguientes puntuaciones: $$A = 4$$ puntos por crédito; $$B = 3$$ puntos por crédito; $$C = 2$$ puntos por crédito; $$D = 1$$ punto por crédito y $$F = 0$$ puntos por crédito.
|
160
|
Supón que todos los cursos en la Universidad de Yauco son de 3 créditos y que las notas tienen las siguientes puntuaciones: $$A = 4$$ puntos por crédito; $$B = 3$$ puntos por crédito; $$C = 2$$ puntos por crédito; $$D = 1$$ punto por crédito y $$F = 0$$ puntos por crédito.
|
162
|
|
161
|
|
163
|
-**Instrucciones**
|
|
|
|
|
162
|
+#### Instrucciones
|
164
|
|
163
|
|
165
|
-1. Crea un nuevo proyecto "Non-Qt" llamado Promedio. Tu función `main()` contendrá el código necesario para pedirle al usuario el número de A's, B's, C's, D's y F's obtenidas por el estudiante y computar el promedio de puntos para la nota (GPA por sus siglas en inglés).
|
|
|
|
|
164
|
+1. Crea un nuevo proyecto "Non-Qt" llamado Promedio. Tu función `main()` tendrá el código necesario para pedirle al usuario el número de A's, B's, C's, D's y F's obtenidas por el estudiante y computar el promedio de puntos para la nota (GPA por sus siglas en inglés).
|
166
|
|
165
|
|
167
|
-2. Tu código debe definir las constantes $$A=4, B=3, C=2, D=1, F=0$$ para la puntuación de las notas, y pedirle al usuario que entre los valores para las variables $$NumA$$, $$NumB$$, $$NumC$$, $$NumD$$, $$NumF$$. La variable $$NumA$$ representará el número de cursos en los que el estudiante obtuvo $$A$$, $$NumB$$ representará el número de cursos en los que el estudiante obtuvo $$B$$, etc. El programa debe desplegar el GPA del estudiante en una escala de 0 a 4 puntos.
|
|
|
|
|
166
|
+2. Tu código debe definir las constantes $$A=4, B=3, C=2, D=1, F=0$$ para la puntuación de las notas, y pedirle al usuario que entre los valores para las variables $$NumA$$, $$NumB$$, $$NumC$$, $$NumD$$, $$NumF$$. La variable $$NumA$$ representará el número de cursos en los que el estudiante obtuvo $$A$$, $$NumB$$ representará el número de cursos en los que el estudiante obtuvo $$B$$, etc. El programa debe desplegar el GPA del estudiante en una escala de 0 a 4 puntos.
|
168
|
|
167
|
|
169
|
**Ayudas:**
|
168
|
**Ayudas:**
|
170
|
|
169
|
|
|
|
|
|
180
|
|
179
|
|
181
|
## Entregas
|
180
|
## Entregas
|
182
|
|
181
|
|
183
|
-1. Utiliza "Entrega 1" en Moodle para entregar el archivo `QuadraticFormula.cpp` que contiene las funciones las funciones `QuadraticPlus` y `QuadraticMinus`. Recuerda utilizar buenas prácticas de programación, incluir el nombre de los programadores y documentar tu programa.
|
|
|
|
|
182
|
+1. Utiliza "Entrega 1" en Moodle para entregar el archivo `QuadraticFormula.cpp` que contiene las funciones `QuadraticPlus` y `QuadraticMinus`. Recuerda utilizar buenas prácticas de programación, incluye el nombre de los programadores y documenta tu programa.
|
184
|
|
183
|
|
185
|
2. Usa "Entrega 2" en Moodle para entregar el archivo `main.cpp` que contiene el código para computar el promedio. Recuerda seguir las instrucciones en el uso de nombres y tipos para las variables, incluir el nombre de los programadores, documentar tu programa y utilizar buenas prácticas de programación.
|
184
|
2. Usa "Entrega 2" en Moodle para entregar el archivo `main.cpp` que contiene el código para computar el promedio. Recuerda seguir las instrucciones en el uso de nombres y tipos para las variables, incluir el nombre de los programadores, documentar tu programa y utilizar buenas prácticas de programación.
|