Soluciones a los Ejercicios Propuestos en el libro: EMPEZAR DE CERO A PROGRAMAR EN lenguaje C Autor: Carlos Javier Pes Rivas (correo@carlospes.com) Capítulo 10 INTRODUCCIÓN A LOS DIAGRAMAS DE FLUJO EJERCICIOS PROPUESTOS Diseño de ordinogramas 10.1 10.2 10.3 10.4 10.5 10.6 10.7 Perímetro de una circunferencia ................................................................................................... 2 Número anterior y posterior......................................................................................................... 2 Segundos de una hora ................................................................................................................. 3 Coste de una llamada telefónica ................................................................................................... 4 Kilos de azúcar y café................................................................................................................. 4 Intercambio de los valores de tres variables ................................................................................... 5 Cambio de los valores de tres variables......................................................................................... 7 10.8 Rellenar espacios en blanco......................................................................................................... 8 carlospes.com 2 Empezar de cero a programar en lenguaje C EJERCICIO PROPUESTO 10.1 9.1 Perímetro de una circunferencia Solución: INICIO escribir( "Introduzca radio: " ) leer( radio ) perimetro ß 2 * PI * radio escribir( "El perímetro es: ", perimetro ) FIN Una segunda solución es: INICIO escribir( "Introduzca radio: " ) leer( radio ) escribir( "El perímetro es: ", 2 * PI * radio ) FIN EJERCICIO PROPUESTO 10.2 9.2 Número anterior y posterior Solución: INICIO escribir( "Introduzca un número entero: " ) leer( numero ) escribir( "El número anterior es: ", numero - 1 ) escribir( "El número posterior es: ", numero + 1 ) FIN © Carlos Javier Pes Rivas, 2006. Todos los derechos reservados. No está permitida la reproducción total o parcial de estás páginas con fines comerciales, sin la previa autorización escrita del titular del copyright. Sólo está permitida su impresión y utilización para uso personal. Capítulo 10. Introducción a los diagramas de flujo 3 EJERCICIO PROPUESTO 10.3 9.3 Segundos de una hora Solución: INICIO escribir( "Introduzca horas: " ) leer( horas ) escribir( "Introduzca minutos: " ) leer( minutos ) escribir( "Introduzca segundos: " ) leer( segundos ) total ß horas * 3600 + minutos * 60 + segundos escribir( "Desde las 0:0:0 horas han pasado ", total," segundos." ) FIN Una segunda solución es: INICIO escribir( "Introduzca horas: " ) leer( h ) escribir( "Introduzca minutos: " ) leer( m ) escribir( "Introduzca segundos: " ) leer( s ) escribir( "Desde las 0:0:0 horas han pasado ", h * 3600 + m * 60 + s," segundos." ) FIN © Carlos Javier Pes Rivas, 2006. Todos los derechos reservados. No está permitida la reproducción total o parcial de estás páginas con fines comerciales, sin la previa autorización escrita del titular del copyright. Sólo está permitida su impresión y utilización para uso personal. 4 Empezar de cero a programar en lenguaje C EJERCICIO PROPUESTO 10.4 9.4 Coste de una llamada telefónica Solución: INICIO escribir( "Introduzca duración de la llamada: " ) leer( duracion ) coste ß ( duracion * MINUTO + ESTABLECIMIENTO ) / 100 escribir( "El coste de la llamada telefónica es: ", coste, " euros" ) FIN Una segunda solución es: INICIO escribir( "Introduzca duración de la llamada: " ) leer( duracion ) escribir( "El coste de la llamada telefónica es: ", duracion * .18 + .12, " euros" ) FIN EJERCICIO PROPUESTO 10.5 9.5 Kilos de azucar y café Solución: © Carlos Javier Pes Rivas, 2006. Todos los derechos reservados. No está permitida la reproducción total o parcial de estás páginas con fines comerciales, sin la previa autorización escrita del titular del copyright. Sólo está permitida su impresión y utilización para uso personal. Capítulo 10. Introducción a los diagramas de flujo 5 INICIO escribir( "Introduzca cantidad: " ) leer( cantidad ) kilos_azucar ß cantidad / 2 / COSTE_AZUCAR kilos_cafe ß cantidad / 3 / COSTE_CAFE cantidad ß cantidad / 6 escribir( kilos_azucar, " kilos de azucar" ) escribir( kilos_cafe, " kilos de café" ) escribir( "Quedan ", cantidad, " euros" ) FIN Una segunda solución es: INICIO escribir( "Introduzca cantidad: " ) leer( cantidad ) escribir( cantidad / 2 / .6, " kilos de azucar" ) escribir( cantidad / 3 / .72, " kilos de café" ) escribir( "Quedan ", cantidad / 6, " euros" ) FIN EJERCICIO PROPUESTO 10.6 9.6 Intercambio de los valores de tres variables Solución: © Carlos Javier Pes Rivas, 2006. Todos los derechos reservados. No está permitida la reproducción total o parcial de estás páginas con fines comerciales, sin la previa autorización escrita del titular del copyright. Sólo está permitida su impresión y utilización para uso personal. 6 Empezar de cero a programar en lenguaje C INICIO escribir( "Introduzca el valor de v1: " ) leer( v1 ) escribir( "Introduzca el valor de v2: " ) leer( v2 ) escribir( "Introduzca el valor de v3: " ) leer( v3 ) escribir( "Intercambiando los valores..." ) auxiliar v1 ß v3 ß v2 v2 ß v1 ß v3 auxiliar escribir( "Ahora, el valor de v1 es: ", v1 ) escribir( "Ahora, el valor de v2 es: ", v2 ) escribir( "Ahora, el valor de v3 es: ", v3 ) FIN El intercambio de valores también se puede hacer con otras instrucciones. Por ejemplo: auxiliar v2 ß v1 ß v3 v3 ß v2 ß v1 auxiliar © Carlos Javier Pes Rivas, 2006. Todos los derechos reservados. No está permitida la reproducción total o parcial de estás páginas con fines comerciales, sin la previa autorización escrita del titular del copyright. Sólo está permitida su impresión y utilización para uso personal. Capítulo 10. Introducción a los diagramas de flujo 7 EJERCICIO PROPUESTO 10.7 9.7 Cambio de los valores de tres variables Solución: INICIO escribir( "Introduzca el valor de a: " ) leer( a ) escribir( "Introduzca el valor de b: " ) leer( b ) escribir( "Introduzca el valor de c: " ) leer( c ) escribir( "Cambiando los valores..." ) auxiliar c ß ß b ß a + c a ß c * 2 b auxiliar * 3 escribir( "Ahora, el valor de a es: ", a ) escribir( "Ahora, el valor de b es: ", b ) escribir( "Ahora, el valor de c es: ", c ) FIN El intercambio de valores también se puede hacer con las instrucciones: © Carlos Javier Pes Rivas, 2006. Todos los derechos reservados. No está permitida la reproducción total o parcial de estás páginas con fines comerciales, sin la previa autorización escrita del titular del copyright. Sólo está permitida su impresión y utilización para uso personal. 8 Empezar de cero a programar en lenguaje C auxiliar c ß ß c b * 3 b ß auxiliar + a a ß auxiliar * 2 O también escribiendo: auxiliar b ß a + c a ß c * 2 c ß b * 3 ß auxiliar Otra posibilidad es: auxiliar b ß ß a ß c * 2 c ß b * 3 a auxiliar + a / 2 EJERCICIO PROPUESTO 10.8 Solución: 1) ordinograma 2) ANSI 3) rectángulo 4) romboide 5) óvalo 6) flechas © Carlos Javier Pes Rivas, 2006. Todos los derechos reservados. No está permitida la reproducción total o parcial de estás páginas con fines comerciales, sin la previa autorización escrita del titular del copyright. Sólo está permitida su impresión y utilización para uso personal.