Euler Aprox.

#TC1017 #QUIZ4

So this quiz was actually kinda challenging, it took me quite some time and a lot of questions to Ken to finally work it out. All noteworthy notes can be found on the picture below.

The factorial function was taken from one of the WSQs we did before, the tricky part was that C++ wasn´t giving me all decimals beacause of a disparity with the function’s types. Ken sorted that out😀

quiz4.PNG

Source Code below [GitHub Link: https://github.com/diegodamy/Quiz4 ]

#include <iostream>
using namespace std;

int factorial (int n){
if (n == 0){
return 1;
} else {
return n*factorial(n-1); //This is an example of recursion, and must be implemented since the formula for the n factorial of any number
} // requires the n-1 factorial of given number
}

long double euler_calc (long double prec)
{
long double euler_sum = 0.0; //It’s better to initialize this variable since we shouldn’t asssume it will start at 0 by default
long double prev_sum; // Sometimes that might work but other times it could return junk memory
int n = 0;

do {

prev_sum = euler_sum;
euler_sum = euler_sum + 1.0/ (factorial(n)); // The “1.0” here is VERY important, otherwise it won´t compile correctly.
n = n+1; // A simple “1” won´t work because C++ will stupidly convert our long double variable into an int one, which we don´t want

} while (euler_sum – prev_sum > prec);

return euler_sum;
}

int main(){

long double precision;

cout << “Please input the value of precision:” << endl;
cin >> precision;

cout << “Result is: ” << euler_calc(precision);
}

—————————————————

Photo Credit: <a href=”https://www.flickr.com/photos/57329804@N00/9984539064/”>spanaut</a&gt; via <a href=”http://compfight.com”>Compfight</a&gt; <a href=”https://creativecommons.org/licenses/by-nc-sa/2.0/”>cc</a&gt;

Arrays, simple yet useful

#TC1017 #WSQ10

This programm was very easy, since the formulas are well known by now, we have used them a lot in other classes. And arrays are my favorite part of C++ so far. I think they are very intuitive to use, and make soving problems like these, with a big set of numbers, quite easy to solve.

wsq10.PNG

 

Source Code below: [GitHub Link: https://github.com/diegodamy/WSQ10 ]

#include <iostream>
#include <math.h>
using namespace std;

float STDV (int size2, float st){
double stdv;
return stdv = sqrt(st/(size2-1));

}

float ST(int list2[], int size2, float average){
double st;
for(int i = 0; i <size2; i++){
st += pow((list2[i] – average),2);
}
return st;
}

float GetAverage (int list[], int size){
float sum = 0.0;
float result = 0.0;

for ( int n = 0; n <size; n++){
sum += list[n];
}
return result = sum / size;
}

int main(){
int array [10];
double average;
double st;

cout << “Please enter ten numbers:” << endl;

for (int i = 0; i<10; i++){
cin >> array [i];
}

average = GetAverage (array, 10);
cout << “Average is ” << average;

st = ST(array,10,average);

cout << endl << “Standard deviation is: ” << STDV (10,st);
}

——————————–

Photo Credit: <a href=”https://www.flickr.com/photos/50318388@N00/23640476465/”>mag3737</a&gt; via <a href=”http://compfight.com”>Compfight</a&gt; <a href=”https://creativecommons.org/licenses/by-nc-sa/2.0/”>cc</a&gt;

Factorials!

#TC1017 #WSQ09

This programm was very straightforward, since the formula to calculate the factorial is very simple, the tricky part was making the factorial function recursive, because it has to call itself with evey iteration in order to obtain the previous value given to n. In fact, this was my first use of recursion in this semester, that makes it noteworthy I think!

WSQ9

 

 

Source code below: [GitHub link: https://github.com/diegodamy/WSQ09 ]

#include <iostream>
using namespace std;
int factorial (int n){
if (n == 0){
return 1;
} else {
return n*factorial(n-1);
}
}
int main(){
int number;
char decision;

do {
cout << “To calculate the factorial, please enter the integer number:” << endl;
cin >> number;

if (number <0){
cout << “Please enter only positive numbers.” << endl;
cin >> number;
} else {
cout << “The factorial of ” << number << ” is ” << factorial (number) << endl;
}

cout << endl << “Would you like to calculate the factorial of another number? Y/N:” << endl;
cin >> decision;
cout << endl;

} while (decision == ‘Y’);

if (decision !=’Y’){
cout << “Thank you. Goodbye!”;
}

}

————–

Photo Credit: <a href=”https://www.flickr.com/photos/49968232@N00/6267826523/”>Leo Reynolds</a> via <a href=”http://compfight.com”>Compfight</a&gt; <a href=”https://creativecommons.org/licenses/by-nc-sa/2.0/”>cc</a&gt;

WSQ09 – Factorial Calculator

Este programa, como el título lo dice, es una calculadora que realiza factoriales.

logo-factorial

¿Qué es un factorial? Son multiplicaciones de números que van descendiendo a partir de un número dado.

factorial

Gracias a este programa, podemos calcular lo antes dicho.

Se utilizó por primera vez el tipo long que soporta 64 bits, soporta números mas grandes que el int, ¿porqué se utilizó long? Como el programa se trata de realizar factoriales, las multiplicaciones pueden dan como resultado un número demasiado grande que no soportaría el tipo int en dado caso de que el número elegido sea grande.

Se empleó por primera vez en este curso recursividad. Dentro del int main() se utilizó un loop while y un tipo string, este último se utilizó para poder captar una palabra como el “si” cuando te pregunta si quieres volver a intentar a utilizar este programa.

WSQ09 - Factorial Calculator

Link GitHub: WSQ09 – Factorial Calculator

QUIZ #2

El quiz 2 de este semestre consta de 2 diferentes funciones. Tuve mas complicaciones al elaborarlo comparado con el primer quiz apesar de que en esta ocasión, elaboramos un número menor de programas.

¿Porqué fue mas complicado para mi elaborar este quiz? Bueno, en esta ocasión los programas encargados, a mi parecer, fueron muy diferentes, y si tuve que ocupar ayuda de compañeros que efectivamente saben como hacer estos programas para que me orienten y me pudieran enseñar.

1111

Programa 1 – POWER

Este programa eleva un número con potencias, ¿Qué significa esto? El usuario selecciona el número base, y después elige un número que sirva de potencia, por ejemplo:

Número base: 2

Potencia: 5

Lo que va a hacer la potencia es elevar 5 veces el número base, en este ejemplo el 2 que es nuestro número base.

Quiz 2 Ejercicio 1

Link GitHub: Quiz #2 Prog1

Programa 2 – STARS

Este programa es más sencillo que el de potencia, al usuario se le pregunta cuantas estrellas desea que el programa ponga, y ese mismo número, es el que termina mostrando el compilador Cygwin.

Por primera vez en este curso se utilizó el tipo string, ya que las estrellas no son números, de igual manera se utilizó el int para que se pudiera elegir un número entero, que es el número de estrellas.

Quiz 2 Ejercicio 2

Link GitHub: Quiz #2 Prog 2

NOTA: El código de este programa es distinto al que se le mandó por correo al profesor Ken Bauer por el hecho de que no estaba del todo completo, cosa que me di cuenta tiempo despues repasando el blog del curso.

 

WSQ03 – On To Functions

En esta actividad se retoma lo anterior visto en el WSQ03 – Fun With Numbers, se efectuan:

  • Suma de 2 números
  • Resta de 2 número
  • Multiplicación de 2 números
  • División de 2 números

Lo que hace diferente esta actividad de la WSQ03, es que ahora en la WSQ08, se emplea funciones, algo nuevo en este curso de programación, para declarar una función, se hace lo siguiente:

Se selecciona el tipo, en este caso se utiliza el int, seguido de eso, se nombra a la función, se abren paréntesis y dentro, se declaran las variables con su tipo (int);

Debajo, se ecribe return, y se escribe lo que tiene que hacer la función, ejemplo:

WSQ08 - suma

Ahora sigue escribir esto dentro del int main() {

WSQ08 - suma2

Para poder realizar por primera vez funciones en programación, ocupé ayuda de una compañera que cursó esta materia en el semestre pasado, ella misma, me asesora en dudas que tengo cuando batallo programando.

Imágen del código completo y el compilador de este:

WSQ08 AtomWSQ08 Cygwin

Link GitHub: WSQ08 – On To Functions

 

 

WSQ07 – Sum Of Numbers

SUMA DE NÚMEROS

4328b283-64b3-4ee3-8aa4-37e8602a892fimage5

Como el título lo dice, este programa te muestra una suma de un número al otro, el usuario selecciona los rangos que el desee, siempre y cuando el segundo rango sea mayor que el primero.

En este código se tienen 3 valores: a (primer rango), b (segundo rango) (con valor de 0), lo “complicado de realizar este programa es el de sumar hasta llegar al segundo rango.

El sigificado de: a++;} es que va aumentando de uno en uno aparte de a hasta llegar a b

 

WSQ07 AtomWSQ07 Cygwin

Link de GitHub: WSQ07 – Sum Of Numbers

WSQ06 – Pick A Number

ADIVINA EL NUMERO!!!

guess_the_number_by_wolfenhalo-d388hgk

El programa nos preguntará acerca de un número del 1 al 100(hablando de números enteros), el cual el usuario tiene que adivinar, para eso, el programa te va ayudando cada vez que se selecciona un número diciéndote si el número que seleccionaste es mayor o menor al que se tiene que adivinar.

El propósito de: int x= rand () % 101; es para que efectivamente el programa solo nos de adivinar números del 1 al 100.

El programa termina cuando logras acertar el número.

Haga click para ver el pase de diapositivas.

Link GitHub: WSQ06 – Pick A Number

#WSQ08 On To Functions

En este programa realice el mismo programa 3, pero yo lo realice como una calculadora, debido a que te pedía menos cosas en el programa 3, pero, pero, pero… Todo esto fue hecho con funciones.

Les presento como funciona mi programa:

Calcu

Lo que hice es este programa fueron dos loop, funciones y ya.

Este es el código que realice…Bueno, fue un codigo muy largo, pero, aquí se los dejo:

Calcu1

Calcu2

Calcu3

Calcu4

Este es todo mi código, igual más adelante se los dejo en GitHub, para que puedan manejarlo de una mejor manera.