viernes, 9 de octubre de 2026

01m.- Programación I - Parcial Nro. 1 - CALIFICACIONES

 


01l.- Programación I - Parcial Nro. 1 (2027 - I) - Modelo B (Solución del Profesor)

En Venezuela el gobierno venezolano implemento la venta de gasolina subsidiada por número de finalización de placa, sin embargo, el día de hoy el gobierno ha modificado el sistema. El gobierno ahora surtirá gasolina bajo el siguiente esquema

 

1er día carros cuyas placas terminen en 1 y 2

2do día carros cuyas placas terminen en 3, 4 y 5

3er día carros cuyas placas terminen en 6 y 7

4to día carros cuyas placas terminen en 8, 9 y 0

Y Luego se repite el ciclo nuevamente.

 

El Gobierno ejecutará este cambio a partir del viernes 9 de octubre de 2026 arrancando con los vehículos que terminen en 1 y 2

Modifique su programa en el cual usted ingrese una fecha cualquiera comprendida entre el día 9 de octubre de 2026 y el 31 de diciembre de 2080 y el programa retorne el número de las placas que les correspondería surtir gasolina subsidiada para ese día. (Recuerde que su programa deberá considerar los años bisiestos donde febrero tiene 29 días: 2028, 2032, 2036, 2040, 2044, 2048, 2052, 2056, 2060, 2064, 2068, 2072, 2076 y 2080).

Indique según su programa que placa corresponde para las fechas que le indicara el profesor cuando el programa esté listo.


Programa


/*  Programa: Este programa determina los terminales de las
     placas de los vehículos que les toca recibir gasolina
    subsidiada en Venezuela en base a una fecha ingresada.
    (rango 09 de Octubre de 2026 a 31 de dic de 2080)
    Elaborado por Carlos Ferrer
    Rev: 09 Oct del 2026 (Modelo B)

*/

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

main() 
{

setlocale (LC_ALL,"spanish");
Repetir:
// Inicializamos las Variables día, mes y año a buscar

int a_b = 0;
int mes_b = 0;
int dia_b = 0;

// Variable que indica si el año es bisiesto

bool Bisiesto;

// Cantidad de días del mes en curso

int dia_m;

/* Establecemos la fecha de arranque 09 de Octubre de 2026 y las placas = 1
    (1= 1 y 2   2= 3, 4 y 5    3= 6 y 7   4= 8, 9 y 0)
*/


system ("cls");

int dia = 9;
int mes = 10;
int a = 2026;
int placas = 1;
string aux;

string aux2[12] = {"Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre"};

// Solicitamos el año a buscar

while (a_b < 2026 or a_b > 2080) 
{
    cout << "Ingrese año a buscar = ";
    cin >> a_b;
    if (a_b < 2025 or a_b > 2080) 
{
        system("cls");
        cout << "Alerta fuera de rango!!!"<<endl;
        cout << "debe pertenecer al rango (21 de mar de 2025 a 31 de dic 2080)"<<endl<<endl;
        }
    }


    // Solicitamos el mes a buscar
while (mes_b < 1 or mes_b > 12 or (a_b == 2025 and mes_b < 3)) 
{
    cout << "Ingrese mes a buscar = ";
    cin >> mes_b;
    if (mes_b < 1 or mes_b > 12 or (a_b == 2025 and mes_b < 3)) 
{
        system("cls");
        cout << "Alerta mes fuera de rango!!"<<endl;
        cout << "debe pertenecer al rango (21 de mar de 2025 a 31 de dic 2080)"<<endl<<endl;
        }
    }


/* Averiguamos si el año es bisiesto
   Un año es bisiesto si se cumple cualquiera de las siguientes dos condiciones: 
(1) es divisible entre 4 y no lo es entre 100 
(2) es divisible entre 4, 100 y 400 */

Bisiesto = ((a_b % 4 == 0 and a_b % 100 != 0) or (a_b % 4 == 0 and a_b % 100 == 0 and a_b % 400 == 0));

// Si es un mes de treinta días establecemos su duración en 30

if (mes_b == 11 or mes_b == 4 or mes_b == 6 or mes_b == 9) 
{
    dia_m = 30;
    }

// Si el año es Bisiesto establecemos que febrero dura 29 días

else if (mes_b == 2 and Bisiesto) 
{
    dia_m = 29;
    }

// Si el año NO es Bisiesto establecemos que febrero dura 28 días
else if (mes_b == 2 and !Bisiesto) 
{
    dia_m = 28;
    }

// Si es un mes de treinta y un días establecemos su duración en 31

else 
{
    dia_m = 31;
    }

// Solicitamos el día a buscar

while (dia_b < 1 or dia_b > dia_m or (a_b == 2025 and mes_b == 3 and dia_b < 21)) 
{
    cout << "Ingrese dia a buscar = ";
    cin >> dia_b;
    if (dia_b < 1 or dia_b > dia_m or (a_b == 2025 and mes_b == 3 and dia_b < 21)) 
{
        system("cls");
        cout << "Alerta dia fuera de rango!!"<<endl;
        cout << "debe pertenecer al rango (21 de mar de 2025 a 31 de dic 2080)"<<endl<<endl;
        }
    }

/* Barremos todas las fechas desde el 01 de Octubre 2024
   Hasta conseguir la fecha buscada*/

    while (a <= 2080) 
{
// Determinamos si el año en movimiento es bisiesto
    Bisiesto = ((a % 4 == 0 and a % 100 != 0) or (a % 4 == 0 and a % 100 == 0 and a % 400 == 0));

// Si la fecha es igual a la buscada nos salimos del ciclo

    if (a == a_b and mes == mes_b and dia == dia_b) 
{
        break; //instrucción que te saca del ciclo
        }

// De lo contrario incrementamos el día de la semana
    dia=dia+1;
    placas=placas+1;


// Verificamos un cambio de mes
    if (dia == 31 and (mes == 11 or mes == 6 or mes == 4 or mes == 9)) 
{
        dia = 1;
        mes=mes+1;
        } 

else if (dia == 29 and mes == 2 and !Bisiesto) 
{
        dia = 1;
        mes=mes+1;
        } 

else if (dia == 30 and mes == 2 and Bisiesto) 
{
        dia = 1;
        mes=mes+1;
        } 

else if (dia == 32) 
{
        dia = 1;
        mes=mes+1;
        }



 // Verificamos un cambio de año
    if (mes == 13) 
{
        mes = 1;
        a=a+1;
        }

// Verificamos el reseteo del ciclo

    if (placas == 5) 
{
            placas = 1;
        }
    }

// Imprimimos el resultado

if (placas == 1) 
{
aux = "1 y 2";
}

if (placas == 2) 
{
aux = "3, 4 y 5";
}

if (placas == 3) 
{
aux = "6 y 7";
}

if (placas == 4) 
{
aux = "8, 9 y 0";
}   

    cout <<endl;
    cout << "El " << dia << " del mes de " << aux2[mes-1] << " de " << a << " surtiran"<<endl;
    cout << "gasolina los vehiculos con placas que finalicen en: " << aux <<endl;
    cout <<endl;
    
    system("pause");
    goto Repetir;

}




01k.- Programación I - Parcial Nro. 1 (2027 - I) - Modelo A (Solución del Profesor)

En Venezuela el gobierno venezolano implemento la venta de gasolina subsidiada por número de finalización de placa, sin embargo, el día de hoy el gobierno ha modificado el sistema. El gobierno ahora surtirá gasolina bajo el siguiente esquema

 

1er día carros cuyas placas terminen en 1,2 y 3

2do día carros cuyas placas terminen en 4 y 5

3er día carros cuyas placas terminen en 6 , 7 y 8

4to día carros cuyas placas terminen en 9 y 0

Y Luego se repite el ciclo nuevamente.

 

El Gobierno ejecutará este cambio a partir del viernes 9 de octubre de 2026 arrancando con los vehículos que terminen en 1,2 y 3

Modifique su programa en el cual usted ingrese una fecha cualquiera comprendida entre el día 9 de octubre de 2026 y el 31 de diciembre de 2080 y el programa retorne el número de las placas que les correspondería surtir gasolina subsidiada para ese día. (Recuerde que su programa deberá considerar los años bisiestos donde febrero tiene 29 días: 2028, 2032, 2036, 2040, 2044, 2048, 2052, 2056, 2060, 2064, 2068, 2072, 2076 y 2080).

Indique según su programa que placa corresponde para las fechas que le indicara el profesor cuando el programa esté listo.

Programa


/*  Programa: Este programa determina los terminales de las
     placas de los vehículos que les toca recibir gasolina
    subsidiada en Venezuela en base a una fecha ingresada.
    (rango 09 de Octubre de 2026 a 31 de dic de 2080)
    Elaborado por Carlos Ferrer
    Rev: 09 Oct del 2026 (Modelo A)

*/

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

main() 
{

setlocale (LC_ALL,"spanish");
Repetir:
// Inicializamos las Variables día, mes y año a buscar

int a_b = 0;
int mes_b = 0;
int dia_b = 0;

// Variable que indica si el año es bisiesto

bool Bisiesto;

// Cantidad de días del mes en curso

int dia_m;

/* Establecemos la fecha de arranque 09 de Octubre de 2026 y las placas = 1
    (1= 1, 2 y 3   2= 4 y 5    3= 6,7 y 8   4= 9 y 0)
*/


system ("cls");

int dia = 9;
int mes = 10;
int a = 2026;
int placas = 1;
string aux;

string aux2[12] = {"Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre"};

// Solicitamos el año a buscar

while (a_b < 2026 or a_b > 2080) 
{
    cout << "Ingrese año a buscar = ";
    cin >> a_b;
    if (a_b < 2025 or a_b > 2080) 
{
        system("cls");
        cout << "Alerta fuera de rango!!!"<<endl;
        cout << "debe pertenecer al rango (21 de mar de 2025 a 31 de dic 2080)"<<endl<<endl;
        }
    }


    // Solicitamos el mes a buscar
while (mes_b < 1 or mes_b > 12 or (a_b == 2025 and mes_b < 3)) 
{
    cout << "Ingrese mes a buscar = ";
    cin >> mes_b;
    if (mes_b < 1 or mes_b > 12 or (a_b == 2025 and mes_b < 3)) 
{
        system("cls");
        cout << "Alerta mes fuera de rango!!"<<endl;
        cout << "debe pertenecer al rango (21 de mar de 2025 a 31 de dic 2080)"<<endl<<endl;
        }
    }


/* Averiguamos si el año es bisiesto
   Un año es bisiesto si se cumple cualquiera de las siguientes dos condiciones: 
(1) es divisible entre 4 y no lo es entre 100 
(2) es divisible entre 4, 100 y 400 */

Bisiesto = ((a_b % 4 == 0 and a_b % 100 != 0) or (a_b % 4 == 0 and a_b % 100 == 0 and a_b % 400 == 0));

// Si es un mes de treinta días establecemos su duración en 30

if (mes_b == 11 or mes_b == 4 or mes_b == 6 or mes_b == 9) 
{
    dia_m = 30;
    }

// Si el año es Bisiesto establecemos que febrero dura 29 días

else if (mes_b == 2 and Bisiesto) 
{
    dia_m = 29;
    }

// Si el año NO es Bisiesto establecemos que febrero dura 28 días
else if (mes_b == 2 and !Bisiesto) 
{
    dia_m = 28;
    }

// Si es un mes de treinta y un días establecemos su duración en 31

else 
{
    dia_m = 31;
    }

// Solicitamos el día a buscar

while (dia_b < 1 or dia_b > dia_m or (a_b == 2025 and mes_b == 3 and dia_b < 21)) 
{
    cout << "Ingrese dia a buscar = ";
    cin >> dia_b;
    if (dia_b < 1 or dia_b > dia_m or (a_b == 2025 and mes_b == 3 and dia_b < 21)) 
{
        system("cls");
        cout << "Alerta dia fuera de rango!!"<<endl;
        cout << "debe pertenecer al rango (21 de mar de 2025 a 31 de dic 2080)"<<endl<<endl;
        }
    }

/* Barremos todas las fechas desde el 01 de Octubre 2024
   Hasta conseguir la fecha buscada*/

    while (a <= 2080) 
{
// Determinamos si el año en movimiento es bisiesto
    Bisiesto = ((a % 4 == 0 and a % 100 != 0) or (a % 4 == 0 and a % 100 == 0 and a % 400 == 0));

// Si la fecha es igual a la buscada nos salimos del ciclo

    if (a == a_b and mes == mes_b and dia == dia_b) 
{
        break; //instrucción que te saca del ciclo
        }

// De lo contrario incrementamos el día de la semana
    dia=dia+1;
    placas=placas+1;


// Verificamos un cambio de mes
    if (dia == 31 and (mes == 11 or mes == 6 or mes == 4 or mes == 9)) 
{
        dia = 1;
        mes=mes+1;
        } 

else if (dia == 29 and mes == 2 and !Bisiesto) 
{
        dia = 1;
        mes=mes+1;
        } 

else if (dia == 30 and mes == 2 and Bisiesto) 
{
        dia = 1;
        mes=mes+1;
        } 

else if (dia == 32) 
{
        dia = 1;
        mes=mes+1;
        }



 // Verificamos un cambio de año
    if (mes == 13) 
{
        mes = 1;
        a=a+1;
        }

// Verificamos el reseteo del ciclo

    if (placas == 5) 
{
            placas = 1;
        }
    }

// Imprimimos el resultado

if (placas == 1) 
{
aux = "1, 2 y 3";
}

if (placas == 2) 
{
aux = "4 y 5";
}

if (placas == 3) 
{
aux = "6, 7 y 8";
}

if (placas == 4) 
{
aux = "9 y 0";
}   

    cout <<endl;
    cout << "El " << dia << " del mes de " << aux2[mes-1] << " de " << a << " surtiran"<<endl;
    cout << "gasolina los vehiculos con placas que finalicen en: " << aux <<endl;
    cout <<endl;
    
    system("pause");
    goto Repetir;

}



martes, 6 de octubre de 2026

01j.- Programación I - Actividad Propuesta para el a parcial Nro. 1

 En Venezuela el gobierno venezolano implemento la venta de gasolina subsidiada por numero de finalización de placa, veamos el calendario de Marzo de 2025:





Elabore un programa en el cual usted ingrese una fecha cualquiera comprendida entre el día 21 de marzo de 2025 y el 31 de diciembre de 2080 y programa retorne el numero de las placas que les correspondería surtir gasolina subsidiada para ese día. (Recuerde que su programa deberá considerar los años bisiestos donde febrero tiene 29 días: 2028, 2032, 2036, 2040, 2044, 2048, 2052, 2056, 2060, 2064, 2068, 2072, 2076 y 2080)


Resultado esperado



Usted deberá traer para mañana su programa para el parcial en un Pen Drive. El profesor los hará pasar al laboratorio y les solicitará una modificación sencilla del programa. La implementación de esta modificación será la nota del parcial. 

Éxito 

viernes, 2 de octubre de 2026

01i.- Programación I - Actividad de Laboratorio (02 de Octubre de 2026) - (Semestre 2027 - I) - SOLUCIÓN DEL PROFESOR

 Los estudiantes de Ingeniería de la USM se asociaron con el celebre doctor Hannibal Lecter e inauguraron el 01 de Enero de 2025 la farmacia mejor equipada de Caracas, FARMACIA USM PROG I, el plan es que la farmacia opere en horario normal todos los días y de noche cada 5 días.





El primer mes la farmacia estuvo de turno nocturno los días indicados en la siguiente imagen:


Se requiere que usted elabore un programa en el cual se ingrese cualquier fecha posterior al 1ro de enero de 2025 y el programa determine si la farmacia esta de turno.

NOTA 1: El profesor todavía no ha explicado como escribir las letras acentuadas y la letra ñ en C++, para cualquier efecto sustituya la letra ñ por #.

NOTA 2: El programa debe considerar los años bisiestos, o sea, años de 366 días (años con 29 de febrero), los años bisiestos son aquellos que cumplen con cualquiera de las siguientes condiciones:
  • (1) Son divisible de forma exacta entre cuatro y no lo son entre 100
  • (2) Son divisibles de forma exacta entre 400
El programa deberá ser desarrollado en grupos de mínimo 2 y máximo 3 estudiantes. 

El profesor escogerá a uno de los estudiantes del grupo para que pase al laboratorio con el programa y ejecute una pequeña modificación que será solicitada por el profesor. De hacerlo bien todo el grupo será calificado positivamente, de hacerlo mal ninguno miembro del grupo obtendrá punto alguno.

NOTA 3: Si el grupo no esta completo el día de la defensa ninguno de los integrantes podrá defender el programa.

Solución del Profesor



El profesor elaboró su versión del programa:




RESULTADOS ESPERADOS





PROGRAMA DEL PROFESOR

/*Programa para determinar si una farmacia esta de turno según 
una fecha indicada, la farmacia esta de turno un día si y cuatro
no.

Elaborado por Carlos Ferrer
Rev.: Octubre de 2026

*/

//Biblioteca para enviar y recibir datos a la consola (Pantalla negra)
#include <iostream>
//Biblioteca que permite manejar la letra ñ y los caracteres acentuados.
#include <locale.h>
using namespace std;

main()
{
int dia=1,mes=1,a=2025,aux;
int diab,mesb,ab;
//1=farmacia de turno 0= farmacia no se encuentra de turno nocturno
int turno=5; 
//1=año con 29 de febrero 0= año sin 29 de febrero
int bisiesto;

setlocale(LC_ALL,"spanish");

cout <<"Programa para determinar si la farmacia USM PROG I esta de turno";
cout <<endl<<endl;


//Ingresamos la fecha a buscar
do
{
cout <<"Ingrese el año a buscar (>2025) = ";
cin >>ab;
if (ab<2025)
{
cout <<endl<<"Error .... el año debe ser mayor o igual que 2025!!";
cout <<endl<<endl;
}
}
while (ab<2025);

do
{
cout <<"Ingrese el mes a buscar (mes >=1 ó mes<=12) = ";
cin >>mesb;
if (mesb<1 or mesb>12)
{
cout <<endl<<"Error .... el mes debe estar en el rango de 1 a 12!!";
cout <<endl<<endl;
}
}
while (mesb<1 or mesb>12);
/* Determinamos si el año es bisiesto. Un año 
Bisiesto es cuando se da cualquiera de las siguiente 
dos condiciones:

1ra que el numero del año sea divisible entre 4 pero no
sea divisible entre 100 
2da Que sea divisible entre 400
*/

if ((ab%4==0 and ab%100!=0) or (ab%400==0) )
    {
    bisiesto=1;
    }
else
    {
    bisiesto=0;
    }

do
{
    if (mesb==2 and bisiesto==1)
{
aux=29;
} 
 
     else if (mesb==2 and bisiesto==0)
{
aux=28;
}
     else if (mesb==4 or mesb==6 or mesb==9 or mesb==11)
{
aux=30;
}
     else
{
aux=31;
}

cout <<"Ingrese el dia a buscar (dia >=1 ó dia<="<<aux<<") = ";
cin >>diab;
if (diab<1 or diab>31)
{
cout <<endl<<"Error .... el dia debe estar en el rango de 1 a 31!!";
cout <<endl<<endl;
diab=32;
}
if (diab>30 and (mesb==4 or mesb==6 or mesb==9 or mesb==11 ))
{
cout <<endl<<"Error .... el mes indicado solo tiene 30 dias!!";
cout <<endl<<endl;
diab=32;
}
if (diab>28 and mesb==2 and bisiesto==0)
{
cout <<endl<<"Error .... el mes de febrero de "<<ab<<" solo tiene 28 días!!";
cout <<endl<<endl;
diab=32;
}
if (diab>29 and mesb==2 and bisiesto==1)
{
cout <<endl<<"Error .... el mes de febrero de "<<ab<<" solo tiene 29 días!!";
cout <<endl<<endl;
diab=32;
}
}
while (diab<1 or diab>31);



/*Escribimos una rutina que evalué día a día desde el 01 de enero de 2025
hasta la fecha a buscar colocando la variable turno en 5 cuando la farmacia este
en turno nocturno, si al finalizar la variable esta en 5 significa que para la fecha
a buscar la farmacia trabajara de noche, de lo contrario no estará disponible. */


while (dia!=diab or mes!=mesb or a!=ab)
{
    if ((a%4==0 and a%100!=0) or (a%400==0) )
        {
    bisiesto=1;
}
    else
{
bisiesto=0;
}
    dia=dia+1;
    if (turno==5)
        {
        turno=1;
        }
    else
        {
        turno=turno+1;
         }

/*verificamos si el mes es de 30, 
si se cumplio nos pasamos al mes siguiente*/

    if (dia==31 and (mes==4 or mes==6 or mes==9 or mes==11))
        {
mes=mes+1;
dia=1;
        }

/*verificamos si el mes es de 28, 
si se cumplio nos pasamos al mes siguiente*/

    if (dia==29 and mes==2 and bisiesto==0)
        {
mes=mes+1;
dia=1;
        }

/*verificamos si el mes es de 29, 
si se cumplio nos pasamos al mes siguiente*/

    if (dia==30 and mes==2 and bisiesto==1)
        {
mes=mes+1;
dia=1;
        }

/*verificamos si el mes es de 30, 
si se cumplio nos pasamos al mes siguiente*/

    if (dia==32)
        {
mes=mes+1;
dia=1;
        }

//Verificamos el cambio de año

    if (mes==13)
        {
mes=1;
a=a+1;
        }
}

//Presentamos resultados

if (turno==5)
{
        cout <<endl<<endl<<"El "<<dia<<"/"<<mes<<"/"<<a;
cout <<" La farmacia esta de turno !!!!!";
}
else
{
cout <<endl<<endl<<"El "<<dia<<"/"<<mes<<"/"<<a;
cout <<" La farmacia NO esta de turno !!!!!";
}

}

jueves, 1 de octubre de 2026

01h.- Programación I - Actividad de Laboratorio (02 de Octubre de 2026) - (Semestre 2027 - I)

Los estudiantes de Ingeniería de la USM se asociaron con el celebre doctor Hannibal Lecter e inauguraron el 01 de Enero de 2025 la farmacia mejor equipada de Caracas, FARMACIA USM PROG I, el plan es que la farmacia opere en horario normal todos los días y de noche cada 5 días.





El primer mes la farmacia estuvo de turno nocturno los días indicados en la siguiente imagen:


Se requiere que usted elabore un programa en el cual se ingrese cualquier fecha posterior al 1ro de enero de 2025 y el programa determine si la farmacia esta de turno.

NOTA 1: El profesor todavía no ha explicado como escribir las letras acentuadas y la letra ñ en C++, para cualquier efecto sustituya la letra ñ por #.

NOTA 2: El programa debe considerar los años bisiestos, o sea, años de 366 días (años con 29 de febrero), los años bisiestos son aquellos que cumplen con cualquiera de las siguientes condiciones:
  • (1) Son divisible de forma exacta entre cuatro y no lo son entre 100
  • (2) Son divisibles de forma exacta entre 400
El programa deberá ser desarrollado en grupos de mínimo 2 y máximo 3 estudiantes. 

El profesor escogerá a uno de los estudiantes del grupo para que pase al laboratorio con el programa y ejecute una pequeña modificación que será solicitada por el profesor. De hacerlo bien todo el grupo será calificado positivamente, de hacerlo mal ninguno miembro del grupo obtendrá punto alguno.

NOTA 3: Si el grupo no esta completo el día de la defensa ninguno de los integrantes podrá defender el programa.

RESULTADOS ESPERADOS




sábado, 26 de septiembre de 2026

01g.- Programación I - Ejemplos de Ciclos (For - Do While - While - if+Goto) Semestre 2027 - I





Para explicar los arreglos y los ciclos elaboramos tres (3) programas de ordenamiento usando el método de la burbuja.


1.- Hacemos el programa usando únicamente ciclo FOR y ARREGLOS 


/* Este programa ordena 10 elementos ubicados en las posiciones desde la 1 a la 10 de un arreglo de 11 posiciones, aplicando el método de la burbuja usando básicamente ciclos FOR

 

Elaborado por Carlos Ferrer - Rev. marzo 2026*/

 

 #include <iostream>

double num [11]={0};

double aux;

int i,z;

using namespace std;

 

main()

{

         

  for (i=1;i<=10;i=i+1)    

        {

        cout <<"Ingrese num["<<i<<"]= "<<endl;

        cin >>num[i];

        }

     

    for (z=1;z<=10;z=z+1)   // Cantidad de veces que se repite el método

         {

                   for(i=1;i<=9;i=i+1) // 9 comparaciones para 10 elementos, en caso de de requerir se intercambian

                   {

                   if (num[i]>num[i+1])

                            {

                            aux=num[i];

                            num[i]=num[i+1];

                            num[i+1]=aux;

                            }       

            

                   }

         }

 

 

//imprimimos resultados

         cout <<endl<<num[1];

         for (i=2;i<=10;i=i+1)

         {

         cout <<" < "<<num[i];

         }

        

         cout <<endl<<endl;

         system("pause");

}


2.- Hacemos el programa usando únicamente ciclo DO WHILE y ARREGLOS 


/* Este programa ordena 10 elementos ubicados en las posiciones desde la 1 a la 10 de un arreglo de 11 posiciones, aplicando el método de la burbuja usando básicamente ciclos WHILE

 

Elaborado por Carlos Ferrer - Rev. marzo 2026*/

 

 #include <iostream>

double num [11]={0};

double aux;

int i=1,z=1;

using namespace std;

 

main()

{

        do

        {

        cout <<"Ingrese num["<<i<<"]= "<<endl;

        cin >>num[i];

        i=i+1;

        }

        while (i<=10);

         

          do

          

         {

                     i=1;

                     do 

                   {

                   if (num[i]>num[i+1])

                            {

                            aux=num[i];

                            num[i]=num[i+1];

                            num[i+1]=aux;

                            }       

                     i=i+1;

                   }

                    while(i<=9); // 9 comparaciones para 10 elementos, en caso de de requerir se intercambian

          z=z+1;

         }

          while (z<=10);   // Cantidad de veces que se repite el método

 

//imprimimos resultados

         cout <<endl<<num[1];

        i=2; 

        do

         {

         cout <<" < "<<num[i];

         i=i+1;

        }

         while (i<=10);

         cout <<endl<<endl;

         system("pause");

}


3.- Hacemos el programa usando únicamente ciclo WHILE y ARREGLOS 


/* Este programa ordena 10 elementos ubicados en las posiciones desde la 1 a la 10 de un arreglo de 11 posiciones, aplicando el método de la burbuja usando básicamente ciclos WHILE

 

Elaborado por Carlos Ferrer - Rev. marzo 2026*/

 

 #include <iostream>

double num [11]={0};

double aux;

int i,z;

using namespace std;

 

main()

{

    i=1;      

    while (i<=10);  

        {

        cout <<"Ingrese num["<<i<<"]= "<<endl;

        cin >>num[i];

        i=i+1;

        }

 

         z=1;

          while (z<=10)   // Cantidad de veces que se repite el método

         {

                     i=1;

                     while(i<=9) // 9 comparaciones para 10 elementos, en caso de de requerir se intercambian

                   {

                   if (num[i]>num[i+1])

                            {

                            aux=num[i];

                            num[i]=num[i+1];

                            num[i+1]=aux;

                            }       

                     i=i+1;

                   }

          z=z+1;

         }

 

 

//imprimimos resultados

         cout <<endl<<num[1];

        i=2; 

        while (i<=10)

         {

         cout <<" < "<<num[i];

         i=i+1;

        }

        

         cout <<endl<<endl;

         system("pause");

}


4.- Hacemos el programa usando únicamente ciclo IF+ GOTO y ARREGLOS 


/* Este programa ordena 10 elementos ubicados en las posiciones desde la 1 a la 10 de un arreglo de 11 posiciones, aplicando el método de la burbuja usando básicamente ciclos IF GOTO

Elaborado por Carlos Ferrer - Rev. marzo 2026*/


 #include <iostream>

double num [11]={0};

double aux;

int i,z;

using namespace std;


main()

{

 i=1;

 repetir:    

 cout <<"Ingrese num["<<i<<"]= "<<endl;

 cin >>num[i];

     if (i<10)

         {

        i=i+1;    

        goto repetir;

        }          

   z=1;

   Repetir1:

   if (z<=10)   // Cantidad de veces que se repite el método

         {

                     i=1;

                     Repetir2:

                     if(i<=9) // 9 comparaciones para 10 elementos, en caso de de requerir se intercambian

                   {

                   if (num[i]>num[i+1])

                            {

                            aux=num[i];

                            num[i]=num[i+1];

                            num[i+1]=aux;

                            }       


                     i=i+1;

                     goto Repetir2;

                   }

          z=z+1;

          goto Repetir1;

         }


//imprimimos resultados

         cout <<endl<<num[1];

        i=2; 

        Repetir3:

        if (i<=10)

         {

         cout <<" < "<<num[i];

         i=i+1;

         goto Repetir3;

        }

         cout <<endl<<endl;

         system("pause");

}