procedimientos computacionales
procedimientos computacionales.
Bienvenido de nuevo a esta sesión
sobre procedimientos computacionales.
En la última sesión, hemos visto
procedimientos escritos para actividades complejas, y también vimos que los
procedimientos primero deben entenderse y luego ejecutarse. Ahora veremos un
procedimiento computacional porque eventualmente queremos aprender a escribir
programas para las computadoras. En el proceso también veremos cómo un
'programa' sería ejecutado por una computadora. De hecho, esto sería
exactamente de la misma manera que un procedimiento computacional llevado a
cabo por seres humanos. Así que veamos un problema. Supongamos que tenemos un
tanque que hemos puesto en nuestro patio para almacenar agua. Ahora, el tanque
puede oxidarse, así que para evitar que se oxide, deseamos pintarlo.
Ahora, supongamos que nos dan los
cargos de pintura en dolares por metro cuadrado. Necesitamos averiguar, cuál
será el costo de pintar todo el tanque, por supuesto no debemos olvidarnos de
la cubierta superior que estará en la parte superior del tanque. Entonces,
tenemos que calcular los cargos totales de pintura. Ahora bien, este es
claramente un problema de cómputo, así que tendremos que hacer algún tipo de de
un modelo matemático simple para resolver este problema. Primero tratamos de
ver cómo podemos calcular el área de la superficie.
Esta es la imagen de un tanque.
Este tanque tiene cierto radio, es un tanque cilíndrico. Representamos radio r
y altura h.
Aquellos de ustedes que han llevado
geometría en sus clases anteriores, entendería fácilmente cómo calcular el área
de la superficie. Echemos un vistazo a los cálculos. Primero, el área de la superficie
de un tanque a pintar que tiene el radio r y la altura h es igual a el área de
la superficie exterior más el área de la cubierta circular superior. Nuestro conocimiento de geometría
nos dice que el área de la superficie externa
donde R es el radio y H es la
altura.
Exactamente de la misma manera,
podemos descubrir que el área de la cubierta circular será pi cuadrado r.
Una vez que conocemos estas dos
áreas, su suma será el área total.
Habiendo modelado este problema
en términos de las fórmulas matemáticas, que necesitamos para calcular el costo
de la pintura, ahora estamos listos para escribir un procedimiento para
calcular el costo.
El procedimiento está escrito
como si fuera ejecutado por alguna persona. Así que le estoy diciendo a esa
persona, obtenga de el valor del precio de pintura P en dolares por metro
cuadrado.
A continuación, obtener, los
valores de radio R y altura H. calcule el costo C, C es igual a P por A. Si tiene alguna dificultad para
entender esto, observe que nos hemos desviado un poco en los símbolos que hemos
usado. Hemos usado una r para el radio en la formula anterios y despues usamos
la R. mayúscula. Pero lo entiendes fácilmente porque para ti no importa si R es
pequeño o capital, todavía significa radio para ti. Sin embargo, más adelante
notaremos que cuando escribimos programas de computadora, debemos ser muy
cuidadosos porque cada nombre debe ser único y debe usarse exactamente de la
misma manera que se usa en otro lugar para significar lo mismo.
Considere los pasos de este
procedimiento.
¿Está de acuerdo con que este
procedimiento le dará el costo final final de la pintura?
¿Está de acuerdo en que este
procedimiento le dará el costo final de la pintura, calculado mediante este
proceso?
Lamentablemente, la respuesta es
no. Vamos a examinar por qué.
Vamos a seguir estos pasos otra
vez obtener de mí el valor del precio de la pintura, está bien. Entonces, la
persona que está ejecutando este procedimiento recogerá el valor P de mí. A
continuación, el procedimiento dice: obtener de mí, valores de radio R y altura
H, nuevamente, la persona que está ejecutando este procedimiento, obtendrá de
mí un valor del radio R y un valor para la altura H. La siguiente instrucción
dice calcular el área A con la fórmula A igual a 2 pi RH más pi R cuadrado. La
persona hará religiosamente esta multiplicación de pi R cuadrado, haz esta
multiplicación de dos en pi en R en H. Agregue ambos valores y descubra un
valor resultante, que lo asignará al símbolo A en el lado izquierdo del símbolo
igual. Así que tenemos el valor del área A. La siguiente instrucción dice
calcular el costo C, la persona que está ejecutando este procedimiento
calculará correctamente el costo C, que P asigna a A. Así es el problema. El
problema es que, cuando se ejecuta todo el procedimiento, la persona que está
ejecutando el procedimiento tendrá el costo C, pero no tendremos el costo -
¿Por qué? Recuerde, le pedimos a esa persona que obtenga de nosotros los
valores de P, los valores de R y los valores de H. Pero olvidamos decirle, para
darnos el valor de C que él ha calculado. Tenga en cuenta que El procedimiento debe contener todas y cada
una de las instrucciones que finalmente nos darán el valor de C.
Entonces, mira este procedimiento
ahora. Tenemos que agregar este paso aquí después de recopilar el valor de
entrada, después de calcular el área y el costo.
Debe haber una instrucción de
procedimiento, decimos dame el valor de C.
Ahí es cuando la persona que
ejecuta el procedimiento nos dará el valor de C y cumplirá con nuestro
requisito de averiguar cuál es el costo de la pintura.Tenemos que escribir esos
procedimientos para que sean ejecutados por una computadora cuando en lugar de
una persona,una computadora ejecuta un procedimiento como este, luego el
procedimiento se llama programa.Observamos que una computadora es capaz de
hacer exactamente lo mismo que la persona es capaz de hacer mientras ejecuta un
procedimiento computacional, es decir, la computadora puede leer todo el
programa y comprender todas las instrucciones. Este paso, por cierto, se llama
traducción o compilación.
Vamos a explicar el significado
de estos términos técnicos más adelante, pero por el momento observamos que la
computadora primero lee todo el programa y comprende todas las instrucciones. Una
vez que ha hecho eso, entonces lleva a cabo las instrucciones del programa, una
por una, en este orden estipulado. Esto se llama la ejecución del
procedimiento. Muy similar a la ejecución del procedimiento computacional que
acabamos de ver.
Bueno, permítanos tener algo de experiencia
en vivo con un programa hipotético. He escrito un programa, es un programa de
prueba. Por supuesto, las instrucciones en ese programa de prueba pueden ser
fácilmente llevadas a cabo por humanos. Me gustaría que se comporte como si
fuera una computadora, compile y ejecute ese programa, entienda por favor que
debe trabajar lo más correctamente posible y tan rápido como lo puede hacer una
computadora. Recuerde que una computadora puede ejecutar millones de
instrucciones por segundo. Es posible que no pueda realizar millones de pasos
en un segundo, pero veamos qué tan rápido puede ser.
Entonces, buena suerte, compila y
ejecuta este programa. Te daré treinta segundos.
Bien, entonces analicemos este
programa. El primer paso dice levantar una de tus manos. El siguiente paso dice
deja tus manos levantadas. El tercer paso dice, cierra los ojos y cuenta en voz
alta hasta 10. El tercero dice, en voz alta, di jajaja, El siguiente paso dice,
escriba el valor de pi correcto en tres decimales. El siguiente dice, habla en
voz alta, el nombre de tu lengua materna. Y el siguiente paso dice, aplaudir
tres veces. Estoy seguro de que muchos de ustedes en su entusiasmo ejecutarán
el programa tan rápido como lo haría una computadora, Habrías hecho la mayoría
de estas cosas. En un salón de clases cada vez que lo he probado, casi toda la
clase comienza a levantar sus manos rápidamente, cerrando los ojos y contando y
diciendo en voz alta, ja, ja, aplausos, etc. etc.
Solo aquellos pocos que entienden
que el primer paso es compilar un programa y luego solo ejecutarlo. Lo que
significa que primero tiene que leer todo el programa. Aquellos que hacen eso
se habrían dado cuenta que el último paso dice, al ejecutar este programa,
ignorar todas las instrucciones anteriores y solo levanta ambas manos. De
hecho, la persona más rápida que ejecuta correctamente este programa es una que
no hizo nada de estos pasos, sino que simplemente levantó ambas manos. Esto
podría ser divertido pero esto es lo que debemos recordar cuando manejamos una computadora.
Veamos ahora las capacidades de
una computadora. Una computadora tiene capacidad para manejar valores
numéricos. Por supuesto, esperamos eso. Por ejemplo, puede manejar valores
tales como 257, -78 o 4.675, etc. También puede manejar valores muy grandes y
muy pequeños.
La mayoría de ustedes debería ser
capaz de descifrar lo que significa este simbolismo: 1.4e18 en realidad
significa un valor 1.4 * 10 para la potencia 18. De manera similar, este valor
significa 0.356 * 10 a la potencia -9. Observe que este valor es muy pequeño,
este valor es muy grande. Pero una computadora es capaz de lidiar con un tamaño
tan grande y valores muy pequeños, sujetos por supuesto a un procedimiento
limitado como veremos más adelante.
Una computadora por supuesto
tiene la capacidad de llevar a cabo operaciones numéricas. Por ejemplo, puede
agregar, puede restar, puede multiplicarse, puede dividirse. Para suma y resta
y division usamos los símbolos +, - y /. Para la multiplicación, sin embargo,
la mayoría de las computadoras usan un símbolo *. ¿Puedes adivinar por qué? Por
lo general, cuando queremos representar la multiplicación en un pedazo de
papel, decimos algo x algo. El símbolo x que se usa para la letra x es también
se usa para denotar multiplicación. Pero debido a que los programas de
computadora no quieren confundirse con letras y símbolos, usan este símbolo *
para indicar multiplicación. Más importante aún, la computadora tiene la
capacidad de recopilar valores de nosotros como entrada y devolvernos el
resultado calculado como resultado. Tiene la capacidad de almacenar estos
valores temporalmente. Entonces habrá una noción de una ubicación de memoria
que veremos en la próxima conferencia. También tiene la capacidad de referirse
a estas ubicaciones por nombres simbólicos.
En resumen, los programas de
computadora generalmente son procedimientos computacionales.
En general, esto implicará
recopilar algunos valores de entrada del usuario, realizar cálculos y obtener
algunos valores de resultados y devolver los valores de resultados como
resultados.
No hay comentarios.