“Año de la Diversificación Productiva y del Fortalecimiento de la Educación” UNIVERSIDAD PERUANA LOS ANDES FACULTAD DE INGENIERÍA
CURSO
LENGUAJE DE
:
PROGRAMACIÓN MONOGRAFÍA
LENGUAJE DE PROGRAMACIÓN APLICADO A LA INGENIERÍA CIVIL
:
ING. VALENZUELA ZEGARRA PROFESOR
:
INTEGRANTES
:
1.
ANSELMO
ENRIQUE, CASTRO CAPITÁN
AULA
:
C1
CÓDIGO
:
A82464C
FECHA
:
12 /02/2015
LIMA - PERÚ – 2015 INTRODUCCIÓN
El lenguaje de programación es toda una herramienta imprescindible para la ingeniería porque le puede brindar toda una gama de oportunidades para resolver los obstáculos de cálculo, técnicos y de estructuras que encuentre en su trasegar, pero al mismo tiempo puede convertirse, a largo plazo, en una disminución de sus capacidades metodológicas. En esta era de la informática y las comunicaciones cuando todo está sistematizado, es de suponer que todas las ciencias y técnicas, sobre todo la ingeniería civil, estén en esta mismo tónica, es decir, la de construir programas para resolver los problemas que a los ingenieros se les presenta en sus labores cotidianas y que las obras mismas demandan. tal y como se expondrá en el presente escrito. El software y programas constituyen para los ingenieros civiles una herramienta muy funcional, puesto que en todas las áreas o campos de dicha ciencia se pueden utilizar con una cantidad de ventajas y bondades extraordinarias, ya que desde su intromisión en la ingeniería no se han dejado de utilizar, usar en forma correcta y racional.
OBJETIVO GENERAL
Analizar los lenguajes de programación orientados a la ingeniería civil por el uso exclusivo de la sintaxis y el desconocimiento de otro método para la resolución de los problemas.
JUSTIFICACIÓN Aprender un lenguaje de programación para construir un programa o software que va a solucionar un problema cualquiera sobre alguna de las especialidades de la ingeniería civil, es algo sumamente satisfactorio y ventajoso en cualquier aspecto en que se le mire, pero dicha facilidad también está ocasionando un grave problema en el estudiantado de dicha disciplina científica, ya que los jóvenes que cursan la ingeniería civil se preocupan por resolver el problema sin antes haberlo comprendido a cabalidad.
Se necesita hacer un análisis serio sobre esta problemática que se viene presentando en la carrera de ingeniería civil, puesto que al dedicarse los jóvenes a resolver los problemas sin haberlos entendido, puede ocasionar graves consecuencias a nivel personal, intelectual, profesional y ético; por lo tanto abordar dicho problema es algo de palpitante actualidad debido a la cantidad de estudiantes en dicha ciencia y la urgente necesidad que existe de que los egresados no sean seres virtuales resolviendo problemas por medio de programas informáticos, sino unas personas que utilizan la comprensión total de los problemas y son capaces para encontrar los métodos necesarios para resolverlos.
Tal polémica que se viene presentando con argumentos sólidos y contrastables con la realidad, de tal forma que el tema planteado contribuya a responder a ese gran
interrogante del por qué se debe aprender un lenguaje de programación dentro de la ingeniería civil.
ANÁLISIS DE LA FUNCIONALIDAD DE LOS LENGUAJES DE PROGRAMACIÓN EN LA INGENIERÍA CIVIL
ANTECEDENTES Hasta el momento la ingeniería civil han estado utilizando los lenguajes de programación para construir programas o software cuyo fin es resolver los problemas que se les ha venido presentando durante sus estudios o trabajos, esto ha representado ahorro de tiempo, energías, esfuerzo, trabajo intelectual, etc.; ya hasta hay lenguajes dedicados para las distintas especialidades de la ingeniería, cada día están creándose más lenguajes y programas para facilitar la tarea de los ingenieros y contribuir así para que las obras reúnan los estándares de seguridad requeridos por las normas internacionales. PROBLEMA Los ingenieros civiles necesitan los lenguajes de programación para construir software y programas para solucionar los problemas, esto es claro y nadie lo puede poner en duda, pero también es cierto que a medida que los lenguajes se están volviendo más prácticos dentro de las disciplinas ingenieriles están convirtiendo a los futuros ingenieros en unos profesionales programa dependientes, es decir, que sólo quieren o piensan que la solucionan la obtienen a través de la sintaxis correcta en la construcción de un programa, pero no son capaces de utilizar los métodos, la metodología adecuada que se requiere en la resolución de problemas cuando se le ha entendido completamente. Como se puede apreciar el problema obedece no al qué de los lenguajes de programación, sino al aspecto actitudinal sobre el mismo y los efectos nocivos que puede causar esta actitud reduccionista, simplista, que puede ocurrir en la utilización de los lenguajes de programación dentro de la ingeniería civil. SINTAXIS O MÉTODO
Dentro de la los lenguajes de programación existen tres elementos formales o estructurales indispensables, el léxico, la sintaxis y la semántica, cada uno de estos desempeña una función específica en la elaboración o construcción de los programas, pero en el argot de sistemas se les conoce como sintaxis, la cual permite que los códigos realicen la función u operación para los cuales fueron programados y cuando un estudiante de ingeniería se detiene en la programación para resolver un problema está dando por sentado que ha comprendido el problema en su totalidad, algo que escapa a la realidad del asunto, entonces vienen las consecuencias de tal falta de profesionalismo.
Los estudiantes no toman conciencia de la necesidad de aplicar los métodos para resolver los problemas, únicamente se dedican a la parte de la sintaxis y listo, creen que con esto ya van a solucionar todos los problemas que se le presenten en la carrera o dentro de su trabajo, Uno de los problemas claros que se ha detectado, es que los estudiantes rápidamente comienzan a preocuparse del cómo resolver un problema, sin haberse centrado en el entendimiento del problema en sí, que es el que se debe resolver. Los estudiantes creen que el empleo de una sintaxis correcta en la construcción de un programa es garantía de una adecuada resolución del problema: esta es necesaria, pero para nada suficiente. El reducir el trabajo para la solución de los problemas con la simple sintaxis es algo que perjudica varios aspectos, pero sobre todo, no desarrolla esa competencia o capacidad que tenemos los humanos para resolver los problemas, tal como es la aplicación de un método, de una metodología, la cual incluye una serie de pasos lógicos, y a veces ilógicos, que constituyen una forma gradual, procedimental, ingeniosa, creativa para solucionar cualquier clase de problema, con sus excepciones claro está, tales como los de índole o connotaciones matemáticas, excluyendo aquellos como la típica generación de tablas de números, manejo de factoriales, de secuencias particulares de términos y otros bien conocidos.
El manejo de los problemas no consiste en buscarles la solución instantánea a partir de la sintaxis de los programas, sino por medio de una técnica combinatoria que permita comprender, entender en su totalidad el problema, puesto que en la medida en que se le comprenda, vendrá en consecuencia la resolución del mismo. Hay que advertir que cuando la sintaxis falte, es necesario recurrir a la resolución de problemas combinatoriales, metodología ésta cuyo procedimiento se puede resumir en los siguientes pasos y la cual es fácil de aplicar, y sobre todo, que todo alumno de ingeniería debe conocer. DESCRIPCIÓN DEL PROBLEMA
El texto que nos permite enterarnos de qué es lo que se pretende resolver; qué se entiende por solución. Luego, como segundo elemento tenemos un Análisis del Dominio, que nos permite identificar los medios, en su sentido más amplio, de que disponemos para resolver el problema en cuestión. Una vez clarificados los dos primeros puntos, tarea no siempre sencilla, nos enfrentamos al tercer paso: la Búsqueda de Representaciones Operacionales. Esto resulta de alguna complejidad, ya que sabemos que en este punto la imaginación nos puede llevar a representaciones difíciles de operar, pero entendemos que es parte importante del juego del aprendizaje no podar tempranamente ideas no tradicionales. Eso será en parte responsabilidad de la etapa siguiente, la Selección de una Representación. Aquí en base a criterios operacionales, se deberá optar por alguna de las eventuales representaciones generadas en el punto anterior. Es claro que puede haber consenso al desarrollar un problema particular en la elección de una representación, y no ser necesaria la fase de Selección, pero nos interesa ilustrar el andamiaje del método general. ESTRUCTURAS DE CONTROL Nos relaciona con lo que hemos llamado un Seudolenguaje, ya que de su potencialidad nacerán las distintas formas de expresar los procesamientos que estarán permitidos. Esto implica que el Seudolenguaje mencionado debe estar relacionado fuertemente con las estructuras de control disponibles en los lenguajes de programación, por una parte, y con una restricción que implique un cierto grado de formalismo por otra, para ir puliendo aquellas conceptualizaciones que el lenguaje natural no precisa suficientemente. Del Seudolenguaje hablaremos en el próximo punto. Una vez identificadas estas estructuras de control estamos en condiciones de generar el seudoprograma que guiará el proceso de solución del problema planteado, fase que hemos llamado Estructuración de la Solución.
SOFTWARE Y LENGUAJE DE PROGRAMACIÓN ORIENTADOS A LA INGENIERÍA CIVIL 1.- GRANULOMETRÍA EN PYTHON
Un pequeño script desarrollado en el lenguaje Python para establecer la clasificación granulométrica de una muestra de suelos. Este método consiste principalmente en pasar las partículas de suelo por una serie de tamices que retienen un cierto volumen de la muestra según su diamatro. A partir de los resultados se obtiene un representación gráfica que ayuda en el proceso de clasificación. Código para el gráfico logarítmico en python(matplotlib).
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
from matplotlib import pyplot col1 = [PA8, PA7, PA6, PA5, PA4, PA3, PA2, PA1] col2 = [A8, A7, A6, A5, A4, A3, A2, A1] pyplot.plot(col2, col1, color='blue', lw=2) # escala logaritmica pyplot.xscale('log') # sentencia que invierte el eje x pyplot.gca().invert_xaxis() # grilla log en eje x pyplot.grid(True, which="minor", linestyle='-') # grilla normal en eje y pyplot.grid(True, linestyle='-') pyplot.show()
2.- ANÁLISIS DE DATOS EN PYTHON (FICHEROS)
Análisis de cargas cíclicas mediante el uso de una máquina y un sistema asociado para medir presiones a través de un sensor. Cantidad de datos que eran entregados por dicho sensor (del orden de 2 a 10 millones de datos). 1 2
# direccion del archivo entrada = open("C:\s\pattop\Desktop\ensayo.txt")
3 4 5 6 7 8 9 10 11 12 13 14 15
# Lectura del archivo c = entrada.read() # division de datos d = c.split() # lista vacia para guardar los datos datos = [] # transforma los datos en float y se pueden trabajar for i in d: datos.append(float(i))
De esta manera los datos quedarán en la lista homónima y con las propiedades “float” para trabajarlas mediante cualquier función, en mi caso graficar mediante matplotlib y obtener información estadística. 3.-FORTRAN
Fortran es un lenguaje informático desarrollado en 1957 cuyo nombre viene del acrónimo de las palabras en inglés Formula Translation. Fue el primer lenguaje de alto nivel de propósito general desarrollado originalmente por IBM para aplicaciones científicas y de ingeniería. Entre muchas de sus aplicaciones se cuenta la predicción numérica del tiempo, análisis de elemento finito, dinámica de fluidos, física computacional, química, etc. CONCLUSIONES El estudiante de ingeniería civil no debe dedicarse únicamente a utilizar la sintaxis para resolver los problemas de su carrera o de sus estudios, por cuanto incurre en el error más grave que puede cometer un alumno de esta ciencia, tal como es la de querer buscar la solución de un problema sin haberlo comprendido en su complejidad. Los problemas que surjan en las distintas especialidades de la ingeniería son dignos de aplicarles la resolución combinatoria, puesto que cada uno de ellos que aparezca hay que entenderlos, para que así se forme la costumbre en el ingeniero de hacer un estudio verdaderamente científico al mismo, y no esperar que con la sola sintaxis se
seguirán resolviendo todos los que encuentre en sus estudios o trabajos profesionales. La metodología de la resolución combinatoria de problemas es una técnica que permite al ingeniero practicante de los lenguajes de programación asumir como todo un profesional o científico los problemas que se le aparezcan, y podrá asumirlos con todas las garantías para resolverlos de una manera idónea, ética y científica. Esta metodología transforma a los jóvenes ingenieros en unos veteranos consumados a pesar de sus cortas edades, puesto que los métodos pueden llenar los vacíos que muchos han llenado con los años y la experiencia. Los software y los lenguajes de programación , son herramientas que facilitan los cálculos necesarios para la aplicación de la ingeniería, no superando los criterios científicos que aporta la ingeniería civil.