Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Opcion
Temp1
Conversin
Temp2
Devolver (Temp2)
Fin
1
//PROGRAMA PRINCIPAL
Inicio
Real Temperatura1, Temperatura2
Entero Opc
Fin
En caso de (Opcion)
Caso 1:
Temp2 = (9/5)*Temp1 + 32 // Grados Centgrados a Fahrehneit
Caso 2:
Temp2 = (5/9)*(Temp1 - 32) // Grados Fahrehneit a Centgrados
Caso 3:
Temp2 = Temp1 + 273 // Grados Centgrados a Kelvin
Caso 4:
Temp2 = Temp1 - 273 // Kelvin a Grados Centgrados
Caso 5:
Temp2 = ((5/9)*(Temp1 - 32)) + 273 // Grados Fahrehneit a Kelvin
Caso 6:
Temp2 = (9/5)*(Temp1 - 273) + 32 // Kelvin a Grados Fahrehneit
Fin_En_Caso_De
Lim_sup
Lim_inf
Valor
Ejercicio 01.
Disee una subrutina que permita efectuar conversiones de temperatura en las escalas de
Kelvin, Grados Centgrados y Fahrehneit. La subrutina debe recibir la opcin de conversin
deseada (Opcin 1: C a F, Opcin 2: F a C, Opcin 3: C a K,) y el valor a convertir.
13
R
-
S
+
5
12
M
*
10
D
/
Muestra
Operacion
Arr3[ ]
Arr2[ ]
Arr1[ ]
Calcular
Arr[ ]
Arr[ ]
Cargar
C[X]
B[X]
Operacion
A[X]
Ejercicio 02.
Disee un algoritmo que permita ingresar los valores de dos arreglos unidimensionales y
llene un tercer arreglo con la suma, resta, multiplicacin o divisin de los dos primeros segn
una opcin que seleccionada por el usuario.
Devolver (Prom/n)
Fin
//------------------ Programa Principal --------------------//
Inicio
Real A[15], Prom
Llamar a: Cargar (A, 15)
Mostrar (El Promedio es , Promedio (A,15))
Fin
Algoritmo Promedio
// Subrutina Cargar
Procedimiento Cargar (Entero Arr[ ], Entero n)
Inicio
Entero i
Repetir desde (i=0; i<n; i++)
Mostrar (Ingrese el valor del elemento , i)
Leer (Arr[i])
Fin_Repetir_Desde
Fin
// Funcin Promedio
Real Promedio (Entero Arr[ ], Entero n)
Inicio
Entero i
Real Prom = 0
Repetir desde (i=0; i<n; i++)
Prom += Arr[i]
Fin_Repetir_Desde
Arr[ ]
Arr[ ]
Cargar
Promedio
Prom
A[X]
Ejercicio 03.
Disee un algoritmo que permita ingresar los valores de un arreglo unidimensional y
posteriormente calcule el promedio de los valores de dicho arreglo.
Fin
//------------------ Programa Principal --------------------//
Inicio
Entero A[20], B[20], C[20]
Caracter Opcion
Fin_en_Caso_De
Fin_Repetir_Desde
Arr2[N]
3
8
5
6
6
5
8
3
Fin
// Subrutina Invertir
Procedimiento Invertir (Entero Arr1[ ], Entero Arr2[ ], Entero n)
Inicio
Entero i
Repetir desde (i=0; i<n; i++)
Arr2[i] = Arr1[n-1-i]
Fin_Repetir_Desde
Fin
// Subrutina Muestra
Procedimiento Muestra (Entero Arr[ ], Entero n)
Inicio
Entero i
Repetir desde (i=0; i<n; i++)
Mostrar (Elemento, i, =, Arr[i])
Fin_Repetir_Desde
Fin
// Subrutina Cargar
Procedimiento Cargar (Entero Arr[ ], Entero n)
Inicio
Entero i
Repetir desde (i=0; i<n; i++)
Mostrar (Ingrese el valor del elemento , i)
Leer (Arr[i])
Fin_Repetir_Desde
Fin
Arr1[N]
Ejercicio 04.
Disee un algoritmo que permita ingresar los valores de un arreglo unidimensional y llene un
segundo arreglo con los elementos del primero pero de forma invertida.
0
1
299
Cedula
Encuesta [300]
Estatura
Peso
IMC
IMC
// Funcin Menu
Entero Menu ()
Inicio
Entero opc
Mostrar (Men de Opciones)
Mostrar (1) Ingresar datos de Encuestado)
Mostrar (2) Visualizar datos de la Encuesta)
Mostrar (3) Ver Promedio de IMCs)
Mostrar (4) Buscar los datos de un encuestado)
Mostrar (5) Salir del Sistema)
// Procedimiento Validar
Procedimiento Validar (Entero &valor, Entero lim_inf, Entero lim_sup)
Inicio
Repetir Mientras (valor<lim_inf || valor>lim_sup)
Mostrar (Ha seleccionado una opcin incorrecta, reintrodzcala:)
Leer (valor)
Fin_Repetir_Mientras
Fin
L
Cedula
Nombre [25]
Nombre [25]
Datos_IMC
Estatura
Peso
Eval
Eval
Disee un programa que permita guardar los datos de una encuesta que se realizar a 300
personas sobre su ndice de masa corporal. A los encuestados se les pedir su nombre,
cdula, estatura y peso, para luego calcular su IMC y clasificarlo. El programa debe
estructurarse utilizando programacin procedimental, debe contar con las siguientes
subrutinas:
Ejercicio 05.
// Subrutina Mostrar
Procedimiento Mostrar (Datos_IMC Reg[ ], Entero n)
Inicio
Entero i
Si (n>=0)
Mostrar (Encuesta ndice de Masa Corporal)
Mostrar (Nombre
Cdula
Estatura
Peso
Repetir Desde (i=0; i<=n; i++)
Mostar (Reg[i].Nombre,
, Reg[i].Cedula,
Mostrar ( , Reg[i].Peso, , Reg[i].IMC,
Mostrar (Reg [i].Eval, )
Fin_Repetir_Desde
Sino
Mostrar (No ha ingresado datos)
Fin_Si
Fin
Eval)
, Reg[i].Estatura)
)
IMC
Mostrar (Desea ingresar los datos de otro encuestado, s: si o n: regresar al men principal)
Leer (Resp)
Fin_Repetir_Mientras
Fin
Fin
Caso 5:
Fin_En_Caso_De
Fin_Repetir_Mientras
Fin
Caso 4:
Mostrar (Indique el nmero de cdula a buscar: )
Leer (Cedula_B)
pos = Busqueda (Encuesta, L, Cedula_B)
Si (pos >= 0)
Mostrar (Nombre
Cdula
Estatura
Peso
IMC
Eval)
Mostrar (Encuesta[pos].Nombre,
, Encuesta[pos].Cedula,
,
Encuesta[pos].Estatura)
Mostrar ( , Encuesta[pos].Peso, , Encuesta[pos].IMC,
)
Mostrar (Encuesta[pos].Eval, )
Sino
Mostrar(Cdula Inexistente)
Fin_Si
Caso 3:
Mostrar (El promedio del IMC de los encuestados es, Promedio (Encuesta,L))
Caso 2:
En Caso de (opc)
Caso 1:
// Programa Principal
Inicio
// Subrutina de Bsqueda
Entero Bsqueda (Datos_IMC Reg[ ], Entero n, Entero Ced_B)
Inicio
Entero i
Repetir desde (i=0; i<=n; i++)
Si (Reg[i].Cedula == Ced_B)
Devolver (i)
Fin_si
Fin_Repetir_Desde
Devolver (-1)
Fin
Si (n>=0)
Repetir desde (i=0; i<=n; i++)
Prom = Prom + Reg[i].IMC
Fin_Repetir_Desde
Devolver (Prom/(n+1))
Sino
Mostrar (No ha ingresado datos)
Devolver (0)
Fin_Si
Fin
Luis Perez
15768883
Cedula
36
Edad
95
1
93,5
2
90
3
91
Jornada[30]
88
89,5
86,5
Peso[10]
5
6
7
8
86
9
85
84
10
11
Perdido
// Funcin Menu
Entero Menu ()
Inicio
Entero opc
Mostrar (Men de Opciones)
Mostrar (1) Ingresar Datos de Participantes 2) Mostrar Resultados de Jornada)
Mostrar (3) Ver Ganador de la Jornada 4) Salir del Sistema)
Mostrar (Seleccione una opcin:)
Leer (opc)
Llamar a: Validar (opc, 1, 4)
Devolver (opc)
Fin
// Procedimiento Validar
Procedimiento Validar (Entero &valor, Entero lim_inf, Entero lim_sup)
Inicio
Repetir Mientras (valor<lim_inf || valor>lim_sup)
Mostrar (Ha seleccionado una opcin incorrecta, reintrodzcala:)
Leer (valor)
Fin_Repetir_Mientras
Fin
1)
2)
3)
4)
0
1
28
29
Nombre
Ejercicio 06.
A: Ausente
P: Presente
Caso 2:
En Caso de (opc)
Caso 1:
// Procedimiento Validar
Procedimiento Validar (Entero &valor, Entero lim_inf, Entero lim_sup)
Inicio
Repetir Mientras (valor<lim_inf || valor>lim_sup)
Mostrar (Ha seleccionado una opcin incorrecta, reintrodzcala:)
Leer (valor)
Fin_Repetir_Mientras
Fin
Algoritmo Boda
10
Usted debe asumir que los datos de los invitados ya se encuentran cargados en
sistema y debe implementar el cdigo a travs de programacin procedimental utilizando las
siguientes subrutinas:
1)
2)
3)
4)
Invitados [200]
Nombre
Cedula Mesa Estado
0
Ivan Montero
21000000
1
A
1 Fernanda Gonzalez 10000000
2
P
Juan Lopez
14000000
5
P
199
Luisa Castro
18000000
10
A
Ejercicio 07.
Su mejor amig@ se va a casar, por lo que le pide el favor de desarrollar un programa que
permita automatizar el manejo de los invitados en las distintas mesas, los datos se
encuentran almacenados en una estructura como la que se muestra a continuacin:
Caso 4:
Mostrar (Fin del Programa)
Fin_En_Caso_De
Fin_Repetir_Mientras
Fin
Caso 3:
// Subrutina Ganador
Entero Ganador (Datos_Jornada Reg[ ], Entero n)
Inicio
Entero i, pos = 0
Real Mayor = Reg[0].Perdido // Aplicando algoritmo Mayor asumimos que el primero
// es el mayor
Repetir desde (i=0; i<n; i++)
Si (Reg[i].Perdido > Mayor)
Mayor = Reg[i].Perdido
pos = i
Fin_Si
Fin_Repetir_Desde
Devolver (pos)
Fin
// Subrutina Mostrar
Procedimiento Mostrar (Datos_Jornada Reg[ ], Entero n)
Inicio
Entero i, j
Mostrar (Resultados Jornada de Bienestar)
Mostrar (Nombre
Cdula
Edad
Peso por Semanas
Total Perdido)
Repetir Desde (i=0, i<n, i++)
Mostar (Reg[i].Nombre,
, Reg[i].Cedula,
, Reg[i].Edad, )
Repetir Desde (j=0, j<10, j++)
Mostrar (Reg[i].Peso[j], )
Fin_Repetir_Desde
Mostrar (Reg[i].Perdido, )
Fin_Repetir_Desde
Fin
// Procedimiento Ingreso
Procedimiento Ingreso (Datos_Jornada Reg[ ], Entero n)
Inicio
Entero i, j
Repetir desde (i=0; i<=n; i++)
Mostar (Ingrese los datos del Encuestado: )
Mostar (Nombre, Cedula y Edad: )
Leer (Reg[i].Nombre, Reg[i].Cedula, Reg[i].Edad)
Repetir desde (j=0; j<10; j++)
Mostrar (Peso semana , j)
Leer (Reg[i].Peso[j])
Fin_Repetir_Desde
Reg[i].Perdido = Reg[i].Peso[1] - Reg[i].Peso[10]
Fin_Repetir_Desde
Fin
// Subrutina de Bsqueda
Entero Bsqueda (Datos_Boda Reg[ ], Entero n, Entero Ced_B)
Inicio
Entero i
Repetir desde (i=0; i<n; i++)
Si (Reg[i].Cedula == Ced_B)
Devolver (Reg[i].Mesa)
Fin_si
Fin_Repetir_Desde
Devolver (0)
Fin
// Subrutina Mostrar
Procedimiento Mostrar_Presentes (Datos_Boda Reg[ ], Entero n)
Inicio
Entero i
Mostrar (Invitados que se han hecho presentes)
Mostrar (Nombre
Cdula
Mesa)
Repetir Desde (i=0; i<n; i++)
Si (Reg[i].Estado == P)
Mostar (Reg[i].Nombre,
, Reg[i].Cedula,
, Reg[i].Mesa,
Fin_Si
Fin_Repetir_Desde
Fin
11
Caso 4:
Mostrar (Fin del Programa)
Fin_En_Caso_De
Fin_Repetir_Mientras
Fin
Si (Mesa>0)
Mostrar (El invitado tiene asignada la mesa , Mesa)
Sino
Mostrar(No se ha encontrado al invitado, vuelva a buscar)
Fin_Si
Caso 3:
Mostrar( Indique la cdula del invitado a buscar: )
Leer (CedulaB)
Caso 2:
En Caso de (opc)
Caso 1:
Si( Ya_llego (Invitados, 200) == 1 ) // Uso de valor retornado como condicin
Mostrar (Estado Cambiado Correctamente)
Sino
Mostrar (No se pudo actualizar estado, intente nuevamente)
Fin_Si
12