Saltar la navegación

4.1.1. Paseando por la programación

Rétor dice:¿Qué aprendemos cuando aprendemos a programar?

Cuando empiezas a programar en un determinado lenguaje quizás te agobies pensando en la cantidad de tiempo que estás empleando, cuando estás utlizando sólo un lenguaje ¡y hay cientos de ellos!

Pero ¡esto es un error! Debes animarte, ya que estás aprendiendo, no solo un lenguaje, sino a estructurar tu mente de manera que encuentras una solución automatizada a un problema. Una vez que seas capaz de automatizar soluciones, ¡los distintos lenguajes serán cuestión de encontrar el diccionario adecuado para traducir tus ideas al sistema en cuestión!

1. El lenguaje del ordenador, el de representación y el de programación

Aprendemos a comunicarnos con el ordenador mediante un lenguaje de alto nivel como Python para evitar hacerlo en binario. Pero también existen otros lenguajes que nos permiten elaborar las soluciones a la automatización necesaria (las soluciones a nuestros programas) y  compartirlas de modo que sea entendida por todos, aunque no sepan ningún lenguaje de programación. Identifica los tres tipos básicos de lenguajes arrastrando debajo de cada tipo de lenguaje el ejemplo que creas que se corresponde con cada uno:

¿Cómo desarrollarías un programa?

Aquí te proponemos 3 pasos que debes tener en la cabeza a la hora de enfrentarte a la creación de un programa:

  1. Creas un boceto rápido; puede ser lápiz y papel. Ponle un título con el objetivo del progrmama, esto te ayudará a concentrarte en el resultado.
  2. Desarrolla la idea en pseudocódigo o diagrama de flujo. Esto te hará perfeccionar el proceso.

    Pseudocódigo

    Plantea los pasos de resolución del problema en tu lenguaje natural. Aquí tienes un ejemplo de pseudicódigo que suma dos números:

    PEDIR numero1

    PEDIR numero2

    suma=numero1+numero2

    ESCRIBIR suma

    FIN

    Diagrama de flujo

    Con ellos podemos expresar los algoritmos en formas de diagramas mediante una representación gráfica basada en figuras geométricas que varían según la estructura de código. Aquí tienes el ejemplo anterior ahora con las figuras de un diagrama de flujo:

    Ejemplo de diagrama de flujo

  3. Ya solo tienes que traducirlo al lenguaje que necesites, ¡será cuestión sólo de instrucciones y depuración de errores de sintais!

Para saber más

En el ejercicio anterior has visto que hay lenguajes de alto nivel interpretados y lenguajes de alto nivel que se compilan. ¿Qué significa esto?

Ya sabemos que las máquinas sólo entienden el lenguaje de bajo nivel, por lo que los programas escritos en lenguajes de alto nivel tienen que ser traducidos antes de ser ejecutados: ahí entran los intérpretes y los compiladores.

Intérprete

intérpreteUn intérprete lee un programa de alto nivel y lo ejecuta instrucción a instrucción comunicando cada paso a la máquina. Esto significa que  traduce el programa poco a poco a lenguaje de bajo nivel, leyendo y ejecutando cada comando.

Compilador

compiladorUn compilador trabaja sobre el programa completo: lo lee y lo traduce antes de ejecutarlo. A los programas escritos en lenguaje de alto nivel que funcionan así se les llama código fuente, y el programa traducido es llamado código objeto o programa ejecutable. Cuando un programa ha sido compilado, ya puede ser ejecutado por ese sistema todas las veces que necesite, puesto que sólo tiene que ejecutar el código objeto ya creado y almacenado.

Es un programa informático capaz de analizar y ejecutar otros programas.

Es un programa que traduce código escrito en un lenguaje de programación (llamado fuente) a otro lenguaje (conocido como objeto).

2. Los símbolos de los diagramas de flujo

Para conocer o recordar los símbolos que se utilizan en un diagrama de flujo, practica aquí identificando sus elementos:

Imagen de Terminal

Imagen de Entrada

Imagen de Decisión

Imagen de Salida

Imagen de E/S

Habilitar JavaScript

3. ¿Por qué respetar la estructura de un programa?

Vamos a comprobar por qué hay que seguir unestructura establecida cuando vamos a dar una solución computacional  a un problema.

Imagina que debes comprobar si las notas medias de una clase de 30 personas son correctas, teniendo en cuenta que el primer trimestre pesa un 20%, el segundo un 30% y el tercero un 50%. Responded a estas preguntas por parejas:

  • Llega el primer estudiante y le preguntas cuáles son sus notas y te indica: 8,6,8,7. ¿Cuáles son las notas de trimestres y cuál la final?¿Cuál es el error en esta pregunta inicial para realizar tu comprobación?
  • ¿Qué preguntas realizarías para ordenar los datos y poder realizar el trabajo encomendado?
  • ¿Cómo distribuiríais y operaciones a realizar los datos en estos tres grupos: entradas, proceso, salida?
  • Realizad un esquema en pseudocódigo o en diagrama de flujo del procedimiento que vais a seguir.

Seguro que tu solución tiene esta estructura

Como has podido comprobar, la estructura de un programa evita que quien lo lee o lo interprete cometa errores, independientemente del tipo de representación que haya utilizado para la automatización. Seguro que has empleado tus propias técnicas y estrategias para planificar la tarea.
Así, debes buscar que la estructura de un programa, de manera básica, tenga al menos 3 partes:

  1. Datos de Entrada
  2. Proceso
  3. Datos de salida

Independientemente, cada una de estas partes, a su vez, tendrá su propia se cuencia de acciones. Por ejemplo, en la Entrada de datos hay que definir cuántas variables vamos a usar y después iniciarlas a sus valores.
¡Seguro que tu esquema se parece a este pseudocódigo!:

Ejemplo de estructura de programa

4. Ponte a prueba con la estructura

Pone en orden las partes diferenciadas del algoritmo anterior:

  • Inicio
  • Definir las variables y de qué tipo serán.
  • Iniciar las variables de entrada.
  • Realizar el cálculo.
  • Mostrar el resultado.
  • Fin

Comprobar

¡Correcto!

No es correcto... Respuesta correcta:

5. ¿Cuáles son los datos según la estructura del programa?

Imagina que tienes que calcular el perímetro de un rectángulo. ¿Cuáles serían los datos que debemos aportar a cada parte de la estructura?

Entrada Proceso Salida
Calcular el perímetro de un rectángulo. .

Habilitar JavaScript