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