BREVE INTRODUCCION A LA PROGRAMACION Dr Jos Antonio
BREVE INTRODUCCION A LA PROGRAMACION © Dr. José Antonio Garrido Natarén 2016 1/46
PROGRAMACION El Lenguaje C 2/46
PROGRAMACION C es un lenguaje de programación originalmente desarrollado por Dennis M. Ritchie entre 1969 y 1972 en los Laboratorios Bell. C fue un lenguaje orientado a la implementación de Sistemas Operativos, concretamente Unix. 3/46
PROGRAMACION El programa C mas pequeño int main() { return 0; } 4/46
PROGRAMACION Tipos de datos Caracteres: char, CHAR ´a´ Enteros: short, int, long 128, 4726, 123 467 Punto flotante: float, double 3. 1415, 989 765 354. 987 Booleanos: bool, BOOL true, false, TRUE, FALSE Vacío: void - 5/46
PROGRAMACION Las variables (I) Una variable representa un nombre que almacena un valor que puede cambiar. Una variable tiene necesariamente un tipo: char, int, short, bool, float, etc. Ejemplos: char c. Inicial; short n. Edad; int n. Year; float f. Pi; 6/46
PROGRAMACION Las variables (II) • El nombre de una variable puede estar compuesto de letras, números y cualquier otro carácter que no sea un operador ni espacio. • El nombre de una variable es sensible a mayúsculas Una variable guarda un valor: Ejemplos: c. Inicial = ´a´; n. Edad = 33; n. Year = 2016; f. Pi = 3. 14159; 7/46
PROGRAMACION Los arreglos (I) • Los arreglos son una colección de variables de un mismo tipo • Un arreglo tiene un tipo • Un arreglo va del elemento 0 al N • Un arreglo tiene dimensiones Un arreglo de una dimensión se declara como int n. Arreglo[100]; // declara un vector de 100 valores enteros Un arreglo de 2 dimensiones de declara como: int n. Arreglo[10]; // declara 100 valores enteros en 2 dimensiones 8/46
PROGRAMACION Los arreglos (II) Un elemento del arreglo se identifica con un índice: int n. Valor = n. Arreglo[15]; // recupera el valor 16 int n. Valor = n. Arreglo[i]; // recupera el valor i int n. Valor = n. Arreglo[i][j]; // recupera el valor i, j El primer elemento de un arreglo es el valor 0: int n. First = n. Valor[0]; // primer valor del arreglo El ultimo valor del arreglo es el N-1: int n. Last = n. Valor[99]; // ultimo valor del arreglo 9/46
PROGRAMACION Los apuntadores • Un apuntador es una variable que representa la dirección de una variable. • Un apuntador tiene necesariamente el tipo de la variable seguido del carácter´*´ char *, int *, short *, bool *, float *, etc. Ejemplos: char * lpc. Inicial; short * lpn. Edad; int * lpn. Year; float * lpf. Pi; 10/46
PROGRAMACION Los apuntadores A un apuntador puede asignársele un valor a través del carácter ´&´ que precede la variable a la que va a apuntar : Ejemplos: char * lpc. Inicial = &c. Inicial; short * lpn. Edad = &n. Edad; int * lpn. Year = &n. Year; float * lpf. Pi = &f. Pi; El símbolo “&” representa la dirección de la memoria de una variable 11/46
PROGRAMACION Los apuntadores Si el valor de un apuntador se declara como short * lpn. Edad = &n. Edad; Entonces… lpn. Edad *lpn. Edad // apunta a la dirección de la variable n. Edad // Representa el valor n. Edad 12/46
PROGRAMACION El valor NULL • El valor NULL, expresa un valor nulo • NULL no es un tipo (para eso esta void) void* puntero = NULL; int entero = NULL; bool boleana = NULL; char caracter = NULL; 13/46
PROGRAMACION Los operadores aritméticos Los operador combinan los valores entre las variables Operador Tratamiento Ejemplo = + * / ** ++ -- Asigna un valor int n. New = n. A; Suma int n. New = n. A + n. B; Resta int n. New = n. A - n. B; Multiplica int n. New = n. A * n. B; Divide float f. New = n. A / n. B; Potencia float f. New = n. A**2; suma 1 n. Val ++; resta 1 n. Val--; 14/46
PROGRAMACION Los operadores lógicos Los operador lógicos comparan valores y calculan un valor booleano Operador == > < => =< Tratamiento Si son iguales Si es mayor Si es menor Si es mayor o igual Si es menor o igual Ejemplo BOOL b. New = (b. A == b. B); BOOL b. New = (b. A > b. B); BOOL b. New = (b. A < b. B); BOOL b. New = (b. A => b. B); BOOL b. New = (b. A =< b. B); 15/46
PROGRAMACION Los comentarios tienen como propósito el de guiar en la comprensión del programa. Los comentarios son de 2 tipos: • Multílinea: Empiezan con ´/*´ y termina con ´*/´ /* tantos comentarios como se quiera explicar el código aquí escrito por mi */ • Monolínea: Empieza son ´//´ y se acaba con la línea // En esta línea se quiso decir esto 16/46
PROGRAMACION Las Estructuras (I) Una estructura es un conjunto de diferentes tipos de datos asociados a un tipo. struct Alumno { Char c. Name[10] = “miguel”; // nombre int n. Edad; // edad int n. Year; // año de nacimiento int n. Control; // numero de control }; 17/46
PROGRAMACION Las Estructuras (II) Una estructura es un tipo de variable. Alumno Mi. Alumno, Otro. Alumno; // declaracion Mi. Alumno. c. Name = “miguel”; // nombre Mi. Alumno. n. Edad = 23; // edad Mi. Alumno. n. Control = 09782345 // numero de control Otro. Alumno = Mi. Alumno; 18/46
PROGRAMACION Las Estructuras (III) Un miembro de una estructura se identifica por la variable que representa la estructura seguido de un punto “. ” seguido del nombre de la variable Alumno Mi. Alumno; // declaracion Mi. Alumno. c. Name = “miguel”; // nombre Mi. Alumno. n. Edad = 23; // edad Mi. Alumno. n. Control = 09782345 // numero de control 19/46
PROGRAMACION Las Estructuras (IV) Si una variable es un apuntador de una estructura, sus miembros se identifican por el apuntador que representa la estructura seguido de una flecha “->” seguido del nombre de la variable Alumno Mi. Alumno; // declaracion Alumno * p. Otro. Alumno = & Mi. Alumno; p. Otro. Alumno-> c. Name = “miguel”; // nombre p. Otro. Alumno-> n. Edad = 23; // edad p. Otro. Alumno-> n. Control = 09782345; // numero de control 20/46
PROGRAMACION Las Instrucciones (I) Las instrucciones controlan el flujo de ejecución de un programa • • • Asignacion = if if – else if for while switch break; return 21/46
PROGRAMACION Las Instrucciones (II) • Las instrucciones están separadas por “; ” • Los espacios no cuentan entre las instrucciones • Los caracteres “{“ y “}” definen un bloque de instrucciones 22/46
PROGRAMACION La Instrucción de asignación “=“ La instrucción de asignación “=“ asigna un valor a una variable int n. Val = 45; 23/46
PROGRAMACION La Instrucción de condición “if” La instrucción de condición “if“ condiciona la ejecución de un bloque de programa If ( n. Val == 25 ) n. My = 47; If ( n. Val == 25 ) { // bloque condicionado } 24/46
PROGRAMACION La Instrucción de condición “if - else” La instrucción de condición “if , else“ condiciona la ejecución de uno de 2 bloques de programa if ( n. Val == 25 ) { // bloque condicionado } else { // bloque condicionado } if ( n. Val == 25 ) n. Mi = 47; else { // bloque condicionado } 25/46
PROGRAMACION La Instrucción de condición “if –else if” La instrucción de condición “if , else if“ condiciona la ejecución de N bloques de programa If ( n. Val == 25 ) { // bloque condicionado } else if (n. Val == 47) { // bloque condicionado } else if (n. Control == 52) { // bloque condicionado } 26/46
PROGRAMACION La Instrucción de condición “if , else” La instrucción de condición “if, if else “ condiciona la ejecución de N bloques de programa if ( n. Val == 25 ) { // bloque condicionado } else if (n. Val == 47) { // bloque condicionado } else { // bloque condicionado } 27/46
PROGRAMACION La Instrucción de iteración ”for” La instrucción de iteración “for“ condiciona la repetición de un bloque de programa for ( int n. Val =0; n. Val<10; n. Val++ ) { // bloque condicionado } 28/46
PROGRAMACION La Instrucción de iteración ”for” La instrucción de iteración “for“ está compuesta de 3 campos separados por “; ” : for (n. V 1=0, n. V 2=15; n. V 1<10; n. V 1++, n. V 2 --) instrucción; 1) Inicialización de entrada 2) Condición de salida 3) Calculo al final del bloque 29/46
PROGRAMACION La Instrucción de iteración “while” La instrucción de iteración “while“ condiciona la repetición de un bloque de programa int n. Val = 0; while( n. Val<10 ) { // bloque condicionado n. Val++; } 30/46
PROGRAMACION La Instrucción de condición “switch” La instrucción de condición “switch“ condiciona la ejecución de un bloque de programa entre otros int n. Val = 45; switch( n. Val ) { case 0: … // codigo ejecutado si n. Val vale 0 break; // detiene la ejecución case 34: break; default: break; } 31/46
PROGRAMACION La Instrucción de ruptura “break” La instrucción de ruptura de ejecución “break“ interrumpe la ejecución de un bloque de programa for, while y switch int n. Val = 45; switch( n. Val ) { case 0: … // codigo ejecutado si n. Val vale 0 break; // detiene la ejecución } 32/46
PROGRAMACION La Instrucción de retorno “return” La instrucción de retorno “return“ interrumpe la ejecución de un bloque de programa y manda la ejecución a la función que te llamó switch( n. Val ) { case 0: return; break; } // codigo ejecutado si n. Val vale 0 // regresa la ejecucion a la funcion superior // detiene la ejecución 33/46
PROGRAMACION Las Funciones (I) Las funciones son bloques de programas de uso general con un encabezado y un cuerpo delimitado por “{“ y “}” • • • El nombre de una función sigue las reglas de nombres de variables Una función es una porción de código que ejecuta un calculo Una función puede tener n valores de entrada (parámetros) Una función debe tener un valor de retorno (puede ser void) Una función puede modificar el valor de un parámetro int funcion (int parametro 1); void funcion (int parametro 1, bool parametro 2); int funcion (int parametro 1); 34/46
PROGRAMACION Las Funciones (II) Ejemplo de función: int Suma(int n. Parametro 1, int n. Parametro 2) { int n. Ret = n. Parametro 1 + n. Parametro 2; return n. Ret; } 35/46
PROGRAMACION El Lenguaje C++ 36/46
PROGRAMACION C++ es un lenguaje de programación diseñado a mediados de los años 1980 por Bjarne Stroustrup. La intención de su creación fue el extender al lenguaje de programación C mecanismos que permiten la manipulación de objetos. 37/46
PROGRAMACION Las Clases (I) Una clase es una estructura que tiene además: Funciones, un Constructor y un Destructor Una clase consta de: • Una Identidad, que lo diferencia de otros objetos (Nombre de la clase) • Métodos o funciones miembro • Atributos o variables miembro 38/46
PROGRAMACION Las Clases (II) class Punto { private: int id; protected: int x; int y; public: Punto(); ~Punto(); int Obtener. X(); int Obtener. Y(); } // Variables y miembro privada // Variables y miembro protegidas // Variables y miembro publicos // Constructor // Destructor // Funciones miembro o métodos 39/46
PROGRAMACION Las Clases (III) Una clase tiene miembros y atributos : • Públicos • Protegidos • privados 40/46
PROGRAMACION Las Clases (IV) • Los atributos de una clase son variables propias a esa clase • Un atributo solo es conocido por su clase A esta propiedad se le llama “encapsulamiento” 41/46
PROGRAMACION Las Clases (V) Los miembros de una clase son funciones propias a esa clase • • • El nombre de un miembro sigue las reglas de nombres de variables Un miembro conoce los atributos de su clase Un miembro es una porción de código que ejecuta un calculo Un miembro puede tener n valores de entrada (parámetros) Un miembro debe tener un valor de retorno (puede ser void) Un miembro puede modificar el valor de un parámetro int funcion (int parametro 1); void funcion (int parametro 1, bool parametro 2); int funcion (int parametro 1); 42/46
PROGRAMACION Las Clases (VI) Una clase tiene una función miembro llamado “constructor” • • • El constructor tiene el mismo nombre que la clase El constructor es publico El constructor es llamado siempre que se crea el objeto El constructor no tiene valor de retorno Una clase tiene un constructor predeterminado (default) class Punto { public: Punto(); … // Variables y miembro publicos // Constructor 43/46
PROGRAMACION Las Clases (VII) Una clase tiene una función miembro llamado “destructor” • • • El destructor tiene el mismo nombre que la clase precedido por el signo ~ El destructor es publico El destructor es llamado siempre cuando se destruye el objeto El destructor no tiene parámetros El destructor no tiene valor de retorno Una clase tiene un destructor predeterminado (default) class Punto { public: ~ Punto(); … // Variables y miembro publicos // Destructor 44/46
PROGRAMACION Las Clases (VIII) • Un valor de un tipo se llama VARIABLE • Un valor de una clase se llama OBJETO int n. Mi. Valor = 45; // Variable int Punto Mi. Punto; // Objeto Punto Los OBJETOS son instancias de CLASES 45/46
46/46
- Slides: 46