La Disciplina Te Lleva Donde La Motivación No Alcanza

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 48

La disciplina te lleva donde la motivación no

alcanza
Desarrollo
Los condicionales en C++. Uso declaración y
sintaxis en C++
Un condicional, permite establecer una serie de condiciones al
interior de nuestro programa, que nos ayudan a determinar que
acciones llevará cabo dadas ciertas circunstancias, por ejemplo si
queremos decidir cuándo dar acceso a un usuario, dependiendo
de si el nombre de usuario y contraseña son correctos, para algo
como esto, es útil un condicional, nos permite verificar si
determinada condición se cumple (en este caso si la contraseña y
el nombre de usuario son correctos) y de acuerdo a que se
cumpla o no, llevar a cabo un conjunto de acciones.
Desarrollo

Existen diferentes tipos de condicionales, cada uno tiene una


utilidad y funcionalidad diferente, que consideran diferentes
situaciones que se pueden llegar a presentar durante la
ejecución de un algoritmo. Depende entonces del
conocimiento que tengamos acerca de cada uno de los
condicionales saber determinar correctamente cuando es
necesario implementar uno u otro.

Condicional If
Condicional if-else
Condicional Switch
Desarrollo

Básicamente, un condicional if, es una estructura que nos


posibilita definir las acciones a ejecutar si se cumple cierta
condición y de ese modo modificar la ejecución de tareas en
un programa según se necesite.
Desarrollo

En resumen, un condicional if-else es una estructura que nos


posibilita definir las acciones que se deben llevar a cabo si se cumple
cierta condición y también determinar las acciones que se deben
ejecutar en caso de que no se cumpla; generando así una separación
o bifurcación en la ejecución del programa, ejecutando ciertas
acciones u otras a partir de la evaluación de una condición dada.
Desarrollo

Los condicionales Switch, son una estructura de control


condicional, que permite definir múltiples casos que puede
llegar a cumplir una variable cualquiera, y qué acción tomar
en cualquiera de estas situaciones, incluso es posible
determinar qué acción llevar a cabo en caso de no cumplir
ninguna de las condiciones dadas.
Bibliografía


Condicional If en C++

Condicional if-else en C++

Condicional Switch en C++
Desarrollo

Los bucles o ciclos en C++.


Declaración, uso y sintaxis de un
ciclo en C++
Desarrollo

Los ciclos o también conocidos como bucles, son una estructura de


control esencial al momento de programar. Tanto C como C++ y la mayoría
de los lenguajes utilizados actualmente, nos permiten hacer uso de estas
estructuras. Un ciclo o bucle permite repetir una o varias instrucciones
cuantas veces lo necesitemos, por ejemplo, si quisiéramos escribir los
números del uno al cien no tendría sentido escribir cien líneas mostrando
un numero en cada una, para esto y para muchísimas cosas más, es útil un
ciclo, permitiéndonos hacer una misma tarea en una cantidad de líneas
muy pequeña y de forma prácticamente automática.

Existen diferentes tipos de ciclos o bucles, cada uno tiene una utilidad para
casos específicos y depende de nuestra habilidad y conocimientos poder
determinar en qué momento es bueno usar alguno de ellos. Tenemos
entonces a nuestra disposición los siguientes tipos de ciclos en C++:

Ciclo for
Ciclo while
Ciclo do-while
Desarrollo

Ciclo for en C++. Estructura, sintaxis y uso de un ciclo for en C++

Los ciclos for son lo que se conoce como estructuras de control de flujo
cíclicas o simplemente estructuras cíclicas, estos ciclos, como su nombre lo
sugiere, nos permiten ejecutar una o varias líneas de código de forma
iterativa, conociendo un valor especifico inicial y otro valor final, además
nos permiten determinar el tamaño del paso entre cada "giro" o iteración
del ciclo.

En resumen, un ciclo for es una estructura de control iterativa, que nos


permite ejecutar de manera repetitiva un bloque de instrucciones,
conociendo previamente un valor de inicio, un tamaño de paso y un valor
final para el ciclo.
Desarrollo

¿Cómo funciona un Ciclo For?

Para comprender mejor el funcionamiento del ciclo for, pongamos un


ejemplo, supongamos que queremos mostrar los números pares entre
el 50 y el 100, si imaginamos un poco como seria esto, podremos
darnos cuenta que nuestro ciclo deberá mostrar una serie de números
como la siguiente: 50 52 54 56 58 60 ... 96 98 100. Como podemos
verificar, tenemos entonces los componentes necesarios para nuestro
ciclo for, tenemos un valor inicial que sería el 50, tenemos también un
valor final que sería el 100 y tenemos un tamaño de paso que es 2 (los
números pares).
Desarrollo

Sintaxis del Ciclo For en C++:

La sintaxis de un ciclo for es simple en C++, en realidad en la mayoría de


los lenguajes de alto nivel es incluso muy similar, de hecho, con tan solo
tener bien claros los 3 componentes del ciclo for (inicio, final y tamaño de
paso) tenemos prácticamente todo hecho

for(int i = valor inicial; i <= valor final; i = i + paso)


{
....
....
Bloque de Instrucciones....
....
....
}
Desarrollo

Vamos ahora a ver línea por línea el anterior


código para comprender todo y quedar claros.
Desarrollo

Línea 1:

En esta línea está prácticamente todo lo esencial de un ciclo for. La sintaxis


es simple, tenemos una variable de control llamada i que es tipo entero
(int), cabe notar que la variable se puede llamar como nosotros lo
deseemos y puede ser del tipo de queramos también, sin embargo en la
mayoría de los casos se usa la "i" como nombre y el entero como tipo, pero
somos libres de modificar esto a nuestro gusto. Esta variable "i" se le
asigna un valor inicial que puede ser cualquier número correspondiente al
tipo de dato asignado. Posteriormente lo que haremos será especificar
hasta donde irá nuestro ciclo por medio del valor final, ten en cuenta que
cada uno de estos componentes es separado por un punto y coma ";",
también es importante saber que la condición final puede ser, mayor,
menor, mayor o igual, menor o igual. Finalmente el ultimo componente de
esta primer línea es el tamaño del paso, este componente se especifica
aumentando en la cantidad deseada la variable de control.
Desarrollo

Línea 2:

En la línea 2 tenemos una llave abriendo "{" lo cual como seguramente ya sabrás
indica que allí comienza el bloque de instrucciones que se ejecutaran cada vez que
el ciclo de un "giro". Esta llave no es del todo obligatoria, sin embargo si no la
ponemos solo se ejecutara dentro de nuestro ciclo la primera línea inmediatamente
posterior a la declaración del ciclo, de modo que si deseamos que se ejecuten varias
líneas dentro de nuestro ciclo, debemos usar las llaves
Desarrollo

Línea 3 a 7:

En estas líneas es donde estarán todas las operaciones que queramos llevar a cabo
de manera iterativa durante la ejecución del ciclo, este bloque podrá tener la
cantidad de líneas necesarias incluso, como veremos más adelante dentro de estas
podría haber uno o más ciclos, así que podrías tener todo un programa dentro de un
ciclo.
Desarrollo

Línea 8:

En esta última línea hacemos uso de la llave cerrando "}", una vez más como
seguramente ya sabrás esta nos indica que allí termina el bloque del ciclo for y se
dará por terminada la ejecución de este para continuar ejecutando el resto del
algoritmo.
Desarrollo

Ejemplo 1: Mostrar en pantalla los números pares


Vamos a retomar el ejemplo anterior, donde deseábamos sacar los números pares
entre el numero 50 y el 100, es un ejemplo sencillo con el que nos aseguraremos de
haber comprendido bien lo anterior:
Desarrollo

Solución Ejemplo 1:

Como pudimos ver anteriormente, tenemos entonces que el valor inicial


para nuestro ciclo es el numero 50 y el valor final es el 100, además, dado
que necesitamos los números pares vamos a ir de dos en dos, así que el
tamaño del paso va a ser 2, teniendo estos 3 componentes identificados,
estamos listos para crear nuestro ciclo for así:

for (int i=50; i<=100; i=i+2)


{
cout << i << endl;
}
Desarrollo

El código funcional completo sería el siguiente:

#include "iostream"
#include "stdlib.h"

using namespace std;


int main()
{

for(int i=50; i<=100; i+=2)


{
cout << i << endl;
}
return 0;
}
Desarrollo

Ejemplo 2: Cuenta regresiva en un ciclo for


Ahora veremos otro ejemplo sencillo en cual veremos que el ciclo for también puede
iterar disminuyendo el valor del contador, para comprender esto, lo que haremos
será imprimir por pantalla una cuenta regresiva desde el número diez hasta el cero,
veamos:
Desarrollo

Solución Ejemplo 2:

Para este caso, debido a que queremos ir de un número mayor a uno más pequeño,
por lo tanto para este ejemplo el valor inicial será 10 y el valor final será cero.
Adicional, el tamaño de paso será de 1 negativo, es decir, -1, así:

for(int i=10; i > 0; i=i-1)


{
cout << i << endl;
}
Desarrollo

El código funcional completo sería el siguiente:

#include "iostream"
#include "stdlib.h"

using namespace std;


int main()
{

for(int i=10; i > 0; i=i-1)


{
cout << i << endl;
}
return 0;
}
Desarrollo

Ejemplo 3: Contador con un ciclo for


Para este ejemplo haremos algo un poco más complejo. El ejemplo consiste en
contar al interior de un ciclo for, cuántos números entre el 0 y el 10.000 son múltiplos
del 13. Para ello haremos uso del operador % (modulo) que obtiene el residuo de
una división y también usaremos un pequeño condicional para verificar que el
modulo sea cero al dividir por 13.
Desarrollo

Solución Ejemplo 3:
Para este caso el valor inicial será 0 y el valor final será 10000. Adicional, el tamaño
de paso será de 1. Al interior del ciclo, en cada iteración verificaremos si el número
en el que estamos es divisible por trece o no y en caso afirmativo aumentaremos el
contador en una unidad así:

int contador = 0; //Iniciamos el contador en cero


for(int i = 0; i < 10000; i++)
{ //Notemos que escribir i++ es similar a escribir i = i + 1
if(i%13 == 0) //Si el residuo es cero es múltiplo de 13
{
contador++; //Si es múltiplo aumentamos el contador en 1
}
}
//Mostramos el contador después de verificar todos los números
cout << contador << endl;
Desarrollo
El código funcional completo sería el siguiente:

#include "iostream"
#include "stdlib.h"

using namespace std;


int main()
{
int contador = 0;
for(int i = 0; i < 10000; i++)
{
if(i%13 == 0)
{
contador++;
}
}
cout << contador << endl;
return 0;
}
Desarrollo

En efecto los ciclos for, son bastante útiles, sin embargo desde el
punto de vista de la eficiencia, es recomendable evitarlos en la
medida de lo posible, siempre que vayas a usar un ciclo for, deberías
preguntarte primero si es totalmente necesario o si existe una
manera más efectiva de hacerlo. Evidentemente habrá situaciones
en las que será casi que imprescindible usar el ciclo for, pues por
algo existen. Está entonces en nuestra habilidad determinar cuándo
usarlos y mejor aún cómo usarlos de manera efectiva.
Desarrollo

Ciclo while en C++. Estructura y sintaxis.


Cómo y para qué usar un ciclo while en C++
Los ciclos while son también una estructura cíclica, que nos permite ejecutar una o
varias líneas de código de manera repetitiva sin necesidad de tener un valor inicial e
incluso a veces sin siquiera conocer cuando se va a dar el valor final que
esperamos, los ciclos while, no dependen directamente de valores numéricos, sino
de valores booleanos, es decir su ejecución depende del valor de verdad de una
condición dada, verdadera o falso, nada más. De este modo los ciclos while, son
mucho más efectivos para condiciones indeterminadas, que no conocemos cuando
se van a dar a diferencia de los ciclos for, con los cuales se debe tener claro un
principio, un final y un tamaño de paso.
Desarrollo

¿Cómo funciona un Ciclo While?

Para comprender mejor el funcionamiento del ciclo while, pongamos un


buen ejemplo, imaginemos que por algún motivo, queremos pedirle a un
usuario una serie de números cualquiera y que solo dejaremos de hacerlo
cuando el usuario ingrese un número mayor a 100. Como vemos, aquí no
podríamos utilizar un ciclo for, pues no tenemos ni idea de cuándo al
usuario se le va a ocurrir ingresar un número mayor que 100, es algo
indeterminado para nosotros, sin embargo el ciclo while nos permite
ejecutar una acción de forma infinita hasta que se cumpla alguna condición
especifica, en nuestro caso sería que el numero ingresado sea mayor a
100. De modo que si el usuario nos ingresa de manera sucesiva los
siguientes numero 1,50,99, 49, 21, 30, 100 ..., nuestro programa no
finalizara, pues ninguno de estos números es mayor que 100, sin embargo
si nos ingresara el numero 300, el programa finalizaría inmediatamente.
Desarrollo

Sintaxis del Ciclo While en C++:


La sintaxis de un ciclo while es incluso más simple y "legible" que la del ciclo for en
C++, pues simplemente requerimos tener clara una condición de parada. En
realidad, en la mayoría de los lenguajes de alto nivel la manera de escribir un ciclo
while (la sintaxis) es incluso muy similar, así que con tan solo tener bien clara una
condición de finalización para el ciclo tendremos prácticamente todo hecho.

while(condición de finalización) //por ejemplo numero == 100


{
....
....
Bloque de Instrucciones....
....
....
}
Desarrollo

Línea 1:

En esta línea está prácticamente todo lo esencial de un ciclo while. La sintaxis es


bastante simple. Tenemos al interior de los paréntesis una condición cualquiera, es
decir por ejemplo "==, >, <, >=, <=, !=" o algunas mas que se nos puedan ocurrir,
esta condición que especifiquemos allí, es la que permitirá que el ciclo se siga
ejecutando hasta que en algún momento esta misma condición deje de cumplirse,
de esta forma si por ejemplo estamos verificando que un numero_cualquiera == 50,
el ciclo se ejecutara solo cuando numero_cualquiera sea igual a 50, en cuanto su
valor cambie a cualquier otro el ciclo while finalizara y continuara con el resto de la
ejecución del programa. De esta forma, es evidente que la condición que allí
ingresemos siempre deberá tomar un valor booleano (true o false).
Desarrollo
Línea 2:
En la línea 2 tenemos una llave abriendo "{" lo cual como sabemos indica que allí
comienza un bloque de instrucciones que se ejecutaran cada vez que el ciclo de un
"giro". Esta llave no es del todo obligatoria, sin embargo si no la ponemos solo se
ejecutara dentro de nuestro ciclo while la primera línea inmediatamente posterior a
la declaración del ciclo, de modo que si deseamos que se ejecuten varias líneas
dentro de nuestro ciclo, debemos usar las llaves

Línea 3 a 7:
En estas líneas es donde estarán todas las operaciones que queramos llevar a cabo
de manera iterativa durante la ejecución del ciclo, este bloque podrá tener la
cantidad de líneas necesarias incluso, como veremos más adelante dentro de estas
podría haber uno o más ciclos, así que podrías tener todo un programa dentro de un
ciclo.

Línea 8:
En esta última línea hacemos uso de la llave cerrando "}", una vez más como
seguramente ya debemos saber esta nos indica que allí termina el bloque del ciclo
while y se dará por terminada la ejecución de este para continuar ejecutando el resto
del algoritmo.
Desarrollo

Ejemplo 1: Pedir números por pantalla hasta que


alguno sea mayor a 100
Vamos a retomar el ejemplo anterior, donde queremos hacer que nuestro programa
le pida a un usuario una serie de números cualquiera y que solo dejaremos de
hacerlo cuando el usuario ingrese un número mayor a 100, una vez mas es un
ejemplo sencillo con el que nos aseguraremos de haber comprendido bien todos los
conceptos anteriores:
Desarrollo

Solución Ejemplo 1:

Para solucionar esto, debemos tener clara cuál va a ser la condición que se debe
cumplir para que el ciclo este pidiendo el numero contantemente, el ciclo se va a
detener solo cuando el numero ingresado sea mayor que 100, así que la condición
para que se siga ejecutando es que el numero sea menor a 100, ¿Comprenden la
lógica?, es simple si para que se detenga el numero debe ser mayor a 100,
entonces para seguirse ejecutando el numero debe ser menor o igual a 100,
veámoslo entonces

int numero;
cin >> numero;
while(numero <= 100)
{
cout << "Ingrese un numero ";
cin >> numero;
}
Desarrollo
El código funcional completo y un tanto más amigable para el usuario sería el
siguiente:

#include "iostream"

using namespace std;


int main()
{
int numero;
cout << "Ingrese un numero ";
cin >> numero;
while(numero <= 100)
{
cout << "Ingrese un numero ";
cin >> numero;
}
return 0;
}
Desarrollo

Ciclo do-while en C++. Estructura, sintaxis y diferencias


con el while. Cómo y cuándo usar un ciclo do-while en C++
Los ciclos do-while son una estructura de control cíclica, los cuales nos permiten
ejecutar una o varias líneas de código de forma repetitiva sin necesidad de tener un
valor inicial e incluso a veces sin siquiera conocer cuando se va a dar el valor final,
hasta aquí son similares a los ciclos while, sin embargo el ciclo do-while nos permite
añadir cierta ventaja adicional y esta consiste que nos da la posibilidad de ejecutar
primero el bloque de instrucciones antes de evaluar la condición necesaria, de este
modo los ciclos do-while, son más efectivos para algunas situaciones especificas.
En resumen un ciclo do-while, es una estructura de control cíclica que permite
ejecutar de manera repetitiva un bloque de instrucciones sin evaluar de forma
inmediata una condición especifica, sino evaluándola justo después de ejecutar por
primera vez el bloque de instrucciones
Desarrollo

¿Cómo funciona un Ciclo Do-While?

Para comprender mejor el funcionamiento del ciclo while, usemos de nuevo el


ejemplo de la sección anterior sobre el ciclo while. Imaginemos entonces que por
algún motivo, queremos pedirle a un usuario una serie de números cualquiera y que
solo dejaremos de hacerlo cuando el usuario ingrese un número mayor a 100. Como
vimos anteriormente, esto se puede hacer por medio de un ciclo while, pero vamos
ahora a ver como lo podemos hacer usando un ciclo do-while mejorando así un
poco nuestro algoritmo, evitando ciertos comandos, tal como se dijo con el ciclo
while, en efecto aquí estamos en la situación de no tener ni idea de cuándo al
usuario se le va a ocurrir ingresar un número mayor que 100, pues es algo
indeterminado para nosotros, sin embargo el ciclo while y en efecto el do-while nos
permite ejecutar cierta acción de forma infinita hasta que se cumpla alguna
condición especifica, en nuestro caso sería que el numero ingresado sea mayor a
100. De modo que si el usuario nos ingresa de manera sucesiva los siguientes
numero 1,50,99, 49, 21, 30, 100 ..., nuestro programa no finalizara, pues ninguno de
estos números es mayor que 100, sin embargo si nos ingresara el numero 300, el
programa finalizaría inmediatamente.
Desarrollo

Sintaxis del Ciclo Do-While en C++:

La sintaxis de un ciclo do-while es un tanto más larga que la del ciclo while en C++,
sin embargo no se hace más complicado, de hecho con tan solo tener bien clara
una condición de finalización para el ciclo tendremos prácticamente todo terminado.

do
{
....
....
Bloque de Instrucciones....
....
....
}
while(condición de finalización); //por ejemplo numero != 23
Desarrollo
Línea 1:
Esta línea es por decirlo así, la parte novedosa del ciclo do-while, esta expresión no
evalúa ninguna condición ni nada, simplemente da paso directo al bloque de
instrucción y luego permite la evaluación de la condición.

Línea 2:
En la línea 2 tenemos una llave abriendo "{" lo cual como sabemos indica que allí
comienza un bloque de instrucciones que se ejecutaran cada vez que el ciclo de un
"giro". Esta llave no es del todo obligatoria, sin embargo si no la ponemos solo se
ejecutará dentro de nuestro ciclo la primera línea inmediatamente posterior a la
instrucción do, de modo que si deseamos que se ejecuten varias líneas dentro de
nuestro ciclo, debemos usar las llaves. En lo personal, es preferible poner siempre
las llaves sin importar cuantas líneas se vayan a ejecutar, es una buena práctica de
programación y te puede evitar dolores de cabeza.
Desarrollo
Línea 3 a 7:
En estas líneas es donde estarán todas las operaciones que queramos llevar a cabo
de manera iterativa durante la ejecución del ciclo, este bloque podrá tener la
cantidad de líneas necesarias incluso, como veremos más adelante dentro de estas
podría haber uno o más ciclos, así que podrías tener todo un programa dentro de un
ciclo.

Línea 8:
En esta última línea hacemos uso de la llave cerrando "}", una vez más como
seguramente ya debemos saber esta nos indica que allí termina el bloque de
instrucciones que se ejecutarán de manera cíclica y se dará por terminada la
ejecución de este para continuar ejecutando el resto del algoritmo.

Línea 9:
La línea 9 en el ciclo do-while, tiene la misma importancia y función que la linea 1 en
la sección del ciclo while, cabe resaltar que simplemente evalúa la condición y
define si se cumple o no para seguir con la ejecución del ciclo o con la del resto del
algoritmo, de este modo podemos ver que el ciclo while y el do-while son muy
similares, con la pequeña diferencia en que en uno se evalúa la condición desde el
principio y en la otra al final de cada ciclo.
Desarrollo
Ejemplo 1: Pedir números por pantalla hasta que alguno sea
mayor a 100
Vamos a retomar el ejemplo anterior, donde queremos hacer que nuestro programa
le pida a un usuario una serie de números cualquiera y que solo dejaremos de
hacerlo cuando el usuario ingrese un número mayor a 100, una vez mas es un
ejemplo sencillo con el que nos aseguraremos de haber comprendido bien todos los
conceptos anteriores, vamos a ver cómo hacer lo mismo con dos tipos de ciclos
diferentes (el while y el do-while), sin embargo vamos a ver como con uno es más
eficiente que con el otro:
Desarrollo
Solución Ejemplo 1:

Para solucionar esto, debemos tener clara cuál va a ser la condición que se debe
cumplir para que el ciclo este pidiendo el numero constantemente. El ciclo se va a
detener solo cuando el numero ingresado sea mayor que 100, así que la condición
para que se siga ejecutando es que el numero sea menor a 100, ¿Comprenden la
lógica?, es simple si para que se detenga el numero debe ser mayor a 100,
entonces para seguirse ejecutando el numero debe ser menor o igual a 100,
veámoslo entonces

int numero;
do
{
cout << "Ingrese un numero ";
cin >> numero;
}
while(numero <= 100);
Desarrollo
El código funcional completo y un tanto más amigable para el usuario
sería el siguiente:

#include "iostream"

using namespace std;


int main()
{
int numero;
do
{
cout << "Ingrese un numero ";
cin >> numero;
}
while(numero <= 100);
return 0;
}
Desarrollo
Diferencias entre el ciclo do-while en C++ y el ciclo while

Cuando vemos por primera vez el ciclo do-while, se nos viene de inmediato la
pregunta de cuál es la diferencia entre un do-while y un while. Y no quedamos muy
seguros de poder saber cuándo usar uno u otro, así que aquí te explico.

La diferencia es que el do-while, primero ejecuta la acción y luego evalúa la


condición, mientras que el while evalúa la condición antes que cualquier cosa. Esto
quiere decir, que el ciclo while podría no ejecutar ni siquiera una vez lo que tenga en
su interior, mientras que el do-while te asegura que lo que pongas dentro se ejecute
mínimo una vez, pues primero ejecuta y luego evalúa la condición.
Desarrollo
Implementando el ejemplo del menú de opciones con un ciclo do-while

#include "iostream"

using namespace std;


int main()
{
int opcion = 0;
do
{
cout << "Ingrese 1 para mostrar mensaje\n";
cout << "Ingrese 2 para hacer algo más\n";
cout << "Ingrese 0 para salir\n";

cout << "Ingrese una opción a ejecutar\n";


cin >> opcion;
}
while(opcion != 0);
return 0;
}
Desarrollo
Implementando el ejemplo del menú de opciones con un ciclo while

#include "iostream"

using namespace std;


int main()
{
int opcion = -1;

while(opcion != 0)
{
cout << "Ingrese 1 para mostrar mensaje\n";
cout << "Ingrese 2 para hacer algo más\n";
cout << "Ingrese 0 para salir\n";

cout << "Ingrese una opción a ejecutar\n";


cin >> opcion;
}
return 0;
}
Estudio Ind.
Ejercicio 1:
Imprimir la palabra algoritmos N veces.

Ejercicio 2:
Imprimir para cada uno de los N primeros números naturales el número y con su
raíz cuadrada.
La disciplina te lleva donde la motivación no
alcanza

También podría gustarte