Introduccin a la Programacin C Parte 1 Introduccin

  • Slides: 46
Download presentation
Introducción a la Programación C++ Parte 1

Introducción a la Programación C++ Parte 1

Introducción a la Programación con C++, Parte 1 Prerequisito: Programación en un lenguaje procedural,

Introducción a la Programación con C++, Parte 1 Prerequisito: Programación en un lenguaje procedural, tal como C o un lenguaje orientado a objetos tal como Java, C# u Objective-C Temas • Introducción a C++ • Introducción a Clases y Objetos • Estatutos de Control • Funciones • Arreglos y vectores • Apuntadores • Clases Texto: C++11 for Programmers, Paul Deitel, Second Edition, Prentice Hall, 2014

Introducción a la Programación C++ Introducción a Clases y Objetos Lección 1: Introducción a

Introducción a la Programación C++ Introducción a Clases y Objetos Lección 1: Introducción a la Programación C++ Lección 2: Introducción a Clases y Objetos

Introducción a la Programación con C++ Lección 1: Introducción a la Programación con C++

Introducción a la Programación con C++ Lección 1: Introducción a la Programación con C++ Basada en el Capítulo 2 de C++ para Programadores, Deitel Temas • • Cómo escribir programas en C++ Estatutos de Entrada y Salida Tipos de datos fundamentales Operadores

Introducción a la Programación con C++ Programa: fig 02_01. cpp Estructura básica de un

Introducción a la Programación con C++ Programa: fig 02_01. cpp Estructura básica de un programa C++

Introducción a la Programación con C++ // Comentarios en linea de código • •

Introducción a la Programación con C++ // Comentarios en linea de código • • • Incluir nombre de los programas o archivos Fuente Incluir una descripción de la función del programa Agregar comentarios de una sola línea #include <iostream. h> Directivo de preprocesador para insertar el texto de un archivo header (de encabezado) • Prácticamente todo programa inserta este header, ya que contiene la declaración de funciones, objetos y clases de entrada/salida. int main() función principal • • • Marca el punto de entrada de ejecución de un programa. Solo puede haber una función main() en todos los programas C++ de un mismo proyecto Regresa un valor entero al “ambiente”, el cual es comúnmente la línea de comandos. En este caso, no toma argumentos de la línea de comandos Delimitada por {} return 0; return regresa a la línea de comandos el valor de main() • • El retorno de un valor 0 indica una terminación exitosa del programa. Si return regresa un 0, se puede prescindir de esta línea. El retorno de un valor distinto a cero indica una terminación anormal del programa El valor de retorno es útil en el caso de programación batch o scripts.

Introducción a la Programación con C++ std: : cout es el objeto estándar de

Introducción a la Programación con C++ std: : cout es el objeto estándar de flujo de salida en la librería iostream. h dentro del Namespace (espacio de nombres) std • • std: : Indica que se usa un objeto del Namespace std. El Namespace std incluye a todas librerías estándar, incluyendo iostream. h. Todos los componentes dentro de las librerías estándar están incluidos en el Namespcace std. : : operador de resolución de alcance o scope << operador de inserción de salida

Introducción a la Programación con C++ Programa: fig 02_09. cpp Comparando enteros con estatutos

Introducción a la Programación con C++ Programa: fig 02_09. cpp Comparando enteros con estatutos if, operadores relacionales y de igualdad

Introducción a la Programación con C++

Introducción a la Programación con C++

Introducción a la Programación con C++ Using std: : cout; Permite, subsecuentemente, usar solo

Introducción a la Programación con C++ Using std: : cout; Permite, subsecuentemente, usar solo “cout” en lugar de “std: : cout” • • cout, cin y endl pertenecen a la librería std (estándar), que a la vez está incluida en el Namespace “std”. Usando la siguiente línea se puede prescindir del uso std: : para todos los identificadores y elementos incluidos en el Namespace std. Esta línea podría sustituir las tres líneas anteriores (líneas 6 a 8). Definición/Declaración de Variables • • Una definición de variable se refiere a la creación de la variable (reservar el nombre o identificador de la variable, incluir este identificador en la tabla de identificadores y reservar la memoria requerida para almacenar un dato del tipo especificado en memoria). Una declaración de variable, no crea la variable, solo la da a conocer para que el compilador pueda utilizarla apropiadamente, asumiendo que fue definida en cualquier otro punto del programa. Muchos autores utilizan indistintamente los téreminos definición y declaración. Las definiciones y declaraciones se especifican primeramente indicando el tipo de dato de la variable; un listado del nombre de las variables, separándolos con una coma (, ) y terminando el listado con en punto y como (; ). int numero 1; int numero 2; Equivalen a int numero 1, numero 2;

Introducción a la Programación con C++ • Los tipos primitivos o básicos que se

Introducción a la Programación con C++ • Los tipos primitivos o básicos que se pueden utilizar en C++, al igual que en lenguaje C, para crear variables o constantes son: char int float double Tipo caracter Tipo entero Tipo punto flotante de doble precision • Los modificadores que pueden ser aplicados a los tipos de datos anteriores son: short long Signed Unsigned Modificar un tipo a “corto” (se pretende usar la mitad de bits) Modificar un tipo a “largo” (se pretende usar el doble de bits) Modificar un tipo para que tenga signo (positivo o negative) Modificar un tipo para que sea sin signo (valores positivos, no negativos) Ejemplos: unsigned short int numero 1, numero 2; long double area;

Introducción a la Programación con C++ • • El número de bits utilizado por

Introducción a la Programación con C++ • • El número de bits utilizado por cada tipo de dato dependerá de la plataforma utilizada: hardware de la computadora, sistema operativo y compilador. Si no se asigna un valor inicial a cada variable, el compilador NO le asignará un valor inicial. El contenido de una variable no inicializada puede ser considerada “basura” (valor impredecible), hasta que se le haya asignado un valor. = Operador de asignación. • • • El operador de asignación (=) es utilizado para asignar un valor a la variable (almacenar este valor en el área de memoria asignada a la variable, iniciado en la primera dirección de memoria (la menor) del conjunto que compone dicha área. En una PC, los bits son almacenados utilizando LITTLE ENDIANESS, lo que significa que en la primera dirección de la memoria asignada se almacena el byte menos significativo (el byte en la extrema derecha), y así sucesivamente, los siguientes bytes en orden creciente de significancia se almacenan en las direcciones incrementalmente. Se puede asignar un valor inicial al momento de definir una variable: int numero 1 = 5, numero 2; o en otro punto del programa, después de definir la variable: numero 2 = 10; cin Objeto estándar de flujo de entrada de la librería iostream. h • Recibe los datos introducidos por el usuario en el teclado (forma default).

Introducción a la Programación con C++ >> Operador de extracción de entrada • Extrae

Introducción a la Programación con C++ >> Operador de extracción de entrada • Extrae el objeto cin uno de los valores introducidos por el usuario para asignarlo a la variable que corresponde en la secuencias de >>. Es decir, >> asigna el primer valor en cin a la primera variable; el siguiente >> asigna el siguiente valor introducido en cin a la siguiente variable; se continúa así, sucesivamente. Operadores relacionales Los operadores relacionales permiten comparar dos valores. Si se cumple, o es verdadera, la condición de comparación, el operador relacional regresa un valor distinto a cero (normalmente 1). Si no se cumple la condición de comparación, o es falsa, el operador relacional regresa un valor igual a 0. Se pueden formar expresiones relacionales más complejas utilizando combinaciones de estos operadores relacionales. == Operador relacional “igual que” para comparar si dos valores son iguales valor 1 == valor 2 • • == no asigna un valor, solo compara si dos valores son iguales. No debe confundirse con el operador de asignación =. Si los valores comparados son iguales, el operador == regresa un valor VERDADERO (1), de lo contrario, regresa un valor FALSO (0).

Introducción a la Programación con C++ < Operador relacional “menor que” valor 1 <

Introducción a la Programación con C++ < Operador relacional “menor que” valor 1 < valor 2 • Si el primer valor, valor 1, es menor que el segundo valor, valor 2, el operador regresa un valor VERDADERO (1), de lo contrario, regresa un valor FALSO (0). > Operador relacional “mayor que” valor 1 > valor 2 • Si el primer valor, valor 1, es mayor que el segundo valor, valor 2, el operador regresa un valor VERDADERO (1), de lo contrario, regresa un valor FALSO (0). != Operador relacional “diferente a” valor 1 != valor 2 • Si los valores, valor 1 y valor 2, son diferentes, el operador regresa un valor VERDADERO (1), de lo contrario, regresa un valor FALSO (0). <= Operador relacional “menor o igual que” valor 1 <= valor 2 • Si el primer valor, valor 1, es menor o igual que el segundo valor, valor 2, el operador regresa un valor VERDADERO (1), de lo contrario, regresa un valor FALSO (0).

Introducción a la Programación con C++ >= Operador relacional “mayor o igual que” valor

Introducción a la Programación con C++ >= Operador relacional “mayor o igual que” valor 1 >= valor 2 • Si el primer valor, valor 1, es mayor o igual que el segundo valor, valor 2, el operador regresa un valor VERDADERO (1), de lo contrario, regresa un valor FALSO (0). if Estatuto if If (expresión) CUERPO DEL IF • • Si la expresión dentro de los paréntesis del estatuto if es DIFERENTE A CERO (VERDADERA), se procede a ejecutar las instrucciones dentro del cuerpo del if. Si la expresión es CERO (FALSA), la ejecución del programa continúa en la instrucción inmediatamente después del fin del cuerpo del if. En el caso general, el cuerpo del if, está delimitado por {}: If (expresión) { Instrucción 1; Instrucción 2; … Instrucción N } Si el cuerpo del if incluye solo una instrucción, se puede prescindir de los corchetes, {}, considerando el punto y coma (; ) de esa instrucción el fin del cuerpo del if: If (expresión) Instrucción;

Introducción a la Programación con C++

Introducción a la Programación con C++

Introducción a Clases y Objetos Lección 2: Introducción a Clases y Objetos Basada en

Introducción a Clases y Objetos Lección 2: Introducción a Clases y Objetos Basada en el Capítulo 3 de C++ para Programadores, Deitel Temas • Definir una clase y usarla para crear un objeto • Definir funciones miembro en una clase para implementar los behaviors (comportamientos) de la clase • Declarar datos miembros en una clase para implementar los atributos de una clase • Llamar una función miembro de un objeto para realizar una tarea • Diferencia entre datos miembros de una clase y variables locales de una función • Uso de un constructor para asegurar que los datos de un objeto son inicializados cuando es creado • Crear una clase para separar su interfaz de su implementación y estimular su reuso

Introducción a Clases y Objetos Programa: fig 03_01. cpp Definir una clase con una

Introducción a Clases y Objetos Programa: fig 03_01. cpp Definir una clase con una función miembro

Introducción a Clases y Objetos Nota: Lenguaje C++ es un lenguaje extensible, lo que

Introducción a Clases y Objetos Nota: Lenguaje C++ es un lenguaje extensible, lo que quiere decir que el programador puede crear nuevos tipos de datos. Nota: Lenguaje C++ , al igual que C, es un lenguaje sensitive a altas y bajas, lo que quiere decir que las letras minúsculas son interpretadas de forma diferente a sus representaciones en mayúsculas. Formato para la definición de una clase

Introducción a Clases y Objetos • • • La definición de una clase empieza

Introducción a Clases y Objetos • • • La definición de una clase empieza con la palabra reservada class. La definición de una clase se delimita con {} y finalizada con punto y coma (; ). Por convención, el nombre asignado a una clase empieza con letra mayúscula, y las otras palabras utilizadas en el nombre también inician con mayúscula. Public: es una etiqueta que funciona como modificador de acceso. En este caso, indica toda la sección de la clase que es pública, es decir, accesible a cualquier otra parte del código. Esto significa que el código que tenga acceso a la clase, tal como es el caso de main() puede crear objetos de esta clase e invocar las funciones miembro públicas. Por convención, el nombre asignado a una función miembro empieza con letra minúscula, y las otras palabras utilizadas en el nombre se inician con mayúscula

Introducción a Clases y Objetos

Introducción a Clases y Objetos

Introducción a Clases y Objetos

Introducción a Clases y Objetos

Introducción a Clases y Objetos Programa: fig 03_03. cpp Definir una función miembro con

Introducción a Clases y Objetos Programa: fig 03_03. cpp Definir una función miembro con un parámetro

Introducción a Clases y Objetos

Introducción a Clases y Objetos

Introducción a Clases y Objetos

Introducción a Clases y Objetos

Introducción a Clases y Objetos Programa: fig 03_05. cpp Datos o variables miembro y

Introducción a Clases y Objetos Programa: fig 03_05. cpp Datos o variables miembro y funciones set y get

Introducción a Clases y Objetos

Introducción a Clases y Objetos

Introducción a Clases y Objetos Nota: Es común referirse a las funciones miembro como

Introducción a Clases y Objetos Nota: Es común referirse a las funciones miembro como METODOS.

Introducción a Clases y Objetos

Introducción a Clases y Objetos

Introducción a Clases y Objetos Un constructor en una función miembro especial de una

Introducción a Clases y Objetos Un constructor en una función miembro especial de una clase que es automáticamente llamada cuando uno crea un objeto de esa clase. Un constructor permite inicializar los datos miembro del objeto en el momento mismo que es creado. Es posible que una clase tenga varios constructores diferentes para inicializar objetos de maneras diferentes. Programa: fig 03_05. cpp Inicialización de objetos constructores

Introducción a Clases y Objetos

Introducción a Clases y Objetos

Introducción a Clases y Objetos

Introducción a Clases y Objetos

Introducción a Clases y Objetos

Introducción a Clases y Objetos

Introducción a Clases y Objetos • • • Las definiciones de clase pueden ser

Introducción a Clases y Objetos • • • Las definiciones de clase pueden ser escritas en archivos. h para su reusabilidad. El usar “<>” en el directivo de preprocesador “#include” indica que el archive header (. h) se encuentra en el directorio default para headers. En el caso #include “iostream”, las “” indica que el archivo header se encuentra en la localización especificada (en este caso, en el directorio actual de trabajo). En un programa consistente en varios archivos, solo puede haber una función main(). Programa: fig 03_10. cpp Colocando una clase en un archivo separado para reusabilidad

Introducción a Clases y Objetos

Introducción a Clases y Objetos

Introducción a Clases y Objetos

Introducción a Clases y Objetos

Introducción a Clases y Objetos • • Los prototipos incluyen el tipo que regresa

Introducción a Clases y Objetos • • Los prototipos incluyen el tipo que regresa una función; el nombre de la función; dentro de los paréntesis, el listado del tipo de cada parámetro que recibe la función (no se requiren los nombre); y es terminado con “; ”. El compilar por separado el código de funciones y solo agregar declaraciones en los encabezados, permite mantener en secreto el contenido del código. Programa: fig 03_13. cpp Separando la interfaz (declaración) de la implementación (definición)

Introducción a Clases y Objetos

Introducción a Clases y Objetos

Introducción a Clases y Objetos

Introducción a Clases y Objetos

Introducción a Clases y Objetos

Introducción a Clases y Objetos

Introducción a Clases y Objetos

Introducción a Clases y Objetos

Introducción a Clases y Objetos Programa: fig 03_17. cpp Validando datos con funciones set

Introducción a Clases y Objetos Programa: fig 03_17. cpp Validando datos con funciones set

Introducción a Clases y Objetos

Introducción a Clases y Objetos

Introducción a Clases y Objetos

Introducción a Clases y Objetos

Introducción a Clases y Objetos

Introducción a Clases y Objetos

Introducción a Clases y Objetos

Introducción a Clases y Objetos