diff --git a/Unidad 2-Estructuras de Control/Ejercicio04.c b/Unidad 2-Estructuras de Control/Ejercicio04.c new file mode 100644 index 0000000..06c28ed --- /dev/null +++ b/Unidad 2-Estructuras de Control/Ejercicio04.c @@ -0,0 +1,47 @@ +//Equipo4 +//Fecha 10/02/2020 +//Autor: Carlos Greene +//Programa que redondea un número a la centena próxima +//Entrada: Numero entero positivo +//Salida: Número redondeado a la centena próxima +#include + +int main() +{ + + int entrada = 0, r = 0, aux=0, salida = 0; + //entrada: número introducido, d: residuo de módulo 100, salida: número redondeado a la centena próximo, aux: Auxiliar + + scanf("%d", &entrada); //Se lee la entrada + aux = entrada; + + r = entrada%100; //Se hace módulo 100 de la entrada para obtener el residuo + + if(aux<0) + {//Si el auxiliar es negativo, se procede a volver positivo el residuo y la entrada + r = r*-1; + entrada = entrada*-1; + } + + //Proceso + if(r>=50) //Se compara si el residuo es mayor que 50 + { //Si es mayor a 50 entonces + salida = ((entrada/100)+1)*100; //Se divide la entrada entre 100, se suma 1 y se mutiplica por 100 + } //para rendear el número a centena mayor + else + { //Si es menor o igual a 20 + salida = (entrada/100)*100; //Se divide la entrada entre 100 y se divide entre 100 + } //para redondearlo a la centena menor + + + if(aux<0) + { //Si el auxiliar es negativo, se procede volver negativo la salida + salida = salida*-1; + } + + //Salida + printf("%d", salida); //Se imprime el número redondeado + + return 0; + +} \ No newline at end of file diff --git a/Unidad 2-Estructuras de Control/Ejercicio10.c b/Unidad 2-Estructuras de Control/Ejercicio10.c new file mode 100644 index 0000000..5b94425 --- /dev/null +++ b/Unidad 2-Estructuras de Control/Ejercicio10.c @@ -0,0 +1,19 @@ +//Equipo4 +//Autor:Jose Miron +//Programa que reciba un numero N y te de los primeros N multiplos de 7 +//Entrada: Numero entero +//Salida: Multiplos de 7 +#include + +int main() +{ //Entrada + int numMulti; //Entrada + scanf("%d", &numMulti);//Se lee numero de multiplos + + //Proceso + for(int i=7; i <=(7*numMulti); i+=7)//Ciclo para limite N + { //Salida, impresion de N multiplos + printf("%d \n", i); + } +return 0; +} diff --git a/Unidad 2-Estructuras de Control/Ejercicio10.cs b/Unidad 2-Estructuras de Control/Ejercicio10.cs index db4bfa7..69f4e2e 100644 --- a/Unidad 2-Estructuras de Control/Ejercicio10.cs +++ b/Unidad 2-Estructuras de Control/Ejercicio10.cs @@ -4,23 +4,23 @@ //Programa que recibe un numero N y da los primeros N multiplos de 7 //Entrada: Numero entero positivo //Salida: N multiplos enteros positivos de 7 -using system; -namespace Ejercicio10 +using System; + +namespace Contador { class Program { static void Main(string[] args) { + //Entrada int n; - - Console.WriteLine("Imprime numeros del 0 a n, de 7 en 7"); - - Console.WriteLine("Ingrese valor para n"); n =Convert.ToInt32(Console.ReadLine());//valor del numero de multiplos deseados - for (int i = 0; i <= (7*n); i += 7)//inicio en cero, 7 multiplicado por el valor de n, incrementador + //Proceso + for (int i = 7; i <= (7*n); i += 7)//inicio en cero, 7 multiplicado por el valor de n, incrementador { - Console.WriteLine("i= " + i);//Impresion de los multiplos de 7 segun n + //Salida + Console.WriteLine(i);//Impresion de los multiplos de 7 segun n } Console.ReadLine(); } diff --git a/Unidad 2-Estructuras de Control/Ejercicio16.c b/Unidad 2-Estructuras de Control/Ejercicio16.c new file mode 100644 index 0000000..f9c66bc --- /dev/null +++ b/Unidad 2-Estructuras de Control/Ejercicio16.c @@ -0,0 +1,19 @@ +//Equipo 4// +//Fecha: 02/02/2020// +//Un programa que calcule la media de una serie de números pósitivos leidos desde una terminal, donde al ingresar 0 se termina el ciclo de lectura de entradas// +#include + +int main(void) { + //Entrada// + float entrada = 0, salida = 0, cont = 0, sum = 0; + scanf_s("%f", &entrada); + //Proceso// + do { + cont = cont++;//se suma un ciclo al contador// + sum = sum + entrada;//se guarda el valor de la entrada en una variable para usarse mas tarde// + scanf_s("%f", &entrada); + } while (entrada <0|entrada>0); + salida = (sum / cont);//se realiza el calculo de la media// + //Salida// + printf("%f", salida); +} \ No newline at end of file diff --git a/Unidad 2-Estructuras de Control/Ejercicio16.cs b/Unidad 2-Estructuras de Control/Ejercicio16.cs index 82a8f8b..2c9917a 100644 --- a/Unidad 2-Estructuras de Control/Ejercicio16.cs +++ b/Unidad 2-Estructuras de Control/Ejercicio16.cs @@ -11,46 +11,23 @@ class Program static void Main(string[] args) { //Entrada// - double entrada = 0, salida = 0, cont = 0, sum = 0;; + double entrada = 0, salida = 0, cont = 0, sum = 0; //entrada: número pósitivo diferente de 0, salida: media de la serie de números ingresados// //cont: contador de ciclos realizados durante la ejecución del programa, sum: variable para almacenar el valor de la suma de todas las entradas// - Console.WriteLine("Por favor ingrese un número positivo, recuerde que cuando desee terminar la ejecución debera ingresar 0."); double.TryParse(Console.ReadLine(), out entrada);//se lee el número de entrada// //Proceso// while(entrada != 0) { - { - if(entrada > 0)//Se analiza si la entrada es un número pósitivo// - { - cont = cont + 1;//se suma un ciclo al contador// - sum = sum + entrada;//se guarda el valor de la entrada en una variable para usarse mas tarde// - Console.WriteLine("Número guardado, por favor ingrese otro número, recuerde que cuando desee terminar la ejecución debera ingresar 0."); - double.TryParse(Console.ReadLine(), out entrada);//se solicita otra entrada para continuar el ciclo// - } - else - { - Console.WriteLine("Número no valido, ingrese un número pósitivo por favor:");//si la entrada no espositiva, se solicita la entrada adecuada para el ciclo// - double.TryParse(Console.ReadLine(), out entrada); - cont = cont + 1; - sum = sum + entrada; - } - } - + cont = cont + 1;//se suma un ciclo al contador// + sum = sum + entrada;//se guarda el valor de la entrada en una variable para usarse mas tarde// + double.TryParse(Console.ReadLine(), out entrada);//se lee el número de entrada// } salida = (sum / cont);//se realiza el calculo de la media// //salida// - if(salida > 0)//si la salida es mayor a 0 se escribe el resultado obtenido// - { - Console.WriteLine("La media de los números ingresados es:"); - Console.WriteLine(salida); - } - else//en caso de que el ciclo se haya cerrado sin entradas validas, la salida sera menor a 0, por lo tanto:// - { - Console.WriteLine("No hay una media valida para esa entrada"); - } + Console.WriteLine(salida); } } diff --git a/Unidad 2-Estructuras de Control/Ejercicio22.c b/Unidad 2-Estructuras de Control/Ejercicio22.c new file mode 100644 index 0000000..df62003 --- /dev/null +++ b/Unidad 2-Estructuras de Control/Ejercicio22.c @@ -0,0 +1,41 @@ +//Equipo4 +//Fecha 10/02/2020 +//Autor: Carlos Greene +//Programa que hace una suma los factoriales de una serie de n números +//Entrada: Número entero positivo +//Salida: Suma total de la serie de factoriales +#include + +int main() +{ + //Entrada + int entrada = 0, fact = 1, salida = 0; + // entrada: número introducido, fact: factorial, salida: La suma de la serie de factoriales + + scanf("%d", &entrada); //Se lee el número de entrada + + //Proceso + if(entrada == 0) //Se compara si el número introducido es cero + { + salida = 1; //Si el número es cero, entonces su factorial será 1 por conveniencia + } + else + { //Si no es igual a cero entonces + for(int i = 1; i <= entrada; i++) //Se hace un ciclo repetitivo para sumar la serie de factoriales + { + fact=1; //Se inicializa la variable fact + + for(int n = 1; n <= i; n++) //Se hace otro ciclo repetitivo para calcular factoriales + { + fact = fact*n; //Se calcula factorial multiplicando la variable fact por n del ciclo + } + + salida = salida + fact; //Se suma los factoriales + + } + } + + //Salida + printf("%d", salida); //Se imprime la suma de serie de factoriales + return 0; +} \ No newline at end of file diff --git a/Unidad 2-Estructuras de Control/Ejercicio22.cs b/Unidad 2-Estructuras de Control/Ejercicio22.cs index aa296b3..f3d5ff2 100644 --- a/Unidad 2-Estructuras de Control/Ejercicio22.cs +++ b/Unidad 2-Estructuras de Control/Ejercicio22.cs @@ -16,7 +16,6 @@ static void Main(string[] args) int entrada = 0, fact = 1, salida = 0; // entrada: número introducido, fact: factorial, salida: La suma de la serie de factoriales - Console.WriteLine("Introduce el número de serie"); int.TryParse(Console.ReadLine(), out entrada); //Se lee el número de entrada //Proceso @@ -41,7 +40,6 @@ static void Main(string[] args) } //Salida - Console.WriteLine("El total de la serie de factoriales es:"); Console.WriteLine(salida); //Se imprime la suma de serie de factoriales } } diff --git a/Unidad 2-Estructuras de Control/Ejercicio28.c b/Unidad 2-Estructuras de Control/Ejercicio28.c new file mode 100644 index 0000000..af6efc9 --- /dev/null +++ b/Unidad 2-Estructuras de Control/Ejercicio28.c @@ -0,0 +1,47 @@ +//Equipo4 +//Autor:Jose Miron +//Programa que lea una cadena de numeros no determinada y determinar el valor mayor y menor +//terminara cuando el ultimo numero ingresado sea 999 +//Entrada: Numeros enteros +//Salida: Numero mayor y menor de la serie +#include + +int main() +{ + //Entrada + int nmayor; //numero mayor + int nmenor; //numero menor + int numero; //entrada de numero + nmayor = -999;// + nmenor = 999; + + scanf("%d", &numero);//Ingreso de la serie de numeros + + //Proceso + do + { + if(numero > nmayor)//Si numero ingresado es mayor que el actual numero mayor + { + if(numero != 999)//Mientras sea distinto de 999 + { + nmayor = numero;//Se sustituye el antiguo numero mayor por el actual + } + } + + if(numero < nmenor)//Si numero ingresado es menor que el actual numero menor + { + if(numero != 999)//Mientras sea distinto de 999 + { + nmenor = numero;//Se sustituye el antiguo numero menor por el actual + } + } + } + while(numero != 999);//Mientras sea distinto de 999 + + //Salida + printf("%d \n", nmayor);//Impresion del mayor numero de la serie de numeros + printf("%d \n", nmenor);//Impresion del menor numero de la serie de numeros + + return 0; +} + diff --git a/Unidad 2-Estructuras de Control/Ejercicio28.cs b/Unidad 2-Estructuras de Control/Ejercicio28.cs index af04bed..29f332e 100644 --- a/Unidad 2-Estructuras de Control/Ejercicio28.cs +++ b/Unidad 2-Estructuras de Control/Ejercicio28.cs @@ -11,62 +11,46 @@ using System; +/// +/// .Leer una secuencia de números no determinada (finalizará la lectura cuando +/// el último número sea igual a 999) y calcular la media aritmética +/// namespace Ejercicio28 { class Program { static void Main(string[] args) - { - int numero; int numerodos; int mayor; int menor; int numeros; - + { //Entrada + int nmayor; + int nmenor; + int numero; + nmayor = -999; + nmenor = 999; + //Proceso do { - Console.WriteLine("Ingrese numero"); - numero = Convert.ToInt32(Console.ReadLine()); //Ingreso del primer numero + numero = Convert.ToInt32(Console.ReadLine()); //Ingreso de la serie de numeros - Console.WriteLine("Ingrese numeros"); - numerodos = Convert.ToInt32(Console.ReadLine()); //Ingreso del segundo numero - - //Primer caso. //si el primer numero introducido resulta mayor que el segundo - if (numero > numerodos) - menor = numerodos; mayor = numero; menor = numerodos; //Asignacion de valores de mayor y menor - do - { - - { - Console.WriteLine("Ingrese numeros nuevos"); - numeros = Convert.ToInt32(Console.ReadLine()); // Ingreso de la serie de numeros - if (numeros > mayor) { - mayor = numeros; //el numero mayor es reemplazado de cumplirse que el numero introducido sea mayor que el anterior - Console.WriteLine("Numero mayor es: " + mayor); //Impresion del numero mayor - } - else if (numeros < menor) { menor = numeros; //el numero menor es reemplazado de cumplirse que el numero introducido sea menor que el anterior - Console.WriteLine("Numero menor es: " + menor);//Impresion del numero menor - } - } - } while (numeros != 999); //Mientras el numero introducido sea distinto de 999 - - //Segundo caso. //si el segundo numero introducido resulta mayor que el primero - if (numero < numerodos) - menor = numero; mayor = numerodos; menor = numeros; //Asignacion de valores de mayor y menor - do - { - Console.WriteLine("Ingrese numeros nuevos"); - numeros = Convert.ToInt32(Console.ReadLine()); //Ingreso de la serie de numeros - if (numeros > mayor)//Si el numero introducido es mayor que el valor mayor actual + if(numero > nmayor)//Si el numero es mayor que el numero mayor actual + { + if (numero != 999)//Mientras sea distinto de 999 { - mayor = numeros; //el numero mayor es reemplazado de cumplirse que el numero introducido sea mayor que el anterior - Console.WriteLine("Numero mayor es: " + mayor);//Impresion del numero mayor + nmayor = numero;//Se sustituye el anterior numero mayor por el nuevo } - else if (numeros < menor) //Si el numero introducido es menor que el valor menor actual + } + if(numero < nmenor)//Si el numero es menor que el numero menor actual + { + if (numero != 999)//Mientras sea distinto de 999 { - menor = numeros; //el numero menor es reemplazado de cumplirse que el numero introducido sea menor que el anterior - Console.WriteLine("Numero menor es: " + menor);//Impresion del numero menor + nmenor = numero;//Se sustituye el anterior numero menor por el nuevo } + } + } while (numero != 999);//Mientras sea distinto de 999 - } while (numeros != 999); //Mientras el numero introducido sea distinto de 999 + //Salida + Console.WriteLine(nmayor);//Impresion del numero mayor + Console.WriteLine(nmenor);//Impresion del numero menor + } - } while (numeros != 999 ); //Mientras el numero introducido sea distinto de 999 - - } } - } + } +} \ No newline at end of file diff --git a/Unidad 2-Estructuras de Control/Ejercicio34.c b/Unidad 2-Estructuras de Control/Ejercicio34.c new file mode 100644 index 0000000..b490e80 --- /dev/null +++ b/Unidad 2-Estructuras de Control/Ejercicio34.c @@ -0,0 +1,27 @@ +//Equipo 4// +//Fecha: 05/02/2020// +//Un programa que imprima las filas:// +//1// +//1 2// +//1 2 3 // +//...// +//1 2 3 ... n// +#include + +int main(void) { + //Entrada// + int N, X, C = 1,i; + scanf_s("%d", &N);//Se define la entrada// + + //Proceso// + for (i = 0; i < N; i++) { + X = 0; + do { + X = X++; + printf("%d", X); + } while (X50) //Se compara si el residuo es mayor que 50 + if(r>=50) //Se compara si el residuo es mayor que 50 { //Si es mayor a 50 entonces salida = ((entrada/100)+1)*100; //Se divide la entrada entre 100, se suma 1 y se mutiplica por 100 - } //para redondear el número a centena mayor + } //para rendondear el número a centena mayor else { //Si es menor o igual a 20 salida = (entrada/100)*100; //Se divide la entrada entre 100 y se divide entre 100 } //para redondearlo a la centena menor + + if(aux<0){ //Si el auxiliar es negativo, se procede volver negativo la salida + salida = salida*-1; + } //Salida - Console.WriteLine("El número {0} redondeado a centenar es:", entrada); Console.WriteLine(salida); //Se imprime el número redondeado } } -} +} \ No newline at end of file diff --git a/Unidad 2-Estructuras de Control/Ejercicio40.c b/Unidad 2-Estructuras de Control/Ejercicio40.c new file mode 100644 index 0000000..27588d2 --- /dev/null +++ b/Unidad 2-Estructuras de Control/Ejercicio40.c @@ -0,0 +1,35 @@ +//Equipo4 +//Fecha 10/02/2020 +//Autor: Carlos Greene +//Programa que determina si cada n trabajadores debe tener un aumento de 15% si gana menos que $800 +//Entrada: Número de trabajadores y sus sueldos +//Salida: Sueldo de cada trabajador con o sin aumento +#include + +int main() +{ + //Entrada + int numTra = 0; + //numTra: número de trabajadores + float su = 0, aum = 0; + //su: sueldo, aum: aumento + + scanf("%d", &numTra); //Se lee el número de trabajadores + + for(int i = 0; i < numTra; i++) //Se inicia un ciclo para todos los trabajadores + { + scanf("%f", &su); //Se lee el sueldo de cada trabajador + + //Proceso + if(su < 800) //Se compara si el sueldo es menor de 800 + { //Si es menor a 800 entonces + aum = su * 0.15; //Se calcula el aumento multiplicando el sueldo por 0.15 + su = su + aum; //Se suma el sueldo con el aumento + } + + //Salida + printf("%.*f\n", su - (int)su ? 2 : 0, su);; //Se imprime el sueldo con o sin aumento + } + + return 0; +} \ No newline at end of file diff --git a/Unidad 2-Estructuras de Control/Ejercicio40.cs b/Unidad 2-Estructuras de Control/Ejercicio40.cs index db5b71d..ad266ec 100644 --- a/Unidad 2-Estructuras de Control/Ejercicio40.cs +++ b/Unidad 2-Estructuras de Control/Ejercicio40.cs @@ -18,12 +18,10 @@ static void Main(string[] args) double su = 0, aum = 0; //su: sueldo, aum: aumento - Console.WriteLine("¿Cuantos trabajadores hay en la empresa?"); int.TryParse(Console.ReadLine(), out numTra); //Se lee el número de trabajadores for(int i = 0; i < numTra; i++) //Se inicia un ciclo para todos los trabajadores { - Console.WriteLine("¿Cuanto gana el trabajador {0}?", i+1); su = Double.Parse(Console.ReadLine()); //Se lee el sueldo de cada trabajador //Proceso @@ -31,11 +29,6 @@ static void Main(string[] args) { //Si es menor a 800 entonces aum = su * 0.15; //Se calcula el aumento multiplicando el sueldo por 0.15 su = su + aum; //Se suma el sueldo con el aumento - Console.WriteLine("Su sueldo con aumento será:"); - } - else - { - Console.WriteLine("No tiene aumento, por lo tanto, su sueldo será:"); } //Salida diff --git a/Unidad 2-Estructuras de Control/Ejercicio46.c b/Unidad 2-Estructuras de Control/Ejercicio46.c new file mode 100644 index 0000000..5a22993 --- /dev/null +++ b/Unidad 2-Estructuras de Control/Ejercicio46.c @@ -0,0 +1,69 @@ +//Equipo4 +//Autor:Jose Miron +//Programa que imprima el total a pagar y el descuento aplicado para cada uno de los N clientes, +//el total de ganancias en caja y el total de descuentos aplicados. +//Entrada: Total de la compra +//Salida: Ganancias en caja y numero de descuentos aplicados +#include +int main() +{ + //Entrada + double compra, descuento, pago, acumulado = 0; + int cliente, contador = 0; + + scanf("%d", &cliente);//Ingreso del numero de clientes + + //Proceso + for(int i=0; i<=cliente; i++)//Inicia ciclo para N numero de clientes + { + scanf("%lf", &compra); + + if(compra < 500) + { + descuento = compra * 0; pago = compra - descuento;//Compra menor a 500 pesos sin descuentos + printf("%f", compra);//Impresion de la venta con el respectivo descuento + acumulado = acumulado + pago;//acumulador de ventas con descuentos aplicados + } + + else if(500 <= compra & compra <= 999) + { + descuento = compra * 0.05; pago = compra - descuento;//Compra entre 500 y 999 pesos con el 5% de descuento + printf("%f", compra);//Impresion de la venta con el respectivo descuento + acumulado = acumulado + pago;//acumulador de ventas con descuentos aplicados + contador = contador + 1;//contador de descuentos + } + + else if(1000 <= compra & compra <= 6999) + { + descuento = compra * 0.11; + descuento = compra * 0.11; pago = compra - descuento;//Compra entre 1000 y 6999 pesos con el 11% de descuento + printf("%f", compra);//Impresion de la venta con el respectivo descuento + acumulado = acumulado + pago;//acumulador de ventas con descuentos aplicados + contador = contador + 1;//contador de descuentos + } + + else if(7000 <= compra & compra <= 14999) + { + descuento = compra * 0.18; + descuento = compra * 0.18; pago = compra - descuento;//Compra entre 7000 y 14999 pesos con el 18% de descuento + printf("%f", compra);//Impresion de la venta con el respectivo descuento + acumulado = acumulado + pago;//acumulador de ventas con descuentos aplicados + contador = contador + 1;//contador de descuentos + } + + else if(15000 <= compra) + { + descuento = compra * 0.25; + descuento = compra * 0.25; pago = compra - descuento;//Compra mayores a 15000 pesos con el 25% de descuento + printf("%f", compra);//Impresion de la venta con el respectivo descuento + acumulado = acumulado + pago;//acumulador de ventas con descuentos aplicados + contador = contador + 1;//contador de descuentos + } + + } + + //Salida + printf("%f /n", acumulado);//El total de ganancias acumuladas de las ventas + printf("%d /n", contador);//Salida del numero de descuentos aplicados + return 0; +} diff --git a/Unidad 2-Estructuras de Control/Ejercicio46.cs b/Unidad 2-Estructuras de Control/Ejercicio46.cs index cfd20ca..a707fb0 100644 --- a/Unidad 2-Estructuras de Control/Ejercicio46.cs +++ b/Unidad 2-Estructuras de Control/Ejercicio46.cs @@ -10,63 +10,70 @@ using System; -namespace Ejercicio46 +namespace Ejercicio46for { class Program { static void Main(string[] args) { + //Entrada + double compra; double descuento; double pago; int contador = 0; double acumulado = 0; int continuar; int cliente; - //Escribir el programa que imprima el total a pagar y el descuento aplicado - //para cada uno de lo N clientes que llegan.Después de recibir todos los - //clientes escribir el total en caja y el total de descuentos aplicados. - double compra; double descuento; double pago; int contador=0; double acumulado = 0; int continuar; - - do + cliente = Convert.ToInt32(Console.ReadLine());//Se ingresan el valor de la compra + + //Proceso + for (int i=0; i<=cliente; i++) { - Console.WriteLine("Ingrese valor de la compra"); + compra = Convert.ToDouble(Console.ReadLine());//Se ingresan el valor de la compra - if (compra < 500) { descuento = compra * 0; pago = compra - descuento;//Compra menor a 500 pesos sin descuentos - Console.WriteLine("El pago total es " + pago + "con un descuento aplicado de " + descuento); + if (compra < 500) + { + descuento = compra * 0; pago = compra - descuento;//Compra menor a 500 pesos sin descuentos + Console.WriteLine(pago); acumulado = acumulado + pago;//acumulador de ventas con descuentos aplicados } else if (500 <= compra & compra <= 999) - { descuento = compra * 0.05; pago = compra - descuento;//Compra entre 500 y 999 pesos con el 5% de descuento - Console.WriteLine("El pago total es " + pago + "con un descuento aplicado de " + descuento);//Impresion de la venta con el respectivo descuento + { + descuento = compra * 0.05; pago = compra - descuento;//Compra entre 500 y 999 pesos con el 5% de descuento + Console.WriteLine(pago);//Impresion de la venta con el respectivo descuento acumulado = acumulado + pago;//acumulador de ventas con descuentos aplicados + contador = contador + 1;//contador de descuentos } - else if (1000 <= compra & compra <= 6999) { descuento = compra * 0.11; + else if (1000 <= compra & compra <= 6999) + { + descuento = compra * 0.11; descuento = compra * 0.11; pago = compra - descuento;//Compra entre 1000 y 6999 pesos con el 11% de descuento - Console.WriteLine("El pago total es " + pago + "con un descuento aplicado de " + descuento);//Impresion de la venta con el respectivo descuento + Console.WriteLine(pago);//Impresion de la venta con el respectivo descuento acumulado = acumulado + pago;//acumulador de ventas con descuentos aplicados + contador = contador + 1;//contador de descuentos } - else if (7000 <= compra & compra <= 14999) { descuento = compra * 0.18; + else if (7000 <= compra & compra <= 14999) + { + descuento = compra * 0.18; descuento = compra * 0.18; pago = compra - descuento;//Compra entre 7000 y 14999 pesos con el 18% de descuento - Console.WriteLine("El pago total es " + pago + "con un descuento aplicado de " + descuento);//Impresion de la venta con el respectivo descuento + Console.WriteLine(pago);//Impresion de la venta con el respectivo descuento acumulado = acumulado + pago;//acumulador de ventas con descuentos aplicados + contador = contador + 1;//contador de descuentos } - else if (15000 <= compra) { descuento = compra * 0.25; + else if (15000 <= compra) + { + descuento = compra * 0.25; descuento = compra * 0.25; pago = compra - descuento;//Compra mayores a 15000 pesos con el 25% de descuento - Console.WriteLine("El pago total es " + pago + "con un descuento aplicado de " + descuento);//Impresion de la venta con el respectivo descuento + Console.WriteLine(pago);//Impresion de la venta con el respectivo descuento acumulado = acumulado + pago;//acumulador de ventas con descuentos aplicados + contador = contador + 1;//contador de descuentos } - contador = contador + 1;//contador de ventas - - Console.WriteLine("¿Desea continuar registrando compras?"); - continuar = Convert.ToInt32(Console.ReadLine());//Opcion para decidir si continuar o no con las ventas - - - } while (continuar == 1) ; - Console.WriteLine("El acumulado en caja fue de: " + acumulado);//El total de ganancias acumuladas de las ventas - Console.WriteLine("El total de descuentos aplicados fue de: " + contador);//Salida del numero de descuentos aplicados + } + //Salida + Console.WriteLine( acumulado);//El total de ganancias acumuladas de las ventas + Console.WriteLine(contador);//Salida del numero de descuentos aplicados Console.ReadLine(); - } } -} +} \ No newline at end of file diff --git a/Unidad 2-Estructuras de Control/Ejercicio51.c b/Unidad 2-Estructuras de Control/Ejercicio51.c new file mode 100644 index 0000000..780fe81 --- /dev/null +++ b/Unidad 2-Estructuras de Control/Ejercicio51.c @@ -0,0 +1,27 @@ +//Equipo 4// +//Fecha 05/02/2020// +//Un programa que lea la ID numerica, edad y sueldo de 10 personas y que determine cuantos mayores de 35 años tuvieron salarios comprendidos entre $5000 y $7500// + +int main(void) { + //Entrada// + int edad = 0, cont = 0, id = 0, salida = 0; + float sueldo = 0; + + //Proceso// + while (cont < 10)//se incia el ciclo// + { + scanf_s("%d", &id); + scanf_s("%d", &edad); + scanf_s("%f", &sueldo); + cont = cont ++; + if (edad > 35) + { + if (sueldo >= 5000 & sueldo <= 7500)//se valida si el sueldo ingresado cumple los estandares de sueldo requeridos por el problema// + { + salida = salida + 1;//si todos los estandares requeridos se cumplen se cuenta a la persona en la salida final// + } + } + } + //Salida// + printf("%d", salida);//se imprime como salida final, la cantidad de personas que cumplieron los estandares establecidos por el problema// +} \ No newline at end of file diff --git a/Unidad 2-Estructuras de Control/Ejercicio51.cs b/Unidad 2-Estructuras de Control/Ejercicio51.cs index c6bb1a7..671fe16 100644 --- a/Unidad 2-Estructuras de Control/Ejercicio51.cs +++ b/Unidad 2-Estructuras de Control/Ejercicio51.cs @@ -14,67 +14,23 @@ static void Main(string[] args) double sueldo = 0; //id: es la ID numerica de la persona, edad: es la edad de la persona, cont: es el contador de ciclos realizados, salida: es el contador de trabajadores que cumplen los estandares solicitados por el problema// //sueldo: es el sueldo de la persona, adémas al tener la posibilidad de tener centavos es la unica variable double// + //Proceso// while(cont < 10)//se incia el ciclo// { - Console.WriteLine("Porfavor ingrese su ID:");//se pide el ingreso de la variable id// int.TryParse(Console.ReadLine(), out id); - Console.WriteLine("Porfavor ingrese su edad:");//se pide el ingreso de la variable edad// int.TryParse(Console.ReadLine(), out edad); - if(edad > 0)//se validad que si edad ingresada es valida, es decir mayor que 0 tomando los digitos enteros como años// - { - if(edad < 35)//se valida si la edad ingresada cumple con los estandares de edad requeridos por el problema// - { - Console.WriteLine("Porfavor ingrese su sueldo:");//se solicita la variable de sueldo// - double.TryParse(Console.ReadLine(), out sueldo); - if(sueldo > 0)//se valida si el sueldo ingresado es valido, es decir mayor que 0 para que siempre haya ganancia// - { - if(sueldo >= 5000 & sueldo <= 7500)//se valida si el sueldo ingresado cumple los estandares de sueldo requeridos por el problema// - { - salida = salida + 1;//si todos los estandares requeridos se cumplen se cuenta a la persona en la salida final// - } - } - else - { - Console.WriteLine("Ese monto no es valido, por favor intentelo de nuevo:"); - double.TryParse(Console.ReadLine(), out sueldo);//en caso de que el sueldo no sea valido, es decir mayor 0, se solicita de nuevo que se ingrese un monto para sueldo// - if(sueldo >= 5000 & sueldo <= 7500) - { - salida = salida + 1;//si todos los estandares requeridos se cumplen se cuenta a la persona en la salida final// - } - } - } - } - else - { - Console.WriteLine("Esa no es una edad valida, por favor intentelo de nuevo:"); - int.TryParse(Console.ReadLine(), out edad);//en caso de que la edad no sea valida, es decir mayor a 0, se solicita que se ingrese de nuevo una edad// - if(edad > 35) - { - Console.WriteLine("Porfavor ingrese su sueldo:");//se valida si el sueldo ingresado es valido, es decir mayor que 0 para que siempre haya ganancia// - double.TryParse(Console.ReadLine(), out sueldo); - if(sueldo > 0) - { - if(sueldo >= 5000 & sueldo <= 7500)//se valida si el sueldo ingresado cumple los estandares de sueldo requeridos por el problema// - { - salida = salida + 1;//si todos los estandares requeridos se cumplen se cuenta a la persona en la salida final// - } - } - else - { - Console.WriteLine("Ese monto no es valido, por favor intentelo de nuevo:"); - double.TryParse(Console.ReadLine(), out sueldo);//en caso de que el sueldo no sea valido, es decir mayor 0, se solicita de nuevo que se ingrese un monto para sueldo// - if(sueldo >= 5000 & sueldo <= 7500) - { - salida = salida + 1;//si todos los estandares requeridos se cumplen se cuenta a la persona en la salida final// - } - } - } - } - cont = cont + 1;//al final de cada ciclo se suma la realización al contador de ciclos, para poder cerrar el ciclo while al llegar a 10// - Console.WriteLine($"{cont}° registro exitoso");//se imprime el número de ciclo realizado para asi evitar confusiones// - } - Console.WriteLine($"{salida} trabajador(es) cumplieron con los estandares establecidos" );//se imprime como salida final, la cantidad de personas que cumplieron los estandares establecidos por el problema// + double.TryParse(Console.ReadLine(), out sueldo); + cont= cont + 1; + if(edad > 35) + { + if(sueldo >= 5000 & sueldo <= 7500)//se valida si el sueldo ingresado cumple los estandares de sueldo requeridos por el problema// + { + salida = salida + 1;//si todos los estandares requeridos se cumplen se cuenta a la persona en la salida final// + } + } + } + Console.WriteLine(salida);//se imprime como salida final, la cantidad de personas que cumplieron los estandares establecidos por el problema// } } } \ No newline at end of file diff --git a/Unidad 3-Funciones/Ejercicio15.c b/Unidad 3-Funciones/Ejercicio15.c index 0e0f340..4a1314f 100644 --- a/Unidad 3-Funciones/Ejercicio15.c +++ b/Unidad 3-Funciones/Ejercicio15.c @@ -1,84 +1,214 @@ -/* -Autor: Amílcar A. Ramírez Patrón -Entradas: El dia, mes y año de dos fechas distintas -Proceso: Verificar, en orden año, mes, día, qué numero de ambas fechas es mayor y escribir la fecha que es, a la vez -que procurar continuar en orden en caso de empate, hasta que se concluya que ambas fechas son iguales -Salidas: La fecha mayor -*/ +/** + * @file Ejercicio15.c + * @author Carlos Greene + * Entrada: Dos fechas con tres numeros enteros cada una + * Salida: La fecha mayor o un texto con "Son iguales" + * @brief Descripción: Programa que lee dos fechas (día-mes-año) con tres cantidades enteras e imprima la mayor, si son la misma imprima son iguales. + * @version 0.1 + * @date 2020-02-21 + * + * @copyright Copyright (c) 2020 + */ #include -void leerAmbasFechas(int*, int*, int*, int*, int*, int*); -void compararAmbasFechas(int*, int*, int*, int*, int*, int*); +/** + * @brief Se inicializan los prototipos + */ +void leerEntradas(int *, int *, int*, int *, int *, int *); +int determinarDiaMayor(int, int, int, int, int, int); +int determinarMesMayor(int, int, int, int); +int determinarAnioMayor(int, int); +int determinarSiSonIguales(int, int, int, int, int, int); +void imprimirSalidas(int, int, int, int); -/*15.Escribir el programa que lea dos fechas (día-mes-año) con tres cantidades -enteras e imprima la mayor, si son la misma imprima son iguales. -*/ -int main(int argc, char *argv[]) { - //entrada - int diauno, mesuno, anouno, diados, mesdos, anodos; - leerAmbasFechas(&diauno, &mesuno, &anouno, &diados, &mesdos, &anodos); - //proceso - compararAmbasFechas(&diauno, &mesuno, &anouno, &diados, &mesdos, &anodos); - return 0; +/** + * @brief El bloque de abajo es el Main, ahí es donde se ejecuta el código, dentro contiene las variables que se utilizaron + * para algoritmo. Tambien contiene las funciones que se encargan de la entrada, procesos y salida. + * @return int + */ +int main() +{ + //Entradas + //Se inicializan las variables + int day=0, month=0, year=0, day2=0, month2=0, year2=0, dayH=0, monthH=0, yearH=0, aux=0; + + //Se lee las entradas + leerEntradas(&day, &month, &year, &day2, &month2, &year2); + + //Proceso + dayH=determinarDiaMayor(day, month, year, day2, month2, year2); + + monthH=determinarMesMayor(month, year, month2, year2); + + yearH=determinarAnioMayor(year, year2); + + aux=determinarSiSonIguales(day, month, year, day2, month2, year2); + + //Salida + imprimirSalidas(dayH, monthH, yearH, aux); + + return 0; +} + +/** + * @brief La función leerEntrada se encarga de que el usuario dé los valores a las variables y luego, a travez de pase por + * referencia, las varieble del Main tengran los mismos valores de los que se introdujeron en la función + * @param _day Dia de la primera fecha + * @param _month Mes de la primera fecha + * @param _year Año de la primera fecha + * @param _day2 Dia de la segunda fecha + * @param _month2 Mes de la segunda fecha + * @param _year2 Año de la segunda fecha + */ +void leerEntradas(int *_day, int *_month, int *_year, int *_day2, int *_month2, int *_year2) +{//Se lee las variables + scanf("%d", _day); + scanf("%d", _month); + scanf("%d", _year); + scanf("%d", _day2); + scanf("%d", _month2); + scanf("%d", _year2); } -void leerAmbasFechas(int *diauno, int *mesuno, int* anouno, int *diados, int *mesdos, int *anodos){ - printf("Escriba el dia uno:"); - scanf("%d", diauno); - printf("Escriba el mes uno:"); - scanf("%d", mesuno); - printf("Escriba el ano uno:"); - scanf("%d", anouno); - printf("Escriba el dia dos:"); - scanf("%d", diados); - printf("Escriba el mes dos:"); - scanf("%d", mesdos); - printf("Escriba el ano dos:"); - scanf("%d", anodos); +/** + * @brief La función determinarDiaMayor determina el dia de la fecha mayor, comparando los años, meses y días. + * @param dia Dia de la primera fecha + * @param mes Mes de la primera fecha + * @param anio Año de la primera fecha + * @param dia2 Dia de la segunda fecha + * @param mes2 Mes de la segunda fecha + * @param anio2 Año de la segunda fecha + * @return int Retorna un valor entero que contiene el dia de la fecha mayor + */ +int determinarDiaMayor(int dia, int mes, int anio, int dia2, int mes2, int anio2) +{//Se determina cual dia es mayor +int diaM=0; + if(anio>anio2)//Se verifica si el primer año es mayor que el segundo + { + diaM=dia; + } + else if(anio2>anio)//Se verifica si el segundo año es mayor que el primero + { + diaM=dia2; + } + else if(anio==anio2)//Se verifica si tienen el mismo año + { + if(mes>mes2)//Se verifica si el primer mes es mayor que el segundo + { + diaM=dia; + } + else if(mes2>mes)//Se verifica si el segundo mes es mayor que el primero + { + diaM=dia2; + } + else if(mes==mes2)//Se verifica si tienen el mismo mes + { + if(dia>dia2)//Se verifica si el primer dia es mayor que el segundo + { + diaM=dia; + } + else if(dia2>dia)//Se verifica si el segundo dia es mayor que el primero + { + diaM=dia2; + } + } + } + return diaM; } +/** + * @brief La función determinarMesMayor determina el mes de la fecha mayor, comparando los años y meses. + * @param mes Mes de la primera fecha + * @param anio Año de la primera fecha + * @param mes2 Mes de la segunda fecha + * @param anio2 Año de la segunda fecha + * @return int Retorna un valor entero que contiene el mes de la fecha mayor + */ +int determinarMesMayor(int mes, int anio, int mes2, int anio2) +{//Se determina cual dia es mayor + int mesM=0; + if(anio>anio2)//Se verifica si el primer año es mayor que el segundo + { + mesM=mes; + } + else if(anio2>anio)//Se verifica si el segundo año es mayor que el primero + { + mesM=mes2; + } + else if(anio==anio2)//Se verifica si tienen el mismo año + { + if(mes>mes2)//Se verifica si el primer mes es mayor que el segundo + { + mesM=mes; + } + else if(mes2>mes)//Se verifica si el segundo mes es mayor que el segundo + { + mesM=mes2; + } + + } + return mesM; +} + +/** + * @brief La función determinarAnioMayor determina el año de la fecha mayor, comparando los años. + * @param anio Año de la primera fecha + * @param anio2 Año de la segunda fecha + * @return int Retorna un valor entero que contiene el año de la fecha mayor + */ +int determinarAnioMayor(int anio, int anio2) +{//Se determina cual año es mayor + int anioM=0; + if(anio>anio2)//Se verifica si el primer año es mayor que el segundo + { + anioM=anio; + } + else if(anio2>anio)//Se verifica si el segundo año es mayor que el primero + { + anio=anio2; + } + return anioM; +} -void compararAmbasFechas(int *diauno, int *mesuno, int* anouno, int *diados, int *mesdos, int *anodos){ - if(*anouno < *anodos){ - printf("La segunda fecha ingresada es mayor: dia %d mes %d año %d\n", *diados, *mesdos, *anodos); - } - if(*anouno > *anodos){ - printf("La primera fecha ingresada es mayor: dia %d mes %d año %d\n", *diauno, *mesuno, *anouno); - } - else if (*anouno = *anodos){ - if(*mesuno < *mesdos){ - printf("La segunda fecha ingresada es mayor: dia %d mes %d año %d\n", *diados, *mesdos, *anodos); - } - if(*mesuno > *mesdos){ - printf("La primera fecha ingresada es mayor: dia %d mes %d año %d\n", *diauno, *mesuno, *anouno); - } - else if(*mesuno = *mesdos){ - if(*diauno < *diados){ - printf("La segunda fecha ingresada es mayor: dia %d mes %d año %d\n", *diados, *mesdos, *anodos); - } - if(*diauno > *diados){ - printf("La primera fecha ingresada es mayor: dia %d mes %d año %d\n", *diauno, *mesuno, *anouno); - } - else if(*diauno = *diados){ - printf("Las fechas son las mismas\n"); - } - } - } +/** + * @brief La función determinarSiSonIguales + * @param dia Dia de la primera fecha + * @param mes Mes de la primera fecha + * @param anio Año de la primera fecha + * @param dia2 Dia de la segunda fecha + * @param mes2 Mes de la segunda fecha + * @param anio2 Año de la segunda fecha + * @return int Retorna un auxiliar que indica que las dos fechas se repiten + */ +int determinarSiSonIguales(int dia, int mes, int anio, int dia2, int mes2, int anio2) +{//Determina si las fechas son iguales + int _aux=0; + if(dia==dia2 && mes==mes2 && anio==anio2) + { + _aux=1; + } + return _aux; } -/* -QA: Hector Abraham V. Cosgalla -Entradas: -Entradas: -10--|24--|10--| -2---|3---|2---| -1998|1995|1995| -24--|10--|10--| -3---|2---|2---| -1995|1998|1995| -Salidas: -La primera fecha ingresada es mayor | la segunda fecha ingresada es mayor | las fechas son las mismas - | La primera fecha ingresada es mayor | -Comentarios: Hay una pequeña falla en el segundo caso, hay que revisarlo, y se necesita un poco mas -de informacion al momento de solicitar los valores. -*/ +/** + * @brief La función imprimirSalida recibe, a travez de pase por valor, una copia del valor que está en el Main que contiene + * la cadena de texto con la fecha mayor o iguales, la función sólo se encargará de imprimirlo. + * @param _dayH Dia de la fecha mayor + * @param _monthH Mes de la fecha mayor + * @param _yearH Año de la fech mayor + * @param auxf auxiliar que indica que las dos fechas se repiten + */ +void imprimirSalidas(int _dayH, int _monthH, int _yearH, int auxf) +{//Se imprime la salida + if(auxf==0)//Si el auxiliar es 0, se imprime las fecha mayor + { + printf("%d\n", _dayH); + printf("%d\n", _monthH); + printf("%d", _yearH); + } + else + {//Si el auxiliar es 1, te envia mesaje que "Son iguales" + printf("Son iguales"); + } + +} \ No newline at end of file diff --git a/Unidad 3-Funciones/Ejercicio15.cs b/Unidad 3-Funciones/Ejercicio15.cs new file mode 100644 index 0000000..a56910e --- /dev/null +++ b/Unidad 3-Funciones/Ejercicio15.cs @@ -0,0 +1,121 @@ +/// +/// Autor:Carlos Greene +/// Entrada: Dos fechas con tres numeros enteros cada una +/// Salida: La fecha mayor o un texto con "Son iguales" +/// Descripción: Programa que lee dos fechas (día-mes-año) con tres cantidades enteras e imprima la mayor, si son la misma imprima son iguales. +/// +using System; + +namespace Ejercicio15 +{ + class Program + { + /// + /// El bloque de abajo es el Main, ahí es donde se ejecuta el código, dentro contiene las variables que se utilizaron + /// para algoritmo. Tambien contiene las funciones que se encargan de la entrada, proceso y salida + /// + /// + static void Main(string[] args) + { + //Entradas + //Se inicializan las variables + int day=0, month=0, year=0, day2=0, month2=0, year2=0; + string fechaMayor=""; + + //Se lee las entradas + leerEntradas(ref day, ref month, ref year, ref day2, ref month2, ref year2); + + //Proceso + fechaMayor=determinarFechaMayor(day, day2, month, month2, year, year2); + + //Salida + imprimirSalida(fechaMayor); + + } + + /// + /// La función leerEntrada se encarga de que el usuario dé los valores a las variables y luego, a traves de pase por + /// referencia, las varieble del Main tengran los mismos valores de los que se introdujeron en la función. + /// + /// Dia de la primera fecha + /// Mes de la primera fecha + /// Año de la primera fecha + /// Dia de la segunda fecha + /// Mes de la segunda fecha + /// Año de la segunda fecha + + static void leerEntradas(ref int _day, ref int _month, ref int _year, ref int _day2, ref int _month2, ref int _year2) + {//Se lee las variables + _day=Convert.ToInt32(Console.ReadLine()); + _month=Convert.ToInt32(Console.ReadLine()); + _year=Convert.ToInt32(Console.ReadLine()); + _day2=Convert.ToInt32(Console.ReadLine()); + _month2=Convert.ToInt32(Console.ReadLine()); + _year2=Convert.ToInt32(Console.ReadLine()); + } + + + /// + /// La función determinarFechaMayor utiliza, a traves de pase por valor, las copias de los valores del estan en el Main, + /// con estos valores, se determina los cual es la fecha mayor o si son iguales. + /// + /// Dia de la primera fecha + /// Dia de la segunda fecha + /// Mes de la primera fecha + /// Mes de la segunda fecha + /// Año de la primera fecha + /// Año de la segunda fecha + /// La función retornará una cadena de texto que contiene el dia, mes y año de la fecha mayor o son iguales + + static string determinarFechaMayor(int dia, int dia2, int mes, int mes2, int anio, int anio2) + {//Se determina cual fecha es mayor o son iguales + string _fechaMayor="";//Se inicializa el valor que va a retornar + if(anio>anio2)//Se verifica si el primer año es mayor que el segundo + { + _fechaMayor=dia + "\n" + mes + "\n" + anio; + } + else if(anio2>anio)//Se verifica si el segundo año es mayor que el primero + { + _fechaMayor=dia2 + "\n" + mes2 + "\n" + anio2; + } + else if(anio==anio2)//Se verifica si tienen el mismo año + { + if(mes>mes2)//Se verifica si el primer mes es mayor que el segundo + { + _fechaMayor=dia + "\n" + mes + "\n" + anio; + } + else if(mes2>mes)//Se verifica si el segundo mes es mayor que el primero + { + _fechaMayor=dia2 + "\n" + mes2 + "\n" + anio2; + } + else if(mes==mes2)//Se verifica si tienen el mismo mes + { + if(dia>dia2)//Se verifica si el primer dia es mayor que el segundo + { + _fechaMayor=dia + "\n" + mes + "\n" + anio; + } + else if(dia2>dia)//Se verifica si el segundo dia es mayor que el primero + { + _fechaMayor=dia2 + "\n" + mes2 + "\n" + anio2; + } + else if(dia==dia2)//Se verifica si tienen el mismo dia + { + _fechaMayor="Son iguales"; + } + } + } + + return _fechaMayor;//Se retorna el valor de la fecha mayor + } + + /// + /// La función imprimirSalida recibe, a traves de pase por valor, una copia del valor que está en el Main que contiene + /// la cadena de texto con la fecha mayor o iguales, la función sólo se encargará de imprimirlo. + /// + /// Variable que contiene la cadena de texto con la fecha mayor o iguales + static void imprimirSalida(string _salida) + {//Se imprime la fecha mayor o si son iguales + Console.WriteLine(_salida); + } + } +} \ No newline at end of file diff --git a/Unidad 3-Funciones/Ejercicio21.c b/Unidad 3-Funciones/Ejercicio21.c new file mode 100644 index 0000000..c9089d3 --- /dev/null +++ b/Unidad 3-Funciones/Ejercicio21.c @@ -0,0 +1,87 @@ +/** + * @file Ejercicio21.c + * @author Jose Miron + * Entrada: Numero entero positivo + * Salida: Factorial de N + * @brief //Programa que dado un número entero n determina su factorial + * @version 0.1 + * @date 2020-02-21 + * @copyright Copyright (c) 2020 + * + */ + +#include + + +/** + * @brief Se inicializan los prototipos de funciones + * + */ +void leerEntrada(int); +int calcularFactorial(int); +void imprimirSalida(int); + + /** + * @brief El bloque de abajo es el Main, ahi es donde se ejecuta el codigo, dentro contiene las variables que se utilizaron + * para el algoritmo. Tambien contiene las funciones que se encargan de la entrada, proceso y salida. + * @return int + */ + int Main() + { + //Declaración de variables + int entrada = 0, fact = 0; + + //Entrada + leerEntrada(&entrada); + + //Proceso + fact = calcularFactorial(entrada); + + //Salida + imprimirSalida(fact); + } + + /** + * @brief La funcion leerEntrada se encarga de que el usuario de los valores a las variables y luego, a traves de pase + * por referencia, las variables del Main tengan los mismos valores de los que se introdujeron en la funcion + * @param _entrada + */ + void leerEntrada( int _entrada) + { + //Se lee la variable + scanf("%d", _entrada); + + } + + /** + * @brief La funcion calcularFactorial recibe a traves de por valor, una copia del valor que esta en el Main, + * se encarga de calcular el factorial de N + * @param numero + * @return int + */ + int calcularFactorial(int numero) + { + int factorial = 1;//Se inicializa la variable de retorno + + if (numero != 0) //Se compara si el número introducido es cero + { + for (int i = 1; i <= numero; i++) //Se hace otro ciclo repetitivo para calcular factoriales + { + factorial = factorial * i; //Se calcula factorial multiplicando la variable fact por n del ciclo + } + + } + + return factorial;//Se retorna la variable + } + + /** + * @brief La funcion imprimirSalida recibe a traves de pase por valor, una copia del valor que esta en el Main + * de la variable que contiene la cantidad de multiplos, la funcion solo imprime dicho valor + * @param _fact + */ + void imprimirSalida(int _fact) + { + ////Se imprime la salida + printf("%d",_fact); + } diff --git a/Unidad 3-Funciones/Ejercicio21.cs b/Unidad 3-Funciones/Ejercicio21.cs new file mode 100644 index 0000000..b9726ec --- /dev/null +++ b/Unidad 3-Funciones/Ejercicio21.cs @@ -0,0 +1,82 @@ +/// +///Autor: Jose Miron +/// Entrada: Numero entero positivo +/// Salida: Factorial del numero entero N +///Descripcion: //Dado un número entero n determina su factorial +/// + +using System; + +namespace Ejercicio21 +{ + class Program + { + /// + /// El bloque de abajo es el Main, ahi es donde se ejecuta el codigo, dentro contiene las variables que se utilizaron + /// para el algoritmo. Tambien contiene las funciones que se encargan de la entrada, proceso y salida. + /// + /// + static void Main(string[] args) + { + //Entrada + //Se inicializan las variables + int entrada = 0, fact = 0; + + //Función que lee la variable + leerEntrada(ref entrada); + + //Proceso + //Funcion que calcula el factorial + fact = calcularFactorial(entrada); + + //Salida + //Funcion que imprime la salida + imprimirSalida(fact); + } + + /// + /// La funcion leerNumero se encarga de que el usuario de los valores a las variables y luego, a traves de pase + /// por referencia, las variables del Main tengan los mismos valores de los que se introdujeron en la funcion + /// + /// + static void leerEntrada(ref int _entrada) + { + //lectura de la variable + _entrada = Convert.ToInt32(Console.ReadLine()); + } + + /// + /// /// La funcion calcularFactorial recibe a traves de por valor, una copia del valor que esta en el Main, + /// se encarga de calcular el factorial de un numero entero positivo N + /// + /// + /// + static int calcularFactorial(int numero) + { + int factorial = 1; + + if (numero != 0) //Se compara si el número introducido es cero + { + for (int i = 1; i <= numero; i++) //Se hace otro ciclo repetitivo para calcular factoriales + { + factorial = factorial * i; //Se calcula factorial multiplicando la variable fact por n del ciclo + } + + } + + return factorial;//Se retorna la variable + } + + + /// + /// /// La funcion imprimirSalida recibe a traves de pase por valor, una copia del valor que esta en el Main + /// de la variable que contiene el factorial de N, la funcion solo imprime dicho valor + /// + /// + static void imprimirSalida(int _fact) + { + //Se imprime la salida + Console.WriteLine(_fact); + } + } +} diff --git a/Unidad 3-Funciones/Ejercicio27.c b/Unidad 3-Funciones/Ejercicio27.c index 534e640..88bcf6b 100644 --- a/Unidad 3-Funciones/Ejercicio27.c +++ b/Unidad 3-Funciones/Ejercicio27.c @@ -1,44 +1,88 @@ -/* - Autor: Carlos Chan Gongora 15/02/2019 - Entradas: Cualquier numero hasta que se ingrese 999. - Salidas: La media aritmetica de los numeros ingresados. - Procedimiento general: Lee y suma los numeros que el usuario ingrese, a la vez - que cuenta el total de numeros ingresados, al ingresar 999 deja de leer y - calcula la media aritmetica. +/** + * @file Ejercicio 27.c + * @author Giovanni Quintal + * Entrada: Un numero real + * Salida: "Promedio" + * @brief Determinara el promedio de los datos dados. + * @version 0.1 + * @date 2020-02-23 + * + * @copyright Copyright (c) 2020 + * + */ +#include + +/** +* @brief Se inicializan los prototipos de las funciones */ -#include -void leerNumeros(); +void leerEntrada(float *); +float promediar(float,float,float); +void imprimirSalida(float); + +/** + * @brief El bloque de abajo es el Main, ahí es donde se ejecutara el código, dentro contiene la variable que se se utilizaron + * para el algoritmo. Tambien contiene las funciones de la entrada, proceso y la salida. + * @return float + */ + +int main() +{ + //Entrada + //Se inicializan las varibles + float contador = 0, i = 0, sum = 0, mediaarit=0; -int main(){ + //Función que lee la variable + leerEntrada(&i); + + //Proceso + //Función que saca el promedio + mediaarit = promediar(i, sum, contador); - leerNumeros(); + //Salida + //Función que imprime la salida + imprimirSalida(mediaarit); - return 0; + return 0; } -// Lee los numeros hasta que se ingrese 999 -void leerNumeros(){ - int num = 0, contador = 0; - float media = 0, suma = 0; - - while(num != 999){ - printf("Ingresa un numero: "); - scanf("%d", &num); - if(num != 999){ - suma += num; - contador += 1; - } - } - if(contador > 0){ - media = suma / contador; - printf("La media es: %f", media); - } - else{ - printf("No ingreso ningun numero."); - } +/** + * @brief La función leerEntrada se encarga de de pedir el valor de la variable i y a traves con el pase de refencia, + * la variable del main tendra los mismo valores dado por el usuario + * + * @param i Número entero + */ +void leerEntrada(float *i) +{ + scanf("%i",&i); +} + +/** + * @brief La función promediar sumara todos los numeros y los dividira entre la cantidad dada. + * @param i + * @param sum + * @param contador + * @return float retorna la variable float que contiene el resultado final + */ +float promediar(float i,float sum, float contador) +{ + float mediaarit = 0; + while (i<999) + { + sum = (sum+i); + contador = contador+1; + leerEntrada(&i); + } + mediaarit = sum/contador; + return mediaarit; +} +/** + * @brief La función imprimirSalida, recibe un un pase del valor, una copia del valor cont desde el main + * + * @param mediaarit El promedio de datos dados. + */ +void imprimirSalida(float mediaarit) +{ + printf("%f\n",mediaarit); + } -/*AUTOR QA : RONSSON RAMIRO MAY SANTOS -ENTRADAS:4,5,6,7,8,9,999 -SALIDAS: 6.500000; -OBSERVACIONES: EL PROGRAMA CALCULA LA MEDIA ARICMETICA DE N NUMEROS CORRECTAMENTE*/ diff --git a/Unidad 3-Funciones/Ejercicio27.cs b/Unidad 3-Funciones/Ejercicio27.cs new file mode 100644 index 0000000..0dab520 --- /dev/null +++ b/Unidad 3-Funciones/Ejercicio27.cs @@ -0,0 +1,78 @@ +/// +/// //Autor:Giovanni Quintal +/// Entrada: Un numero real +/// Salida: "Promedio" +/// Descripción: Determinara el promedio de los datos dados. +/// +using System; + +namespace Ejercicio27 +{ + + class Program + { + /// + /// El bloque de abajo es el Main, ahí es donde se ejecutara el código, dentro contiene la variable que se se utilizaron + /// para el algoritmo. Tambien contiene las funciones de la entrada, proceso y la salida. + /// + /// + + static void Main(string[] args) + { + //Entrada + //Se inicializan las varibles + float contador = 0, i = 0, sum = 0, mediaarit = 0; + + //Función que lee la variable + leerEntrada(ref i); + + //Proceso + //Función que saca el promedio + mediaarit = promediar(i, sum, contador); + + //Salida + //Función que imprime la salida + imprimirSalida(mediaarit); + } + /// + /// La función leerEntrada se encarga de de pedir el valor de la variable i y a traves con el pase de refencia, + /// la variable del main tendra los mismo valores dado por el usuario + /// + /// Número entero + + static void leerEntrada(ref float i) + { + float.TryParse(Console.ReadLine(), out i); + } + + /// + /// La función promediar sumara todos los numeros y los dividira entre la cantidad dada. + /// + /// + /// + /// + /// retorna la variable float que contiene el resultado final + static float promediar(float i, float sum, float contador) + { + float mediaarit = 0; + while (i < 999) + { + sum = sum + i; + contador = contador + 1; + + leerEntrada(ref i); + } + mediaarit = sum / contador; + + return mediaarit; + } + /// + /// La función imprimirSalida, recibe un un pase del valor, una copia del valor cont desde el main + /// + /// El promedio de datos dados. + static void imprimirSalida(float mediaarit) + { + Console.WriteLine(mediaarit); + } + } +} \ No newline at end of file diff --git a/Unidad 3-Funciones/Ejercicio3.c b/Unidad 3-Funciones/Ejercicio3.c index 9d94bb1..cbc5c0d 100644 --- a/Unidad 3-Funciones/Ejercicio3.c +++ b/Unidad 3-Funciones/Ejercicio3.c @@ -1,71 +1,84 @@ -/* - Autor: Carlos Chan Gongora 15/02/2019 - Entradas: Un numero entero. - Salidas: El dia de la semana correspondiente al numero ingresado. - Procedimiento general: Lee un numero, valida que este en el rango de 1 a 7 e Imprime - el dia correspondiente. -*/ +/** + * @file ejercicio3.c + * @author Manuel Peraza + * @brief Programa que introduzca el número del día de la semana (1-7) y se visualice el nombre del día. + * Entrada: Numeros enteros del 1 a 7 + * Salida: Nombre del dia de la semana + * Ejemplo: + * Entrada: 1 + * Salida: Lunes + * @version 0.1 + * @date 2020-02-22 + * + * @copyright Copyright (c) 2020 + * + */ #include -int entrada(); -int validarNumero(int); -void imprimirDia(int); - -int main(){ - // Entradas - int num; - do{ - num = entrada(); - }while(!validarNumero(num)); - - // Proceso - imprimirDia(num); - - return 0; -} - -// Lee un numero -int entrada(){ - int numero = 1; - printf("Ingrese un numero entre 1 y 7: "); - scanf("%d", &numero); - return numero; +/** + * @brief Se inicializan los prototipos de las funciones + */ +void leerEntrada(int *); +void imprimeSalida(int); +/** + * @brief El bloque e abajo ess el Main, ahi es donde se ejecuta el código, dentro contiene las variables que se utilizaron + * para el algoritmo. Tambien contiene las funciones que se encarguen de la entrada. + * @return int + */ +int main() +{ + //Entrada + //se inicializan las variables + int dia=0; + //Funcion que lee la variable + leerEntrada(&dia); + //Salida + //Funcion que imprime la salida + imprimeSalida(dia); + return 0; } -// Valida que el numero ingresado sea mayor a cero y menor a 8, devuelve 1 si es mayor y 0 si es menor. -int validarNumero(int num){ - int validar = 0; - if(num > 0 && num < 8){ - validar = 1; - } - else{ - validar = 0; - } - return validar; +/** + * @brief La funcion leerEntrada se encarga de que el usuario introdusca los valores y por pase de referencia tenga + * los mismos valores la variable en el bloque main + * @param _dia numero entero del 1 al 7 + */ +void leerEntrada(int *_dia) +{ + scanf("%d", _dia); } -// Recibe un entero e imprime el dia correspondiente -void imprimirDia(int num){ - printf("El dia correspondiente al numero %d es: ", num); - switch (num) { - case 1: printf("Lunes"); - break; - case 2: printf("Martes"); - break; - case 3: printf("Miercoles"); - break; - case 4: printf("Jueves"); - break; - case 5: printf("Viernes"); - break; - case 6: printf("Sabado"); - break; - case 7: printf("Domingo"); - break; - default: printf("El numero no esta en el rango de 1 a 7.\n"); - } +/** + * @brief La funcion imprimeSalida se encarga de imprimir el nombre del dia de la semana de acuerdo al numero de + * ingresado en la variable + * @param num + */ +void imprimeSalida(int num) +{ + if(num==1) + { + printf("Lunes"); + } + else if(num==2) + { + printf("Martes"); + } + else if(num==3) + { + printf("Miercoles"); + } + else if(num==4) + { + printf("Jueves"); + } + else if(num==5) + { + printf("Viernes"); + } + else if(num==6) + { + printf("Sabado"); + } + else if(num==7) + { + printf("Domingo"); + } } -/* -QA: Hector Abraham V. Cosgalla -Entradas: 4, 2, 8 y 7 -Salidas: Jueves, Martes, nada y Domingo (respectivamente) -Comentarios: Todo excelente. -*/ diff --git a/Unidad 3-Funciones/Ejercicio3.cs b/Unidad 3-Funciones/Ejercicio3.cs new file mode 100644 index 0000000..6a1b245 --- /dev/null +++ b/Unidad 3-Funciones/Ejercicio3.cs @@ -0,0 +1,84 @@ +/// +/// Autor: Manuel Peraza +/// Descricion: introduzca el número del día de la semana (1-7) y +/// se visualice el nombre del día. +/// Entrada: Un numero entero de 1 a 7 +/// Salida: Nombre del dia de la semana +/// Ejemplo: +/// Entrada: 1 +/// Salida: Lunes +/// + +using System; + +namespace ejercicio3 +{ + class DiaSemana + { + static void Main() + { + //Declaracion de variables + int dia = 0; String nombreDia; + //Entrada + leerDia(ref dia); + //Proceso + nombreDia = queDiaEs(dia); + //Salida + salida( nombreDia); + } + + static void leerDia(ref int _dia)//Funcion para la entrada del numero + { + + _dia = Convert.ToInt32(Console.ReadLine()); + + + } + static String queDiaEs(int num)//Funcion para asignar el dia de la semana + { + //Declaracion de variable + string nombre = ""; + + //Condicional para asignacion de nombre de los dias de la semana + if (num == 1) + { + nombre = "Lunes"; + } + else if (num == 2) + { + nombre = "Martes"; + } + else if (num == 3) + { + nombre = "Miercoles"; + } + else if (num == 4) + { + nombre = "Jueves"; + } + else if (num == 5) + { + nombre = "Viernes"; + } + else if (num == 6) + { + nombre = "Sabado"; + } + else if (num == 7) + { + nombre = "Domingo"; + } + else if (num > 7)//Si se ingresa un numero mayor a 7 la asignacion es vacia + { + nombre = ""; + } + + return nombre; + + } + static void salida(String nombreDia)//Impresion del dia de la semana + { + Console.WriteLine(nombreDia); + } + } +} diff --git a/Unidad 3-Funciones/Ejercicio33.c b/Unidad 3-Funciones/Ejercicio33.c new file mode 100644 index 0000000..769d04b --- /dev/null +++ b/Unidad 3-Funciones/Ejercicio33.c @@ -0,0 +1,75 @@ +/** + * @file Ejercicio33.c + * @author Manuel peraza + * @brief Imprimir las primeras n tablas de multiplicar que incluyan desde el valor j hasta el valor k. + * Entrada: numeros enteros n, j y k + * Salida: Primeras n tablas de multiplicar de j a K + * Ejemplo: + * Entrada 1 2 3 + * Salida: 2 3 4 6 + * @version 0.1 + * @date 2020-02-22 + * + * @copyright Copyright (c) 2020 + * + */ + + +#include + +// incializador de prototipos de las funciones +void leerNum(int *); +int diferenteCero(int); +void imprimirSalida(int , int , int ); + +int main() +{ + //Entrada + //Se inicializan los valores + int numTabla=0, inicio=0, fin=0; + //funcion para lectura de datos de entrada + leerNum(&numTabla); + leerNum(&inicio); + leerNum(&fin); + //Proceso + //Funcion para verificar que el numTabla se diferente a 0 + numTabla = diferenteCero(numTabla); + //Salida + //Funcion para imprimir los resultados + imprimirSalida(numTabla, inicio, fin); + return 0; +} +void leerNum(int *_num)//Funcion para leer los datos de entrada +{ + scanf("%d", _num); +} + int diferenteCero(int num) //Funcion que verifica si la tabla sea diferente a 0 + { + if (num == 0) //condicional en caso de detectar 0 convierte el valor en 1 + { + num = 1; + } + return num; + } + void imprimirSalida( int num, int j, int k) //funcion de Salida para imprimir n numeros y sus respectivas tablas + { + //se inicializan las variables + int cont=1; int res=0; + //condicional para modificar el contador + if (j>k) + { + cont = -1; + } + + //ciclo para hacer el recorrido y realizar la impresion de los resultados + for (int h = 1; h <= num; h++) + { + for (int i = j; i <= k; i = i + cont) + { + res = h * i; + + printf("%d""\n", res); + } + } + + } diff --git a/Unidad 3-Funciones/Ejercicio39.c b/Unidad 3-Funciones/Ejercicio39.c index b286129..accd3f5 100644 --- a/Unidad 3-Funciones/Ejercicio39.c +++ b/Unidad 3-Funciones/Ejercicio39.c @@ -1,24 +1,90 @@ -/* -Autor: Amílcar A. Ramírez Patrón -Proceso: La suma de los impares del 0 al 10 en una variable -Salida: El resultado de la suma -*/ +/** + * @file Ejercicio39.c + * @author Carlos Greene + * Entrada: Un numero entero impar entre 0 a 10 + * Salida: La suma de los numero impares hasta la entrada + * @brief Programa que suma los números impares del 0 al 10 y muestre el resultado + * @version 0.1 + * @date 2020-02-21 + * @copyright Copyright (c) 2020 + */ #include -void sumaDeImpares(int*); -int main(int argc, char *argv[]) { - int resultado; - sumaDeImpares(&resultado); - return 0; +/** + * @brief Se inicializan los prototipos de las funciones + */ +void leerEntrada(int *); +int sumarNumeros(int); +void imprimirSalida(int); + +/** + * @brief El bloque de abajo es el Main, ahí es donde se ejecuta el código, dentro contiene las variables que se utilizaron + * para algoritmo. Tambien contiene las funciones que se encargan de la entrada, proceso y salida. + * @return int + */ +int main() +{ + //Entrada + //Se inicializan las variables + int entrada=0, suma=0; + + //Función que lee la variable + leerEntrada(&entrada); + + //Proceso + //Función que suma los numeros impares + suma=sumarNumeros(entrada); + + //Salida + //Función que imprime la salida + imprimirSalida(suma); + + return 0; +} + +/** + * @brief La función leerEntrada se encarga de que el usuario introdusca los valores a las variables y luego, a traves de pase por + * referencia, las varieble del Main tengran los mismos valores de los que se introdujeron en la función. + * @param _entrada Número entero positivo (Preferiblemente del 0 al 10) + */ +void leerEntrada(int *_entrada) +{//Se lee la variable + scanf("%d", _entrada); } -void sumaDeImpares(int *resultado){ - printf("%d", *resultado = (1 + 3 + 5 + 7 + 9)); +/** + * @brief La función sumarNumeros recibe, a traves de pase por valor, una copia del valor que está en el Main, se encarga de + * sumar los números impares del 0 hasta el valor de la variable. + * @param numero Número en que se detendrá de sumar + * @return int Retorna un una variable int que contiene la suma de numeros impares + */ +int sumarNumeros(int numero) +{ + int _suma=0;//Se inicializa la variable de retorno + if(numero>10)//Se verifica que no sea mayor de 10 + { + _suma=25;//Si es mayor de diez, la variable de salida será 25 + } + else + { + for(int i=0; i<=numero; i++)//Se inicia in ciclo for para sumar los numeros impares + { + if(i%2 != 0)//Se verifica que el numero no sea par + { + _suma = _suma+i;//Se suma los numeros impares + } + } + } + + return _suma;//Se retorna la suma } -/* -QA: Realizó: Daniel Delfin -Entradas: None -Salidas: 25 -Funciona Correctamente. -*/ +/** + * @brief La función imprimirSalida recibe, a traves de pase por valor, una copia del valor que está en el Main de la variable que + * contiene la suma de los impares, la función sólo imprime dicho valor. + * @param _salida La copia del valor que contiene la suma de impares + */ +void imprimirSalida(int _salida) +{//Se imprime la salida + printf("%d", _salida); +} \ No newline at end of file diff --git a/Unidad 3-Funciones/Ejercicio39.cs b/Unidad 3-Funciones/Ejercicio39.cs new file mode 100644 index 0000000..47ec996 --- /dev/null +++ b/Unidad 3-Funciones/Ejercicio39.cs @@ -0,0 +1,85 @@ +/// +///Autor:Carlos Greene +//Entrada: Un numero entero impar entre 0 a 10 +//Salida: La suma de los numero impares hasta la entrada +//Descripción: Programa que suma los números impares del 0 al 10 y muestre el resultado +/// +using System; + +namespace Ejercicio39 +{ + class Program + { + /// + /// El bloque de abajo es el Main, ahí es donde se ejecuta el código, dentro contiene las variables que se utilizaron + /// para algoritmo. Tambien contiene las funciones que se encargan de la entrada, proceso y salida. + /// + /// + static void Main(string[] args) + { + //Entrada + //Se inicializan las variables + uint entrada=0, suma=0; + + //Función que lee la variable + leerEntrada(ref entrada); + + //Proceso + //Función que suma los numeros impares + suma=sumarNumeros(entrada); + + //Salida + //Función que imprime la salida + imprimirSalida(suma); + + } + + /// + /// La función leerEntrada se encarga de que el usuario dé los valores a las variables y luego, a traves de pase por + /// referencia, las varieble del Main tengran los mismos valores de los que se introdujeron en la función. + /// + /// Número entero positivo (Preferiblemente del 0 al 10) + static void leerEntrada(ref uint _entrada) + {//Se lee la variable + _entrada=Convert.ToUInt32(Console.ReadLine()); + } + + /// + /// La función sumarNumeros recibe, a traves de pase por valor, una copia del valor que está en el Main, se encarga de + /// sumar los números impares del 0 hasta el valor de la variable. + /// + /// Número en que se detendrá de sumar + /// Retorna un una variable uint que contiene la suma de numeros impares + static uint sumarNumeros(uint numero) + { + uint _suma=0;//Se inicializa la variable de retorno + if(numero>10)//Se verifica que no sea mayor de 10 + { + _suma=25;//Si es mayor de diez, la variable de salida será 25 + } + else + { + for(uint i=0; i<=numero; i++)//Se inicia in ciclo for para sumar los numeros impares + { + if(i%2 != 0)//Se verifica que el numero no sea par + { + _suma = _suma+i;//Se suma los numeros impares + } + } + } + + return _suma;//Se retorna la suma + } + + /// + /// La función imprimirSalida recibe, a traves de pase por valor, una copia del valor que está en el Main de la variable que + /// contiene la suma de los impares, la función sólo imprime dicho valor. + /// + /// La copia del valor que contiene la suma de impares + static void imprimirSalida(uint _salida) + {//Se imprime la salida + Console.WriteLine(_salida); + } + + } +} diff --git a/Unidad 3-Funciones/Ejercicio45.c b/Unidad 3-Funciones/Ejercicio45.c new file mode 100644 index 0000000..1046093 --- /dev/null +++ b/Unidad 3-Funciones/Ejercicio45.c @@ -0,0 +1,92 @@ +/** + * @file Ejercicio 45.c + * @author Giovanni Quintal + * Entrada: Un numero entero + * Salida: "El numero es primo", "El numero no es primo" + * @brief Programa que determina si un numero es primo o no. + * @version 0.1 + * @date 2020-02-23 + * + * @copyright Copyright (c) 2020 + * + */ +#include + +/** +* @brief Se inicializan los prototipos de las funciones +*/ + +void leerEntrada(int *); +int calcularContadores(int); +void imprimirSalida(int); + +/** + * @brief El bloque de abajo es el Main, ahí es donde se ejecutara el código, dentro contiene la variable que se se utilizaron + * para el algoritmo. Tambien contiene las funciones de la entrada, proceso y la salida. + * @return int + */ + +int main() +{ + //Entrada + //Se inicializan las variables + int a = 0, cont=0; + //Función que lee la variable + leerEntrada(&a); + + //Proceso + //Funcion que determina los contadores + cont=calcularContadores(a); + + //Salida + //Función que imprime la salida + imprimirSalida(cont); + + return 0; +} + +/** + * @brief La función leerEntrada se encarga de de pedir el valor de la variable a y a traves con el pase de refencia, + * la variable del main tendra los mismo valores dado por el usuario + * + * @param i Número entero + */ + void leerEntrada(int *a) + { + scanf("%d", a); + } + +/** + * @brief La función calcularContadores determinara si calcular la variable mod con i = 0 se determinaran los contadores. + * @param a + * @return int retorna la variable int + */ +int calcularContadores(int a) + { + int conta = 0; + for (int i=1;i<=a;i++) + { + if (a%i==0) + { + conta = conta+1; + } + } + return conta; +} +/** + * @brief La función imprimirSalida, recibe un un pase del valor, una copia del valor cont desde el main y lo pone en la función i para determinar su salida. + * + * @param cont Contadores de la función anterior. + */ +void imprimirSalida(int cont) +{ + if (cont==2) + { + printf("El numero es primo.\n"); + } + else + { + printf("El numero no es primo.\n"); + } +} + diff --git a/Unidad 3-Funciones/Ejercicio45.cs b/Unidad 3-Funciones/Ejercicio45.cs new file mode 100644 index 0000000..d180382 --- /dev/null +++ b/Unidad 3-Funciones/Ejercicio45.cs @@ -0,0 +1,89 @@ +/// +/// /Giovanni Quintal +/// Entrada: Un numero entero +/// Salida: "El numero es primo", "El numero no es primo" +/// Descripción: Programa que determina si un numero es primo o no. +/// +using System; + +namespace Ejercicio45 +{ + class Program + { + /// + /// El bloque de abajo es el Main, ahí es donde se ejecutara el código, dentro contiene la variable que se se utilizaron + /// para el algoritmo. Tambien contiene las funciones de la entrada, proceso y la salida. + /// + /// + + static void Main(string[] args) + { + //Entrada + //Se inicializan las variables + int a = 0, cont=0; + + //Función que lee la variable + leerEntrada(ref a); + + //Proceso + //Funcion que determina los contadores + cont=calcularContadores(a); + + //Salida + //Función que imprime la salida + imprimirSalida(cont); + + } + /// + /// La función leerEntrada se encarga de de pedir el valor de la variable a y a traves con el pase de refencia, + /// la variable del main tendra los mismo valores dado por el usuario + /// + /// Numero entero + + static void leerEntrada(ref int a) + {//Se lee la variable + a=Convert.ToInt32(Console.ReadLine()); + + } + + /// + /// La función calcularContadores determinara si calcular la variable mod con i = 0 se determinaran los contadores. + /// + /// + /// //int retorna la variable int + + static int calcularContadores(int a) + { + int conta = 0; + + for (int i = 1; i <= a; i++) + { + if (a%i == 0) + { + conta = conta + 1; + + } + } + return conta; + } + + /// + /// La función imprimirSalida, recibe un un pase del valor, una copia del valor cont desde el main y lo pone en la función i para determinar su salida. + /// + /// Contadores de la función anterior. + + static void imprimirSalida(int cont) + { + if (cont == 2) + { + Console.WriteLine("El numero es primo"); + } + else + { + Console.WriteLine("El numero no es primo"); + } + } + + } + +} \ No newline at end of file diff --git a/Unidad 3-Funciones/Ejercicio50.c b/Unidad 3-Funciones/Ejercicio50.c new file mode 100644 index 0000000..80396ad --- /dev/null +++ b/Unidad 3-Funciones/Ejercicio50.c @@ -0,0 +1,100 @@ +/** + * @file Ejercicio50.c + * @author Carlos Greene + * Entrada: Un numero entero positivo + * Salidad: Número cercarno al valor Euler + * @brief Programa que que estime el valor de la constante matemática e, el numero introducido es la precisión con la que se quiere obtener el valor de e. + * @version 0.1 + * @date 2020-02-22 + * @copyright Copyright (c) 2020 + * + */ +#include +#include + +/** + * @brief Se inicializan los prototipos + */ +void leerEntrada(int *); +float sumaParaEuler(int); +void imprimirSalida(float); + +/** + * @brief El bloque de abajo es el Main, ahí es donde se ejecuta el código, dentro contiene las variables que se utilizaron + * para algoritmo. Tambien contiene las funciones que se encargan de la entrada, proceso y salida. + * @return int + */ +int main() +{ + //Entrada + //Se inicializan las variables + int entrada=0; + float suma=0; + + //Se lee el la entrada + leerEntrada(&entrada); + + //Proceso + //Con el valor introducido, se obtiene la suma que hacerca a Euler + suma=sumaParaEuler(entrada); + + //Salida + //Se imprime la suma + imprimirSalida(suma); + + return 0; +} + +/** + * @brief La función leerEntrada se encarga de que el usuario dé los valores a las variables y luego, a traves de pase por + * referencia, las varieble del Main tengran los mismos valores de los que se introdujeron en la función. + * @param _entrada Número entero positivo + */ +void leerEntrada(int *_entrada) +{//Funcion que lee la entrada + scanf("%d", _entrada); +} + +/** + * @brief La función sumaParaEule recibe, a traves de pase por valor, una copia del valor de entrada que está en el Main, se encarga + * hacer una sumatoria de una serie de 1 entre factorial de un numero hasta llegar el valor de la variable que se hubica en + * el parámetro de la función, con el fin de acercarse al valor de Euler. + * @param numero Número en que se detendrá la serie + * @return float Una variable de tipo float que contiene la suma que se acerca a Euler + */ +float sumaParaEuler(int numero) +{//Funcion que hacerca a Euler + float euler=0, fact=1; + if(numero == 0) //Se compara si el número introducido es cero + { + euler = 1; //Si el número es cero, entonces su factorial será 1 por conveniencia + } + else + { //Si no es igual a cero entonces + for(int i = 1; i <= numero; i++) //Se hace un ciclo repetitivo para sumar la serie de factoriales + { + fact=1; //Se inicializa la variable fact + + for(float n = 1; n <= i; n++) //Se hace otro ciclo repetitivo para calcular factoriales + { + fact = fact*n; //Se calcula factorial multiplicando la veriable fact por n del ciclo + } + + euler = euler + (1/fact); //Se suma la variable euler con 1 entre la variable facorial + + } + } + return euler;//Retorna el valor de euler +} + +/** + * @brief La función imprimirSalida recibe, a traves de pase por valor, una copia del valor que está en el Main de la variable que + * contiene la suma que acerca al valor de Euler. La función solo imprimerá dicho valor. + * @param _salida La suma que se apróxima a Euler + */ +void imprimirSalida(float _salida) +{//Funcion que imprime la salida + _salida=floorf(_salida*1000000)/1000000; + printf("%f", _salida); +} + diff --git a/Unidad 3-Funciones/Ejercicio50.cs b/Unidad 3-Funciones/Ejercicio50.cs new file mode 100644 index 0000000..164af99 --- /dev/null +++ b/Unidad 3-Funciones/Ejercicio50.cs @@ -0,0 +1,94 @@ +/// +/// Autor:Carlos Greene +/// Entrada: Un numero entero positivo +/// Salida: Número cercarno al valor Euler +/// Descripción: Programa que que estime el valor de la constante matemática e, el numero introducido es la precisión con la que +/// se quiere obtener el valor de e. +/// +using System; + +namespace Ejercicio50 +{ + class Program + { + /// + /// El bloque de abajo es el Main, ahí es donde se ejecuta el código, dentro contiene las variables que se utilizaron + /// para algoritmo. Tambien contiene las funciones que se encargan de la entrada, proceso y salida. + /// + /// + static void Main(string[] args) + { + //Entrada + //Se inicializan las variables + uint entrada=0; + float suma=0; + + //Se lee el la entrada + LeerEntrada(ref entrada); + + //Proceso + //Con el valor introducido, se obtiene la suma que hacerca a Euler + suma=sumaParaEuler(entrada); + + //Salida + //Se imprime la suma + imprimirSalida(suma); + } + + /// + /// La función leerEntrada se encarga de que el usuario dé los valores a las variables y luego, a traves de pase por + /// referencia, las varieble del Main tengran los mismos valores de los que se introdujeron en la función. + /// + /// Número entero positivo + static void LeerEntrada(ref uint _entrada) + {//Funcion que lee la entrada + _entrada=Convert.ToUInt32(Console.ReadLine()); + } + + /// + /// La función sumaParaEule recibe, a traves de pase por valor, una copia del valor de entrada que está en el Main, se encarga + /// hacer una sumatoria de una serie de 1 entre factorial de un numero hasta llegar el valor de la variable que se hubica en + /// en el parámetro de la función, con el fin de acercarse al valor de Euler. + /// + /// Número en que se detendrá la serie + /// Una variable de tipo float que contiene la suma que se acerca a Euler + static float sumaParaEuler(uint numero) + {//Funcion que hacerca a Euler + float euler=0, fact=1; + if(numero == 0) //Se compara si el número introducido es cero + { + euler = 1; //Si el número es cero, entonces su factorial será 1 por conveniencia + } + else + { //Si no es igual a cero entonces + for(int i = 1; i <= numero; i++) //Se hace un ciclo repetitivo para sumar la serie de factoriales + { + fact=1; //Se inicializa la variable fact + + for(float n = 1; n <= i; n++) //Se hace otro ciclo repetitivo para calcular factoriales + { + fact = fact*n; //Se calcula factorial multiplicando la veriable fact por n del ciclo + } + + euler = euler + (1/fact); //Se suma la variable euler con 1 entre la variable facorial + + } + } + return euler;//Retorna el valor de euler + } + + /// + /// La función imprimirSalida recibe, a traves de pase por valor, una copia del valor que está en el Main de la variable que + /// contiene la suma que acerca al valor de Euler. La función solo imprimerá dicho valor. + /// + /// + static void imprimirSalida(float _salida) + {//Funcion que imprime la salida + Console.WriteLine(_salida); + } + + } +} +//Nota del autor: En C# las variables de tipo float imprimimen hasta 7 decimales y elimina los ceros decimales, por ejemplo, una variable +//float tiene un valor de 1.5000000, imprimirá exactamente 1.5, se quitan los 0 decimales. En cambio en C solo imprimimen hasta 6 decimales y +//no elimina los 0. diff --git a/Unidad 3-Funciones/Ejercicio9.c b/Unidad 3-Funciones/Ejercicio9.c new file mode 100644 index 0000000..98fd063 --- /dev/null +++ b/Unidad 3-Funciones/Ejercicio9.c @@ -0,0 +1,99 @@ +/** + * @file Ejercicio9.c + * @author Jose Miron + * Entrada: Numero entero positivo N + * Salida: Cantidad de multiplos de 5 entre 1 y N + * @brief Programa que reciba un numero N y que te + * muestre cuantos múltiplos de 5 hay entre 1 y N + * @version 0.1 + * @date 2020-02-21 + * + * @copyright Copyright (c) 2020 + * + */ + + + +#include + +/** + * @brief Se inicializan los prototipos de funciones + * + */ +void leerNumero( int ); +int sumarNumero(int); +void imprimirSalida(int); + +/** + * @brief El bloque de abajo es el Main, ahi es donde se ejecuta el codigo, dentro contiene las variables que se utilizaron + * para el algoritmo. Tambien contiene las funciones que se encargan de la entrada, proceso y salida. + * @return int + */ + + int main() + { + //Declaración de variables + int numero=0, multiplo=0, salida=0; + + //Entrada + leerNumero(&numero); + + //Proceso + salida=calcularMultiplo(multiplo, numero); + + //Salida + ImprimirSalida(salida); + + return 0; + + } + + /** + * @brief La funcion leerNumero se encarga de que el usuario de los valores a las variables y luego, a traves de pase + * por referencia, las variables del Main tengan los mismos valores de los que se introdujeron en la funcion + * @param _numero + */ + + void leerNumero(int _numero) + { + //Se lee la variable + scanf("%d", _numero); + } + + + /** + * @brief + * La funcion calcularMultiplo recibe a traves de por valor, una copia del valor que esta en el Main, + * se encarga de calcular la cantidad de multiplos a partir de 1 hasta N + * @param multiplo + * @param _numero + * @return int + */ + int calcularMultiplo(int multiplo, int _numero) + { + int aux = 0;//Se inicializa la variable de retorno + for (int i = 0; multiplo <= _numero; i++)//Ciclo for para fijar limite de multiplos + { + multiplo = i * 5;//Multiplicacion por multiplos de 5 + aux = i - 1;//Se resta 1 a la cantidad total de multiplos + } + + + return aux; //Se retorna la variable + } + + + /** + * @brief La funcion imprimirSalida recibe a traves de pase por valor, una copia del valor que esta en el Main + * de la variable que contiene la cantidad de multiplos, la funcion solo imprime dicho valor + * @param multiplo + */ + void ImprimirSalida(int multiplo) + { + ////Se imprime la salida + printf("%d", multiplo); + + } + + + diff --git a/Unidad 3-Funciones/Ejercicio9.cs b/Unidad 3-Funciones/Ejercicio9.cs new file mode 100644 index 0000000..ee057ca --- /dev/null +++ b/Unidad 3-Funciones/Ejercicio9.cs @@ -0,0 +1,86 @@ +/// +///Autor: Jose Miron +/// Entrada: Numero entero positivo +/// Salida: Cantidad de multiplos de 5 entre 1 y N +///Descripcion:Programa para un programa que reciba un numero N y que te muestre cuantos múltiplos de 5 hay entre 1 y N +/// + + +using System; + +namespace Ejercicio9 +{ + class Program + { + /// + /// El bloque de abajo es el Main, ahi es donde se ejecuta el codigo, dentro contiene las variables que se utilizaron + /// para el algoritmo. Tambien contiene las funciones que se encargan de la entrada, proceso y salida. + /// + /// + static void Main(string[] args) + { + //Entrada + //Se inicializan las variables + int numero = 0, multiplo = 0, salida = 0; + + + //Función que lee la variable + leerNumero(ref numero); + + //Proceso + //Funcion que calcula la cantidad de multiplos + salida = calcularMultiplo(multiplo, numero); + + //Salida + //Funcion que imprime la salida + imprimirSalida(salida); + + } + + /// + /// La funcion leerNumero se encarga de que el usuario de los valores a las variables y luego, a traves de pase + /// por referencia, las variables del Main tengan los mismos valores de los que se introdujeron en la funcion + /// + /// + static void leerNumero(ref int _numero) + { + _numero = Convert.ToInt32(Console.ReadLine());//lectura de la variable + } + + + /// + /// La funcion calcularMultiplo recibe a traves de por valor, una copia del valor que esta en el Main, + /// se encarga de calcular la cantidad de multiplos a partir de 1 hasta N + /// + /// + /// + /// + static int calcularMultiplo(int multiplo, int _numero) + { + int aux = 0;//Se inicializa la variable de retorno + for (int i = 0; multiplo <= _numero; i++)//Ciclo for para fijar limite de multiplos + { + multiplo = i * 5;//Multiplicacion por multiplos de 5 + aux = i - 1;//Se resta 1 a la cantidad total de multiplos + } + + + return aux;//Se retorna la variable + } + + /// + /// La funcion imprimirSalida recibe a traves de pase por valor, una copia del valor que esta en el Main + /// de la variable que contiene la cantidad de multiplos, la funcion solo imprime dicho valor + /// + /// + static void imprimirSalida(int multiplo) + { + + //Se imprime la salida + Console.WriteLine(multiplo); + + } + + } + +} diff --git a/Unidad 3-Funciones/ejercicio33.cs b/Unidad 3-Funciones/ejercicio33.cs new file mode 100644 index 0000000..837680a --- /dev/null +++ b/Unidad 3-Funciones/ejercicio33.cs @@ -0,0 +1,56 @@ +using System; + +namespace ejercicio33 +{ + class Program + { + static void Main() + { + //Declaracion de variables + int numTabla = 0, inicio = 0, fin = 0; + //Entrada + leerNum(ref numTabla); + leerNum(ref inicio); + leerNum(ref fin); + + //proceso + numTabla = diferenteCero(numTabla); + + //Salida + salida(ref numTabla, ref inicio, ref fin); + + } + static void leerNum(ref int _num)//Funcion para leer numeros + { + _num = Convert.ToInt32(Console.ReadLine()); + } + static int diferenteCero(int num)//Funcion para evitar que sea cero la tabla + { + if (num == 0) + { + num = 1; + } + return num; + } + static void salida(ref int _num, ref int _j, ref int _k) //funcion de Salida para imprimir n numeros y sus respectivas tablas + { + int cont=1; int res=0; + + if (_j>_k) + { + cont = -1; + } + + for (int h = 1; h <= _num; h++) + { + for (int i = _j; i <= _k; i = i + cont) + { + res = h * i; + + Console.WriteLine(res); + } + } + + } + } +}