Transcript Unidad I. Algoritmos y Programas
Slide 1
Unidad I. Algoritmos y Programas
Estructuras de Control de Repetición
Las estructuras de control repetitivas permiten que un
grupo de acciones se repitan varias veces dentro del
algoritmo.
Mientras
Repetir
Para
(Joyanes, 1998:149)
Slide 2
Unidad I. Algoritmos y Programas
Variables Auxiliares
CONTADOR: es una variable cuyo valor se incrementa o decrementa
en una cantidad constante en cada iteración.
Contador Contador + Constante
ACUMULADOR: es una variable que almacena cantidades resultantes
de sumas sucesivas en cada iteración.
Acumulador Acumulador + Variable
(Joyanes y Otros, 1999:296)
Slide 3
Unidad I. Algoritmos y Programas
Estructura Repetitiva Mientras
Formato
Mientras Expresión Lógica Hacer
Acción o Acciones
Fin Mientras
Funcionamiento
Mientras el resultado de la expresión lógica sea
Verdadero, se realizarán iteraciones donde se ejecutarán
las acciones encerradas en el cuerpo del bucle.
(Joyanes,1998:148)
Slide 4
Unidad I. Algoritmos y Programas
Estructura Repetitiva Mientras
SINTAXIS
while (Expresión Lógica )
{
sentencia o sentencias a ejecutar
}
Funcionamiento
Mientras el resultado de la expresión lógica sea
Verdadero, se realizarán iteraciones donde se ejecutarán
las acciones encerradas en el cuerpo del bucle.
(Joyanes,1998:148)
Slide 5
Unidad I. Algoritmos y Programas
Uso de Contadores y Acumuladores en Ciclos
Suma 0
Articulo 0
Estructura repetitiva para sumar
los precios de 3 artículos.
Mientras (Articulo < 3) Hacer
Articulo Articulo + 1
Escribir “Introduzca Precio del Artículo # ”, Articulo
Leer Precio
Suma Suma + Precio
Fin Mientras
Escribir “El resultado de la suma es = “, Suma
Slide 6
Unidad I. Algoritmos y Programas
Uso de Contadores y Acumuladores en Ciclos
Estructura repetitiva para sumar
include
los precios de 3 artículos,
using namespace std;
main()
codificado en c++
{
float Precio, Suma;
int Articulo;
Suma = 0;
//inicialización del acumulador, es obligatorio
Articulo = 0;
//inicialización del contador, es obligatorio
//la expresion logica del while, evalua que si van menos de 3 articulos procesados
while (Articulo < 3)
{
Articulo= Articulo + 1;
//incremento el contador de articulos
cout<< "Introduzca Precio del Artículo # "< cin>>Precio;
//se lee el precio del articulo en proceso
Suma = Suma + Precio; //se va guardando la suma de todos los precios
} //fin del while
cout<< "El resultado de la suma es = "< //endl hace igual funcion que \n
system("pause");
}
Slide 7
Unidad I. Algoritmos y Programas
Uso de Contadores y Acumuladores en Ciclos
CÓMO VALIDAR LA ENTRADA: SIMPLEMENTE UTILIZANDO UN CICLO QUE
ENCIERRE LA ENTRADA DE DATOS Y LA REPITA MIENTRAS QUE SE HAYA
COMETIDO UN ERROR, QUE EN ESTE CASO SERÍA, INTRODUCIR UN NUMERO
NEGATIVO. ENTONCES EL PSEUDOCÓDIGO QUEDARÍA ASÍ:
Escribir "Introduzca Precio del Artículo # “, Articulo
Leer Precio
Mientras (Precio< 0) Hacer
Escribir "Introduzca Nuevamente el Precio, dado que introdujo un valor negativo”
Leer Precio
Fin Mientras
LA CODIFICACIÓN EN C++ SERÍA:
cout << "Introduzca Precio del Artículo # “<< Articulo;
cin>> Precio;
while (Precio< 0) {
cout << "Introduzca Nuevamente el Precio, dado que introdujo un valor negativo”;
cin>> Precio;
}
Slide 8
Unidad I. Algoritmos y Programas
Uso de Contadores y Acumuladores en Ciclos
FÍJESE QUE EN EL EJERCICIO ANTERIOR, EL PRECIO QUE INTRODUCE EL
USUARIO, PUEDE SER NEGATIVO, SI QUEREMOS EVITAR ESTA
INCONSISTENCIA, PODEMOS VALIDAR EL DATO POR SU RANGO DE
VALORES.
CÓMO: SIMPLEMENTE UTILIZANDO UN CICLO QUE ENCIERRE LA ENTRADA DE
DATOS Y LA REPITA MIENTRAS QUE SE HAYA COMETIDO UN ERROR, QUE EN
ESTE CASO SERÍA, INTRODUCIR UN NÑUMERO NEGATIVO. ENTONCES EN EL
LENGUAJE, LA ENTRADA DE DATOS QUEDARÍA ASÍ:
cout << "Introduzca Precio del Artículo # “<< Articulo;
cin>> Precio;
while (Precio< 0) {
cout << "Introduzca Nuevamente el Precio, dado que introdujo un valor negativo”;
cin>> Precio;
}
Slide 9
Unidad I. Algoritmos y Programas
Estructura Repetitiva Repetir
Formato
Repetir
Acción o Acciones
Hasta Expresión Lógica
Funcionamiento
Repetir (realizar iteraciones) hasta que la
expresión lógica resulte Verdadero.
Slide 10
Unidad I. Algoritmos y Programas
Estructura Repetitiva Repetir
SINTAXIS
C NO DISPONE DE LA ACCION
REPETIR, PERO LA PODEMOS
SIMULAR CON LA SENTENCIA DOWHILE, NEGANDO LA EXPRESION
LOGICA USADA EN EL REPETIR
do {
Acción o Acciones
}while (! (Expresión Lógica) );
Funcionamiento
Repetir (realizar iteraciones) mientras que la
expresión lógica resulte Verdadero.
Slide 11
Unidad I. Algoritmos y Programas
Ejemplo con Estructura Repetir
Validación de un dato de entrada:
Repetir
Escribir “Introduzca la nota a procesar [0..10]:”
Leer nota
Hasta ((nota >=0) Y (nota <= 10))
Repetir
Escribir “Introduzca la nota a procesar [0..10]:”
Leer nota
Si ((nota < 0) O (nota > 10)) Entonces
Escribir “Error, la nota está fuera del rango.”
Fin Si
Hasta ((nota >=0) Y (nota <= 10))
Slide 12
Unidad I. Algoritmos y Programas
Ejemplo con Estructura Repetir
Validación de un dato de entrada en c++
#include
using namespace std;
main()
{
float nota;
do {
cout << "Introduzca la nota a procesar [0..10]:"< cin >> nota;
if ((nota < 0) || (nota > 10))
cout << "Error, la nota esta fuera del rango"< } while (!((nota >=0) & (nota <= 10)));
cout << "La nota es correcta = "< system("pause");
}
Slide 13
Unidad I. Algoritmos y Programas
Estructura Repetitiva Para
Formato
Para Variable = Vi Hasta Vf Inc o Dec [Valor]
Acción o Acciones
Fin Para
Funcionamiento
Realiza una iteración por cada valor que tome
Variable.
Slide 14
Unidad I. Algoritmos y Programas
Ejemplo con Estructura Repetitiva Para
Estructura repetitiva para sumar
los precios de 3 artículos.
Suma 0
Para Articulo = 1 Hasta 3
Escribir “Introduzca Precio del Artículo # ”, Articulo
Leer Precio
Suma Suma + Precio
Fin Para
Escribir “El resultado de la suma es “, Suma
Slide 15
Unidad I. Algoritmos y Programas
Ejemplo con Estructura Repetitiva Para
Estructura repetitiva para sumar los precios de 3 artículos, en c++
#include
using namespace std;
main()
{
float Precio, Suma;
int Articulo;
Suma = 0;
//inicialización del acumulador, es obligatorio
Articulo = 0; //inicialización del contador, es obligatorio
cout<< "PROGRAMA QUE PROCESA PRECIO DE 3 ARTICULOS Y LOS SUMA"<< endl;
for (Articulo = 1; Articulo <= 3; Articulo ++)
{
cout<< "Introduzca Precio del Articulo # "< cin>>Precio; //se lee el precio del articulo en proceso
Suma = Suma + Precio; //se va guardando la suma de todos los precios
} //fin del for
cout<< "El resultado de la suma es = "< system("pause");
}
Unidad I. Algoritmos y Programas
Estructuras de Control de Repetición
Las estructuras de control repetitivas permiten que un
grupo de acciones se repitan varias veces dentro del
algoritmo.
Mientras
Repetir
Para
(Joyanes, 1998:149)
Slide 2
Unidad I. Algoritmos y Programas
Variables Auxiliares
CONTADOR: es una variable cuyo valor se incrementa o decrementa
en una cantidad constante en cada iteración.
Contador Contador + Constante
ACUMULADOR: es una variable que almacena cantidades resultantes
de sumas sucesivas en cada iteración.
Acumulador Acumulador + Variable
(Joyanes y Otros, 1999:296)
Slide 3
Unidad I. Algoritmos y Programas
Estructura Repetitiva Mientras
Formato
Mientras Expresión Lógica Hacer
Acción o Acciones
Fin Mientras
Funcionamiento
Mientras el resultado de la expresión lógica sea
Verdadero, se realizarán iteraciones donde se ejecutarán
las acciones encerradas en el cuerpo del bucle.
(Joyanes,1998:148)
Slide 4
Unidad I. Algoritmos y Programas
Estructura Repetitiva Mientras
SINTAXIS
while (Expresión Lógica )
{
sentencia o sentencias a ejecutar
}
Funcionamiento
Mientras el resultado de la expresión lógica sea
Verdadero, se realizarán iteraciones donde se ejecutarán
las acciones encerradas en el cuerpo del bucle.
(Joyanes,1998:148)
Slide 5
Unidad I. Algoritmos y Programas
Uso de Contadores y Acumuladores en Ciclos
Suma 0
Articulo 0
Estructura repetitiva para sumar
los precios de 3 artículos.
Mientras (Articulo < 3) Hacer
Articulo Articulo + 1
Escribir “Introduzca Precio del Artículo # ”, Articulo
Leer Precio
Suma Suma + Precio
Fin Mientras
Escribir “El resultado de la suma es = “, Suma
Slide 6
Unidad I. Algoritmos y Programas
Uso de Contadores y Acumuladores en Ciclos
Estructura repetitiva para sumar
include
los precios de 3 artículos,
using namespace std;
main()
codificado en c++
{
float Precio, Suma;
int Articulo;
Suma = 0;
//inicialización del acumulador, es obligatorio
Articulo = 0;
//inicialización del contador, es obligatorio
//la expresion logica del while, evalua que si van menos de 3 articulos procesados
while (Articulo < 3)
{
Articulo= Articulo + 1;
//incremento el contador de articulos
cout<< "Introduzca Precio del Artículo # "<
//se lee el precio del articulo en proceso
Suma = Suma + Precio; //se va guardando la suma de todos los precios
} //fin del while
cout<< "El resultado de la suma es = "<
system("pause");
}
Slide 7
Unidad I. Algoritmos y Programas
Uso de Contadores y Acumuladores en Ciclos
CÓMO VALIDAR LA ENTRADA: SIMPLEMENTE UTILIZANDO UN CICLO QUE
ENCIERRE LA ENTRADA DE DATOS Y LA REPITA MIENTRAS QUE SE HAYA
COMETIDO UN ERROR, QUE EN ESTE CASO SERÍA, INTRODUCIR UN NUMERO
NEGATIVO. ENTONCES EL PSEUDOCÓDIGO QUEDARÍA ASÍ:
Escribir "Introduzca Precio del Artículo # “, Articulo
Leer Precio
Mientras (Precio< 0) Hacer
Escribir "Introduzca Nuevamente el Precio, dado que introdujo un valor negativo”
Leer Precio
Fin Mientras
LA CODIFICACIÓN EN C++ SERÍA:
cout << "Introduzca Precio del Artículo # “<< Articulo;
cin>> Precio;
while (Precio< 0) {
cout << "Introduzca Nuevamente el Precio, dado que introdujo un valor negativo”;
cin>> Precio;
}
Slide 8
Unidad I. Algoritmos y Programas
Uso de Contadores y Acumuladores en Ciclos
FÍJESE QUE EN EL EJERCICIO ANTERIOR, EL PRECIO QUE INTRODUCE EL
USUARIO, PUEDE SER NEGATIVO, SI QUEREMOS EVITAR ESTA
INCONSISTENCIA, PODEMOS VALIDAR EL DATO POR SU RANGO DE
VALORES.
CÓMO: SIMPLEMENTE UTILIZANDO UN CICLO QUE ENCIERRE LA ENTRADA DE
DATOS Y LA REPITA MIENTRAS QUE SE HAYA COMETIDO UN ERROR, QUE EN
ESTE CASO SERÍA, INTRODUCIR UN NÑUMERO NEGATIVO. ENTONCES EN EL
LENGUAJE, LA ENTRADA DE DATOS QUEDARÍA ASÍ:
cout << "Introduzca Precio del Artículo # “<< Articulo;
cin>> Precio;
while (Precio< 0) {
cout << "Introduzca Nuevamente el Precio, dado que introdujo un valor negativo”;
cin>> Precio;
}
Slide 9
Unidad I. Algoritmos y Programas
Estructura Repetitiva Repetir
Formato
Repetir
Acción o Acciones
Hasta Expresión Lógica
Funcionamiento
Repetir (realizar iteraciones) hasta que la
expresión lógica resulte Verdadero.
Slide 10
Unidad I. Algoritmos y Programas
Estructura Repetitiva Repetir
SINTAXIS
C NO DISPONE DE LA ACCION
REPETIR, PERO LA PODEMOS
SIMULAR CON LA SENTENCIA DOWHILE, NEGANDO LA EXPRESION
LOGICA USADA EN EL REPETIR
do {
Acción o Acciones
}while (! (Expresión Lógica) );
Funcionamiento
Repetir (realizar iteraciones) mientras que la
expresión lógica resulte Verdadero.
Slide 11
Unidad I. Algoritmos y Programas
Ejemplo con Estructura Repetir
Validación de un dato de entrada:
Repetir
Escribir “Introduzca la nota a procesar [0..10]:”
Leer nota
Hasta ((nota >=0) Y (nota <= 10))
Repetir
Escribir “Introduzca la nota a procesar [0..10]:”
Leer nota
Si ((nota < 0) O (nota > 10)) Entonces
Escribir “Error, la nota está fuera del rango.”
Fin Si
Hasta ((nota >=0) Y (nota <= 10))
Slide 12
Unidad I. Algoritmos y Programas
Ejemplo con Estructura Repetir
Validación de un dato de entrada en c++
#include
using namespace std;
main()
{
float nota;
do {
cout << "Introduzca la nota a procesar [0..10]:"<
if ((nota < 0) || (nota > 10))
cout << "Error, la nota esta fuera del rango"<
cout << "La nota es correcta = "<
}
Slide 13
Unidad I. Algoritmos y Programas
Estructura Repetitiva Para
Formato
Para Variable = Vi Hasta Vf Inc o Dec [Valor]
Acción o Acciones
Fin Para
Funcionamiento
Realiza una iteración por cada valor que tome
Variable.
Slide 14
Unidad I. Algoritmos y Programas
Ejemplo con Estructura Repetitiva Para
Estructura repetitiva para sumar
los precios de 3 artículos.
Suma 0
Para Articulo = 1 Hasta 3
Escribir “Introduzca Precio del Artículo # ”, Articulo
Leer Precio
Suma Suma + Precio
Fin Para
Escribir “El resultado de la suma es “, Suma
Slide 15
Unidad I. Algoritmos y Programas
Ejemplo con Estructura Repetitiva Para
Estructura repetitiva para sumar los precios de 3 artículos, en c++
#include
using namespace std;
main()
{
float Precio, Suma;
int Articulo;
Suma = 0;
//inicialización del acumulador, es obligatorio
Articulo = 0; //inicialización del contador, es obligatorio
cout<< "PROGRAMA QUE PROCESA PRECIO DE 3 ARTICULOS Y LOS SUMA"<< endl;
for (Articulo = 1; Articulo <= 3; Articulo ++)
{
cout<< "Introduzca Precio del Articulo # "<
Suma = Suma + Precio; //se va guardando la suma de todos los precios
} //fin del for
cout<< "El resultado de la suma es = "<
}