Soluciones - CarlosPes.com

Anuncio
Soluciones a los Ejercicios Propuestos en el libro:
EMPEZAR DE CERO A PROGRAMAR EN
lenguaje C
Autor: Carlos Javier Pes Rivas ([email protected])
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.
Descargar