Utilización de estructuras repetitivas "Ciclos" y Subprogramas.

Estructuras repetitivas en C++

Las estructuras repetitivas, también conocidas como bucles o ciclos, son una herramienta fundamental en la programación que permiten ejecutar un bloque de código de forma reiterativa hasta que se cumpla una condición específica. En C++, existen tres tipos principales de estructuras repetitivas:

1. Bucle for:

El bucle ¨For¨ es el más utilizado y se emplea cuando se conoce el número exacto de iteraciones que se deben realizar. Su sintaxis es la siguiente:


C++

for (inicialización; condición; incremento) {
instrucciones;
}

inicialización: Se ejecuta una sola vez al inicio del bucle para inicializar una variable de control.

  • condición: Se evalúa antes de cada iteración. Si la condición es true, se ejecutan las instrucciones del bucle; si es false, se termina el bucle.
  • incremento: Se ejecuta al final de cada iteración para actualizar la variable de control.

Ejemplo:


C++

for (int i = 1; i <= 10; i++) {
  std::cout << i << " ";
}


Este código imprime los números del 1 al 10 en la consola.

2. Bucle while:

El bucle ¨while¨ se utiliza cuando no se conoce el número exacto de iteraciones o se desea ejecutar el código hasta que se cumpla una condición específica. Su sintaxis es la siguiente:


C++

while (condición) {
  instrucciones;
}


condición: Se evalúa antes de cada iteración. Si la condición es true, se ejecutan las instrucciones del bucle; si es false, se termina el bucle.

Ejemplo:


C++

int numero = 1;
while (numero <= 10) {
 cout << numero << " ";
  numero++;
}

Este código imprime los números del 1 al 10 en la consola.

3. Bucle do-while:

El bucle do-while es similar al bucle while, pero la principal diferencia es que las instrucciones del bucle se ejecutan al menos una vez, incluso si la condición inicial es false. Su sintaxis es la siguiente:

C++

do {
  instrucciones;
} while (condición);

  • condición: Se evalúa después de cada iteración. Si la condición es true, se vuelve a ejecutar el bucle; si es false, se termina el bucle.

Ejemplo:

C++

int numero = 1;
do {
  std::cout << numero << " ";
  numero++;
} while (numero <= 10);


Este código imprime los números del 1 al 10 en la consola.

Referencias bibliográficas:







Funciones en C++

Las funciones en C++ son bloques de código reutilizables que encapsulan una tarea específica. Permiten modularizar el código, hacerlo más organizado y legible, y evitar la redundancia. 

Estructura.

Una función en C++ se compone de los siguientes elementos:

Clase de retorno: Especifica el tipo de dato que la función devuelve. Si la función no devuelve ningún valor, se utiliza la palabra clave `void`.
Nombre de la función: Es un identificador único que permite llamar a la función.
Lista de parámetros: Opcionalmente, la función puede recibir argumentos de entrada que se pasan entre paréntesis. Cada parámetro tiene un tipo de dato y un nombre.
Cuerpo de la función: Es el bloque de código que contiene las instrucciones que se ejecutan cuando se llama a la función.

¿Cómo se usan las funciones?

Para usar una función, se debe seguir estos pasos:

1. Declarar la función: Se debe declarar la función antes de utilizarla en cualquier parte del programa. La declaración indica el tipo de retorno, el nombre de la función y la lista de parámetros.
2. Definir la función: Se debe definir la función proporcionando el cuerpo de la función, que es el código que se ejecuta cuando se llama a la función.
3. Llamar a la función: Se llama a la función utilizando su nombre y, si es necesario, pasando argumentos entre paréntesis.

Ejemplo:


// Declaración de la función
int suma(int a, int b);

// Definición de la función
int suma(int a, int b) {
  return a + b;
}

// Llamada a la función
int resultado = suma(5, 3);
cout << "Resultado: " << resultado << endl;


¿Qué son los parámetros por referencia?

Los parámetros por referencia son una forma de pasar argumentos a una función en la que la función puede modificar directamente el valor de la variable original en lugar de crear una copia. Esto permite una mayor eficiencia, especialmente cuando se manejan grandes cantidades de datos.

¿Cómo se usan los parámetros por referencia?

Para pasar un parámetro por referencia, se utiliza el operador de referencia (`&`) antes del nombre del parámetro en la declaración de la función y en la llamada a la función.

Ejemplo:


void intercambiar(int &a, int &b) {
  int aux = a;
  a = b;
  b = aux;
}

int main() {
  int x = 5;
  int y = 10;

  cout << "x: " << x << endl; // Imprime: 10
  cout << "y: " << y << endl; // Imprime: 5
}






Mapa mental del Trabajo Final Desarrollo de Algoritmos


https://mm.tt/app/map/3298287443?t=bIjJjbH54B





TIA 2. Taller Final: elaboración de un algoritmo en el lenguaje de programación C++.


Equipo 1. 1. Se tiene un archivo con los datos de los empleados de una empresa; por cada empleado se lee el nombre, el código, el salario bruto mensual y el valor de las deducciones. La empresa les debe hacer un aumento de salario averiguar cuanto es el aumento y mostrar el nuevo salario de este empleado con su nombre. Si el Salario mensual es &lt; = 450.000 hacerle un aumento del 18%; si es &gt; de 450.000 y &lt;= 750.000 hacerle un aumento del 12%; y si es &gt; 750.000 10%. Calcule el nuevo salario de cada trabajador e imprímalo con su nombre. Además, muestre el total de salarios pagados por la empresa; el valor total de los aumentos; el nuevo salario promedio y el porcentaje de empleados que ganan más de 750.000. El fin de archivo lo indica código 0000.


Solución del programa.
#include <iostream>
#include <string.h>
using namespace std;

float CalcularAumento(float SalarioB, float &CantEmpleados750)
{
    float Aumento;

    if (SalarioB <= 450000)
    {
        Aumento = SalarioB * 18 / 100;
    }
    else if (SalarioB > 450000 && SalarioB <= 750000)
    {
        Aumento = SalarioB * 12 / 100;
    }
    else if (SalarioB > 750000)
    {
        Aumento = SalarioB * 10 / 100;

        CantEmpleados750++;
    }

    return Aumento;
}

float Masde750(float CantEmpleados750, float CantEmpleados)
{

    float Total750 = (CantEmpleados750 / CantEmpleados) * 100;

    return Total750;
}

float AcumularSalarios(float TotalSalario, float TotalSalarios)
{
    TotalSalarios = TotalSalarios + TotalSalario;

    return TotalSalarios;
}

float AcumularAumentos(float Aumento, float TotalAumento)
{
    TotalAumento = Aumento + TotalAumento;

    return TotalAumento;
}

float CalcsalarioPromedio(float Con, float SalarioPromedio, float TotalSalarios)
{
    SalarioPromedio = TotalSalarios / Con;

    return SalarioPromedio;
}

int main(int argc, char const *argv[])
{
    char Nombre[15];
    float SalarioB, TotalSalarios = 0, Deducciones, TotalSalario = 0, CantEmpleados = 0, Aumento, AcumularAumento = 0, SalarioPromedio = 0, CantEmpleados750 = 0, Total750 = 0;

    while (true)
    {
       
        cout << "Ingrese el nombre del empleado (o '0000' para salir): ";
        cin >> Nombre;
        if (strcmp(Nombre, "0000") == 0)
            break;

    CantEmpleados++;

        cout << "Ingrese el Salario Burto del Empleado: ";
        cin >> SalarioB;

        while (SalarioB <= 0)
        {
            cout << "Ha ingresado un valor invalido de salario." << endl
                 << "Ingrese un valor valido para el Salario: ";
            cin >> SalarioB;
        }

        cout << "Ingrese el valor de las deducciones (No puede superar el 50% del salario total): ";
        cin >> Deducciones;

        Aumento = CalcularAumento(SalarioB, CantEmpleados750);

        TotalSalario = SalarioB + Aumento;

        while (Deducciones <= 0 || Deducciones > TotalSalario / 2)
        {
            cout << "Ha ingresado un valor invalido de deducciones, estas no pueden superar el 50% del salario Total." << endl
                 << "Ingrese un valor valido: ";
            cin >> Deducciones;
        }

        TotalSalario = TotalSalario - Deducciones;

        cout << "El salario total del empleado " << Nombre << " Incluyendo el aumento y las deducciones es de: " << TotalSalario << endl;

        TotalSalarios = AcumularSalarios(TotalSalario, TotalSalarios);
        AcumularAumento = AcumularAumentos(Aumento, AcumularAumento);
    }

    SalarioPromedio = CalcsalarioPromedio(CantEmpleados, SalarioPromedio, TotalSalarios);
    Total750 = Masde750(CantEmpleados750, CantEmpleados);

    cout << "El total de los salarios pagados por la empresa es de: " << TotalSalarios << endl;
    cout << "El total de los Aumentos pagados por la empresa es de: " << AcumularAumento << endl;
    cout << "El Salario promedio de los trabajadores de la empresa es de: " << SalarioPromedio << endl;
    cout << "El porcentaje de los empleados de la empresa con un Salario Base Mayor a 750000 es de: " << Total750 << "% " << endl;

    return 0;
}


Video de explicación de el funcionamiento del algoritmo
https://youtu.be/NlVtMqtOKig




Reflexión de la actividad
La realización de estos blogs como portafolio para rendir cuentas de todo lo aprendido en la unidad me parece una muy buena forma de sintetizar en un solo lugar todo lo aprendido, haciendo las veces de repaso y de último análisis y recordatorio de todo lo que se debe tener afianzado durante la Unidad.
Esta unidad ha sido de las mas entretenidas e interesantes, ya estamos profundizando mas en los temas, conociendo mas herramientas que permiten que se abran una infinidad de posibilidades, pero también nos recuerde que aún hay mucho por aprender, y que el camino por esta rama de conocimiento no hizo mas que empezar.
Me voy bastante conforme con este curso, siento que mi aprendizaje ha sido el ideal, y que la diferencia de cuando apenas empecé el curso es abismal.

Comentarios

Entradas populares de este blog

MI PORTAFOLIO UNIDAD 2 - PENSAMIENTO COMPUTACIONAL

2024-1 Algoritmos G-01