MP3: UF1 - 1 Flashcards
PROGRAMACIÓN ESTRUCTURADA 1- Introducción a la programación
Un programa es…
Es un conjunto de instrucciones dadas al ordenador en un lenguaje que solo es entendible por él, para comunicarle lo que queremos que haga.
Un algoritmo es…
Una secuencia finita de operaciones que resuelven un problema expuesto.
Diferencias entre programa y algoritmo
Un algoritmo es más parecido a una idea, una forma de resolver un problema, mientras que un programa está más relacionado con la realización de una o más tareas por parte de un ordenador.
Características de un programa:
- Debe ser legible: es importante crear códigos “limpios” y fáciles de leer con tabulaciones y espacios que diferencien las partes del programa.
- Debe ser modificable: debe ser sencillo el proceso de actualización o modificación ante nuevas necesidades.
- Debe ser eficiente: debemos crear programas que ocupen poco espacio en memoria y se ejecuten rápidamente.
- Debe ser modulable: debemos realizar algoritmos que se dividan a su vez en subalgoritmos de forma que se disponga de un grupo principal desde el que llamaremos al resto. Así, incitamos a la reutilización de código.
- Debe ser estructurado: engloba a las características anteriores, ya que un programa estructurado será fácil de leer y modificar, y estará compuesto de subprogramas que permitirán la reutilización de código.
Diagramas de flujo
Para tener una representación gráfica de un algoritmo, utilizamos los diagramas de flujo.
Un diagrama de flujo es
Es una representación gráfica de un proceso. Cada paso del proceso se representa con un símbolo diferente que contiene una breve descripción de la etapa de proceso.
Símbolos estándar
- RECTÁNGULO CON BORDES: Indican inicio o fin de programa.
- RECTÁNGULO: Representan una instrucción, un paso a dar o un proceso. Por ejemplo: cont=cont+1.
- RECT SESGADO: Operaciones de entrada/salida de datos. Por ejemplo: visualiza en pantalla suma.
- ROMBO: Usaremos este símbolo si nos encontramos en un punto en el que se realizará una u otra acción en función de la decisión que el usuario tome.
- CÍRCULO: Conector. Permite unir diferentes zonas del diagrama de forma que se redefine el flujo de ejecución hacia otra parte del diagrama.
- PISTA TENIS: Representa una función o subprograma.
-Flechas para indicar la dirección de flujo.
5
Características de los diagramas de flujo:
- Deben escribirse de arriba abajo o de izquierda a derecha.
- Debemos evitar el cruce de líneas, para eso se define la forma de conector. El uso de conectores debe producirse cuando no exista otra opción.
- Todas las líneas de flujo deben estar conectadas a algún objeto.
- El texto que se escribe en las formas debe ser escueto y legible.
- Todos los símbolos de decisión deben tener más de una línea de salida, es decir, deben indicar qué camino seguir en función de la decisión tomada.
Ejemplo de cómo trabajar con estos diagramas
- Inicio y fin serán representadas con un óvalo.
- La lectura y escritura será representada con un paralelogramo.
- Las tomas de decisiones (tanto las condiciones “si” como el “repetir”) será representada con un rombo.
- Por último, las sentencias de instrucciones como “r=r+q” serán representadas con un rectángulo.
El proceso de programación:
Comunica a un usuario con una máquina.
Para que se pueda realizar esta comunicación, debemos tener:
- Los dos agentes principales, receptor y emisor (usuario y máquina).
- Canal: para continuar con el ejemplo con el que estamos explicando el proceso de programación, podemos decir que nuestro canal es el teclado.
- Lenguaje: aquí es donde viene la dificultad, ya que tanto el receptor como el emisor hablan un lenguaje completamente diferente.
Para que la comunicación sea fluida, debemos acercar los lenguajes tanto de la máquina como del usuario para lograr el entendimiento.
Para solventar el problema de la comunicación:
Aparecen lenguajes de programación de dos tipos: alto nivel y bajo nivel.
Los lenguajes de alto nivel están más cerca del lenguaje que habla el usuario, mientras que los lenguajes de bajo nivel están más cerca de las estructuras del lenguaje de la máquina.
Para facilitar nuestro trabajo, implementaremos nuestro código con lenguajes de alto nivel, necesitando un proceso de traducción para convertir el programa escrito en lenguaje máquina.
Características del lenguaje de alto nivel:
- Es totalmente independiente de la máquina y, por tanto, muy portable.
- Muy utilizado en el mercado laboral informático.
- Tanto las modificaciones como las actualizaciones son muy fáciles de realizar.
- Para la tarea de traducción de código necesitamos un compilador y un enlazador con librerías del propio lenguaje de programación elegido.
Lenguajes compilados e interpretados:
Aquellos lenguajes de alto nivel que utilizan un compilador para poder traducirlo al lenguaje máquina se denominan lenguajes compilados.
En nuestro caso, un programa escrito en C# necesita un compilador de C#.
En este supuesto, el lenguaje máquina no corresponde al del ordenador, sino al de una máquina ficticia llamada máquina virtual. En C#, la máquina virtual se denomina CLR (Common Language Runtime).
Esta máquina no existe físicamente, sino que es simulada por un ordenador. Podemos instalarla en nuestro ordenador copiando ese programa en nuestro disco duro.
Gracias a esa máquina, podemos ejecutar nuestro programa en cualquier ordenador del mundo.