1 / 18

Programación Científica

Programación Científica. Dr. Romeo S ánchez Nigenda . E-mail: romeo.sanchez @ gmail.com http: //yalma.fime.uanl.mx/~ romeo / Oficina: 1er. Piso del CIDET. Oficina con Dr. Oscar Chacón Horas de Tutoría: 10am-11am Martes y Jueves Website: http://yalma.fime.uanl.mx /~romeo/Prog/ Sesiones: 48

emmly
Download Presentation

Programación Científica

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Programación Científica Dr. Romeo SánchezNigenda. E-mail: romeo.sanchez@gmail.com http://yalma.fime.uanl.mx/~romeo/ Oficina: 1er. Piso del CIDET. Oficina con Dr. Oscar Chacón Horas de Tutoría: 10am-11am Martes y Jueves Website: http://yalma.fime.uanl.mx/~romeo/Prog/ Sesiones: 48 * Slides aumentados con información de Dr. Roger Ríos, y Dr. Fernando López

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

  3. Material de apoyo: 1. A. KELLY, I. POHL. A Book on C. Addison-Wesley, Reading, EUA, 1998. 2. B. KERNIGHAN, D. RITCHIE. The C Programming Language. Prentice Hall, Second Edition, 1988. 3. D. KNUTH. The Art of Computer Programming. Addison Wesley, 1998. 4. H. DEITEL, P. DEITEL. Como Programar en C/C++. Prentice Hall, Segunda Edición. 1995. 5. L. Joyanes, I. Zahonero. Programación en C - Metodología, Algoritmos y Estructura de Datos. McGraw Hill-Interamericana, 2006. 6. B. Stroustrup. The C++ Programming Language. Addison Wesley. Third Edition. 1997. Software: Compiladores GCC (GNU CompilerCollection) IDEs (IntegratedDevelopmentEnvironment): http://www.eclipse.org/downloads/ http://kdevelop.org/ http://www.bloodshed.net/devcpp.html

  4. Objetivo • Proveer al estudiante los fundamentos de Programación Científica utilizando un lenguaje de programación de propósito general como C, con el fin de prepararlo en el uso básico de herramientas de programación para el desarrollo, análisis y depuración de software científico. • El curso presenta los fundamentos de programación, tipos de datos, variables, estructuras de selección y control, funciones, estructuras básicas de datos, manejo de memoria y almacenamiento de archivos. Durante el curso el estudiante adquiere un conocimiento práctico de las temas a través de numerosas tareas de programación

  5. Fundamentos de Programación en C/C++ • C/C++ tienepocostipos básicos de datos: enteros (int y derivados), números de punto flotante (float, double), caracteres (chars). • El tipo de datos de una variable especifica dos cosas: • La cantidad de almacenamiento a reservar • La forma de interpretar los datos representados por las cadenas de bits • Ya que usamos bits para representarlos, los rangos de los valores en enteros, y la precisión en punto flotante depende de la implementación en el hardware de la máquina. • Cuando ejecutamos una operación con algún tipo de dato debemos asegurarnos que los operandos y los resultados son del tipo correcto. Usamos Casting para convertir explícitamente entre tipos.

  6. Tipos de datos primitivos en C/C++ Variable: Es el mediosimbólicopor el cual se hacereferencia a unalocalidad de memoria en la que se almacenainformación (datos). Una declaración de una variable: Reserva y nombra en tiempo de ejecución un área de memoria para guardar datos de un tipo específico type var1; type var1_new , var2, var333; type var1=value, var2_, var3_01=value; Ejemplos: char _b, c=‘c’; double y, x, z_2 = 78.0098; 78.0098 z_2

  7. Más sobre variables en C/C++ • Pérdida de datos (data loss): • double x = 3; //OK (int -> double), implícito • int n = 3.7; //Warning: compilador convierte a enteros, pero se pierden datos fraccionales • Conversión forzada: Casting. • (static, dynamic, const, reinterpret)_cast<type> • int n = static_cast<int> (3.7); //OK

  8. Expresiones (expr) en C/C++ • Expresión (expr): • constante | variable • expropexpr • Opexpr • Aritméticas • Operadores: +, -, *, /, % (residuo o mod) • Unitarios (incremento): var++, ++var, var--, --var, • Ejemplos • x+ 3 • x + y + z • (x + 7) / 3 * y • 14 % 3 • - (x * 3) % 4 • Y = ++x • Y = x++ • Especiales (op=): x +=4, y/=x; t*=5;

  9. Expresiones (expr) en C/C++ • Relacionales (de comparación: True, False) • Operadores: ==, !=, <, >, <=, >= • Ejemplos: • 1 < 1 • x == x • x < x • 3 != 4 • Expresiones Lógicas • Operadores: !, ||, && • C usaenteros (0, 1) • C++ usabool (false, true,) • Ejemplos: • ! 2 \\ value es 0 • ! (x == (x +1)) \\ value es 1 • (x == 0) || (x !=0) \\ siemprees 1 • (x == x) && (1!=2) \\ value es 1 • 1 || (x == y) \\ (x == y) no se evalúa

  10. Expresiones (expr) en C/C++ • De Selección • Expr1 ? Expr2 : Expr3 • El resultado es expr2 si expr1 es true, o • Expr3 si expr1 es falso • Ejemplos: • 0 ? Y : z //value es z • 1? 10 : 13 //value es 10 • A ? B : 9 //value es B if A is true, 9 de otramanera

  11. Statements (sentencias) en C/C++ • Simples • Null • Expresión (expr) • If • While • Do • For • Switch • Compuestas { … }

  12. Statements (sentencias) en C/C++ • If, if-else • If (expr) statement1 • If (expr) statement1elsestatement2 • Ejemplos: If(a==1) x +=4; If (y!=x+5) { x+=1; } else { y -=1; } Ejercicio: Identifica si un número es par o impar

  13. Statements (sentencias) en C/C++ • while • while (expr) statement(s) • Ejemplo: inti=1, N; cout<<“Dame N: “; cin >> N; while (i<N){ cout << “i: “ <<i++; } • Cuál es el mínimo número de iteraciones para while? • Ejercicio: Imprime los números de N a 1. Ciclos infinitos!

  14. Statements (sentencias) en C/C++ • Do • do statementwhile (expr) • Ejemplo: int i = 1; cout<<“Dame N: “; cin >> N; do{ cout << “i: “ <<i++; }while(i<N); • Cuál es el mínimo número de iteraciones?

  15. Statements (sentencias) en C/C++ • for • for(expr1;expr2;expr3) statement(s) • Las tres expresiones son opcionales • Expr1 es el inicializador, evaluada solamente una vez • Expr2 es la condición, evaluada en cada iteración que rompe el ciclo • Expr3 se evalúa después de que el cuerpo del forse ejecuta • Ejemplo: For(i = 1; i<N; i++){ cout << “i: “ ; } Cuál es el mínimo número de iteraciones?

  16. Statements (sentencias) en C/C++ • break: Causa la terminación del ciclo que lo contenga • Ejemplos: int i=1; intlimite; cin>>limite; while(true){ if(i==limite) break; i++; }

  17. Statements (sentencias) en C/C++ • Continue: avanzainmediatamente a la siguienteiteración del ciclo • Ejemplo: for(i=0;i<100;i++){ if(i%2 ==1) continue; cout<<“Valor de i: “<<i; }

  18. Statements (sentencias) en C/C++ • Switch: Estructura de selección Switch(expr) { case constant1: statement (s); break; default: statement (s); } • Ejemplo: • Intopcion; cin>>opcion; switch (opcion){ case 1: cout<<“Opcion 1”; break; case 2: cout<<“Opcion 2”; break; default: cout<<“Oprimisteunaopción no válida. }

More Related