0. Introducción Programación: trata la resolución de problemas con un computador, incluyendo metodología, herramientas y técnicas (disciplina ingenieril) Problemas computables = que se pueden describir formalmente, mediante un conjunto limitado de reglas perfectamente definidas. Por ejemplo, calcular la raíz cuadrada de un número, ordenar una lista de elementos, jugar al ajedrez, etc. Serían no computables: ganar un partido de fútbol o descubrir la manera de ser feliz. Para los problemas computables podremos dar una solución en forma de un conjunto de pasos sistemáticos y perfectamente descritos: a esto se le llama algoritmo. Un programa será la traducción de un algoritmo a un lenguaje que un computador pueda ‘entender’, es decir, llevar a cabo los pasos descritos en él. El lenguaje C es muy algorítmico por lo que describiremos directamente el lenguaje y escribiremos directamente el programa en C. Partes de un programa: 1) Directivas al compilador (p.e. inclusión de bibliotecas de funciones). 2) Cabecera del programa principal. 3) Declaraciones de objetos (p.e. de datos) 4) Instrucciones de tratamiento (operaciones con los datos) 1. Introducción a la programación Programar = especificar la resolución de un problema mediante una secuencia de sentencias que ejecutará un computador. Sentencias = operaciones sobre datos y sentencias que cambian la secuencia de ejecución. Datos: − Simples: un valor de un cierto tipo. Será almacenado en una variable. − Estructurados: varios valores agrupados. Serán almacenados en una estructura de datos. Operaciones: asignar a las variables valores expresados mediante una formula con operadores aritméticos. Sentencias de cambio de secuencia: − Condicional: ejecutar una serie se sentencias si y solo si se cumple una condición (expresión lógica (verdadera o falsa): mediante operadores lógicos y relacionales). − Bucle: repetir la ejecución de una serie de sentencias mientras se cumpla una condición. 2. Partes de un programa en C 1. Directivas al compilador: p.e. para incluir una biblioteca (conjunto) de funciones que se puedan utilizar en el programa. P.e. #include <stdio.h> para entrada/salida de datos. 2. Encabezamiento: main (). 3. Declaración de variables y estructuras de datos. 4. Secuencia de sentencias. Podemos distinguir 3 partes: i. Entrada de datos: p.e. leer valores desde teclado. ii. Procesamiento de los datos: sentencias de asignación y sentencias de cambio de secuencia. iii. Salida de datos: p.e. sacar valores por pantalla. Programación Ingenierías Jose Luis de Torres García Sintaxis: − Todas las sentencias acaban en punto y coma. − Un conjunto de sentencia que se ponen entre llaves ({ }) forman un bloque que funciona como una sola sentencia, p.e. las sentencias que componen un programa. − Palabras reservadas: tienen un significado concreto ya establecido; no pueden ser usadas como identificadores (nombres de objetos) definidos por el usuario. 3. Declaración de variables: Una variable contendrá un valor de un tipo determinado que se puede cambiar con una sentencia de asignación. Declarar una variable = indicar el tipo (conjunto de valores que puede tomar) y el nombre (identificador definido por el programador). Tipos básicos predefinidos en C: caracteres (char), enteros (int) y reales (float). Sintaxis: tipo identificador; P.e.: int numero_1; int numero_2; int numero_1,numero_2; char letra,numero,puntuacion; float maximo,minimo; Valores constantes (que se pueden asignar a las variables): (1) Enteras: secuencia de dígitos que no empiece por 0 excepto el cero, p.e. 43. (2) Reales: contiene punto decimal y/o exponente (e ó E), p.e. 3.14, 45e3, 1.2E7. (3) Carácter: carácter entre comillas simples (‘), p.e. ‘d’, ‘K’, ‘&’. 5. Secuencia de sentencias: i) Entrada de datos: función ‘scanf’ de la biblioteca ‘stdio’, que asigna a una variable un valor tecleado. Sintaxis: scanf (“texto formato_lectura texto”, &identificador); P.e.: scanf (“%d”, &entero_1); scanf(“%f %d ”, &real_1, &entero_2,); ii) Proceso de datos: asignación de valores a variables. Sintaxis : identificador = expresion; P.e.: variable_1 = 4; variable_2 = variable_1; variable_1 = 7; variable_3 = 8; variable_1 = variable_2 + variable_3; variable_2 = variable_2 + 1; (incremento del valor de una variable); iii) Salida de datos: función ‘printf’ de ‘stdio’, que saca por pantalla un valor (una variable o una expresión) y/o un mensaje de texto. Sintaxis: printf (“texto formato_salida texto”, valor); P.e.: printf ( “El resultado es %d.”, entero_1); Programación Ingenierías Jose Luis de Torres García