A continuación estudiaremos a qué se refiere el término «programación», qué es un lenguaje de programación y veremos alguna terminología propia de programación y cómo se utiliza. 1 Por sí sólo, un equipo no es muy inteligente. Un equipo es, en esencia, un montón de circuitos electrónicos que están encendidos o apagados. Al establecer diferentes combinaciones de estos circuitos, se puede hacer que la computadora haga algo, por ejemplo, mostrar algo en pantalla o emitir un sonido. ¿Qué es un lenguaje de programación? Las personas se expresan utilizando idiomas con muchas palabras. Los equipos usan un lenguaje simple que consta únicamente de ceros (0) y unos (1), donde un cero significa "apagado" y un uno, "encendido". Tratar de hablar con un equipo en su lenguaje sería como conversar con los amigos en código Morse: es posible pero, sin duda ¡muy difícil! Un lenguaje de programación actúa como traductor entre la persona y el equipo. En lugar de aprender el lenguaje nativo del equipo (conocido como "lenguaje de máquina"), la persona usa un lenguaje de programación para dar instrucciones al equipo de un modo más sencillo de aprender y de comprender. Ese lenguaje de programación se traduce en ceros (0) y unos (1) para que el equipo proceda. 2 3 Existen muchos lenguajes de programación en el mercado y cada uno de ellos cuenta con instrucciones para realizar diversas operaciones. Los distintos lenguajes de programación le dan diferente nombre a las instrucciones, que tal vez sirvan para realizar la misma acción. Con el objetivo de permitir escribir el esquema de un algoritmo, indicando los pasos a seguir con lenguaje natural e independiente de cómo se llaman las instrucciones en los distintos lenguajes de programación, existe lo que se llama Pseudocódigo. El pseudocódigo es básicamente un lenguaje natural y sencillo, independiente de los diversos lenguajes de programación del mercado, que permite escribir el esquema de un algoritmo, indicando los pasos a seguir de forma detallada y clara. Las principales características del pseudocódigo son: - Es una forma de representación sencilla de utilizar y de manipular. Es independiente del lenguaje de programación que se vaya a utilizar. Facilita el pensar y escribir un algoritmo. Es un esquema de lo que luego se escribirá en el lenguaje de programación elegido. Para almacenar datos temporalmente en memoria, debemos definir una variable con un nombre que la identifique y un tipo de datos a almacenar (numérico, caracter, etc.). Ejemplos: 1) A = 50; Variable de nombre A, de tipo numérica y a la cual se le asigna el valor 50. 2) Ciudad = “Montevideo"; Variable de nombre Ciudad, de tipo alfanumérica o carácter, a la cual se le asigna el valor «Montevideo». 3) X = A + B; Variable numérica X, a la cual se le asigna el resultado de la suma de los valores de las variables numéricas A y B. 6 7 8 Dado que puede no llegar a leerse el ejemplo de la transparencia, se incluye a continuación el mismo: DO C ASE C ASE &dia=1 msg(‘lunes’) C ASE &dia=2 Variable &dia está en pantalla para que el usuario ingrese valor entre 1 y 7 y que el programa despliegue el nombre del día de la semana msg(‘martes’) C ASE &dia=3 msg(‘miércoles’) C ASE &dia=4 msg(‘jueves’) C ASE &dia=5 msg(‘viernes’) C ASE &dia=6 msg(‘sábado’) C ASE &dia=7 msg(‘domingo’) OTHERWISE msg(‘Debe ingresar nro entre 1 y 7’) ENDC ASE Do while es una estructura de control que en la mayoría de lenguajes de programación se llama igual. Su objetivo es permitir que una secuencia de instrucciones se ejecuten una y otra vez, repetitivamente hasta que se cumpla determinada condición. En el ejemplo propuesto, hay 1 variable definida de nombre &Num y tipo numérica. La primer instrucción le asigna el valor 1. Luego se comienza a ejecutar la estructura de control repetitiva Do while, es decir «Hacer mientas la condición se cumpla». La condición es que la variable &Num sea menor que 10. Inicialmente dicha condición se cumple ya que la variable tiene el valor 1. El algoritmo entra al Do while, por cumplirse la condición y las sentencias definidas dentro de la estructura repetitiva son: 1) Mostrar el nro 2) Sumarle 1 al nro A continuación se vuelve a evaluar la condición del Do while y la condición vuelve a cumplirse, ya que la variable &Num tiene el valor 2, que es menor que 10. Así, el algoritmo entra al Do while y las sentencias definidas dentro de la estructura repetitiva son: 1) Mostrar el nro 2) Sumarle 1 al nro A continuación se vuelve a evaluar la condición del Do while, la condición vuelve a cumplirse porque la variable &Num tiene el valor 3, que es menor que 10, y así continúa procediendo sucesivamente hasta que no se cumpla más la condición del Do while. 13 14 Es importante tener en cuenta que no hay una única forma de resolver cierta necesidad. Tal vez un programador escriba cierta solución válida y otro programador escriba otra solución que es válida también para resolver lo mismo. Sin embargo, es bueno tratar de programar lo más sencillo y entendible posible, así como lo más corto posible que se nos ocurra. En la próxima página se muestran 2 soluciones que se les ocurrió a distintos programadores, para validar que un día y mes ingresados por el usuario, sean válidos. La primer solución es más corta que la segunda y tal vez más clara y simple, pero igual son válidas ambas alternativas, ya que resuelven lo mismo, y la segunda solución no es demasiado compleja tampoco. 15 DO C ASE &FechaCorrecta=True C ASE &mes=1 AND (&dia<1 OR &dia>31) DO C ASE msg(‘ingresó una fecha errónea’) C ASE &mes=2 AND (&dia<1 OR &dia>28) msg(‘ingresó una fecha errónea’) C ASE &mes=3 AND (&dia<1 OR &dia>31) msg(‘ingresó una fecha errónea’) C ASE &mes=4 AND (&dia<1 OR &dia>30) msg(‘ingresó una fecha errónea’) C ASE &mes=5 AND (&dia<1 OR &dia>31) msg(‘ingresó una fecha errónea’) C ASE &mes=6 AND (&dia<1 OR &dia>30) msg(‘ingresó una fecha errónea’) C ASE &mes=7 AND (&dia<1 OR &dia>31) msg(‘ingresó una fecha errónea’) C ASE &mes=8 AND (&dia<1 OR &dia>31) msg(‘ingresó una fecha errónea’) C ASE &mes=9 AND (&dia<1 OR &dia>30) msg(‘ingresó una fecha errónea’) C ASE &mes=10 AND (&dia<1 OR &dia>31) msg(‘ingresó una fecha errónea’) C ASE &mes=11 AND (&dia<1 OR &dia>30) msg(‘ingresó una fecha errónea’) C ASE &mes=12 AND (&dia<1 OR &dia>31) msg(‘ingresó una fecha errónea’) ENDC ASE C ASE &mes=1 AND (&dia<1 OR &dia>31) &FechaCorrecta=False C ASE &mes=2 AND (&dia<1 OR &dia>28) &FechaC orrecta=False C ASE &mes=3 AND (&dia<1 OR &dia>31) &FechaC orrecta=False C ASE &mes=4 AND (&dia<1 OR &dia>30) &FechaCorrecta=False C ASE &mes=5 AND (&dia<1 OR &dia>31) &FechaCorrecta=False C ASE &mes=6 AND (&dia<1 OR &dia>30) &FechaCorrecta=False C ASE &mes=7 AND (&dia<1 OR &dia>31) &FechaCorrecta=False C ASE &mes=8 AND (&dia<1 OR &dia>31) &FechaCorrecta=False C ASE &mes=9 AND (&dia<1 OR &dia>30) &FechaCorrecta=False C ASE &mes=10 AND (&dia<1 OR &dia>31) &FechaCorrecta=False C ASE &mes=11 AND (&dia<1 OR &dia>30) &FechaCorrecta=False C ASE &mes=12 AND (&dia<1 OR &dia>31) &FechaC orrecta=False ENDC ASE IF &FechaC orrecta=False msg(‘ingresó una fecha errónea’) ENDIF • Observar que se incluyeron tantos CASE como se necesitaron contemplar. • Observar que no se incluyó OTHERWISE, porque si el día y mes ingresados son correctos, no se desea realizar nada. Solamente se desea validar e informar si el ingreso de datos fue incorrecto. 16