Programacion C

4,460 views
4,299 views

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
4,460
On SlideShare
0
From Embeds
0
Number of Embeds
67
Actions
Shares
0
Downloads
223
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Programacion C

  1. 1. Lenguaje Alto Nivel I Parte I Ing. Fausto Loja Mora
  2. 2. Agenda <ul><li>Conceptos Básicos </li></ul><ul><li>Lectura y Escritura de Archivos </li></ul><ul><li>Introducción a los objetos y a las clases </li></ul><ul><li>Funciones Miembro </li></ul>
  3. 3. Entrada/Salida <ul><li>Se necesita incluir la librería iostream.h </li></ul><ul><ul><li>#include <iostream.h> </li></ul></ul><ul><li>Salidas con cout </li></ul><ul><ul><li>Permite enviar a pantalla texto (encerrado entre comillas dobles) y/o variables y/o expresiones. </li></ul></ul><ul><ul><li>Ejemplos: </li></ul></ul><ul><ul><ul><li>Texto: cout << “Hola Mundo C++”; </li></ul></ul></ul><ul><ul><ul><li>Variables: cout << total; </li></ul></ul></ul><ul><ul><ul><li>Texto y Variables: cout << “El resultado es” << total </li></ul></ul></ul><ul><ul><ul><li>Expresiones: cout << “El resultado:”<<(contador * 2) </li></ul></ul></ul><ul><li><< se conoce como operador inserción </li></ul>
  4. 4. Entrada/Salida <ul><li>Secuencias de Escape: una combinación de un y un carácter. </li></ul><ul><li>El le dice al computador que el carácter que sigue no tiene el mismo significado que cuando aparece solo. </li></ul><ul><li>Ejemplos: </li></ul><ul><ul><li>Nueva línea: </li></ul></ul><ul><ul><li>Tabulación horizontal: </li></ul></ul><ul><ul><li>Alerta: a </li></ul></ul><ul><ul><li>Diagonal invertida: </li></ul></ul><ul><ul><li>Comillas dobles: ” </li></ul></ul>
  5. 5. Entrada/Salida <ul><li>Entrada con cin: </li></ul><ul><ul><li>Es muy similar a cout con la diferencia que utilizamos cin y las flechas apuntan en sentido contrario >> </li></ul></ul><ul><ul><li>La instrucción cin hace que el contenido de las variables sea igual a los valores introducidos mediante teclado. </li></ul></ul><ul><ul><li>Ejemplos: </li></ul></ul><ul><ul><ul><li>cin >> sumandoA >> sumandoB; </li></ul></ul></ul><ul><ul><ul><li>Cin >> sumandoA </li></ul></ul></ul><ul><ul><ul><li>>> sumandoB; </li></ul></ul></ul>
  6. 6. Estructuras Condicionales <ul><li>if(<condicion>){ </li></ul><ul><li><sentencias>; </li></ul><ul><li>} </li></ul><ul><li>else{ </li></ul><ul><li><sentencias>; </li></ul><ul><li>} </li></ul>
  7. 7. Flujo if
  8. 8. Estructuras Condicionales <ul><li>switch(<expresi ó n>){ </li></ul><ul><li>case <val>:<sentencias>;break; </li></ul><ul><li> case <val>:<sentencias>;break; </li></ul><ul><li> case <val>:<sentencias>;break; </li></ul><ul><li>default:<sentencias>; </li></ul><ul><li>} </li></ul>
  9. 9. Flujo switch
  10. 10. Ejemplo if
  11. 11. Ejemplo
  12. 12. Ejecuci ón
  13. 13. Ejemplo switch
  14. 14. Ejecuci ón
  15. 15. Ciclos Repetitivos <ul><li>while </li></ul><ul><li>do while </li></ul><ul><li>for </li></ul>
  16. 16. Ejemplo while
  17. 17. Ejecución
  18. 18. Ejemplo do while
  19. 19. Ejecucion
  20. 20. Ejemplo for
  21. 22. Archivos (E/S) <ul><li>Importar libreria <fstream.h> </li></ul><ul><li>Existen flujos de entrada y salida </li></ul><ul><li>ifstream (entrada) </li></ul><ul><li>ofstream(salida) </li></ul>
  22. 23. Clases para E/S
  23. 24. Abrir archivos <ul><li>flujo.open(“archivo.ext”) </li></ul><ul><li>ofstream ( const char * filename , openmode mode = out | trunc ); </li></ul>bit effect app Ubicar al final del archivo al realizar operación de salida ate Ubicar al final del archivo al realizar apertura del archivo binary Archivo Binario in Permitir Lectura out Permitir Escritura trunc Borrar al abrir
  24. 25. Leer, Escribir <ul><li>Lectura </li></ul><ul><li>>> </li></ul><ul><li>get(char s ) </li></ul><ul><li>getline (char* s , streamsize n ); </li></ul><ul><li>Escribir </li></ul><ul><li><< </li></ul><ul><li>put(char) </li></ul><ul><li>write(char,size) </li></ul>
  25. 26. Ejemplo archivos
  26. 27. Ejemplo archivo
  27. 28. Ejecuci ón
  28. 29. Archivo de Salida cin.getline(nombres,' ');
  29. 30. Programación Orientada a Objetos
  30. 31. Programación OO <ul><li>Clase </li></ul><ul><li>Atributos(color, tamaño, marca, etc) </li></ul><ul><li>Métodos (pintar, escribir, etc) </li></ul>
  31. 32. Otros conceptos <ul><li>Sobrecarga </li></ul><ul><li>Constructores </li></ul><ul><li>Destructores </li></ul><ul><li>Polimorfismo </li></ul>
  32. 33. Ejemplo Clase parte 1 / 2
  33. 34. Ejemplo clase parte 2/2
  34. 35. Ejemplo Clase Parte 1/5
  35. 36. Ejemplo Clase Parte 2/5
  36. 37. Ejemplo Clase Parte 3/5
  37. 38. Ejemplo Clase Parte 4/5
  38. 39. Ejemplo Clase Parte 5/5
  39. 40. Sobrecarga de Operadores <ul><li>Los operadores pueden ser sobrecargados para que su comportamineto sea diferente </li></ul>
  40. 41. Ejemplo parte 1/2
  41. 42. Ejemplo parte 2/2
  42. 43. Ejecuci ón
  43. 44. Bibliografía <ul><li>http://www.conclase.net/c/curso/index.php </li></ul><ul><li>http://c.conclase.net/ficheros/index.php </li></ul><ul><li>http://www.codersource.net/cpp_file_io.html </li></ul><ul><li>http://fpsalmon.usc.es/genp/doc/cursos/C++/io/tofiles.html </li></ul><ul><li>http://ieee.udistrital.edu.co/concurso/programacionII/Programacion2/html/x238.html </li></ul><ul><li>http://www.geocities.com/chuidiang/sobrecarga/sobrecarga.html </li></ul>
  44. 45. Lenguaje Alto Nivel I Parte II Ing. Fausto Loja Mora
  45. 46. Agenda <ul><li>Herencia </li></ul><ul><li>Arreglos </li></ul><ul><li>Matrices </li></ul><ul><li>Punteros </li></ul><ul><li>Listas Enlazadas </li></ul>
  46. 47. Herencia <ul><li>Mecanismo de la POO., por medio de la cual una clase deriva de otra. </li></ul><ul><li>Reutilización de código </li></ul><ul><li>Todos los atributos y métodos son heredados de la clase base. </li></ul>
  47. 48. Herencia
  48. 49. Clase Base
  49. 50. Clase Derivada
  50. 51. Método Principal
  51. 52. Arreglos <ul><li>Conjunto de elementos que tienen u mismo tipo de dato. </li></ul>
  52. 53. Tipos de Arreglos <ul><li>De una dimensión </li></ul><ul><li>De dos dimensiones </li></ul>a b c d e 1 2 2 2 1 2 2 2 1
  53. 54. Vectores <ul><li>Colección de elementos que tienen un mismo tipo de dato. </li></ul><ul><li>Para acceder a los arreglos se lo hace mediante un índice. </li></ul>0 1 2 3
  54. 55. Ejemplo Vectores 1/3
  55. 56. Ingreso
  56. 57. Ejemplo Vectores 2/3
  57. 58. Ejemplo Vectores 3/3
  58. 59. Ordenación
  59. 60. Proceso Ordenación
  60. 61. Proceso Ordenación
  61. 62. Proceso Ordenación
  62. 63. Matrices <ul><li>Colección de Elementos de un solo tipo de dato que tiene dos dimensiones. </li></ul><ul><li>Contiene Filas y Columnas. </li></ul><ul><li>Se accede a sus valores por medio de dos índices. </li></ul>
  63. 64. Ejemplo Matrices 1 /2
  64. 65. Ejemplo Matrices 2 /2
  65. 66. Ejecución ingreso datos
  66. 67. Ejecución suma matrices
  67. 68. Apuntadores <ul><li>Un apuntador es una variable que guarda la dirección de memoria en donde se encuentra un dato. </li></ul><ul><li>Se trabaja con dos operadores </li></ul><ul><ul><li>* Para el valor </li></ul></ul><ul><ul><li>& Para la dirección </li></ul></ul>
  68. 69. Ejemplo Apuntador
  69. 70. Ejecuci ón
  70. 71. Listas <ul><li>Una lista en un conjunto de nodos. </li></ul><ul><li>Cada nodo puede contener un conjunto de campos. </li></ul><ul><li>En los campos existe un apuntador. </li></ul><ul><li>Se usan estructuras, en donde se definen los campos </li></ul>
  71. 72. Estructuras <ul><li>struct Persona{ </li></ul><ul><li>char nombre[40]; </li></ul><ul><li>int Edad; </li></ul><ul><li>Persona *sig; </li></ul><ul><li>} </li></ul>
  72. 73. Lista
  73. 74. Lista
  74. 75. Definiendo la Estructura
  75. 76. Creando el primer nodo
  76. 77. Presentar Lista
  77. 78. Buscando Nodo
  78. 79. Presentación
  79. 80. Eliminando nodo
  80. 82. Ejecución Ordenación
  81. 83. Lista
  82. 84. Eliminando la cabezA
  83. 85. Eliminando la Cola
  84. 86. Eliminando la Cola
  85. 87. Eliminar intermedio
  86. 88. Eliminar intermedio
  87. 89. Bibliografía <ul><li>http://www.conclase.net/c/curso/index.php </li></ul><ul><li>http://c.conclase.net/ficheros/index.php </li></ul><ul><li>http://www.codersource.net/cpp_file_io.html </li></ul><ul><li>http://fpsalmon.usc.es/genp/doc/cursos/C++/io/tofiles.html </li></ul><ul><li>http://ieee.udistrital.edu.co/concurso/programacionII/Programacion2/html/x238.html </li></ul><ul><li>http://www.geocities.com/chuidiang/sobrecarga/sobrecarga.html </li></ul>
  88. 90. Gracias [email_address]

×