La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Programación Científica Dr. Romeo Sánchez Nigenda. Oficina: 1er. Piso del CIDET. Oficina.

Presentaciones similares


Presentación del tema: "Programación Científica Dr. Romeo Sánchez Nigenda. Oficina: 1er. Piso del CIDET. Oficina."— Transcripción de la presentación:

1 Programación Científica Dr. Romeo Sánchez Nigenda. Oficina: 1er. Piso del CIDET. Oficina con Dr. Oscar Chacón Horas de Tutoría: 10am-11am Martes y Jueves Website: Sesiones: 48 * Slides aumentados con información de Dr. Roger Ríos, y Dr. Fernando López

2 Temario: 1. Fundamentos de Programación en C 2. Apuntadores y Funciones 3. Arreglos y Estructuras 4. Manejo de Memoria 5. Recursividad 6. Entrada y Salida de Archivos 7. Desarrollo y Depuración de Proyecto de Programación Total a calificar: 110 puntos! 40% Proyecto 30% Examen Parcial 30% Examen Final 10% Participación 40% Proyecto 30% Examen Parcial 30% Examen Final 10% Participación

3 Material de apoyo: A. KELLY, I. POHL. A Book on C. Addison-Wesley, Reading, EUA, B. KERNIGHAN, D. RITCHIE. The C Programming Language. Prentice Hall, Second Edition, D. KNUTH. The Art of Computer Programming. Addison Wesley, H. DEITEL, P. DEITEL. Como Programar en C/C++. Prentice Hall, Segunda Edición L. Joyanes, I. Zahonero. Programación en C - Metodología, Algoritmos y Estructura de Datos. McGraw Hill-Interamericana, B. Stroustrup. The C++ Programming Language. Addison Wesley. Third Edition Software: Compiladores GCC (GNU Compiler Collection) IDEs (Integrated Development Environment):

4 Apuntadores: Son variables que contienen direcciones de memoria. Se declaran como cualquier otra variable, declarando el tipo y nombre de la nueva variable seguido de un *. La declaración por sí sola no asigna una referencia al puntero. int * y; // Puntero a entero *y//Producirá un error si se trata de acceder a //su valor El operador de referencia &. Una variable x precedida del operando & devuelve la dirección de memoria de la variable en lugar de su contenido. Es decir, una referencia a x para ser usada por un apuntador.Apuntadores int x = 6; x[…] int * y = &x; y[…] 6 6 XXXX

5 Apuntadores El operador de dereferencia *: Ya que los apuntadores son referencias a otros valores, para acceder al contenido de la dirección referenciada (al valor) se utiliza el operador *. Esta operación se conoce como dereferencia, y la única restricción es que el apuntador tiene que tener una referencia válida. x [1234] y Cuál es el valor actual de *y? Y después de la modificación: *y = 8; y = ? x = ? 6 6

6 Apuntadores El puntero NULO o NULL Pointer: Se utiliza para representar a un puntero sin valor, es decir, un puntero sin ninguna referencia. C utiliza el símbolo NULL, que es equivalente a la constante entera 0. Asignación de Punteros: La asignación entre dos punteros hace que ambos tengan la misma referencia. int x = 6; int *y = &x; x y int *z = y; z 6 6 Ambos punteros comparten la misma dirección de memoria.

7 Apuntadores Ventajas: Permiten compartir información de una manera más eficiente Permiten el diseño y desarrollo de estructuras de datos complejas como árboles y listas vinculadas Compartiendo información: Copia superficial: Una función le pasa un puntero a un valor específico a otra, pero el valor no se duplica. Ambas funciones pueden acceder a la referencia la cual es compartida evitando duplicar grandes cantidades de información. Copia a profundidad: Una copia completa de los datos se duplica y es utilizada independientemente por cada función o referencia. X() Y() DATOS X() Y() DATOS

8 Apuntadores Ejercicio: 0: #include 1: int main(){ 2: int x=5, y=10, temp; 3: int *pi; 4: cout<

9 Operaciones con apuntadores Operaciones con apuntadores: Incremento y decremento: [96] y = y - 1; [100] y = y + 1; [104] Cómo obtenemos el contenido de la dirección en y + 1? ? ? 6 6 ? ?

10 Funciones returnType functionName(parameters){ body} Ejemplos: int cuadrado(int n){ return n*n; } int cubo(int n){ return cuadrado(n)*n; } Ejercicio: Escribe la función que te regrese la potencia de un número x n Las variables locales existen mientras las funciones se encuentren en ejecución Las variables locales existen mientras las funciones se encuentren en ejecución Valores de retorno Valores de retorno

11 Funciones: Paso de Parámetros Por valor: Los valores que se pasan se copian a los parámetros de la función cuando se invoca. Si el valor de un parámetro se altera dentro de la función, el valor en el programa que lo llama no se modifica. Ejercicio: int x = 0; cout<

12 Funciones: Paso de Parámetros Por Referencia: Permite modificar el valor de la variable que se pasa a la función, si se pasa la dirección de la misma. int x = 0; incrementa(&x); Cout<

13 Funciones: Paso de parámetros Por Referencia: Siempre se necesita colocar el operador &? int x = 0; incrementa(&x); Cout<


Descargar ppt "Programación Científica Dr. Romeo Sánchez Nigenda. Oficina: 1er. Piso del CIDET. Oficina."

Presentaciones similares


Anuncios Google