COMO PROGRAMAR CON EL CICLO FOR, WHILE, DO-WHILE.
NOMBRE: MONICA ITZEL GODOY GONZALEZ
NOMBRE DE PROFESOR: HILDA ICELA
GARZON BARRIENTOS
INDICE:
Introducción…………………………………………………………...
Ciclo
FOR………………………………………………………………
While…………………………………………………………………….
Do-while…………………………………………………………………
Bibliografía…………………………………………………………….
INTRODUCCION:
1. C++ y sus utilidades Descripción del Proyecto Queremos
demostrarte que C++ nos permite realizar diferentes proyectos orientados tanto
a la vida cotidiana como en lo laboral.
2. C++ y sus utilidades Objetivo Mostrar al público lo
beneficioso y práctico que es manejar este programa.
3. C++ y sus utilidades Importancia Conocer mejor sus
diferentes usos tanto así como sus ventajas y desventajas.
4. C++ y sus utilidades ¿Qué es C++? C++ es un lenguaje de
programación diseñado a mediados de los años 1980 por Bjarne Stroustrup. La
intención de su creación fue el extender al exitoso lenguaje de programación C
con mecanismos que permitan la manipulación de objetos. En ese sentido, desde
el punto de vista de los lenguajes orientados a objetos, el C++ es un lenguaje
híbrido.
5. C++ y sus utilidades Ventajas Ocupan poco espacio de memoria. Se pueden transportar en cualquier
dispositivo. Son
de fácil manejo para el usuario.
6. C++ y sus utilidades Desventajas Si el programa fuente tiene errores, el
ejecutable tendrá problema de funcionamiento. Es detectado por el antivirus, creyendo
que es un virus o malware.
7. C++ y sus utilidades Características Importantes C++ es un lenguaje de programación
orientado a objetos. Se suele decir que es un lenguaje híbrido, ya que permite
la programación estructurada. Es un
lenguaje de nivel intermedio, pudiéndose utilizar tanto para escribir software
de bajo nivel, como drivers y componentes de sistemas operativos
8. C++ y sus utilidades Características Importantes C++ es un lenguaje de programación
orientado a objetos. Se suele decir que es un lenguaje híbrido, ya que permite
la programación estructurada. Es un
lenguaje de nivel intermedio, pudiéndose utilizar tanto para escribir software
de bajo nivel, como drivers y componentes de sistemas operativos
9. C++ y sus utilidades Diferentes usos Con este lenguaje
puedes programar prácticamente cualquier cosa desde juegos hasta programas de cálculo,
etc...
10. C++ y sus utilidades ¿Por qué los lenguajes de programación?
Porque el código binario es muy difícil de aprender y a la vez muy tedioso y
complicada a la hora de programar, por eso se crearon los lenguajes de
programación, una forma más sencilla de programar a través del propio lenguaje
humano.
11. C++ y sus utilidades Programas en C++Al crear un
programa este nos permite realizar diferentes operaciones que facilitan al
usuario su uso y manejo, dado así una mejor utilidad a los ejecutables que en
este se elaboran.
CICLO FOR:
El bucle for o ciclo for es una estructura de control en
programación en la que se puede indicar de antemano el número mínimo de
iteraciones que la instrucción realizará.1 Está disponible en casi todos los
lenguajes de programación imperativos.
'Variable de control': prácticamente un mandato impuesto
por el uso habitual es utilizar la letra i Iterado como variable de control, o
bien sus sucesoras en caso de bucles anidados. El uso de esta letra críptica
quizás a primera vista es sin embargo una excelente forma de aportar agilidad
de lectura al código por su uso tan extensivo. Como raras veces los bucles
anidados superan las tres dimensiones (por una sencilla cuestión de explosión
exponencial), las letras i, j y k suelen ser las únicas relacionadas con este
uso. En C se define en el primer parámetro de la instrucción junto con la
inicialización (opcional).
Inicialización de la variable de control: en pseudolenguaje
se pide explicitarlo (es la sección:= Valor Inicial), sin embargo, otros
lenguajes más permisivos como C no lo requieren de forma obligatoria. De todos
modos, la práctica de utilizar variables de control que no se inicializan en el
bucle no es recomendada para la legibilidad del código. En C se define en el
primer parámetro del bucle junto con la variable de control.
Condición de control: en pseudolenguaje se ve representado
por el valor final que puede tomar la variable de control (la sección A Valor
Final). En C es el segundo parámetro y puede ser cualquier condición (ni
siquiera es obligación que esté la variable de control, aunque una vez más,
esto no se considera una buena práctica).
Incremento: en pseudolenguaje se toma por defecto el valor
1, aunque puede explicitarse por medio de la sentencia PASO = Valor Paso
cualquier número entero (léase bien entero, o sea que técnicamente podemos
decremento). En C es el último parámetro.
Cuerpo: es lo que se hará en cada iteración, pueden ser una
o más instrucciones. En pseudolenguaje pesa la restricción de no poder alterar
el valor de la variable de control; esto no es requerido en C, pero no se
considera una buena práctica.
Usos:
Su uso principal se orienta a los vectores, pudiendo
modificar, agregar, eliminar o consultar datos que se encuentren según el
índice. Por esto último, una condición mínima del vector es que debe ser
ordenado, porque si se intenta leer un dato inexistente, esto genera un error
de programación.
For en Pseudolenguaje:
La principal diferencia de un bucle PARA con respecto a los
bucles MIENTRAS Y REPETIR, es que puede determinarse al comienzo del bucle
cuántas veces se iterará el mismo, lo cual muchas veces puede redundar en una
optimización del código por parte de los compiladores. Los condicionales
constituyen junto con los bucles los pilares de la programación estructurada, y
su uso es una evolución de una sentencia de lenguaje ensamblador que ejecutaba
la siguiente línea o no en función del valor de una condición.
El bucle PARA se ha convertido en el bucle más ampliamente
utilizado en la programación, ya que con la evolución de los lenguajes la
mayoría de las condiciones de fin.
En la definición del for, tenemos que la variable de
control i se inicializa en un valor 0, luego se entrega la condición de control
que debe ser falsa durante su ejecución, para completar el ciclo; y por último,
tenemos el incrementador en una unidad.
Si por ejemplo en la condición colocamos i < 11,
entonces el ciclo for se ejecutará desde [0...10], lo cual, al intentar acceder
al elemento vector[10], esto generará error, ya que el vector (por definición)
va desde [0..(n-1)].
Cualquiera de los componentes en el paréntesis se puede
omitir, pero los separadores punto y coma deben aparecer siempre. El resultado
es un bucle infinito.
Bucle Por Cada (For Each):
ste bucle es una evolución del concepto del bucle Para en
algunos lenguajes. Se utiliza para recorrer estructuras repetitivas de datos de
forma más simple y ágil. El bucle For Each puede describirse genéricamente (en
pseudolenguaje) de la siguiente manera:
POR CADA elemento DE tipo EN conjunto HACER
Cuerpo
FIN FOR EACH
Elemento: es el nombre de la variable u objeto que toma el
elemento iterado en el cuerpo del bucle.
Tipo de Dato: es el tipo de variable o la clase a la que
pertenece el objeto que se quiere iterar.
Conjunto: es la estructura de datos que se quiere iterar.
El uso más típico es con vectores o -en programación orientada a objetos-
clases del tipo Colección.
Cuerpo: es lo que se hará en cada iteración, pueden ser una
o más instrucciones. Si bien no se impone una obligación al respecto, lo más
común es que en este Cuerpo exista alguna operación sobre el elemento iterado.
Necesidad de una nueva estructura de control [editar]
Esta estructura surge como una innovación en los lenguajes
para permitir un código más ágil y legible en una situación que es una de las
principales causas del uso del bucle PARA: aplicar la misma operación sobre
todos los elementos de un vector, y no necesitar conocer la posición del
elemento en el vector. Esta estructura con el bucle PARA se resuelve de la
siguiente manera:
Con el bucle POR CADA esto se reduce a:
POR CADA x DE tipo EN Vector HACER
x = Alguna
Operación(x)
FIN PARA
Las ventajas de utilizar la estructura POR CADA son las
siguientes:
No es necesario llamar a una función que obtenga el tamaño
del vector
No es necesario utilizar la incómoda notación de
sub-índices para referirnos al valor en cuestión, sobre todo teniendo en cuenta
que si utilizamos esta estructura es porque no necesitamos el valor del índice.
Nos permite hacer un chequeo en tiempo de compilación sobre
el tipo de dato que representa el elemento.
El bucle POR CADA o no es un sustituto del PARA, es una
mejora para el muy frecuente caso anteriormente mencionado. La diferencia
esencial entre el bucle PARA y el POR CADA es que en el primero guía su
iteración por una variable que se incrementa hasta cierto punto de corte; en
cambio en el segundo lo que guía la iteración es el recorrido de todos los
elementos de un vector. Ciertamente podemos transformar cualquier POR CADA en
un PARA, pero transformar un bucle PARA en un bucle POR CADA requeriría
inicializar y controlar manualmente las variables de control, con lo cual se
perdería nuevamente legibilidad en el código. Por tanto, cuando en un lenguaje
se nos da la posibilidad de utilizar ambas estructuras, la elección del POR
CADA debe hacerse en aquellos casos para los que fue pensado: aplicar la misma
operación a todos los elementos de un vector sin importar el orden en que se
hagan; si bien no es necesario que la variable elemento sea utilizada en el
cuerpo del bucle, su ausencia denota con seguridad una mala elección de
estructura de control.
While:
El bucle while o bucle mientras es un ciclo repetitivo
basado en los resultados de una expresión lógica; se encuentra en la mayoría de
los lenguajes de programación estructurados. El propósito es repetir un bloque
de código mientras una condición se mantenga verdadera.
Condición:
La condición ha de ser una sentencia que devuelva un valor
booleano, y esta puede ser el valor booleano sí, verdadero (true) si la
condición se cumple, o falso si esta no se cumple (false). También puede
contener el nombre de una variable booleana, y el valor de la expresión
dependerá de su contenido. Se debe tener en cuenta que además de las variables
también puede haber llamadas a funciones que devuelvan un valor.
Sentencias comparativas:
La forma más obvia tal vez, y la más usada sin duda, son
las sentencias comparativas, que usan los operan dos igual, diferente, menor o
igual, mayor o igual, menor y mayor. En el caso del lenguaje C, se utilizan los
siguientes símbolos para representar las comparaciones anteriores: ==, !=,
<=, >=, <, >,
Particularidades de lenguajes[editar]
En algunos lenguajes, se pueden utilizar variables no
booleanas en la comparación. Por ejemplo, si la variable vale 0 será como si la
condición no se cumpliera, y siempre que sea diferente de 0, se considerará que
la condición se cumple.
Ejemplo (usando sintaxis de C)[editar]
#include
<stdio.h>
int main(){
int tecla = 0;
while(tecla ==
0){
cout
<< mostrar_letra << tecla<<endl; /* Leemos el numero
ingresado */
}
}
En este ejemplo el programa va a leer la pulsación de una
tecla mientras su valor sea igual a 0. En el momento en que se pulse una tecla
distinta se detendrá.
Do-While:
Estructuras operativas:
Hemos visto cómo comprobar condiciones, pero no cómo hacer
que una cierta parte de un programa se repita un cierto número de veces o
mientras se cumpla una condición (lo que llamaremos un “bucle”). En C tenemos
varias formas de conseguirlo.
3.2.1. while
Si queremos hacer que una sección de nuestro programa se
repita mientras se cumpla una cierta condición, usaremos la orden “while”. Esta
orden tiene dos formatos distintos, según comprobemos la condición al principio
o al final.
En el primer caso, su sintaxis es
while (condición)
sentencia;
Es decir, la sentencia se repetirá mientras la condición
sea cierta. Si la condición es falsa ya desde un principio, la sentencia no se
ejecuta nunca. Si queremos que se repita más de una sentencia, basta agruparlas
entre { y }. Como ocurria con "if", puede ser recomendable incluir
siempre las llaves, aunque sea una única sentencia, para evitar errores
posteriores difíciles de localizar.
Un ejemplo que nos diga si cada número que tecleemos es
positivo o negativo, y que pare cuando tecleemos el número 0, podría ser:
/*---------------------------*/
/* Ejemplo en C nº
26: */
/* C026.C */
/*
*/
/* La orden
"while" */
/*
*/
/* Curso de C, */
/* Nacho
Cabanes */
/*---------------------------*/
#include <stdio.h>
int main()
{
int numero;
printf("Teclea
un número (0 para salir): ");
scanf("%d", &numero);
while (numero!=0)
{
if (numero >
0) printf("Es positivo\n");
else
printf("Es negativo\n");
printf("Teclea otro número (0 para salir): ");
scanf("%d", &numero);
}
return 0;
}
En este ejemplo, si se introduce 0 la primera vez, la
condición es falsa y ni siquiera se entra al bloque del “while”, terminando el
programa inmediatamente.
Nota: si recordamos que una
condición falsa se evalúa como el valor 0 y una condición verdadera como una
valor distinto de cero, veremos que ese “while (numero != 0)” se podría
abreviar como “while (numero)”.
Crear un programa que pida al usuario su contraseña
(numérica). Deberá terminar cuando introduzca como contraseña el número 4567,
pero volvérsela a pedir tantas veces como sea necesario.
Crea un programa que escriba en pantalla los números del 1
al 10, usando ?while?.
Crea un programa que escriba en pantalla los números pares
del 26 al 10 (descendiendo), usando ?while?.
Crear un programa calcule cuantas cifras tiene un número
entero positivo (pista: se puede hacer dividiendo varias veces entre 10).
3.2.2. do ... while
Este es el otro formato que puede tener la orden “while”:
la condición se comprueba al final. El punto en que comienza a repetirse se
indica con la orden “do”, así:
do
sentencia;
while (condición);
Al igual que en el caso anterior, si queremos que se
repitan varias órdenes (es lo habitual), deberemos encerrarlas entre llaves.
Nuevamente, puede ser recomendable incluir siempre las llaves, como costumbre.
Como ejemplo, vamos a ver cómo sería el típico programa que
nos pide una clave de acceso y nos nos deja entrar hasta que tecleemos la clave
correcta. Eso sí, como todavía no sabemos manejar cadenas de texto, la clave
será un número:
/*---------------------------*/
/* Ejemplo en C nº
27: */
/* C027.C */
/*
*/
/* La orden
"do..while" */
/*
*/
/* Curso de C, */
/* Nacho
Cabanes */
/*---------------------------*/
#include <stdio.h>
int main()
{
int valida = 711;
int clave;
do
{
printf("Introduzca su clave numérica: ");
scanf("%d", &clave);
if (clave !=
valida) printf("No válida!\n");
}
while (clave !=
valida);
printf("Aceptada.\n");
return 0;
}
En este caso, se comprueba la condición al final, de modo
que se nos preguntará la clave al menos una vez. Mientras que la respuesta que
demos no sea la correcta, se nos vuelve a preguntar. Finalmente, cuando
tecleamos la clave correcta, el ordenador escribe “Aceptada” y termina el
programa.
Ejercicios propuestos:
Crear un programa que pida números positivos al usuario, y
vaya calculando la suma de todos ellos (terminará cuando se teclea un número
negativo o cero).
Crea un programa que escriba en pantalla los números del 1
al 10, usando "do..while".
Crea un programa que escriba en pantalla los números pares
del 26 al 10 (descendiendo), usando "do..while".
Crea un programa que pida al usuario su código de usuario
(un número entero) y su contraseña numérica (otro número entero), y no le
permita seguir hasta que introduzca como código 1024 y como contraseña 4567.
3.2.3. for
Ésta es la orden que usaremos habitualmente para crear
partes del programa que se repitan un cierto número de veces. El formato de
“for” es
for (valorInicial; CondiciónRepetición; Incremento)
Sentencia;
Así, para contar del 1 al 10, tendríamos 1 como valor
inicial, <=10 como condición de repetición, y el incremento sería de 1 en 1.
Por tanto, el programa quedaría:
/*---------------------------*/
/* Ejemplo en C nº
28: */
/* C028.C */
/* */
/* Uso básico de
"for" */
/*
*/
/* Curso de C, */
/* Nacho
Cabanes */
/*---------------------------*/
#include <stdio.h>
int main()
{
int contador;
for (contador=1;
contador<=10; contador++)
printf("%d
", contador);
return 0;
}
Recordemos que “contador++” es una forma abreviada de
escribir “contador=contador+1”, de modo que en este ejemplo aumentamos la
variable de uno en uno.
Ejercicios propuestos:
Crear un programa que muestre los números del 15 al 5,
descendiendo (pista: en cada pasada habrá que descontar 1, por ejemplo haciendo
i--).
Crear un programa que muestre los primeros ocho números
pares (pista: en cada pasada habrá que aumentar de 2 en 2, o bien mostrar el
doble del valor que hace de contador).
En un “for”, realmente, la parte que hemos llamado
“Incremento” no tiene por qué incrementar la variable, aunque ése es su uso más
habitual. Es simplemente una orden que se ejecuta cuando se termine la
“Sentencia” y antes de volver a comprobar si todavía se cumple la condición de
repetición.
Por eso, si escribimos la siguiente línea:
for (contador=1; contador<=10; )
la variable “contador” no se incrementa nunca, por lo que
nunca se cumplirá la condición de salida: nos quedamos encerrados dando vueltas
dentro de la orden que siga al “for”.
Un caso todavía más exagerado de algo a lo que se entra y
de lo que no se sale sería la siguiente orden:
for ( ; ; )
Los bucles “for” se pueden anidar (incluir uno dentro de
otro), de modo que podríamos escribir las tablas de multiplicar del 1 al 5 con:
/*---------------------------*/
/* Ejemplo en C nº
29: */
/* C029.C */
/*
*/
/* "for"
anidados */
/*
*/
/* Curso de C, */
/* Nacho
Cabanes */
/*---------------------------*/
#include <stdio.h>
int main()
{
int tabla, numero;
for (tabla=1; tabla<=5;
tabla++)
for (numero=1;
numero<=10; numero++)
printf("%d
por %d es %d\n", tabla, numero, tabla*numero);
return 0;
}
En estos ejemplos que hemos visto, después de “for” había
una única sentencia. Si queremos que se hagan varias cosas, basta definirlas
como un bloque (una sentencia compuesta) encerrándolas entre llaves. Por
ejemplo, si queremos mejorar el ejemplo anterior haciendo que deje una línea en
blanco entre tabla y tabla, sería:
/*---------------------------*/
/* Ejemplo en C nº
30: */
/* C030.C */
/*
*/
/* "for"
anidados (2) */
/*
*/
/* Curso de C, */
/* Nacho
Cabanes */
/*---------------------------*/
#include <stdio.h>
int main()
{
int tabla, numero;
for (tabla=1; tabla<=5;
tabla++)
{
for
(numero=1; numero<=10; numero++)
printf("%d por %d es %d\n", tabla, numero, tabla*numero);
printf("\n");
}
return 0;
}
Al igual que ocurría con "if" y con
"while", suele ser buena costumbre incluir siempre las llaves, aunque
haya una única orden que se repita en el "for", para evitar
funcionamientos incorrectos si después hay que añadir más sentencias que deban
repetirse y se olvida incluir las llaves en ese momento.
Para “contar” no necesariamente hay que usar números. Por
ejemplo, podemos contar con letras así:
/*---------------------------*/
/* Ejemplo en C nº
31: */
/* C031.C */
/*
*/
/* "for"
que usa "char" */
/*
*/
/* Curso de C, */
/* Nacho
Cabanes */
/*---------------------------*/
#include <stdio.h>
int main()
{
char letra;
for (letra='a';
letra<='z'; letra++)
printf("%c", letra);
return 0;
}
En este caso, empezamos en la “a” y terminamos en la “z”,
aumentando de uno en uno.
Si queremos contar de forma decreciente, o de dos en dos, o
como nos interese, basta indicarlo en la condición de finalización del “for” y
en la parte que lo incrementa:
/*---------------------------*/
/* Ejemplo en C nº
32: */
/* C032.C */
/*
*/
/* "for"
que descuenta */
/*
*/
/* Curso de C, */
/* Nacho Cabanes */
/*---------------------------*/
#include
<stdio.h>
int main()
{
char letra;
for (letra='z';
letra>='a'; letra-=2)
printf("%c", letra);
return 0;
}
Ejercicios propuestos:
Crear un programa que muestre las letras de la Z (mayúscula)
a la A (mayúscula, descendiendo).
Crear un programa que escriba en pantalla la tabla de
multiplicar del 6.
Crear un programa que escriba en pantalla los números del 1
al 50 que sean múltiplos de 3 (pista: habrá que recorrer todos esos números y
ver si el resto de la división entre 3 resulta 0).
entencia break: termina el bucle
Podemos salir de un bucle “for” antes de tiempo con la
orden “break”:
/*---------------------------*/
/* Ejemplo en C nº
33: */
/* C033.C */
/* */
/* "for"
interrumpido con */
/*
"break"
*/
/*
*/
/* Curso de C, */
/* Nacho
Cabanes */
/*---------------------------*/
#include <stdio.h>
int main()
{
int i;
for (i=0; i<=10; i++)
{
if (i==5) break;
printf("%d ", i);
}
return 0;
}
El resultado de este programa es:
0 1 2 3 4
(en cuanto se llega al valor 5, se interrumpe el “for”, por
lo que no se alcanza el valor 10).
Ejercicio propuesto:
Crear un programa que pida un número al usuario (entre 1 y
100) y muestre tantas letras A como indique ese número, usando
"break" para terminar.
BIBLIOGRAFIA:
Imágenes echas anónimamente tomadas de estas paginas:
paginas en internet:
CICLO FOR 2003 colombia
while Joyanes Aguilar, Luis (2013). Fundamentos generales
de programación. Mc Graw Hill. ISBN 978-607-15-0818-8
do while
06-12-2017 01:24 cifrado [Pseudoc]
05-12-2017 17:20 SerialCom [Java]
04-12-2017 17:39 poner 2 fuciones java script en una pagina
[Javascript]
03-12-2017 04:23 Problema con un Parcial de C [C]
03-12-2017 03:38 [Phyton 2.7]Objeto en forma de espiral.
[Python]