Warning: The magic method Slickr_Flickr_Plugin::__wakeup() must have public visibility in /home/kenbauer/public_kenscourses/tc101winter2015/wp-content/plugins/slickr-flickr/classes/class-plugin.php on line 152

Warning: Cannot modify header information - headers already sent by (output started at /home/kenbauer/public_kenscourses/tc101winter2015/wp-content/plugins/slickr-flickr/classes/class-plugin.php:152) in /home/kenbauer/public_kenscourses/tc101winter2015/wp-includes/feed-rss2.php on line 8
‘#12100d’ Articles at Courses by Ken https://kenscourses.com/tc101winter2015 Facilitator of Learning Experiences Wed, 06 May 2015 23:55:13 +0000 en hourly 1 https://creativecommons.org/licenses/by/4.0/ #Mastery17 – Use of “switch” as a conditional https://kenscourses.com/tc101winter2015/2015/mastery17-use-of-switch-as-a-conditional/ Wed, 06 May 2015 23:55:13 +0000 https://oswaldouliel.withknown.com/2015/mastery17---use-of-switch-as-a-conditional

Uso del switch

En el caso de la sentencia switch, la expresión a evaluar será entera, por lo tanto, el número de opciones es mucho mayor, y en consecuencia, también es mayor el número de diferentes sentencias que se pueden ejecutar.

Sintaxis:

#e3e3e3;">switch () 
{
   [case 1>: [1>] break;]
   [case 2>: [2>] break;]
   ...
   [case n>: [n>] break;]
   [default : [] break;]
}

Cuando se usa la sentencia switch el control se transfiere al punto etiquetado con el case cuya expresión constante coincida con el valor de la expresión entera evaluada dentro del switch. A partir de ese punto todas las sentencias serán ejecutadas hasta el final del switch, es decir hasta llegar al "}".

Esto es así porque las etiquetas sólo marcan los puntos de entrada después de una ruptura de la secuencia de ejecución, pero no marcan los puntos de salida.

Esta estructura está diseñada para ejecutar cierta secuencia de instrucciones, empezando a partir de un punto diferente, en función de un valor entero y dejando sin ejecutar las anteriores a ese punto.

Ejemplo:

 

      main() {
        char ch;
          printf("Introduzca una vocal: "); 

 

          ch=getchar(); 

 

Continue reading ]]>

Uso del switch

En el caso de la sentencia switch, la expresión a evaluar será entera, por lo tanto, el número de opciones es mucho mayor, y en consecuencia, también es mayor el número de diferentes sentencias que se pueden ejecutar.

Sintaxis:

Cuando se usa la sentencia switch el control se transfiere al punto etiquetado con el case cuya expresión constante coincida con el valor de la expresión entera evaluada dentro del switch. A partir de ese punto todas las sentencias serán ejecutadas hasta el final del switch, es decir hasta llegar al “}”.

Esto es así porque las etiquetas sólo marcan los puntos de entrada después de una ruptura de la secuencia de ejecución, pero no marcan los puntos de salida.

Esta estructura está diseñada para ejecutar cierta secuencia de instrucciones, empezando a partir de un punto diferente, en función de un valor entero y dejando sin ejecutar las anteriores a ese punto.

Ejemplo:

 

      main() {

        char ch;

          printf(“Introduzca una vocal: “); 

 

          ch=getchar(); 

 

]]>
https://creativecommons.org/licenses/by/4.0/
#Mastery21 – Use of recursion for repetitive algorithms https://kenscourses.com/tc101winter2015/2015/mastery21-use-of-recursion-for-repetitive-algorithms-4/ Wed, 06 May 2015 22:59:22 +0000 https://oswaldouliel.withknown.com/2015/mastery21---use-of-recursion-for-repetitive-algorithms

Recursividad 

Una función es recursiva cuando se define en función de si misma, pero no todas la funciones pueden llamarse a si mismas. Deben estar diseñadas especialmente para que sean recursivas, de otro modo podrían conducir a bucles infinitos, o a que el programa termine inadecuadamente.

C++ permite la recursividad. Cada vez que se llama a una función, se crea un juego de variables locales, de este modo, si la función hace una llamada a si misma, se guardan sus variables y parámetros, usando la pila, y la nueva instancia de la función trabajará con su propia copia de las variables locales. Cuando esta segunda instancia de la función retorna, recupera las variables y los parámetros de la pila y continua la ejecución en el punto en que había sido llamada.

Por ejemplo:

Prodríamos crear una función recursiva para calcular el factorial de un número entero.

El factorial se simboliza como n!, se lee como "n factorial", y la definición es:

#e3e3e3;">n! = n * (n-1) * (n-2) * ... * 1

Para este ejemplo no es posible calcular el factorial de números negativos, no está definido.

Debemos de tomar en cuenta que el factorial de cero es 1. De modo que una función bien hecha para cálculo de factoriales debería incluir un control para esos casos:

#e3e3e3;">/* Función recursiva para cálculo de factoriales */
#aa4400; font-weight: bold;">int factorial(#aa4400; font-weight: bold;">int n) {
   #aa4400; font-weight: bold;">if(n #aa4400; font-weight: bold;">return 0;
   #aa4400; font-weight: bold;">else #aa4400; font-weight: bold;">if(n > 1) #aa4400; font-weight: bold;">return n*factorial(n-1); /* Recursividad */
   #aa4400; font-weight: bold;">return 1; /* Condición de terminación, n == 1 */
}

La recursividad consume muchos recursos de memoria y tiempo de ejecución, y se debe aplicar a funciones que realmente le saquen partido.

También existen otras formas de implementar algoritmos recursivos, por lo que no es necesario que una función se invoque a si misma.

Ejemplo: un par de funciones A y B pueden crear un algoritmo recursivo si la función A invoca a la función B, y esta a su vez invoca a la función A.

Veamos un ejemplo. Partamos de la siguiente serie:

#e3e3e3;">1 - 1/2 + 1/3 - 1/4 + 1/5 - ... - 1/2*n + 1/2*n+1 - ...

Aqui tenemos otro ejemplo aun mas complejo:

using namespace std;

double par(int);

double impar(int);

double suma(int);

int main() {

    cout

    cout

    cout

    cout

    cout

    cout

    return 0;

}

double suma(int n) {

    if(n % 2) return impar(n);

    else return par(n);

}

double par(int n) {

    return impar(n-1)-1/double(n);

}

double impar(int n) {

    if(n == 1) return 1;

    return par(n-1)+1/double(n);

}

 

Referencias: http://c.conclase.net/curso/?cap=024

21 1017

Continue reading ]]>

Recursividad 

Una función es recursiva cuando se define en función de si misma, pero no todas la funciones pueden llamarse a si mismas. Deben estar diseñadas especialmente para que sean recursivas, de otro modo podrían conducir a bucles infinitos, o a que el programa termine inadecuadamente.

C++ permite la recursividad. Cada vez que se llama a una función, se crea un juego de variables locales, de este modo, si la función hace una llamada a si misma, se guardan sus variables y parámetros, usando la pila, y la nueva instancia de la función trabajará con su propia copia de las variables locales. Cuando esta segunda instancia de la función retorna, recupera las variables y los parámetros de la pila y continua la ejecución en el punto en que había sido llamada.

Por ejemplo:

Prodríamos crear una función recursiva para calcular el factorial de un número entero.

El factorial se simboliza como n!, se lee como “n factorial”, y la definición es:

Para este ejemplo no es posible calcular el factorial de números negativos, no está definido.

Debemos de tomar en cuenta que el factorial de cero es 1. De modo que una función bien hecha para cálculo de factoriales debería incluir un control para esos casos:

La recursividad consume muchos recursos de memoria y tiempo de ejecución, y se debe aplicar a funciones que realmente le saquen partido.

También existen otras formas de implementar algoritmos recursivos, por lo que no es necesario que una función se invoque a si misma.

Ejemplo: un par de funciones A y B pueden crear un algoritmo recursivo si la función A invoca a la función B, y esta a su vez invoca a la función A.

Veamos un ejemplo. Partamos de la siguiente serie:

Aqui tenemos otro ejemplo aun mas complejo:

using namespace std;

double par(int);

double impar(int);

double suma(int);

int main() {

    cout

    cout

    cout

    cout

    cout

    cout

    return 0;

}

double suma(int n) {

    if(n % 2) return impar(n);

    else return par(n);

}

double par(int n) {

    return impar(n-1)-1/double(n);

}

double impar(int n) {

    if(n == 1) return 1;

    return par(n-1)+1/double(n);

}

 

Referencias: http://c.conclase.net/curso/?cap=024

21 1017

]]>
https://creativecommons.org/licenses/by/4.0/
Mastery 21 https://kenscourses.com/tc101winter2015/2015/mastery-21-5/ Tue, 05 May 2015 23:47:20 +0000 https://adxconex.withknown.com/2015/mastery-21

Uso de recursion en algoritmos repetitivos

Se dice que una función es recursiva cuando se define en función de si misma.

No todas la funciones pueden llamarse a si mismas, sino que deben estar diseñadas especialmente para que sean recursivas, de otro modo podrían conducir a bucles infinitos, o a que el programa termine inadecuadamente.

Tampoco todos los lenguajes de programación permiten usar recursividad.

 

C++ permite la recursividad. Cada vez que se llama a una función, se crea un juego de variables locales, de este modo, si la función hace una llamada a si misma, se guardan sus variables y parámetros, usando la pila, y la nueva instancia de la función trabajará con su propia copia de las variables locales. Cuando esta segunda instancia de la función retorna, recupera las variables y los parámetros de la pila y continua la ejecución en el punto en que había sido llamada.

Un ejemplo muy clasico de la recursividad es cuando se quiere crear un programa de gdc (greatest commun divisor), en lo cual se puede llamar a si mismo para volver a hacer el mismo procedimiento una y otra vez hasta que una condición sea rota y pueda salir de la recursividad, así, te puede dar los resultados de manera que corresponda.

21 1017

Continue reading ]]>

Uso de recursion en algoritmos repetitivos

Se dice que una función es recursiva cuando se define en función de si misma.

No todas la funciones pueden llamarse a si mismas, sino que deben estar diseñadas especialmente para que sean recursivas, de otro modo podrían conducir a bucles infinitos, o a que el programa termine inadecuadamente.

Tampoco todos los lenguajes de programación permiten usar recursividad.

 

C++ permite la recursividad. Cada vez que se llama a una función, se crea un juego de variables locales, de este modo, si la función hace una llamada a si misma, se guardan sus variables y parámetros, usando la pila, y la nueva instancia de la función trabajará con su propia copia de las variables locales. Cuando esta segunda instancia de la función retorna, recupera las variables y los parámetros de la pila y continua la ejecución en el punto en que había sido llamada.

Un ejemplo muy clasico de la recursividad es cuando se quiere crear un programa de gdc (greatest commun divisor), en lo cual se puede llamar a si mismo para volver a hacer el mismo procedimiento una y otra vez hasta que una condición sea rota y pueda salir de la recursividad, así, te puede dar los resultados de manera que corresponda.

21 1017

]]>
https://creativecommons.org/licenses/by/4.0/
#Mastery21 #TC1017 https://kenscourses.com/tc101winter2015/2015/mastery21-tc1017-2/ Tue, 05 May 2015 23:12:43 +0000 https://joshuabg96.withknown.com/2015/mastery21-tc1017

Uso de recursion en algoritmos repetitivos

Se dice que una función es recursiva cuando se define en función de si misma.

No todas la funciones pueden llamarse a si mismas, sino que deben estar diseñadas especialmente para que sean recursivas, de otro modo podrían conducir a bucles infinitos, o a que el programa termine inadecuadamente.

Tampoco todos los lenguajes de programación permiten usar recursividad.

0 0 1 129 714 JBG 5 1 842 14.0 Normal 0 21 false false false ES-TRAD JA X-NONE /* Style Definitions */ table.MsoNormalTable {mso-style-name:"Tabla normal"; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-priority:99; mso-style-parent:""; mso-padding-alt:0cm 5.4pt 0cm 5.4pt; mso-para-margin:0cm; mso-para-margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:12.0pt; font-family:Cambria; mso-ascii-font-family:Cambria; mso-ascii-theme-font:minor-latin; mso-hansi-font-family:Cambria; mso-hansi-theme-font:minor-latin;}

C++ permite la recursividad. Cada vez que se llama a una función, se crea un juego de variables locales, de este modo, si la función hace una llamada a si misma, se guardan sus variables y parámetros, usando la pila, y la nueva instancia de la función trabajará con su propia copia de las variables locales. Cuando esta segunda instancia de la función retorna, recupera las variables y los parámetros de la pila y continua la ejecución en el punto en que había sido llamada.

Un ejemplo muy clasico de la recursividad es cuando se quiere crear un programa de gdc (greatest commun divisor), en lo cual se puede llamar a si mismo para volver a hacer el mismo procedimiento una y otra vez hasta que una condición sea rota y pueda salir de la recursividad, así, te puede dar los resultados de manera que corresponda a lo que uno quiere como podemos ver en la foto.

En este ejemplo como podemos ver la funcion "gcd" puede claramente ser llamada en dos situaciones diferentes, tanto cuando a es mayor que b como en el caso de que a es menor que b haciendo dos recursiones, y rompiendola en caso de que a y b sean iguales.

Continue reading ]]>

Uso de recursion en algoritmos repetitivos

Se dice que una función es recursiva cuando se define en función de si misma.

No todas la funciones pueden llamarse a si mismas, sino que deben estar diseñadas especialmente para que sean recursivas, de otro modo podrían conducir a bucles infinitos, o a que el programa termine inadecuadamente.

Tampoco todos los lenguajes de programación permiten usar recursividad.

C++ permite la recursividad. Cada vez que se llama a una función, se crea un juego de variables locales, de este modo, si la función hace una llamada a si misma, se guardan sus variables y parámetros, usando la pila, y la nueva instancia de la función trabajará con su propia copia de las variables locales. Cuando esta segunda instancia de la función retorna, recupera las variables y los parámetros de la pila y continua la ejecución en el punto en que había sido llamada.

Un ejemplo muy clasico de la recursividad es cuando se quiere crear un programa de gdc (greatest commun divisor), en lo cual se puede llamar a si mismo para volver a hacer el mismo procedimiento una y otra vez hasta que una condición sea rota y pueda salir de la recursividad, así, te puede dar los resultados de manera que corresponda a lo que uno quiere como podemos ver en la foto.

En este ejemplo como podemos ver la funcion “gcd” puede claramente ser llamada en dos situaciones diferentes, tanto cuando a es mayor que b como en el caso de que a es menor que b haciendo dos recursiones, y rompiendola en caso de que a y b sean iguales.

]]>
https://creativecommons.org/licenses/by/4.0/
Mastery 28 https://kenscourses.com/tc101winter2015/2015/mastery-28-9/ Mon, 04 May 2015 14:16:25 +0000 https://joseeduardosanchezrosas.withknown.com/2015/mastery-28 Continue reading ]]>

Usar streams facilita mucho el acceso a ficheros en disco, veremos que una vez que creemos un stream para un fichero, podremos trabajar con él igual que lo hacemos con cin o cout.

Mediante las clases ofstreamifstream y fstream tendremos acceso a todas las funciones de las clases base de las que se derivan estas: iosistreamostream,fstreambase, y como también contienen un objeto filebuf, podremos acceder a las funciones de filebuf y streambuf.

Acontinuacion hay un ejemplr de la clase ifstream:

Link to GitHub: https://github.com/JoseSanchez12/Quizz11/blob/master/q1.cpp

]]>
https://creativecommons.org/licenses/by/4.0/
Mastery 21 https://kenscourses.com/tc101winter2015/2015/mastery-21-4/ Wed, 08 Apr 2015 00:33:17 +0000 https://joseeduardosanchezrosas.withknown.com/2015/mastery-21 Continue reading ]]>

Se dice que una función es recursiva cuando se define en función de si misma.

No todas la funciones pueden llamarse a si mismas, sino que deben estar diseñadas especialmente para que sean recursivas, de otro modo podrían conducir a bucles infinitos, o a que el programa termine inadecuadamente.

Tampoco todos los lenguajes de programación permiten usar recursividad.

 

C++ permite la recursividad. Cada vez que se llama a una función, se crea un juego de variables locales, de este modo, si la función hace una llamada a si misma, se guardan sus variables y parámetros, usando la pila, y la nueva instancia de la función trabajará con su propia copia de las variables locales. Cuando esta segunda instancia de la función retorna, recupera las variables y los parámetros de la pila y continua la ejecución en el punto en que había sido llamada.

Aqui un ejemplo con una imagen:

]]>
https://creativecommons.org/licenses/by/4.0/