Codificación aprenderaprogramar.com: CU00103A
INTRODUCCIÓN
Este curso tiene por objeto servir de manual de referencia para toda aquella persona que, siendo usuaria de ordenadores personales, desee introducirse en los conceptos básicos de programación y comenzar a desarrollar sus propios programas.
Los aspectos que se tratan son:
· Fundamentos de programación (aplicables a cualquier lenguaje).
· Algoritmia y lógica.
El curso no pretende ser un tratado de bases o metodología de programación, sino un compendio de conocimientos y guía práctica. Su carácter práctico busca que el lector pueda desarrollar programas en un plazo de pocas semanas, con unos conocimientos básicos de fundamentos y buenas prácticas de programación.
Aprender programación requiere tiempo y esfuerzo. Para hacer ese recorrido más llevadero, te recomendamos que utilices los foros de aprenderaprogramar.com, herramienta a disposición de todos los usuarios de la web (http://www.aprenderaprogramar.com/foros), y que te servirá para consultar dudas y recabar orientación sobre cómo enfrentarte a los contenidos. Entre los miembros del portal web y otros usuarios, trataremos de ayudarte para que el estudio te sea más llevadero y seas capaz de adquirir los conocimientos necesarios y avanzar como programador.
¿POR QUÉ ESTUDIAR FUNDAMENTOS DE PROGRAMACIÓN?
¿Por qué emplear nuestro tiempo en esta tarea? Entendemos que existen potentes herramientas de software a disposición de la ingeniería o la ciencia, en sentido amplio, en el mercado. Sin embargo, algunos factores resultan problemáticos, como por ejemplo:
· Gran parte de ese software funciona como cajas negras: conocemos los resultados pero no los pasos intermedios o procesos.
· La complejidad con la que están diseñados estos programas puede suponer la necesidad de dedicar una gran cantidad de tiempo para conseguir un manejo completo y resultados fiables.
· Precios elevados.
· Los constantes cambios de normativa y de versiones pueden dejar obsoletos los programas que usamos.
Aunque estos inconvenientes son ciertos no queremos ni podemos sustituir al software comercial con programas de fabricación casera. Lo que sí haremos será destacar que el tener unos conocimientos básicos de programación puede resolver pequeños (y grandes) problemas a la hora de realizar cálculos, procesar datos, etc. Esto permitirá al profesional o estudiante usar el ordenador para solucionar sus problemas particulares. A partir de ahí, en función del tiempo, interés o necesidad de cada cual, animamos a profundizar en estos temas, que entendemos de gran interés.
¿A QUIÉN VA DIRIGIDO ESTE CURSO?
Este curso no pretende ser un manual académico o científico en sentido estricto. Puede calificarse de estilo libre y espíritu divulgativo. Estilo libre porque no pretende ceñirse a un programa o estructura predefinida y carácter divulgativo porque parte desde absolutamente cero, en cuanto a programación se refiere, moviéndose dentro de lo que podríamos calificar un nivel básico. Va por tanto dirigido a cualquier persona interesada en el tema.
No obstante, los contenidos están enfocados hacia el colectivo, amplio, de estudiantes de ciencia-ingeniería o profesionales de este sector. El motivo para ello es, aparte de la posible deformación profesional de los autores, el hecho de que los miembros de esta comunidad, por nuestra actividad académica o profesional, somos candidatos preferentes a ponernos delante de un ordenador y hacer, cuando menos, pinitos en programación. Y todo ello porque la ciencia y la ingeniería reposan en buena medida en las mismas bases en que se asienta la programación: matemáticas, lógica, metodologías y estrategias de resolución de problemas.
¿QUÉ ES Y PARA QUÉ SIRVE PROGRAMAR?
Pregunta un tanto peculiar a la que algunos responderían con "es una obviedad”. Sin embargo, consideramos conveniente dedicar una pequeña reflexión al asunto.
Simplificando, porque ese es uno de nuestros objetivos, diremos que el ordenador es una máquina con extraordinarias capacidades (para realizar cálculos matemáticos, mostrar gráficos, procesar y almacenar datos, etc.) pero incapaz de hacer nada por sí mismo y que, de momento, no tiene capacidades de tipo humano como el habla. Pues bien, esa potencialidad está a la espera de que una persona (nosotros) le saque partido y, para ello lo único que hace falta es proporcionarle instrucciones a la máquina.
Diremos por tanto que programar es definir instrucciones para ser ejecutadas por un ordenador. El resultado de esta tarea es un paquete de instrucciones al que llamamos programa. El objetivo de programar suele ser resolver un problema.
Vayamos por partes. Para definir instrucciones a un ordenador hemos de utilizar un lenguaje o código específico, que ha sido prediseñado con el fin de que la interpretación de cada instrucción sea unívoca. No hay libertad de interpretación o subjetivismo. Si el lenguaje que utilicemos acepta la sintaxis: Mostrar 3+3, utilizarMuéstrame 3+3sería una orden nula o carente de significado para el ordenador, por lo que probablemente nos invitará a corregirla o simplemente nos dirá "Error".
Los lenguajes de programación, salvando las distancias, tienen similitudes con las lenguas humanas: evolucionan (p. ej. aumentan o disminuyen el número de vocablos), se expanden internacionalmente y triunfan si gran número de personas se decide a utilizarlos, o caen en desuso y se convierten en lenguas fósiles. Igualmente pueden ser más o menos fáciles de aprender, más o menos ricos en vocablos, y más o menos fuertes para resistir el embate de las necesidades de los programadores. Hablaremos de ello más adelante.
¿Con cuántos lenguajes podemos dar instrucciones a un ordenador? Pues con muchos, la única salvedad a tener en cuenta es que no podemos “hablarle” directamente: necesitaremos un intérprete o programa específico para escribir instrucciones. Este intérprete suele recibir el mismo nombre que el lenguaje (p. ej. Turbopascal o Visual Basic) y lo instalamos en nuestro ordenador accediendo a éste desde el sistema operativo. Muchos programadores disponen de varios lenguajes en sus ordenadores y los utilizan en función de sus necesidades. Para empezar diremos que uno es suficiente para una persona que va a iniciarse en programación.
¿Para qué sirve programar? La respuesta es un tanto ambigua, pero es esta: para todo. Atendiendo a que los ordenadores intervienen en la casi totalidad de las actividades que realiza el ser humano, y que la programación es lo que hace funcionar a los ordenadores, he aquí que programar sirve para todo. Quizás aclaremos poco diciendo esto, pero es difícil hacer una lista de cosas para las que sirve programar, porque sería infinita. Efectivamente, los ordenadores intervienen ya en todas las facetas de la vida y actividad humanas, en procesos tan dispares como la producción industrial, la enseñanza o el control de tráfico.
Seamos más específicos: pensemos en nuestra actividad diaria. En una farmacia, por ejemplo, un ordenador controla a través de un programa los flujos que existen: la entrada de medicamentos (recepción de mercancía), salida de medicamentos (venta o envío a otras farmacias), facturación, etc. El software puede estar preparado para lo que queramos, por ejemplo, avisar cuando el stock de cierto medicamento baja de un determinado nivel (supongamos, 10 unidades).
Otro programa puede servir para calcular la nómina de los empleados, en función de los días trabajados y horas extra realizadas. Otro software será útil para escribir cartas estableciendo los tipos de letra, márgenes, tamaño de papel, etc. En una empresa de cualquier tipo nos encontraremos lo mismo: programas y más programas.
Ahora bien, puesto que al farmacéutico los programas comerciales le resuelven casi todo, ¿De qué le serviría saber programar? Pues diremos que para todo lo que él quiera, en base a sus problemas o necesidades particulares. Supongamos que debido a una nueva normativa o por ser un servicio nuevo, en la farmacia se empieza a preparar un reconstituyente para personas con cierto tipo de dolencias, cuya fórmula de preparación depende de los resultados analíticos del paciente. Pensemos en un supuesto:
Datos de analítica del paciente | Glucemia basal mg/dl |
Colesterol total mg/dl | |
Triglicéridos |
Composición porcentual del reconstituyente:
(%) Componente 1 = f(Glucemia basal) siempre |
> 10% < 30%
|
(%) Componente 2 = f(Colesterol total) siempre |
> 2% < 8% |
(%) Componente 3 = f(Triglicéridos) siempre |
>5% si componente z > 6% >10% si componente z > 7% |
Agua | c.s.p. 100% |
RESULTADOS A MOSTRAR Preparar 1000 ml de reconstituyente para el paciente D. Fulano Mengano utilizando:
·x ml del componente 1
·y ml del componente 2
·z ml del componente 3
·k ml de agua
|
Nos percatamos de que la situación en que nos encontramos es la siguiente:
· Se trata de un proceso repetitivo.
· Hay unos datos de partida.
· Hay unos cálculos o procesos a realizar, de cierta complejidad, lo que hace poco viable el cálculo manual o con hoja de cálculo.
· Hay unos resultados a obtener.
Pues bien, este tipo de problemas, que sin duda son muy habituales en la ciencia y la ingeniería, son fácilmente programables. ¿Es esto una necesidad o un lujo? Cada cual que responda según sus criterios. Nosotros consideramos simplemente que la programación, igual que puede ser conocer un idioma extranjero o saber conducir, aporta potencialidad a una persona.
Para acceder a la información general sobre este curso y al listado completo de entregas pulsa en este link: Ver curso completo.
Para hacer un comentario o consulta utiliza los foros aprenderaprogramar.com, abiertos a cualquier persona independientemente de su nivel de conocimiento.