Soporte lógico de computadoras Software: Sistemas Operativos Lenguajes de programación Lenguajes de Programación. Clasificación Proximidad del lenguaje al que entiende el ordenador: Bajo nivel: específico para cada máquina Lenguaje máquina Ensamblador Alto nivel: independiente de la máquina C, Fortran, Java, Pascal, Cobol, Ada, Logo, etc. Forma de traducción de los programas: Ensambladores De ensamblador a lenguaje máquina Compiladores Traducen un programa escrito en un lenguaje de alto nivel todo de una vez. Se guarda traducido Intérpretes Traducen un programa escrito en un lenguaje de alto nivel de instrucción en instrucción Más fácil encontrar errores 1
Desarrollo de un programa 1. Definición del problema Definir entradas y salidas y breve descripción de cómo transformar las entradas en salidas 2. Desarrollo de un algoritmo Un procedimiento paso a paso para resolver el problema 3. Codificación del programa Escribir las instrucciones siguiendo las reglas del lenguaje elegido Corrección de errores de sintaxis 4. Pruebas Corrección de errores lógicos 5. Completar la documentación Manual de usuario para instalación y uso Explicación de la lógica del programa e informaciones sobre las entradas y salidas 6. Implantación Instalación y seguimiento Partes de un programa Cabecera Definiciones y declaraciones: Tipos: especifica el tipo de valor que van a tomar los datos del programa Constantes: valores que no cambian a lo largo del programa Variables: datos que pueden cambiar a lo largo del programa Código (instrucciones) Sentencias Subprogramas con sus propios datos y los globales 2
Estructuras lógicas de programación Secuencia simple: Varias instrucciones que se ejecutarán en orden Selección, decisión o alternativa: Si ocurre A hacer B y en otro caso hacer C Bucle, iteración, repetitiva: Repetir un conjunto de instrucciones un número de veces Diagramas de flujo La estructura de un programa se puede representar mediante diagramas de flujo, donde se representan las acciones en cajas con forma de rectángulo y las condiciones como rombos. Acción Sí No El flujo del programa se representa por líneas que van de un elemento a otro: Cada acción tiene una vía de entrada y una de salida. Cada tiene una vía de entrada y dos de salida. En programación existen tres estructuras básicas: secuencia (una sentencia detrás de otra) selección (decidir si algo se hace o no) iteración (repetir una acción varias veces). Para la selección e iteración es necesario expresar las condiciones que las controlan. Estas expresiones pueden dar como resultado dos valores: sí o no, en función de que se cumpla o no la. Para expresar estas condiciones se utilizan los operadores lógicos estudiados en el tema de la información y su representación. 3
Diagramas de flujo Estructura secuencial Estructura de selección Estructuras repetitivas Acción 1 Acción 2 Sí No Acción Acción Acción 3 Acción 1 Acción 2 No Sí Sí No Hacer Acción 1, después Acción 2 y después Acción 3 Si se cumple, hacer Acción 1, si no se cumple, hacer Acción 2 Hacer Acción mientras se cumpla Repetir Acción hasta que se cumpla 4
Acciones: Lo que se puede escribir en un rectángulo Tipos de instrucciones de acción (1): Asignar un valor a una variable del programa: Numero = 24 Mete en la variable numérica Numero el valor 24 Nombre = Carlos López Mete en la variable de texto Nombre el valor Carlos López Letra = a Mete en la variable carácter Letra, el valor a Acciones: Lo que se puede escribir en un rectángulo Tipos de instrucciones de acción (2): Operación aritmética Guardar en una variable del programa el resultado de una operación Numero = dato1 * 5 Guarda en la variable Numero el valor que tiene el dato dato1 multiplicado por 5 Actualizar el valor de una variable; es decir, partir del valor anterior de la variable (lo que valía antes) y hacerle una operación aritmética Numero = Numero + 1 Deja en la variable Numero el valor que tenía más 1 1
Acciones: Lo que se puede escribir en un rectángulo Tipos de instrucciones de acción (3): Salida de datos: enviar un mensaje a un dispositivo de salida (p. ej. a la pantalla) Un texto Escribir hola qué tal? Muestra (por pantalla, p.ej) el mensaje Hola qué tal? El valor de un dato del programa (o varios) Escribir Numero, Letra Muestra el valor de los datos Numero y Letra El resultado de una operación Escribir Numero + 36 Muestra el valor del dato Numero más 36 Escribir texto y valores Escribir el resultado es: Numero + 36 Acciones: Lo que se puede escribir en un rectángulo Tipos de instrucciones de acción (y 4): Entrada de datos: guardar en una variable del programa lo que se recibe por un dispositivo de entrada (p. ej. del teclado) Leer Numero Guarda en la variable Numero el valor introducido (desde teclado, por ejemplo) Leer Numero, Letra Guarda en la variable Numero el primer valor introducido y en la variable Letra el segundo 2
Condiciones: Lo que se puede escribir en un rombo Una pregunta sobre los datos del programa cuya respuesta sea Sí o No, utilizando los operadores de comparación: =, >, <,?, =... O los operadores lógicos: AND, OR, NOT Numero = 25? Lado1 > Lado2? Lado1 > Lado2 + 3 AND Lado2 < 8? Consideraciones adicionales: Tanto en los rectángulos como en los rombos, sólo se pueden escribir instrucciones como las que se han mostrado Rectángulos y rombos se unen a través de líneas que indican el flujo del programa. Siguiendo esas líneas se sabe cual va a ser la siguiente instrucción A cada rectángulo o rombo sólo puede llegar una línea De cada rectángulo sólo puede salir una línea De cada rombo tienen que salir dos líneas: una indica cuál sería la siguiente instrucción si se cumple la y otra indica cuál sería la siguiente instrucción si no se cumple la Una línea no se puede bifurcar en más líneas, es decir una línea sólo puede ir a un rectángulo o a un rombo Dos líneas se pueden unir en una, es decir, las dos pueden llevar a la misma instrucción 3
Ejemplo Un programa que pida dos números enteros y los escriba ordenados de menor a mayor, y dé un mensaje de final de programa: Paso 1: determinar los datos que interviene en el programa (ponerles nombre y escoger un tipo de dato adecuado) Numero1: entero Numero2: entero Paso 2: escribir el diagrama de flujo: Ejemplo Paso 2: escribir el diagrama de flujo: Escribir Introduce los números a comparar Leer Numero1, Numero2 Numero1 < Numero2? Escribir Los números ordenados son: Numero1, Numero2 Escribir Los números ordenados son: Numero2, Numero1 Escribir Fin del programa 4