Publicado el 16 de Agosto del 2018
2.152 visualizaciones desde el 16 de Agosto del 2018
160,7 KB
12 paginas
Creado hace 10a (02/03/2015)
Informática
Capítulo 2
Procesos lineales
Procesos lineales
En esta primera etapa se comenzará a resolver problemas que requieren un simple proceso lineal
sin bifurcaciones ni repeticiones. Estos programas son muy sencillos y su aplicación es limitada,
pero constituyen el primer paso en el aprendizaje de la programación.
Tanto las bifurcaciones atadas a una condición, como las repeticiones o bucles se verán en los
próximos capítulos.
Ejercicio 2.1:
Efectuar el diagrama de flujo de un programa que lea el largo l y el ancho a de un rectángulo,
calcule su superficie S, e imprima el largo l, el ancho a y la superficie S obtenida.
S a
a
8,4
Fórmula:
Superficie: S = l . a
Prueba de escritorio:
l
5,2
Salida por pantalla
5,2
43,68
43,68
8,4
Ejercicio 2.2:
Efectuar el diagrama de flujo de un programa que lea el radio r de un círculo, calcule su superfi-
cie S, e imprima el radio r y la superficie S calculada.
S a
r
Fórmula:
Superficie: S = π . r2
Prueba de escritorio:
PI
3,14 10,15
Salida por pantalla
10,15
31,871
31,871
Página 11
InicioS = l * aFinl , a , Sl , aInicioS = PI * r ^ 2Finr , SrPI = 3.14Informática
En el Ejercicio 2.2 se aprecia el uso de una constante PI. Una variable que mantiene su valor en
un programa, y no lo cambia durante todo el proceso se conoce con el nombre de constante, y la
asignación de su valor se efectúa generalmente al inicio del programa.
Prueba de escritorio y salida por pantalla
La prueba de escritorio que acompaña los dos primeros ejercicios responde a una ejecución del
programa con datos hipotéticos, y en ella se analiza el valor que toman todas las variables a tra-
vés del avance de cada proceso. También se agrega la salida por pantalla, que anticipa de una
manera muy esquemática la información que se visualizará en el monitor.
Para distintas ejecuciones del mismo programa se pueden plantear distintos valores de datos, es
decir, distintos valores del lado l y el ancho a en el primer ejercicio, o bien diferentes valores de
radio r para el segundo ejercicio. Cada ejecución tendrá su prueba de escritorio y su salida
por pantalla separada de la anterior. No se deben confundir las pruebas de escritorio de un pro-
grama lineal con un ciclo repetitivo como se verá más adelante.
La prueba de escritorio, según se ha visto hasta aquí, es el monitoreo de todas las variables que
utiliza el programa, y los distintos valores que van almacenando durante el proceso. Para ello
se deben anotar todas las variables como encabezamiento, y encolumnados hacia abajo todos los
valores que almacenan dichas variables a medida que avanza el programa.
Las variables numéricas podrán almacenar valores numéricos, enteros o decimales, con puntos o
con comas, y con la cantidad de decimales que les permita su definición. No pueden almacenar
valores fraccionarios ni símbolos griegos, como tampoco cadenas alfanuméricas.
Las variables alfanuméricas podrán almacenar todo tipo de cadenas alfanuméricas, letras, núme-
ros, símbolos, y cualquier combinación de ellos. De todas maneras, si las variables alfanuméricas
almacenan números no podrán operar con ellos, es decir, no se podrán sumar o restar, etc.
Asignación de dos valores a una variable durante un programa
En los programas puede suceder que una variable reciba más de un valor durante el avance del
flujo del diagrama. La variable actuará con el último valor que le haya sido asignado, ya que en
cada transferencia se almacena un nuevo valor y el contenido anterior se pierde.
En el ejemplo siguiente se aprecia cómo funciona el almacenamiento de valores en variables
escalares mediante un diagrama de flujo simple, con su prueba de escritorio y salida por pantalla.
S
10
B
5
Prueba de escritorio:
A
6
2
Salida por pantalla
10
Página 12
InicioA = 2FinSA = 6B = 5S = A * BInformática
El producto S = A*B ha sido efectuado con los valores 2 y 5, como resultado de la utilización de
los últimos valores que tienen almacenadas las variables que participan en el producto. El valor 6
que almacenó en un principio la variable A fue desplazado por el almacenamiento de un nuevo
valor igual a 2, con el cual prosigue el proceso y es el que se utilizará desde ese momento.
Ejercicio 2.3:
Efectuar el diagrama de flujo de un programa que convierta una temperatura ingresada en grados
Fahrenheit a su equivalente en grados Celsius, e imprima el valor obtenido.
El procedimiento permite el ingreso de un dato y lo almacena en la
variable F, luego calcula la fórmula de equivalencia y la almacena
en la variable C para imprimirla posteriormente.
Fórmula:
Grados Celsius: C = 5/9 * (F-32)
Prueba de escritorio:
F
85
29,444
Salida por pantalla
29,444
C
Ejercicio 2.4:
Efectuar el diagrama de flujo de un programa que genere un número aleatorio N entre 0 y 10 en
la computadora y lo imprima.
El procedimiento genera un número aleatorio en la computadora
utilizando la función Rnd( ). Esta función genera valores decimales
entre 0 y 1, por lo tanto se debe multiplicar el número generado
por 10 y luego aplicarle la función Int ( ) que extrae la parte entera
de un número con decimales, para obtener entonces un valor entero
entre 0 y 10, que será almacenado en la variable N. Por último se
imprime el valor de N.
Prueba de escritorio:
N
8
Salida por pantalla
8
Página 13
InicioC = 5/9 * (F-32)FinCFInicioN = INT ( RND( ) * 10)FinNInformática
Ejercicio 2.5:
Efectuar el diagrama de flujo de un programa que calcule el resto r de la división entre dos nú-
meros enteros m y n, e imprima el valor del resto r obtenido.
r
El procedimiento consiste en calcular primero la división entre m y
n, almacenándola en una variable, luego tomar la parte entera del
resultado y multiplicarla nuevamente por el valor n, por último
sustraer este producto del primer valor m.
Prueba de escritorio:
m
5
Salida por pantalla
1
c
2,5
2
n
2
1
Ejercicio 2.6:
Efectuar el diagrama de flujo de un programa que obtenga el redondeo de un número a con n
decimales, e imprima el valor resultante.
n
2
El procedimiento utiliza la función ENTERO( ) como el ejercicio
anterior, y además para determinar el criterio de redondeo se toma
en cuenta que un número cuyo dígito decimal es 5 o superior será
redondeado al valor inmediato superior.
Prueba de escritorio:
a
135,476
13547,6
13548,1
13548
135,48
Salida por pantalla
135,48
Página 14
Inicioc = m / nFinrm , nc = ENT(c)r = m - c * nInicioa = a * 10 ^ nFinaa , na = a + 0.5a = ENT(a)a = a / 10 ^ nEjercicio 2.7:
Efectuar el diagrama de flujo de un programa que calcule el valor en radianes de un ángulo, cuya
medida se ha ingresado en formato sexagesimal, con grados, minutos y segundos.
Informática
El procedimiento calcula en primer lugar el valor del ángulo
en formato sexagesimal incorporándole los minutos y los se-
gundos como decimales. Luego se efectúa la conversión a ra-
dianes.
Fórmulas:
Prueba de escritorio:
gr min seg alfag alfar .
45 27 40
45,461111
0,79345
Salida por pantalla
0,79345
Página 15
Finalfag = gr + min / 60 + seg / 3600Inicioalfar = alfag * 3.1416 / 180alfargr , min , seg1801416.3*360060mingradosradianesgradossegundosutosgradosInformática
Funciones del Visual Basic
El Visual Basic trae un conjunto de funciones de diferentes categorías, que resultan útiles para la
solución de algunos problemas matemáticos que se ven en el curso. A continuación se verán al-
gunas de las funciones con sus argumentos y ejemplos. El resto de las funciones se pueden con-
sultar en el menú Ayuda del entorno de programación Visual Basic del Excel.
Función Rnd( )
Sintaxis:
Rnd[(número)]
Comentarios:
La función Rnd( ) devuelve un número aleatorio decimal de simple precisión.
El argumento opcional número es cualquier expresión numérica válida.
La función Rnd( ) devuelve un valor menor que 1 pero mayor o igual a cero. El valor del argu-
mento número determina cómo la función Rnd( ) genera el número aleatorio: Para cualquier va-
lor de semilla inicial se genera la misma secuencia de números. Esto es debido a que cada llama-
da sucesiva a la función Rnd( ) usará el número anterior como valor de semilla para el siguiente
número de la secuencia.
Antes de llamar a la función Rnd( ), puede utilizar la instrucción Randomize sin argumento para
inicializar el generador de números aleatorios con un valor de semilla basado en el reloj del sis-
tema.
Para producir enteros aleatorios en un intervalo dado, use esta fórmula:
Int((Límite_superior - límite_inferior + 1) * Rnd( ) + límite_inferior)
' Genera un valor aleatorio entre 0 y 1
' Genera un valor aleatorio entre 1 y 6
' Genera un valor aleatorio entre 0 y 10
' Imprime un valor aleatorio entre 1 y 100
Aquí, límite_superior es el número mayor del intervalo y límite_inferior es el número menor del
intervalo.
Ejemplos:
A = Rnd( )
B = Int((6 * Rnd) + 1)
N = Int(10 * Rnd)
MsgBox Int((100 * Rnd) + 1)
Instrucción Randomize
Sintaxis:
Randomize [número]
Comentarios:
La instrucción Randomize inicializa el generador de números aleatorios.
El argumento opcional número es cualquier expresión numérica válida.
La instrucción Randomize utiliza el argume
Comentarios de: Capítulo 2 - Procesos lineales (0)
No hay comentarios