Cadenas
En C las cadenas se representan con un arreglo de caracteres, ejemplo:
char cad[20];
Una cadena debe terminar con el carcter \0, por lo que una cadena puede recorrerse usando while( cad[i] != \0) printf(%c, cad[i++]);
Grupo de Investigacin de Sistemas Inteligentes
Funciones de Cadenas
Para imprimir una cadena
printf(%s, cad);
Funciones de cadenas
Estas funciones requieren de la librera string.h Longitud de una cadena
strlen(cad);
Otras Funciones
Estas funciones requieren de la librera ctype.h Para cambiar un carcter a mayusculas
c2= toupper(c)
Ejercicios Cadenas
Escribe una funcin que regrese la longitud de una cadena Escribe una funcin que copie una cadena a otra Escribe una funcin que compare dos cadenas
Ejercicios cadenas
Escribe una funcin que convierta una cadena a mayusculas Escribe una funcin que convierta una cadena a minusculas
Ejercicios Cadenas
Escribe una funcin que busque una subcadena en una cadena y regrese la primera aparicin de dicha cadena, ejemplo, sea cad igual a Un sistema inteligente es capaz de percibir, razonar, aprender, y actuar de forma inteligente. busca(cad, inteligente)
Regresa: 11
busca(cad, hola)
Regresa: -1
Grupo de Investigacin de Sistemas Inteligentes
Ejercicios Cadenas
Escribe una funcin busca que tome como tercer argumento la posicin inicial donde se busca la cadena busca(cad, inteligente, 0)
Regresa: 11
busca(cad, hola, 0)
Regresa: -1
Grupo de Investigacin de Sistemas Inteligentes
Ejercicios Cadenas
Escribe una funcin que reciba una cadena y una subcadena como parmetros, y regrese el nmero de veces que la subcadena se encuentra en la cadena. Ejemplo: Hola Mario, Hola Juan, Hola Paty, Hola Sofia, Cuenta(cad, Hola)
Regresa: 4
Cuenta(cad, Adios)
Regresa: 0
Grupo de Investigacin de Sistemas Inteligentes
Notas
Se puede definir una cadena char cad[50]={Sistemas Inteligentes"};
Sentencia Break
La sentencia break, sirve para romper ciclos, por ejemplo: i=1; Cul es la salida de este programa? while(1){ printf(%d , i); i++; if (i== 100) break; }
Grupo de Investigacin de Sistemas Inteligentes
Listas
Matemticamente, una lista es una secuencia de cero o ms elementos de un tipo dado (el cual generalmente es llamado tipo_elemento). Usualmente una lista se representa por una secuencia de elementos separados por comas
a1, a2, . , an
Listas
El nmero n se conoce como la longitud de la lista. Asumiendo que n>=1, decimos que a1 es el primer elemento y que an es el ltimo elemento Si n es igual a cero, decimos que la lista est vacia
En este caso los elementos son enteros pero podran ser de cualquier otro tipo, incluso otra estructura.
Grupo de Investigacin de Sistemas Inteligentes
Tarea
Implementar las operaciones bsicas de listas usando funciones
Pilas
Una pila es un tipo de dato abstracto similar a una lista, la estructura de datos que utiliza es la misma que definimos para la lista. La diferencia se encuentra en la forma de insertar y eliminar elementos, ya que en la Pila es ms restrictiva.
Pilas
Una Pila es una estructura LIFO (Last In First Out), en el que el ltimo elemento en entrar es el primero en salir. Por ejemplo: push(10,P) push(20,P) push(30,P) Tenemos que P es: 10, 20, 30 pop(P) regresa 30, y la Pila queda: 10, 20
Grupo de Investigacin de Sistemas Inteligentes
Tarea
Implementar las operaciones bsicas de una pila
Tarea
Implementar las operaciones bsicas de una Fila
Ejercicio
Para evaluar una expresin aritmtica podemos usar dos pilas, una que almacene los operandos y otra los operadores. Por ejemplo: 2+3*4 P1: 2, 3 P2: +, Dado que el *, tiene ms prioridad que el +, se mete a la pila el * y el operando P1: 2, 3, 4 P2: +, * Al final, se evalan todos los operadores de la pila. Para evaluar la pila se saca un operador *, dos operandos, se evalan y se mete a la pila de operandos el resultado P1: 2, 12, P2: +, Se repite lo mismo con el +, y tenemos P1: 14 P2:
Ejercicio
Para evaluar una expresin aritmtica podemos usar dos pilas, una que almacene los operandos y otra los operadores. Por ejemplo: 2-3+4 P1: 2, 3, P2: Como el operador + tiene la misma prioridad que el - , se evalua la pila
P1: -1 P2:
Se mete a la pila el + y luego el 4 P1: -1,4 P2: + Al final se evaluan todos los operandos de la pila P1: 3 P2:
Ejercicio
Modifica el ejercicio anterior para que incluya parentesis.