Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
Instituto Tecnológico de Querétaro Fundamentos de Programación Practicas de la 1 a la 19 Código, capturas de pantalla y diagramas de flujo Grupo: 6A Presenta: León López Luis Ángel 15140901 Profesora: M.A.D. Maribel Bueno Quiñones Martes, 3 de Noviembre de 2015 Índice Práctica 1.Mayor menor de edad..................................................................................................7 Código.........................................................................................................................................7 Capturas.....................................................................................................................................9 D.F................................................................................................................................................9 Práctica 2.Becas Inglés...............................................................................................................10 Código......................................................................................................................................10 Capturas...................................................................................................................................12 D.F.............................................................................................................................................12 Práctica 3.Promedio 5 calificaciones.........................................................................................13 Código......................................................................................................................................13 Capturas...................................................................................................................................14 D.F.............................................................................................................................................15 Práctica 4.Empleo Gamesa Alpura.............................................................................................15 Código......................................................................................................................................15 Capturas...................................................................................................................................17 D.F.............................................................................................................................................18 Práctica 5.Nombre dinosaurio....................................................................................................18 Código......................................................................................................................................18 Capturas...................................................................................................................................20 D.F.............................................................................................................................................21 Práctica 6.Comparación tres números.......................................................................................21 Código......................................................................................................................................21 Capturas...................................................................................................................................24 DF..............................................................................................................................................24 Práctica 7.Menú operaciones.....................................................................................................25 Código......................................................................................................................................25 Capturas...................................................................................................................................27 D.F.............................................................................................................................................28 Práctica 8.Boletos de estadio.....................................................................................................28 Código......................................................................................................................................28 Capturas...................................................................................................................................33 D.F.............................................................................................................................................34 Práctica 9.Ciclos..........................................................................................................................35 Código......................................................................................................................................35 Capturas...................................................................................................................................35 D.F.............................................................................................................................................36 Práctica 10.Promedio edades.....................................................................................................36 Código......................................................................................................................................36 Capturas...................................................................................................................................37 D.F.............................................................................................................................................38 Práctica 11.Promedio edades while...........................................................................................39 Código......................................................................................................................................39 Capturas...................................................................................................................................40 D.F.............................................................................................................................................40 Práctica 12.Tablas de multiplicar...............................................................................................41 A) For. Código...........................................................................................................................41 A) For. Capturas.......................................................................................................................42 A) For. D.F..................................................................................................................................43 B) While. Código.......................................................................................................................43 B) While. Capturas...................................................................................................................44 D.F.............................................................................................................................................45 Práctica 13.Tablas de multiplicar ciclo anidado........................................................................46 Código......................................................................................................................................46 Capturas...................................................................................................................................47 D.F.............................................................................................................................................48 Práctica 14.Promedio tresalumnos...........................................................................................48 Código......................................................................................................................................48 Capturas...................................................................................................................................51 D.F.............................................................................................................................................52 Práctica 15.Sólo 2 tablas.............................................................................................................53 Código......................................................................................................................................53 Capturas...................................................................................................................................54 D.F.............................................................................................................................................55 Práctica 16.Deposito retiro..........................................................................................................56 Código......................................................................................................................................56 Capturas...................................................................................................................................59 D.F.............................................................................................................................................60 Práctica 17.Serie de Fibonacci....................................................................................................61 Código......................................................................................................................................61 Capturas...................................................................................................................................63 D.F.............................................................................................................................................64 Práctica 18.Serie múltiplos de tres.............................................................................................65 Código......................................................................................................................................65 Capturas...................................................................................................................................67 D.F.............................................................................................................................................68 Práctica 19.Examen segundo parcial.........................................................................................69 Código......................................................................................................................................69 Capturas...................................................................................................................................71 D.F.............................................................................................................................................72 Licencia 1 /* Copyright 2015 Leon Lopez Luis Angel 15140901 <luianglenlop@gmail.com> 2 * 3 * This set of programs are free software; you can redistribute it and/or 4 * modify it under the terms of the GNU General Public License as published by 5 * the Free Software Foundation; either version 2 of the License, or 6 * (at your option) any later version. 7 * 8 * This set of program are distributed in the hope that it will be useful, 9 * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 * GNU General Public License for more details. 12 * 13 * You should have received a copy of the GNU General Public License 14 * along with this program; if not, write to the Free Software 15 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 16 * MA 02110-1301, USA. 17 */ Comentarios iniciales 1 /* Este y los subsecuentes programas han sido desarrollados en un entorno Linux usando unicamente sofware libre 2 * El IDE Geany se usó para editar el código y exportarlo a PDF para su impresión 3 * Se uso gcc, el compilador de C del proyecto GNU, usado también por el IDE DevC++ 4 * Para la compilación se usó la orden "gcc -Wall -o "%e" "%f"" siendo %f el fichero que contiene el código 5 * Para la construcción del ejecutable se usó el comando "gcc -Wall -o "%e" "%f"" siendo %e el ejecutable de salida y %f el fichero que contiene el código 6 * Para hacer capturas de pantalla se usarón las herramientas incorporadas del entorno de escritorio Pantheon, éte se basa en Gnome 7 * Para la edición de iagenes se usó Gnu Image Manipulator Program "GIMP" 8 * Para propositos de formato se uso Libreoffice Writer 9 * Las ordenes pause y cls no existen en el shell de Linux 10 * Para la primera se opto por por crear un scipt que muestra "Presione enter para continuar" y detiene la ejecución hata que se pulsa enter 11 * Para la segunda se creo un elace simbolico llamado cls que apunta al ejecutable clear que tiene la función de limpiar la consola. 12 */ 13 // El código se compila y construye con el estandar por defecto de gcc, lo que impide que el contador de los cilos for se declare al inicio del ciclo. En vez de eso en contador se declara una linea antes del for. León López Luis Ángel 15140901 Fundamentos de Programación Práctica 1. Mayor menor de edad Código 1 /* P18.22-Oct-15.Serie múltiplos de 3 2 * León López Luis Ángel 15140901 3 * Fundamentos de programación 4 * Descripción: serie 2,3,6,15,42,134 5 */ 6 7 #include<stdio.h> 8 #include<stdlib.h> 9 #include<stdbool.h> 10 11 void main(void) 12 { 13 int n1=2,n2,nelement=1; 14 char resp='S'; 15 printf ("Bienvenido. Este software le mostrará una serie de números.\nUsted puede elegir el número de elementos de la serie que desea ver.\nSe mostaran a partir de 1 elemento en adelante.\n"); 16 bool ciclo=true; 17 do 18 { 19 bool elem=true; 20 do 21 { 22 printf ("Elija cuentos elementos quiere que se muestren a partir de 1. Introduzca cualquier número entero igual o mayor a uno.\n(elementos): "); 23 scanf ("%d",&nelement); 24 if (nelement<1) 25 { 26 printf ("\nValor fuera de rango\n"); 27 system ("pause"); 28 system ("cls"); 29 } 30 else 31 { P1.03-Nov-2015.Mayor menor de edad 7 Fundamentos de Programación León López Luis Ángel 15140901 32 elem = false; 33 } 34 } while (elem); 35 n2 = 3 * n1 - 3; 36 if (nelement==2) 37 { 38 printf ("2,"); 39 } 40 else 41 { 42 printf ("%d",n2); 43 n1 = n2; 44 } 45 bool conti=true; 46 do 47 { 48 printf ("\n¿Desea iniciar ortra vez?\n(S/N): "); 49 scanf ("\n%c",&resp); 50 resp = toupper(resp); 51 if (resp=='N') 52 { 53 ciclo = false; 54 conti = false; 55 } 56 else if (resp!='S') 57 { 58 printf ("\nOpción no valida"); 59 } 60 else 61 { 62 conti = false; 63 } 64 } while (conti); 65 } while (ciclo); 66 } 8 P1.03-Nov-2015.Mayor menor de edad León López Luis Ángel 15140901 Fundamentos de Programación Capturas P1.03-Nov-2015.Mayor menor de edad 9 Fundamentos de Programación León López Luis Ángel 15140901 Práctica 2. Becas Inglés Código 1 /* P2.26-Oct-15.becas inglés 2 * Leon Lopez Luis Angel 15140901 3 * Fundamentos de programacion 4 * Descripcion:Mostar el porcentaje de beca que tiene una persona en una escuela de 5 * Ingles tomando en cuenta la siguiente tabla 6 * 7 * sexo | edad | descuento 8 * -----|-----------|-------------- 9 * H | 1-18 | 20% 10 * M | 1-18 | 15% 11 * H | 19-24 | 30% 12* M | 19-24 | 35% 13 * H | 25-40 | 40% 14 * M | 25-40 | 40% 15 * H | 41--> | 50% 16 * M | 41--> | 50% 17 */ 18 #include<stdio.h> 19 #include<stdlib.h> 20 void main(void) 21 { 22 int edad; 23 char sexo; 24 printf ("Bienvenido. Este software le ayudará a determinar\nel porcentaje de beca que tendría en nuestra escuela de Inglés\nsi se inscribe ahora.\n"); 25 printf ("\nIntroduzca su edad en valor entero y presione enter\n(edad): "); 26 scanf ("%d",&edad); 27 printf ("¿Es Hombre o Mujer?, Introduzca H/M y presione enter\n(H/M): "); 28 scanf (" %c",&sexo); 29 sexo = toupper(sexo); //Asegurarse que el valor de la variable está en mayusculas 30 //printf ("%d %c",edad,sexo); //dbg 31 if ((sexo=='H')&&(edad>=1)&&(edad<=18)) 32 { 10 P2.03-Nov-2015.Becas Inglés León López Luis Ángel 15140901 Fundamentos de Programación 33 printf ("\n¡Usted tiene un 20%% de descuento!\n¡Aprovechelo ahora!\n"); 34 } 35 else if ((sexo=='M')&&(edad>=1)&&(edad<=18)) 36 { 37 printf ("\n¡Usted tiene un 15%% de descuento!\n¡Aprovechelo ahora!\n"); 38 } 39 else if ((sexo=='H')&&(edad>=19)&&(edad<=24)) 40 { 41 printf ("\n¡Usted tiene un 30%% de descuento!\n¡Aprovechelo ahora!\n"); 42 } 43 else if ((sexo=='M')&&(edad>=19)&&(edad<=24)) 44 { 45 printf ("\n¡Usted tiene un 35%% de descuento!\n¡Aprovechelo ahora!\n"); 46 } 47 else if (((sexo=='H')||(sexo=='M'))&&(edad>=25)&&(edad<=40)) 48 { 49 printf ("\n¡Usted tiene un 40%% de descuento!\n¡Aprovechelo ahora!\n"); 50 } 51 else if (((sexo=='H')||(sexo=='M'))&&(edad>=41)) 52 { 53 printf ("\n¡Usted tiene un 50%% de descuento!\n¡Aprovechelo ahora!\n\n"); 54 } 55 else 56 { 57 printf ("Los valores introducidos no son validos"); 58 } 59 system("pause"); 60 } P2.03-Nov-2015.Becas Inglés 11 Fundamentos de Programación León López Luis Ángel 15140901 Capturas D.F. 12 P2.03-Nov-2015.Becas Inglés León López Luis Ángel 15140901 Fundamentos de Programación Práctica 3. Promedio 5 calificaciones Código 1 /* P3.26-Oct-15.Promedio 5 calificaciones 2 * León López Luis Ángel 15140901 3 * Fundamentos de Programación 4 * Descripción: Un programa que saca el promedio de 5 calificaciones 5 */ 6 #include<stdio.h> 7 #include<stdlib.h> 8 void main(void) 9 { 10 int c1,c2,c3,c4,c5; 11 float prome; 12 printf ("\nEste software fue creado con el proposito de calcular el promedio de 5 calificaciones\nIntroduzca la primera calificación y presione enter\n(calificación 1): "); 13 scanf ("%d",&c1); 14 printf ("\nIntroduzca la segunda calificación y preione enter\n(calificación 2): "); 15 scanf ("%d",&c2); 16 printf ("\nIntroduzca la tercera calificación y preione enter\n(calificación 3): "); 17 scanf ("%d",&c3); 18 printf ("\nIntroduzca la cuarta calificación y preione enter\n(calificación 4): "); 19 scanf ("%d",&c4); 20 printf ("\nIntroduzca la quinta calificación y preione enter\n(calificación 5): "); 21 scanf ("%d",&c5); 22 prome = (c1 + c2 + c3 + c4 + c5)/5; 23 printf ("\nEl promedio es %f\n\n",prome); 24 if ((prome>=0)&&(prome<70)) 25 { 26 printf ("Lamento informarle que usted ha reproblado.\n"); 27 } 28 else if ((prome>=70)&&(prome<=100)) 29 { 30 printf ("Felicitaciones, usted ha aprobado.\n"); P3.03-Nov-2015.Promedio 5 calificaciones 13 Fundamentos de Programación León López Luis Ángel 15140901 31 } 32 else 33 { 34 printf ("Los valores introducidos no son correctos.\n"); 35 } 36 system("pause"); 37 } Capturas 14 P3.03-Nov-2015.Promedio 5 calificaciones León López Luis Ángel 15140901 Fundamentos de Programación D.F. Práctica 4. Empleo Gamesa Alpura Código 1 /* P4.26-Oct-15.Empleo Gamesa Alpura 2 * León López Luis Ángel 15140901 3 * Fundamentos de Programación 4 * Descripción: Programa que que diga al ususario si tiene posibilidad 5 * de empleo según el siguienorte enunciado: 6 * Si vives en el norte del pais, eres mayor de edad, ers hobbre, estudias o trabajas 7 * y además hablas ingles hay oportunidad de empleo en Gamesa. Pero si eres mujer hay oportunidad de empleo en Alpura. 8 */ P4.03-Nov-2015.Empleo Gamesa Alpura 15 Fundamentos de Programación León López Luis Ángel 15140901 9 #include<stdio.h> 10 #include<stdlib.h> 11 void main(void) 12 { 13 char sexo,ocup,ingles,norte; 14 int edad; 15 printf ("Bienvenido, mediante este software puede saber si usted tiene la oportunidad de conseguir empleo en una importante empresa\n"); 16 printf ("Solo debe responder las siguienortes preguntas\n"); 17 printf ("¿Vive usted en el norte del país?\nIntroduzca S/N y presione enter\n(S/N): "); 18 scanf ("%c",&norte); 19 printf ("¿Es Hombre o Mujer? Introduzca H/M y presione enorter\n(H/M): "); 20 scanf (" %c",&sexo); 21 printf ("\n¿Cual es es su edad actual? Introduzca el valor numerico y presione enter\n(edad): "); 22 scanf ("%d",&edad); 23 printf ("\n¿Estudia, Trabaja, hace Ambos o Ninguno? Introduzca E/T/A/N y presine enter\n(E/T/A/N): "); 24 scanf (" %c",&ocup); 25 printf ("\nDo you speak english? Type Y/N and press enter\n(Y/N):\t"); 26 scanf (" %c",&ingles); 27 sexo = toupper(sexo); 28 ocup = toupper(ocup); 29 norte = toupper(norte); 30 ingles = toupper(ingles); 31 if ((norte=='S')&&(sexo=='H')&&(edad>=18)&&((ocup=='E')||(ocup=='T')|| (ocup=='A'))&&(ingles=='Y')) 32 { 33 printf ("\nFelicidades usted tiene la oportunidad de conseguir un empleo en Gamesa\n\n"); 34 } 35 else if ((norte=='S')&&(sexo=='M')&&(edad>=18)&&((ocup=='E')|| (ocup=='T')||(ocup=='A'))&&(ingles=='Y')) 36 { 37 printf ("\nFelicidades usted tiene la oportunidad de conseguir un empleo en Alpura\n\n"); 38 } 39 else 40 { 41 printf ("\nLamentamos informarle que usted no cumple los requisitos o ha introducido datos incorrectos\n\n"); 16 P4.03-Nov-2015.Empleo Gamesa Alpura León López Luis Ángel 15140901 Fundamentos de Programación 42 } 43 system(" pause"); 44 } Capturas P4.03-Nov-2015.Empleo Gamesa Alpura 17 Fundamentos de Programación León López Luis Ángel 15140901 D.F. Práctica 5. Nombre dinosaurio Código 1 /* P5.26-Oct-15.Nombre dinosaurio 2 * León López Luis Ángel 15140901 3 * Fundamentos de programación 4 * Descripción: Un programa que muestra la información de un dinsaurio 5 * su nmbre; peso en toneladas, kilogramos; y su longitud en metros y pies. 6 */ 7 #include<stdio.h> 8 #include<stdlib.h> 9 10 void main(void) 11 { 12 int pes_kg; 13 float pes_ton,lon_m,lon_ft,lon_yd,pes_lb; 14 char nomdino[30]; 15 printf ("¡Bienvenido!\n\nEste software le mostrará un práctico resumen de las caracteristicas principales del dinosaurio en el que está pensando \ny lo 18 P5.03-Nov-2015.Nombre dinosaurio León López Luis Ángel 15140901 Fundamentos de Programación mejor es que obtendrá los datos tambien es sistema Inglés para mayor practicidad\n"); 16 /* No es recomendable usar gets para leer strings porque puede (y de hecho lo hace) provocar desbordamientos de buffer si la cadena introducida en más larga que la esperada. 17 * scanf descarta los espacios en blanco 18 * La mejor opción es usar fgets pero hay que limpiar el buffer despues de llamar a scanf y antes de llamar a fgets 19 * debido a que scanf deja un salto de linea ("\n") en el buffer de stdin 20 * fflush(stdin) es lo que la mayoría haría pero la función está pensada para limpiar el buffer de la salida estandar 21 * además que no funciona en Linux y en los sistemas Unix Like en general. 22 * Es como intentar leer con printf, simplemente no tendria sentido aunque se pudiera hacer. 23 * Hay una forma de limpiar el buffer pero es algo más compleja y para un uso eficiente debería 24 * ser declarada como función. 25 * Por ese motivo se usará scanf, por presentar menos coplicaciones para efectos de esta práctica 26 */ 27 printf ("\n¿Cuál es le nombre del dinosaurio?\ntroduzcael nombre sin espacios y presione enter\n(nombre): "); 28 scanf ("%s",&nomdino[0]); 29 printf ("\n¿Cuál es el peso del dinosaurion en toneladas.\nIntroduzca le número entero (o con hasta 3 decimales) y presione enter.\n(peso ton): "); 30 scanf ("%f",&pes_ton); 31 printf ("\n¿Cuál es la longitud del dinosaurio en metros.\nIntroduzca el valor y presione enter.\n(longitud metros): "); 32 scanf ("%f",&lon_m); 33 pes_kg = pes_ton * 1000; 34 pes_lb = pes_kg / 0.453592; 35 lon_ft = lon_m / 0.3048; 36 lon_yd = lon_ft / 3; 37 system ("cls"); 38 printf ("El nombre del dinosaurio es: %s\nEl peso en toneladas es %f\nEl peso en libras es: %f\nEl peso el kilogramos es: %d\nLa longitud en metros es: %f\nLa longitud en pies es: %f\nLa longitud en yardas es: %f\n",nomdino,pes_ton,pes_lb,pes_kg,lon_m,lon_ft,lon_yd); 39 } P5.03-Nov-2015.Nombre dinosaurio 19 Fundamentos de Programación León López Luis Ángel 15140901 Capturas 20 P5.03-Nov-2015.Nombre dinosaurio León López Luis Ángel 15140901 Fundamentos de Programación D.F. Práctica 6. Comparación tres números Código 1 /* P6.26-Oct-15.Comparación 3 números 2 * León López Luis Ángel 15140901 3 * Fundamentos de programación 4 * Descripción: Un programa que compare 3 numeros y los devuelva en orden 5 */ 6 /* La lógica destras de este algoritmo puede ser bastante compleja explicar y por ende de entender pero funciona correctamente. 7 * El algoritmo fue probado satisfactoriamante con todas las posibles combinaciones de Mayor, medio, menor posibles con tres números. 8 * M - m 9 * M m - 10 * - M m P6.03-Nov-2015.Comparación tres números 21 Fundamentos de Programación León López Luis Ángel 15140901 11 * - m M 12 * m M - 13 * m - M 14 */ 15 16 #include<stdio.h> 17 #include<stdlib.h> 18 #include<stdbool.h> 19 20 void main(void) 21 { 22 int n1,n2,n3,mayor,menor; 23 printf ("Este software comparará los tres números que introduzca y devolverá el más grande y más pequeño\nIntroduzca el primer número y presione enter\n(primer No.): "); 24 scanf ("%d",&n1); 25 printf ("Introduzca el segundo número y presione enter\n(segundo No.): "); 26 scanf ("%d",&n2); 27 printf ("Introduzca el segundo número y presione enter\n(segundo No.): "); 28 scanf ("%d",&n3); 29 if (n1>n2) 30 { 31 if (n1>n3) 32 { 33 mayor = n1; 34 if (n2>n3) 35 { 36 menor = n3; 37 } 38 } 39 else if (n3>n1) 40 { 41 mayor = n3; 42 menor = n2; 43 } 44 } 45 else if (n1>n3) 46 { 47 if (n1>n2) 48 { 49 mayor = n1; 22 P6.03-Nov-2015.Comparación tres números León López Luis Ángel 15140901 Fundamentos de Programación 50 if (n2>n3) 51 { 52 menor = n3; 53 } 54 } 55 else if (n2>n1) 56 { 57 mayor = n2; 58 menor = n3; 59 } 60 } 61 else if (n2>n3) 62 { 63 if (n2>n1) 64 { 65 mayor = n2; 66 if (n1>n3) 67 { 68 menor = n3; 69 } 70 } 71 else if (n1>n2) 72 { 73 mayor = n1; 74 menor = n3; 75 } 76 } 77 printf ("El número mayor es: %d\nEl número menor es: %d\n",mayor,menor); 78 system ("pause"); 79 system ("cls"); //dbg limpiar pantalla despues de cada ciclo 80 } P6.03-Nov-2015.Comparación tres números 23 Fundamentos de Programación León López Luis Ángel 15140901 Capturas DF 24 P6.03-Nov-2015.Comparación tres números León López Luis Ángel 15140901 Fundamentos de Programación Práctica 7. Menú operaciones Código 1 /*P7.26-Oct.Menú operaciones 2 * León López Luis Ángel 15140901 3 * Fundamentos de programación 4 * Descripción: Un programa que muestra un menú para hacer operacioneas aritmeticas y realiza la operación con los números dados por el usuario. En caso de restas y divisiones el número mayor siempre se toma como minuendo/dividendo 5 #include<stdio.h> 6 #include<stdlib.h> 7 //#include<conio.h> 8 /*La libreria conio.h no es parte de las librerias estandar de C, proporciona funciones para 9 * entrada y salida para consola de MS-DOS, estas funcionalidades se pueden obtener sin problemas 10 * a partir de las librerias estandar de C*/ 11 void main(void) 12 { 13 int n1,n2; 14 float result; 15 char opc; 16 printf ("\nIntroduzca la letra de la opción deseada\n\n\tOpciones\n\n\tS suma\n\tR resta\n\tM multiplicacion\n\tD division\n\tX salir\n"); 17 scanf ("%c",&opc); 18 opc = toupper(opc); 19 if ((opc == 'S') || (opc == 'R') || (opc == 'M') || (opc == 'D')) { 20 printf ("\nIntroduzca el primer valor entero para realizar la operacion y presione enter\n"); 21 scanf ("%d",&n1); 22 printf ("\nIntroduzca el segundo valor entero para realzar la operacion y presione enter\n"); 23 scanf ("%d",&n2); 24 switch (opc) 25 { 26 case 'S': 27 result = n1 + n2; 28 printf ("\nEl resultado de la suma es %f\n",result); 29 break; P7.03-Nov-2015.Menú operaciones 25 Fundamentos de Programación León López Luis Ángel 15140901 30 case 'R': 31 if (n1<n2) 32 { 33 result = n2 - n1; 34 printf ("\nEl resultado de la resta es %f\n",result); 35 } 36 else 37 { 38 result = n1 - n2; 39 printf ("\nEl resultado de la resta es %f\n",result); 40 } 41 break; 42 case 'M': 43 result = n1 * n2; 44 printf ("\nEl resultado de la multiplicacion es %f\n",result); 45 break; 46 case 'D': 47 if (n1<n2) 48 { 49 result = n2 / n1; 50 printf ("\nEl resultado de la division es %f\n",result); 51 } 52 else 53 { 54 result = n1 / n2; 55 printf ("\nEl resultado de la division es %f\n",result); 56 } 57 break; 58 default: 59 printf ("\nLa opcion elegida o los valores introducidos no son validos\n"); 60 } 61 } 62 else if (opc == 'X') 63 { 64 printf ("\nGracias por usar nuestro software\n"); 65 } 66 else 67 { 68 printf ("La opcion introducida es incorrecta"); 26 P7.03-Nov-2015.Menú operaciones León López Luis Ángel 15140901 Fundamentos de Programación 69 } 70 } Capturas P7.03-Nov-2015.Menú operaciones 27 Fundamentos de Programación León López Luis Ángel 15140901 D.F. Práctica 8. Boletos de estadio Código 1 /*P8.23-Sep-15.Boletos estadio 2 * León López Luis Ángel 15140901 3 * Fundamentos de programación 4 * Descripción: Un programa que para lo siguiente 5 * En un estadio se tienen 5 tipos diferentes de localidades, las cuales se identifican 6 * por una clave numérica que es un valor 7 * comprendido entre 1 y 5. Los precios de cada localidad y los datos referentes a las 8 * ventas de boletos para el próximo juego se proporcionan como sigue 28 P8.03-Nov-2015.Boletos de estadio León López Luis Ángel 15140901 Fundamentos de Programación 9 * son variables de tipo real que representan los precios de las localidades 1,2,3,4 y 5 respectivamente 10 * clave i es una variable de tipo entero que representa el tipo de localidad de la venta i 11 * cant i es una variable de tipo entero que indica la cantidad de boletos vendidos de un cierto tipo, en la venta i. 12 * Construya un diagrama de flujo y el pseudo código que: 13 * a) lea los precios 14 * b) Lea los datos de la venta de boletos 15 * c) imprima para cada venta, la clave, la cantidad y el importe total de los boletos vendidos en esta venta. 16 * d) calcule e imprima la cantidad de boletos vendidos de cada tipo. 17 * e) calcule e imprima la recaudación total del estadio 18 */ 19 20 21 #include<stdio.h> 22 #include<stdlib.h> 23 #include<stdbool.h> 24 25 26 //#include<conio.h> 27 /* conio.h no es parte del estandar de C por lo tanto no está incluida con 28 * IDEs y/o compiladores para OS no windows. 29 * Este programa fue escrito con ayuda de software opensource en un SO 30 * GNU/Linux y pensado para ser compilado y construido con gcc, el compilador 31 * de lenguaje C del proyecto GNU, este busca ser respetuoso de los estandares 32 * por lo tanto no incluye la libreria conio.h o algúna equivalente y/o compatible, 33 * por consiguiente la libreria no puede ser enlazada.34 * En este programa esta pensado para seguir los estandares, por lo tanto no 35 * se evitará el uso de conio.h y/o algún otro IDE o compilador 36 * a menos que sea absolutamente necesario por los puntos 37 * expuestos anteriormente. 38 * Por necesidad se han hecho algunos cambios al sistema donde se escribió originalmente este programa para emular 39 * funciones de la consola de MS-DOS y probar el comportamiento que tendria en este, en esos casos está especificado. 40 */ 41 42 void main(void) P8.03-Nov-2015.Boletos de estadio 29 Fundamentos de Programación León López Luis Ángel 15140901 43 { 44 int p1,p2,p3,p4,p5,cant1=0,cant2=0,cant3=0,cant4=0,cant5=0,cantsel,clave,venta=0,ven tatotal=0; 45 // No se declaran clave[i] pues son redundantes 46 printf ("Asigne precios a las zonas I, II, III, IV y zona VIP\nIntroduzca la cantidad, presione enter\ny repita para cada zona\n"); 47 printf ("(Precio de Zona I): "); 48 scanf ("%d",&p1); 49 printf ("\n(Precio de Zona II): "); 50 scanf ("%d",&p2); 51 printf ("\n(Precio de Zona III): "); 52 scanf ("%d",&p3); 53 printf ("\n(Precio de Zona IV): "); 54 scanf ("%d",&p4); 55 printf ("\n(Precio de Zona VIP): "); 56 scanf ("%d",&p5); 57 system ("cls"); // Limpiar la pantalla en cmd (consola MS-DOS y otros OS basados en el kernel Windows NT) 58 /* En Linux el equivalente es clear. 59 * Es posible ejecutar cls creando un enlace simbólico a clear con: 60 * $ sudo ln -s /usr/bin/clear /usr/bin/cls 61 */ 62 int i; 63 for (i=1;i<=5;i++) 64 { 65 //printf ("cont %d\n",i); //dbg 66 int j=0,crrct=0; 67 //printf ("corrct %d\n",crrct); //dbg 68 for (j=1;j>crrct;j--) //Corregir en caso de ser necesario. Esto se escribio antes de ver do-while 69 { 70 system("cls"); 71 bool cambzona; 72 do //Corregir en caso de ser necesario. El cilo do-while facilita este tipo de tareas 73 { 74 if (!((clave==1)||(clave==2)||(clave==3)||(clave==4)|| (clave==5))) 75 { 76 system ("cls"); 77 printf ("La clave introducida es incorrecta.\nIntente otra 30 P8.03-Nov-2015.Boletos de estadio León López Luis Ángel 15140901 Fundamentos de Programación vez\n\n"); 78 } 79 printf ("Bienvenido\n¿Para qué zona desea boletos?\nClave\t|\tZona\n1\t| Zona I\n2\t| Zona II\n3\t| Zona III\n4\t| Zona IV\n5\t| Zona VIP\n(1/2/3/4/5): "); 80 scanf ("%d",&clave); 81 } while (!((clave==1)||(clave==2)||(clave==3)||(clave==4)|| (clave==5))); 82 printf ("¿Cuantos boletos desea para %d?\n(cantidad): ",clave); 83 scanf ("%d",&cantsel); 84 switch (clave) 85 { 86 case 1: 87 { 88 printf ("\nHa elegido la Zona I\n"); 89 venta = p1; 90 cant1 = cant1 + cantsel; 91 break; 92 } 93 case 2: 94 { 95 printf ("\nHa elegido la Zona II\n"); 96 venta = p2; 97 cant2 = cant2 + cantsel; 98 break; 99 } 100 case 3: 101 { 102 printf ("\nHa elegido la Zona III\n"); 103 venta = p3; 104 cant3 = cant3 + cantsel; 105 break; 106 } 107 case 4: 108 { 109 printf ("\nHa elegido la Zona IV\n"); 110 venta = p4; 111 cant4 = cant4 + cantsel; 112 break; 113 } 114 case 5: P8.03-Nov-2015.Boletos de estadio 31 Fundamentos de Programación León López Luis Ángel 15140901 115 { 116 printf ("\nHa elegido la Zona VIP\n"); 117 venta = p5; 118 cant5 = cant5 + cantsel; 119 break; 120 } 121 default: 122 { 123 printf ("\nLa zona elegida es incorrecta"); 124 cambzona=true; 125 system ("pause"); 126 } 127 } 128 if (!(cambzona)) 129 { 130 venta = venta * cantsel; 131 ventatotal = ventatotal + venta; 132 printf ("La cantidad de %d boletos por un importe total de %d",cantsel,venta); 133 printf ("\n¿Es correcto? (Si/No) Introduzca S/N y presine enter\n(S/N): "); 134 char correcto; 135 scanf (" %c",&correcto); 136 correcto = toupper(correcto); 137 if (correcto=='S') 138 { 139 crrct = 1; // Sale del ciclo sin hacer correcciones 140 //printf ("crrct %d\n",crrct); //dbg 141 } 142 } 143 } 144 //printf ("cont %d\n",i); //dbg 145 } 146 system ("cls"); 147 printf ("El total de boletos vendidos es el siguiente\n"); 148 int venta1,venta2,venta3,venta4,venta5; 149 venta1 = p1 * cant1; 150 venta2 = p2 * cant2; 151 venta3 = p3 * cant3; 152 venta4 = p4 * cant4; 153 venta5 = p5 * cant5; 32 P8.03-Nov-2015.Boletos de estadio León López Luis Ángel 15140901 Fundamentos de Programación 154 printf ("\tClave\t|\tCantidad\t|\tImporte\n\t1\t|\t%d\t\t|\t%d\n\t2\t|\t %d\t\t|\t%d\n\t3\t|\t%d\t\t|\t%d\n\t4\t|\t%d\t\t|\t%d\n\t5\t|\t%d\t\t|\t %d\n",cant1,venta1,cant2,venta2,cant3,venta3,cant4,venta4,cant5,venta5); 155 } Capturas P8.03-Nov-2015.Boletos de estadio 33 Fundamentos de Programación León López Luis Ángel 15140901 D.F. 34 P8.03-Nov-2015.Boletos de estadio León López Luis Ángel 15140901 Fundamentos de Programación Práctica 9. Ciclos Código 1 /* P9 – 23-Sep-15 - Ciclos 2 * León López Luis Ángel 15140901 3 * Fundamentos de programación 4 * Descripción: Ciclos 5 */ 6 #include<stdio.h> 7 #include<stdlib.h> 8 void main(void) 9 { 10 int cont=1; 11 for (cont=1;cont<=10;cont++) 12 { 13 printf ("¡Hola Mundo!\n"); 14 } 15 system ("pause"); 16 } Capturas 1 //De esta practica no es posible tomar dos capturas de pantalla. En realidad lo es pero no tiene sentido hacerlo. P9.03-Nov-2015.Ciclos 35 Fundamentos de Programación León López Luis Ángel 15140901 D.F. Práctica 10.Promedio edades Código 1 /* P10.25-Sep-15.Promedio edades 2 * León López Luis Ángel 15140901 3 * Fundamentos de programación 4 * Descripción: Un programa que pregunte cuantas personas se entrevistaran e imprima el número de entrevista actual, 5 * pregunte la edad y promedie todas las edades 6 */ 7 #include<stdio.h> 8 #include<stdlib.h> 9 10 void main(void) 11 { 12 int nper,edad,edadacum=0; 13 float prome; 36 P10.03-Nov-2015.Promedio edades León López Luis Ángel 15140901 Fundamentos de Programación 14 printf ("¿Cuantas personas van a ser entrevistadas?\n"); 15 scanf ("%d",&nper); 16 system ("cls"); //Limpiar pantalla 17 int i; // Decalarar contador del ciclo. 18 for (i=1;i<=nper;i++) 19 { 20 printf ("Hola, usted es la persona No. %d de %d en ser entrevistadas\n",i,nper); 21 printf ("¿Cual es su edad? Introduzca un valor numerico entero y presone enter\n(edad): "); 22 scanf ("%d",&edad); 23 edadacum = edadacum + edad; 24 printf ("¡Gracias por contestar!\n"); 25 system ("pause"); //Pausar el programa 26 system ("cls"); //Limpiar pantalla 27 } 28 prome = edadacum / nper; //Promediar 29 printf ("Las entrevistas han arrojado los siguientes resultados\n"); 30 printf ("Personas entrevistadas = %d\nPromedio de edades = %f\n",nper,prome); //Mostrar contador y promedio 31 system(" pause"); //Pausar programa 32 } Capturas P10.03-Nov-2015.Promedio edades 37 Fundamentos de Programación León López Luis Ángel 15140901 D.F. 38 P10.03-Nov-2015.Promedio edades León López Luis Ángel 15140901 Fundamentos de Programación Práctica 11.Promedio edades while Código 1 /* P11.30-Sep-15.Promedio edades while 2 * León López Luis Ángel 15140901 3 * Fundamentos de programación 4 * Descripción: Preguntar que cantidad de personas serán entrevistadas, promediar edades y mostrar resultados 5 */ 6 #include<stdio.h> 7 #include<stdlib.h> 8 9 void main(void) 10 { 11 int nper,edad,edadacum=0; 12 float prome; 13 printf ("¿Cuantas personas van a ser entrevistadas?\n"); 14 scanf ("%d",&nper); 15 system ("cls"); //Limpiar pantalla 16 int i=1; // Declarar contador del ciclo. 17 while (i<=nper) 18 { 19 printf ("Hola, usted es la persona No. %d de %d en ser entrevistadas\n",i,nper); 20 printf ("¿Cual es su edad? Introduzca un valor numerico entero y presone enter\n(edad): "); 21 scanf ("%d",&edad); 22 edadacum = edadacum + edad; 23 printf ("¡Gracias por contestar!\n"); 24 i++; 25 system ("pause");//Pausar el programa 26 system ("cls"); //Limpiar pantalla 27 } 28 prome = edadacum / nper; //Promediar 29 printf ("Las entrevistas han arrojado los siguientes resultados\n"); 30 printf ("Personas entrevistadas = %d\nPromedio de edades = %f\n",nper,prome); //Mostrar contador y promedio 31 system(" pause"); //Pausar programa 32 } P11.03-Nov-2015.Promedio edades while 39 Fundamentos de Programación León López Luis Ángel 15140901 Capturas D.F. 40 P11.03-Nov-2015.Promedio edades while León López Luis Ángel 15140901 Fundamentos de Programación Práctica 12.Tablas de multiplicar A) For. Código 1 /* P12.30-Sep-15.Tablas de multiplicar con for 2 * León López Luis Ángel 15140901 3 * Fundamentos de programación 4 * Descripción: un programa que imprime en pantalla la tabla de multiplicar 5 * del número elegido mientras este esté entre 1 y 10 6 */ 7 #include<stdio.h> 8 #include<stdlib.h> 9 void main(void) 10 { 11 int num,result; 12 printf ("¡Bienvenido!\nEste software le mostrará la tabla de multiplicar del número, entre 1 y 10, que usted elija\nIntroduzca un número entre 1 y 10 y presione enter\n(número): "); 13 scanf("%d",&num); 14 if ((num>=1)&&(num<=10)) 15 { 16 int cont=0; 17 for (cont=1;cont<=10;cont++) 18 { 19 result = num * cont; 20 printf ("\n%d x %d = %d",num,cont,result); 21 } 22 } 23 else 24 { 25 printf ("\nValor fuera de rango"); 26 } 27 printf ("\n"); //Necesario para que respete la pausa en el lugar adecuado 28 system("pause"); 29 } P12.03-Nov-2015.Tablas de multiplicar 41 Fundamentos de Programación León López Luis Ángel 15140901 A) For. Capturas 42 P12.03-Nov-2015.Tablas de multiplicar León López Luis Ángel 15140901 Fundamentos de Programación A) For. D.F. B) While. Código 1 /* P12.30-Sep-15.Tablas de multiplicar con while 2 * León López Luis Ángel 15140901 3 * Fundamentos de programación 4 * Descripción: un programa que imprime en pantalla la tabla de multiplicar 5 * del número elegido mientras este esté entre 1 y 10 6 */ 7 #include<stdio.h> 8 #include<stdlib.h> 9 void main(void) 10 { 11 int num,result; 12 printf ("¡Bienvenido!\nEste software le mostrará la tabla de multiplicar del número, entre 1 y 10, que usted elija\nIntroduzca un número entre 1 y 10 y presione enter\n(número): "); 13 scanf("%d",&num); P12.03-Nov-2015.Tablas de multiplicar 43 Fundamentos de Programación León López Luis Ángel 15140901 14 if ((num>=1)&&(num<=10)) 15 { 16 int cont=1; 17 while (cont<=10) 18 { 19 result = num * cont; 20 printf ("\n%d x %d = %d",num,cont,result); 21 cont++; 22 } 23 } 24 else 25 { 26 printf ("\nValor fuera de rango"); 27 } 28 printf ("\n"); //Necesario para que el script respete la pausa 29 system("pause "); 30 } B) While. Capturas 44 P12.03-Nov-2015.Tablas de multiplicar León López Luis Ángel 15140901 Fundamentos de Programación D.F. P12.03-Nov-2015.Tablas de multiplicar 45 Fundamentos de Programación León López Luis Ángel 15140901 Práctica 13.Tablas de multiplicar ciclo anidado Código 1 /* P13.07-Oct-15.Tablas de multiplicar ciclo anidado 2 * León López Luis Ángel 15140901 3 * Fundamentos de programación 4 * Descripción: un programa que imprime en pantalla las tablas de multiplicar del 1 al 10 5 */ 6 #include<stdio.h> 7 #include<stdlib.h> 8 void main(void) 9 { 10 int tabl=1; 11 for(tabl=1;tabl<=10;tabl++) 12 { 13 int cont=0; 14 for (cont=1;cont<=10;cont++) 15 { 16 int result; 17 result = tabl * cont; 18 printf ("\n%d x %d = %d",tabl,cont,result); 19 } 20 printf ("\n"); 21 } 22 system("pause "); 23 } 46 P13.03-Nov-2015.Tablas de multiplicar ciclo León López Luis Ángel 15140901 Fundamentos de Programación Capturas P13.03-Nov-2015.Tablas de multiplicar ciclo anidado 47 Fundamentos de Programación León López Luis Ángel 15140901 D.F. Práctica 14.Promedio tres alumnos Código 1 /* P14.09-Oct-15.Pormedio 3 alumnos 2 * León López Luis Ángel 15140901 3 * Fundamentos de programación 4 * Descripción: Unprograma que muestre el promedio de 3 alumnos a partir de 2 calificaciones de cada uno y el promedio de los tres 5 */ 6 7 #include<stdio.h> 8 #include<stdlib.h> 9 #include<stdbool.h> 10 11 void main(void) 48 P14.03-Nov-2015.Promedio tres alumnos León López Luis Ángel 15140901 Fundamentos de Programación 12 { 13 int c11,c12,c21,c22,c31,c32; 14 float prom1,prom2,prom3,promgene; 15 printf ("Este software promediará 2 calificaciones de 3 alumnos"); 16 bool condicion = true; 17 int contal=1,contcal=1; 18 while (condicion) 19 { 20 printf ("\nAlumno %d, por favor introduzca la calificacion %d y presione enter\n(cal%d): ",contal,contcal,contcal); 21 int calact; 22 scanf ("%d",&calact); 23 switch (contal) // Guardar las calificaciones en la variable que corresponde según los contadores 24 { 25 case 1: 26 if (contcal==1) 27 { 28 c11 = calact; 29 } 30 else if (contcal==2) 31 { 32 c12 = calact; 33 34 } 35 break; 36 case 2: 37 if (contcal==1) 38 { 39 c21 = calact; 40 } 41 else if (contcal==2) 42 { 43 c22 = calact; 44 } 45 case 3: 46 if (contcal==1) 47 { 48 c31 = calact; 49 } 50 else if (contcal==2) P14.03-Nov-2015.Promedio tres alumnos 49 Fundamentos de Programación León López Luis Ángel 15140901 51 { 52 c32 = calact; 53 } 54 break; 55 default: 56 printf ("\n"); 57 } 58 if ((contal==3)&&(contcal==2)) 59 { 60 condicion = false; // Cortar el ciclo al introducir la segunda calificación de alumno 3 61 } 62 if ((calact>=0)&&(calact<=100)) 63 { 64 if (contcal==1) 65 { 66 contcal++; 67 } 68 else 69 { 70 contcal = 1; //Reiniciar el contador 71 contal++; 72 } 73 } 74 else 75 { 76 printf ("El valor introducido para la calificación %d está fuera de rango (0-100)",contcal); 77 } 78 //printf ("%d",condicion); //dbg 79 } 80 prom1 = (c11 + c12) / 2; 81 prom2 = (c21 + c22) / 2; 82 prom3 = (c31 + c32) / 2; 83 promgene = (prom1 + prom2 + prom3) / 3; 84 printf ("Los promedios son:\nAlumno 1\t%f\nAlumno 2\t%f\nAlumno 3\t %f\nPromedio general\t%f\n",prom2,prom2,prom3,promgene); 85 } 50 P14.03-Nov-2015.Promedio tres alumnos León López Luis Ángel 15140901 Fundamentos de Programación Capturas P14.03-Nov-2015.Promedio tres alumnos 51 Fundamentos de Programación León López Luis Ángel 15140901 D.F. 52 P14.03-Nov-2015.Promedio tres alumnos León López Luis Ángel 15140901 Fundamentos de Programación Práctica 15.Sólo 2 tablas Código 1 /* P15.09-Oct-2015.Sólo 2 tablas 2 * León López Luis Ángel 15140901 3 * Fundamentos de programación 4 * Descripción: Un programa que muestra las tablas de multiplicar de dos números elegidos por el usuario que están entre 1 y 10 5 */ 6 7 #include<stdio.h> 8 #include<stdlib.h> 9 10 void main(void) 11 { 12 int num1,num2; 13 printf ("¡Bienvenido!\nEste software le mostraá las tablas de multiplicar de 2 números del 1 al 10 elegidos por useted\nIntrosuzca el primer numero y presione enter\n(primer número): "); 14 scanf ("%d",&num1); 15 printf ("\nIntroduzca el segundo número y presione enter\n(segundo número): "); 16 scanf ("%d",&num2); 17 if (((num1>=1)&&(num1<=10))&&((num2>=1)&&(num2<=10))) 18 { 19 int actu; 20 actu = num1; 21 int tabl=1; 22 for(tabl=1;tabl<=2;tabl++) 23 { 24 int cont=0; 25 for (cont=1;cont<=10;cont++) 26 { 27 int result; 28 result = actu * cont; 29 printf ("\n%d x %d = %d",actu,cont,result); 30 } 31 printf ("\n"); 32 actu = num2; P15.03-Nov-2015.Sólo 2 tablas 53 Fundamentos de Programación León López Luis Ángel 15140901 33 } 34 } 35 else 36 { 37 printf ("Valores fuera de rango"); 38 } 39 printf ("\n"); 40 system("pause "); 41 } Capturas 54 P15.03-Nov-2015.Sólo 2 tablas León López Luis Ángel 15140901 Fundamentos de Programación D.F. P15.03-Nov-2015.Sólo 2 tablas55 Fundamentos de Programación León López Luis Ángel 15140901 Práctica 16.Deposito retiro Código 1 /* P16.19-Oct-15.Deposito retiro 2 * León López Luis Ángel 15140901 3 * Fundamentos de programación 4 * Descripción: Un programa que lleve el control de la cuenta de banco de un cuenta habiente, retirando, depositando y mostrando las estadísticas de la cuenta 5 */ 6 7 #include<stdio.h> 8 #include<stdlib.h> 9 #include<stdbool.h> 10 11 void main(void) 12 { 13 float dep,ret,acumcnta=0,acumdep=0,acumret=0,promdep,promret; 14 int contdep=0,contret=0,opc; 15 bool ciclo=true; 16 do 17 { 18 printf ("\nBienvenido al control de su cuenta.\n¿Qué desea hacer?\n\tMenú\n\t1 - Deposito\n\t2 - Retiro\n\t3 - Historial\n\t4 - Salir"); 19 printf ("\nIntroduzca el número correspondiente a la opción deseada y presione eneter\n(opción): "); 20 scanf ("%d",&opc); 21 switch (opc) 22 { 23 case 1: 24 printf ("¿Qué cantidad desea depositar? Introduzca la cantidad a depositar y presione enter\n(deposito): "); 25 scanf ("%f",&dep); 26 acumdep = acumdep + dep; 27 acumcnta = acumcnta + dep; 28 if (dep>0) 29 { 30 contdep++; 31 } 56 P16.03-Nov-2015.Deposito retiro León López Luis Ángel 15140901 Fundamentos de Programación 32 break; 33 case 2: 34 if (acumcnta!=0) 35 { 36 printf ("\n¿Qué cantidad desea retirar? Introduzca la cantidad a retirar y presione enter\n(retiro): "); 37 scanf ("%f",&ret); 38 if (ret<acumcnta) 39 { 40 acumret = acumret + ret; 41 contret++; 42 acumcnta = acumcnta - ret; 43 } 44 else 45 { 46 printf ("\n"); 47 printf ("Su cuenta no tiene fondos suficientes para esta operación\n"); 48 system ("pause"); 49 } 50 } 51 else if (acumcnta==0) 52 { 53 printf ("\n"); 54 printf ("Su cuenta no tiene fondos suficientes para esta operación"); 55 system ("\npause"); 56 } 57 break; 58 case 3: 59 if ((contdep>0)||(contret>0)) 60 { 61 printf ("\nLas estadisticas de su cuenta son: \n"); 62 printf ("\nNúmero de retiros: %d",contret); 63 printf ("\nNúmero de depositos: %d",contdep); 64 if (contdep==0) 65 { 66 printf ("\nPromedio de deposito: No ha hecho depositos"); 67 } 68 else P16.03-Nov-2015.Deposito retiro 57 Fundamentos de Programación León López Luis Ángel 15140901 69 { 70 promdep = acumdep / contdep; 71 printf ("\nPromedio de depositos: %f",promdep); 72 } 73 if (contret==0) 74 { 75 printf ("\nPromedio de retiros: No ha hecho retiros"); 76 } 77 else 78 { 79 promret = acumret / contret; 80 printf ("\nPromedio de depositos: %f",promret); 81 } 82 printf ("\nCantidad total ahorrada en su cuenta: %f\n",acumcnta); 83 } 84 else 85 { 86 printf ("\nUsted no ha hecho transacciones en esta cuenta"); 87 } 88 system ("pause"); 89 break; 90 case 4: 91 printf ("\nHasta pronto\n"); 92 system ("pause"); 93 ciclo = false; 94 default: 95 printf ("\nOpción no valida\n"); 96 } 97 system ("cls"); 98 } while(ciclo); 99 } 58 P16.03-Nov-2015.Deposito retiro León López Luis Ángel 15140901 Fundamentos de Programación Capturas P16.03-Nov-2015.Deposito retiro 59 Fundamentos de Programación León López Luis Ángel 15140901 D.F. 60 P16.03-Nov-2015.Deposito retiro León López Luis Ángel 15140901 Fundamentos de Programación Práctica 17.Serie de Fibonacci Código 1 /* P17.21-Oct-15.Serie de Fibonacci 2 * León López Luis Ángel 15140901 3 * Fundamentos de programación 4 * Descripción: Imprimir el numero de términos de la serie de Fibonacci que solicite el usuario 5 */ 6 7 #include<stdio.h> 8 #include<stdlib.h> 9 #include<stdbool.h> 10 11 void main(void) 12 { 13 int n1=0,n2=1,n3,nelemnt; 14 char resp='S'; 15 bool ciclo = true; 16 printf ("Bienvenido. Este software le mostrará la serie de Fibonacci.\nUsted puede elegir el número de elementos de la serie que desea ver.\nSe mostaran a partir de 2 elementos en adelante.\n"); 17 do 18 { 19 printf ("Elija cuentos elementos quiere que se muestren a partir de 2. Introduzca cualquier número entero mayor a dos.\n(elementos): "); 20 scanf ("%d",&nelemnt); 21 if (nelemnt<2) 22 { 23 printf ("El valor introducido no es valido"); 24 ciclo = true; 25 } 26 else 27 { 28 int cont; 29 for (cont=2;cont<=nelemnt;cont++) 30 { 31 n3 = n1 + n2; 32 if (cont==2) P17.03-Nov-2015.Serie de Fibonacci 61 Fundamentos de Programación León López Luis Ángel 15140901 33 { 34 printf ("0,1,"); 35 } 36 else 37 { 38 printf ("%d,",n3); 39 n1 = n2; 40 n2 = n3; 41 } 42 } 43 } 44 bool conti=true; 45 do 46 { 47 printf ("\n¿Desea iniciar otra vez?\n(S/N): "); 48 scanf ("\n%c",&resp); 49 resp = toupper(resp); 50 if (resp=='N') 51 { 52 ciclo = false; 53 conti = false; 54 } 55 else if (resp!='S') 56 { 57 printf ("\nOpción no valida"); 58 } 59 else 60 { 61 conti = false; 62 } 63 } while (conti); 64 } while (ciclo); 65 printf ("\n"); 66 system ("pause"); 67 } 62 P17.03-Nov-2015.Serie de Fibonacci León López Luis Ángel 15140901 Fundamentos de Programación Capturas P17.03-Nov-2015.Serie de Fibonacci 63 Fundamentos de Programación León López Luis Ángel 15140901 D.F. 64 P17.03-Nov-2015.Serie de Fibonacci León López Luis Ángel 15140901 Fundamentos de Programación Práctica 18.Serie múltiplos de tres Código 1 /* P18.22-Oct-15.Serie múltiplos de 3 2 * León López Luis Ángel 15140901 3 * Fundamentos de programación 4 * Descripción: serie 2,3,6,15,42,134 5 */ 6 7 #include<stdio.h> 8 #include<stdlib.h> 9 #include<stdbool.h> 10 11 void main(void) 12 { 13 int n1=2,n2,nelement=1; 14 char resp='S'; 15 printf ("Bienvenido. Este software le mostrará una serie de números.\nUsted puede elegir el número de elementos de la serie que desea ver.\nSe mostaran a partir de 1 elemento en adelante.\n"); 16 bool ciclo=true; 17 do 18 { 19 bool elem=true; 20 do 21 { 22 printf ("Elija cuentos elementos quiere que se muestren a partir de 1. Introduzca cualquier número entero igual o mayor a uno.\n(elementos): "); 23 scanf ("%d",&nelement); 24 if (nelement<1) 25 { 26 printf ("\nValor fuera de rango\n"); 27 system ("pause"); 28 system ("cls"); 29 } 30 else 31 { 32 elem = false; P18.03-Nov-2015.Serie múltiplos de tres 65 Fundamentos de Programación León López Luis Ángel 15140901 33 } 34 } while (elem); 35 n2 = 3 * n1 - 3; 36 if (nelement==2) 37 { 38 printf ("2,"); 39 } 40 else 41 { 42 printf ("%d",n2); 43 n1 = n2; 44 } 45 bool conti=true; 46 do 47 { 48 printf ("\n¿Desea iniciar ortra vez?\n(S/N): "); 49 scanf ("\n%c",&resp); 50 resp = toupper(resp); 51 if (resp=='N') 52 { 53 ciclo = false; 54 conti = false; 55 } 56 else if (resp!='S') 57 { 58 printf ("\nOpción no valida"); 59 } 60 else 61 { 62 conti = false; 63 } 64 } while (conti); 65 } while (ciclo); 66 67 } 66 P18.03-Nov-2015.Serie múltiplos de tres León López Luis Ángel 15140901 Fundamentos de Programación Capturas P18.03-Nov-2015.Serie múltiplos de tres 67 Fundamentos de Programación León López Luis Ángel 15140901 D.F. 68 P18.03-Nov-2015.Serie múltiplos de tres León López Luis Ángel 15140901 Fundamentos de Programación Práctica 19.Examen segundo parcial Código 1 /* P19.23-Oct-15.Examen 2do parcial 2 * León López Luis Ángel 15140901 3 * Fundamentos de programación 4 * Descripción:Serie 5 * 2,12,5,10,8,8,11,6,14..... 6 */ 7 8 #include<stdio.h> 9 #include<stdlib.h> 10 #include<stdbool.h> 11 //#include<math.h> 12 13 void main(void) 14 { 15 int n1=2,n2,n3=12,n4,element=2; 16 bool continuar=true; 17 printf ("Bienvenido.\nEste software le mostrará una serie de números un tanto particular"); 18 do 19 { 20 do 21 { 22 if ((element<2)||(element>15)) 23 { 24 system ("cls"); 25 printf ("\nValor fuera de rango\nIntente de nuevo.\n\n"); 26 }27 printf ("Introduzca el número de elementos de la serie que desea ver.\nDeben ser minimo 2 y maximo 15 el número de elementos solicitados\n"); 28 printf ("(No. de elementos): "); 29 scanf ("%d",&element); 30 } while ((element<2)||(element>15)); 31 int cont; 32 for (cont=2;cont<=element;cont++) 33 { P19.03-Nov-2015.Examen segundo parcial 69 Fundamentos de Programación León López Luis Ángel 15140901 34 if (cont==2) 35 { 36 printf ("2,12,"); 37 } 38 else 39 { 40 if ((cont%2)==0) 41 { 42 n4 = n3 - 2; 43 printf ("%d,",n4); 44 n3 = n4; 45 } 46 else 47 { 48 n2 = n1 + 3; 49 printf ("%d,",n2); 50 n1 = n2; 51 } 52 } 53 } 54 printf ("\n"); 55 system ("pause"); 56 char opc; 57 do 58 { 59 printf ("\n¿Continuar con ?\n(S/N): "); 60 scanf ("%c",&opc); 61 opc = toupper (opc); 62 if (opc=='N') 63 { 64 continuar = false; 65 } 66 else 67 { 68 printf ("\n"); 69 system ("cls"); 70 } 71 } while ((opc!='S')&&(opc!='N')); 72 } while (continuar); 73 } 70 P19.03-Nov-2015.Examen segundo parcial León López Luis Ángel 15140901 Fundamentos de Programación Capturas P19.03-Nov-2015.Examen segundo parcial 71 Fundamentos de Programación León López Luis Ángel 15140901 D.F. 72 P19.03-Nov-2015.Examen segundo parcial Práctica 1. Mayor menor de edad Código Capturas D.F. Práctica 2. Becas Inglés Código Capturas D.F. Práctica 3. Promedio 5 calificaciones Código Capturas D.F. Práctica 4. Empleo Gamesa Alpura Código Capturas D.F. Práctica 5. Nombre dinosaurio Código Capturas D.F. Práctica 6. Comparación tres números Código Capturas DF Práctica 7. Menú operaciones Código Capturas D.F. Práctica 8. Boletos de estadio Código Capturas D.F. Práctica 9. Ciclos Código Capturas D.F. Práctica 10. Promedio edades Código Capturas D.F. Práctica 11. Promedio edades while Código Capturas D.F. Práctica 12. Tablas de multiplicar A) For. Código A) For. Capturas A) For. D.F. B) While. Código B) While. Capturas D.F. Práctica 13. Tablas de multiplicar ciclo anidado Código Capturas D.F. Práctica 14. Promedio tres alumnos Código Capturas D.F. Práctica 15. Sólo 2 tablas Código Capturas D.F. Práctica 16. Deposito retiro Código Capturas D.F. Práctica 17. Serie de Fibonacci Código Capturas D.F. Práctica 18. Serie múltiplos de tres Código Capturas D.F. Práctica 19. Examen segundo parcial Código Capturas D.F.
Compartir