UNIVERSIDAD DE GUANAJUATO División de Ciencias Económico Administrativas ALGORITMOS Solución de problemas
Integrantes: Raúl Vázquez Orozco Estefanía Ávila Juárez
1.-Dado como dato el sueldo de un trabajador, aplique un aumento del 15% si su sueldo es inferior a 1000. Imprima en este caso, el nuevo sueldo del trabajador. Algoritmo 1.- Introduce el sueldo del trabajador: â&#x20AC;&#x153;Sueldoâ&#x20AC;? 2.-Comparar si Sueldo < 1000 calcular el sueldo Nsueldo= Sueldo + Sueldo * 0.15 Sino Nsueldo= Sueldo 3.- Imprimir el valor de NSueldo
Diagrama de flujo
Pseudocódigo Proceso Escribir “ Introducir el valor de Sueldo:
“;
Leer Sueldo ; Si ( Sueldo < 1000 ) entonces Nsueldo= Sueldo + Sueldo*0.15 ; Sino Nsueldo= Sueldo ; Escribir “ El NSueldo= Fin_de_proceso
Programacion en C
“, Nsueldo ;
#include<stdio.h> #include<stdlib.h>
Int main ( ) Aki ba la llave float Sueldo ; Nsueldo ; int Sueldo ; printf (“ Introducir el valor de Sueldo:
“) ;
scanf (“ %f “ , & Sueldo) ; if (Sueldo < 1000) Nsueldo= Sueldo + Sueldo*0.15 ; Else Nsueldo= Sueldo ; Printf (“El NSueldo= % 0.2f “,Nsueldo ) ; Return 0; Aki la llave de serrar
//main
2.-Dado como dato el sueldo de un trabajador, aplique un aumento del 15 % si su sueldo es inferior a 1000 y 12 % en caso contrario. Imprima el nuevo sueldo del trabajador.
Algoritmo 1.- Introducir el sueldo del trabajador: â&#x20AC;&#x153; Sueldo â&#x20AC;&#x153; 2.- Comparar si Sueldo < 1000 calcular el valor de NSueldo= Sueldo+Sueldo*0.15 Sino NSueldo= Sueldo+Sueldo*0.12 3.-Imprimir el valor de NSueldo Diagrama de flujo
Pseudocódigo Proceso Escribir “ Introducir el valor de Sueldo:
“;
Leer Sueldo ; Si ( Sueldo< 1000 ) entonces NSueldo= Sueldo+Sueldo*0.15 Sino NSueldo=Sueldo+Sueldo*0.12 Escribir “ El NSueldo= Fin_de_proceso
“ , NSueldo ;
Programa en C
# include<stdio.h> # include<stidlib.h> Int main ( ) Aki va llave float NSueldo , NSueldo ; printf ( “Introduce el valor de Nsueldo: scanf ( “ %f “ ,&Sueldo) ; if (Sueldo < 1000 ) NSueldo= Sueldo+Sueldo*0.15 ; else NSueldo= Sueldo+Sueldo*0.12 ; Printf (“El NSueldo= % .2f “ , NSueldo ) ; Return 0; Llave // main
“);
3.- Dado como datos 2 variables de tipo entero, obtenga el resultado de la siguiente función: Val= 100*V si
Num = 1
Val= 100^V si Num = 2 Val= 100/V si
Num = 3
Val=0 para cualquier otro valor de Num
Algoritmo 1.- Introducir el valor de 2 variables: “V” , “Num” 2.- Comparar si Num= 1 calcular el valor de Val= 100*V Num= 2 calcular el valor de Val= 100^V Num= 3 calcular el valor de Val= 100/V Para cualquier otro valor Val= 0 3.-Imprimir el valor de Val DIAGRAMA DE FLUJO
Pseudocodigo Proceso Escribir “Introducir el valor de V: “ ; Leer V ; Escribir “Introduce el valor de Num: “ ; Leer Num; Si (Num=1) entonces Val= 100*V Sino si (Num=2) entonces Val= 100^V Sino si (Num=3) entonces Val= 100/V Sino Val= 0 ; Escribir “El valor de Val= “ , Val ; Fin_de_proceso
Programa en C # include<stdio.h> # include<stdlib.h> Int V printf (“Introduce el valor de V: “) ; scanf (“%i” ,& V ) ; printf (“Introduce el valor de Num: “ ) ; scanf (“ %i” ,& Num ) ; if (Num==1) Val= 100*V; Else if (Num==2) Val= 100^V; Else if (Num==3) Val= 100/V; else Val= 0; printf (“El valor de Val= % .2i “ , Val) ; return 0; llave // main
4.-Dado como dato la categoría y el sueldo de un trabajador, calcule el aumento correspondiente teniendo en cuenta la siguiente tabla. Imprima la categoría y su nuevo sueldo.
Aumento de acuerdo a la categoría del trabajador Categoría
Aumento
1
15 %
2
10 %
3
8%
4
7%
Algoritmo 1.-Introducir la categoría y el sueldo del empleado: “Categoria” , “Sueldo” 2.-Comparar si Categoria= 1 calcular el NSueldo= Sueldo+Sueldo*0.15 Categoria= 2 calcular el NSueldo= Sueldo+Ssueldo*.010 Categoria= 3 calcular el NSueldo= Sueldo+Sueldo*0.08 Categoria= 4 calcular el NSueldo= Sueldo+Sueldo*0.07 3.-Imprimir el valor de NSueldo
Diagrama de flujo
Pseudocodigo Proceso Escribir “ Introducir el valor de Categoria: “ ; Leer Categoria ; Escribir “ Introduce el valor de Sueldo: “ ; Leer Sueldo ; Si (Categoria =1) entonces NSueldo= Sueldo+Sueldo*0.15 Sino si (Categoria=2) entonces NSueldo=Sueldo+Sueldo*0.10 Sino si (Categoria=3 ) entonces NSueldo= Sueldo+Sueldo*0.08 Sino (Categoria=4) entonces NSueldo= Sueldo+Sueldo*0.07 ; Escribir “El NSueldo= “ , NSueldo ; Fin_de_proceso
Programa en C # include<stdio.h> # include<stdlib.h> Int main ( ) Lave float Sueldo ; printf ( “Introduce el valor de Categoria: “ ) ; scanf ( “%f” ,& Categoria) ; printf (“Introduce el valor de Sueldo: “ ) ; scanf ( “ %f “ ,& Sueldo) ; if (Categoria==1) NSueldo= Sueldo+Sueldo*0.15 ; else if ( Categoria==2) NSueldo= Sueldo+Sueldo*0.10 ; else if (Categoria==3) NSueldo=Sueldo+Sueldo*0.08 ;
Else ( Categoria==4) NSueldo= Sueldo+Sueldo*0.07 ; Printf (“ El NSueldo= % .2f “ , NSueldo) ; Return 0 ; Llave // main
EJERCICIOS2 1.-Realiza la división de 2 numeros enteros, examinar si el denominador es igual a cero, enviar el mensaje: “No se puede dividir entre cero”, en caso contrario desplegar el resultado de la división. ALGORITMO 1-Introducir el numerador y denominador (enteros): “ Numerador”, “Denominador” 2-Comparar si Denominador=0 entonces mandar el mensaje ”No se puede dividir entre 0” 3- imprimir el resultado DIAGRAMA DE FLUJO
PSEUDOCODIGO – PSEINT
PROGRAMA EN C
2.-Dados 2 numeros enteros, comprobar si el primero es divisible entre el segundo. Utilizar el operador mod si el reciduo es cero, habrá divisibilidad de lo contrario no son divisibles entre ellos. ALGORITMO 1.-Introducir el valor de los números: “Num1”,”Num2” 2.- Comparar si (Num1 % Num2) Entonces Resultado = (Num1 % Num2) Sino Mandar mensaje “No son divisibles entre ellos” 3.-Imprimir el resultado
DIAGRAMA DE FLUJO:
SEUDOCODIGO
PROGRAMA EN C
3.-Dado 3 nueros, deducir cual es el central. ALGORITMO 1- Introducir el valor de los tres números: “Num1”,”Num2”,”Num3” 2- Comparar si Num1>Num2 and Num<Num3 entonces Numcentral=Num1 Num1>Num3 and Num1<Num2entonces Numcentral=Num1 Num2>Num1 and Num2<Num3 entonces Numcentral=Num2 Num2>Num3and Num2<Num3 entonces Numcentral=Num2 Num3>Num1and Num3<Num2 entonces Numcentral=Num3 Num3>Num2 and Num3<Num1entonces Numcentral=Num3 3- Imprimir el valor del numero central DIAGRAMA DE FLUJO
PSEUDOCODIGO- PESEINT
4.-Determinna el pecio del billete de ida y vuelta en ferrocarril, conosiendo la distancia a rrecorrer y sabiendo que si el numero de d铆as de estancia es superior a 7 y la distancia superior a 800 kilometros el billete tiene una relaci贸n de 30 %.El precio por kilometro es de $ 2.30. ALGORITMO
1- Introducir la distancia reccorrida, y la estancia (dĂas) 2- comparar que si la estancia es mayor a 7 dias y los dĂas es mayor a 800km entonces se aplica un 30% de descuento. Si no Se calcula el precio normal por km 3- Imprimir el precio ya sea con descuento o precio regular DIAGRAMA DE FLUJO
PSEUDOCODIGO- PSEINT
PROGRAMA EN C
5.- Obtener el salario neto de un trabajador dado su salario y impuesto y deacuerdo ala siguiente condición. a) Si el salario es menor que $ 10000 aplicar un 15 % de impuesto. b) Si el salario esta entre $ 10000 y menor que 30 000 aplicar un 16.55 % de impuesto. c) Si el salario esta entre $ 30000 y menor a $ 50000 aplicar un 17.32 % de impuesto. d) Si el salario es mayor que $ 50000 apliacar un 18.35 de impuesto.
AlGORITMO
1- Introducir el salario del trabajador: “Salario” 2- Comparar si Salario < 10,000 entonces el SalarioNeto=Salario-(Salario*0.15) Salario>=10,000 && Salario<30000 entonces SalarioNeto=Salario-(Salario*0.1655) Salario>=30000 && Salario<50000 entonces SalarioNeto=Salario-(salario*0.1732) Salario>=50,000 entonces SalarioNeto=Salario-(Salario*0.1835) 3- Imprimir el valor Salario Neto.
DIAGRAMA DE FLUJO
PSEUDOCODIGO- PSEINT
PROGRAMA EN C
EJERCICIO 3 1.- Calcular el mayor de 5 números enteros leídos y visualizar el valor del número mayor. 2.- Calcular el mayor de 7 números enteros leídos y visualizar el valor del número mayor. 3.- Dado un numero entero analizar si es: positivo o cero. 4.- Obtener la fecha del día siguiente en el que a partir de una fecha introducida por teclado con el formato DIA, MES, AÑO. Se debe comprobar si al sumar un día ha habido cambio de mes o de año, para lo que se comprueba los días que tiene el mes, teniendo en cuenta los años bisiestos. También se debe comprobar si es el último día del año en cuyo caso se incrementa también el año. Se asume que la fecha introducida es correcta. Investigue la condición para cuando un año es bisiesto (punto de vista de programación). 5.- Dado un carácter, imprimir un mensaje si se identificó: una vocal, una consonante o un digito del 0 – 9. ESTOS EJERCICIOS NOSOSTRSO ESTAMOS SALVADOS DE AHCERLOS POR ORDENES DEL PROFESOR ADEMAS DE UN PUNTO EXTRA QUE NOS OTORGO.
EJERCICOS 4 NO FUERON ENTTREGADOS.
EJERCICIOS 5 1.- Realice un programa que resuelva las siguientes tareas: a. Sume la serie ½ +1/3+1/4+1/5+1/6…..+ 1/50. b. Lectura de la lista de 20 calificaciones de un examen de Historia. c. Visualizar la suma de enteros en el intervalo de 11….50. Algoritmo 1 1. 2. 3. 4. 5. 6.
Realizar la sumatoria de ½ + 1/3 + ¼ + 1/5 + 1/6 + … + 1/50. Imprimir: resultado Escribir 20 calificaciones Imprimir: 20 calificaciones Realizar la sumatoria de 11 hasta 50} Imprimir sumatoria
SEUDOCODIGO
2.- Diseñar e implementar un programa que cuente el número de sus entradas que sean positivas, negativas y cero. 1. Escribir los números 2. Localizar los números si son menores a 0, igual a 0, mayores a 0
3. Contar los números en cada categoría 4. Iprimir el conteo en cada categoría DIAGRAMA DE FLUJO
SEUDOCÓDIGO
3.- Diseñar e implementar un programa que solicite el usuario una entrada como un dato tipo fecha y a continuación visualice el número de los días correspondiente al año: Ejemplo, si la fecha es 30-12-1999, el número visualizado es 364. Algoritmo 3
1. Escribir fecha 2. Sumar el dia ingresado + el numero de dĂas pasados de la fecha 3. Imprimir: resultado
DIAGRAMA DE FLUJO
SEUDOCODIGO
4.-Escriba un programa que lea una temperatura en grados Celsius e imprima el equivalente en grados Fahrenheit. Lea 10 temperaturas. Algoritmo 4 1. Escribir 10 temperaturas en grados centĂgrados 2. Multiplicar cada temperatura por 1.8 y sumar 32 3. Imprimir: resultado
SEUDOCODIGO
EJERCICIOS 5 1.- Realice un programa que resuelva las siguientes tareas: a. Sume la serie ½ +1/3+1/4+1/5+1/6…..+ 1/50. b. Lectura de la lista de 20 calificaciones de un examen de Historia. c. Visualizar la suma de enteros en el intervalo de 11….50. Algoritmo 1 7. 8. 9. 10. 11. 12.
Realizar la sumatoria de ½ + 1/3 + ¼ + 1/5 + 1/6 + … + 1/50. Imprimir: resultado Escribir 20 calificaciones Imprimir: 20 calificaciones Realizar la sumatoria de 11 hasta 50} Imprimir sumatoria
SEUDOCODIGO
2.- Diseñar e implementar un programa que cuente el número de sus entradas que sean positivas, negativas y cero. 5. Escribir los números 6. Localizar los números si son menores a 0, igual a 0, mayores a 0
7. Contar los números en cada categoría 8. Iprimir el conteo en cada categoría DIAGRAMA DE FLUJO
SEUDOCÓDIGO
3.- Diseñar e implementar un programa que solicite el usuario una entrada como un dato tipo fecha y a continuación visualice el número de los días correspondiente al año: Ejemplo, si la fecha es 30-12-1999, el número visualizado es 364. Algoritmo 3
4. Escribir fecha 5. Sumar el dia ingresado + el numero de dĂas pasados de la fecha 6. Imprimir: resultado
DIAGRAMA DE FLUJO
SEUDOCODIGO
4.-Escriba un programa que lea una temperatura en grados Celsius e imprima el equivalente en grados Fahrenheit. Lea 10 temperaturas. Algoritmo 4 4. Escribir 10 temperaturas en grados centĂgrados 5. Multiplicar cada temperatura por 1.8 y sumar 32 6. Imprimir: resultado
SEUDOCODIGO
EJERCICIO 6 1. Elabore un programa tal, que dado el peso, la altura y el sexo de N personas que pertenecen a un estado de la rep煤blica; obtenga el promedio del peso y de la altura de esta poblaci贸n. Algoritmo 1 1. 2. 3. 4.
Escirbir el peso y altura de cada persona Realizar sumatoria de todos los pesos y alturas Dividir sumatorias entre las personas ingresadas Imprimir el resultado
DIAGRAMA DE FLUJO
SEUDOCODIGO
2. Resuelva el problema anterior, pero considere adem谩s el promedio de la altura y el peso en funci贸n del sexo. Es decir, interesa obtener el promedio de la altura y peso de la poblaci贸n femenina y masculina. Algoritmo 2
1. 2. 3. 4. 5. 6. 7. 8.
Escirbir el peso y altura de cada mujer Realizar sumatoria de todos los pesos y alturas Dividir sumatorias entre las personas ingresadas Imprimir: resultado Escirbir el peso y altura de cada hombre Realizar sumatoria de todos los pesos y alturas Dividir sumatorias entre las personas ingresadas Imprimir el resultado
DIAGRAMA DE FLUJO
SEUDOCODIGO
3. La siguiente se llama la conjetura de ULAM en honor del matemรกtico S. Ulam: a. Comience con cualquier entero positivo.
b. Si es par, divídalo entre 2; si es impar, multiplíquelo por 3 y agréguele 1. c. Obtenga enteros sucesivamente repitiendo el proceso. Al final, obtendrá el número 1, independientemente del entero inicial. Por ejemplo, cuando el entero inicial es 26, la secuencia será: 26, 13, 40, 20, 10, 5, 16, 8, 4, 2, 1. Construya un programa que lea un entero positivo y obtenga e imprima la sucesión de ULAM. Algoritmo 3 1. Escribir un numero 2. Comparar el numero si es par, divídalo entre 2; si es impar, multiplíquelo por 3 y agréguele 1 3. Imrpimprimir: resultado DIAGRAMA DE FLUJO
SEUDOCODIGO
4. Escriba un programa que lea un numero entero N y calcule la suma de la siguiente serie: 1^1+2^2+3^3+4^4+……+N^n Algoritmo 4
1. Escribir un numero 2. Realizar la sumatoria de todos los numero anteriores elevados a su potencia correspondiente 3. Imprimir: resultado DIAGRAMA DE FLUJO
SEUDOCODIGO
5. Resuelva el problema anterior, pero sin utilizar la operaci贸n de potencia. Algoritmo 5 1. Escribir un numero 2. Realizar la sumatoria de todos los numero anteriores elevados a su potencia correspondiente utilizando multiplicaci贸n en lugar de potencias 3. Imprimir: resultado
DIAGRAMA DE FLUJO
SEUDOCODIGO
6. Realice un programa que calcule el termino numero 680 de la secuencia FIBONACCI. Recuerde que los primeros números de la serie son 0 Y 1. El resto se calcula como la suma de los dos números inmediatos que le preceden. Ejemplo de la serie: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, ….. Algoritmo 6 1. Realizar la suma de dos números empezando con 0 y 1 2. Sumar lo obtenido con el siguiente numero
3. Seguir sumando hasta llegar al 680 4. Imprimir: resultado de la sumatoria DIAGRAMA DE FLUJO
SEUDOCODIGO
EJERCICIOS 7 1. Obtener la media y DesviacionEstandar para N elementos cuyos datos son enteros positivos. ALGORITMO DIAGRAMA DE FLUJO
SEUDOCODIGO
2. La compañía de luz “Del Centro” desea imprimir los recibos de cobro de los cuenta habitantes, en el último periodo. Desea obtener también el total de cobros del periodo. Por cada cliente se ingresa su un nombre, dirección, registro inicial y registro final. El cobro se efectúa con base a la siguiente tabla: 140 kvh o menos $3.20 Los siguientes 170 kvh $0.15 por kvh Exceso sobre 310 kvh $0.097 por kvh Realice el programa para calcular lo solicitado anterior mente.
ALGORITMO DIAGRAMA DE FLUJO
SEUDOCODIGO
3. Sup贸ngase que una reciente elecci贸n hubo cuatro candidatos ( con identificadores 1, 2, 3, 4 ). Usted habr谩 de encontrar, mediante un programa, el n煤mero de los votos correspondiente a cada candidato y el porcentaje que obtuvo respecto al total de
votantes. El usuario tecleara los votos de manera desorganizada, tal y como se obtuvieron en la elección, el final de datos está representado por un cero. Obsérvese, como ejemplo, la siguiente lista: 1 3 1 4 2 2 1 4 1 1 1 2 1 3 1 4 donde 1 representa un voto para el candidato 1;3 un voto para el candidato 3 y así sucesivamente. ALGORITMO DIAGRAMA DE FLUJO
SEUDOCODIGO
4. Haga un programa para calcular lo que hay que pagar por un conjunto de llamadas telef贸nicas. Por cada llamada se ingresa el tipo (Internacional, Nacional, Local) la duraci贸n en minutos. El criterio que se sigue para calcular el costo de cada llamada es el siguiente: Internacional: 3 primeros minutos de $ 7.59 Cada minuto adicional $ 3.03
Nacional: 3 primeros minutos $ 1.20 Cada minuto adicional $ 0.48 Local: Las primeras 50 llamadas no se cobran. Luego, cada llamada cuesta $ 0.60
5. Elabore un programa para resolver el problema anterior, pero ahora considere que por cada mañana se ingresa el tipo de llamada (Internacional, Nacional y Local), la duración en minutos, día y hora. Tome en cuenta además que las llamadas Internacionales tienen el 40% de descuento de los días sábados a partir de las 14:00 horas y el domingo todo el día. Las llamadas Nacionales tienen el 50% de descuento de lunes a viernes a partir de las 22 horas. Los sábados a partir de las 14 horas y los domingos todo el día.