La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

ALGORITMOS Y ESTRUCTURAS DE DATOS Operaciones sobre cadenas de caracteres y Funciones LIA. Suei Chong Sol.

Presentaciones similares


Presentación del tema: "ALGORITMOS Y ESTRUCTURAS DE DATOS Operaciones sobre cadenas de caracteres y Funciones LIA. Suei Chong Sol."— Transcripción de la presentación:

1 ALGORITMOS Y ESTRUCTURAS DE DATOS Operaciones sobre cadenas de caracteres y Funciones LIA. Suei Chong Sol.

2 Tipo CARACTER Las variables carácter contienen un único caracter y se almacenan en un byte de memoria. Declarar variable char: char letra; char letra1, letra2, letra3; Inicializar la variable: char letra= ‘a’ a letra

3 Otros comandos para variables tipo caracter Con eco: getchar, getche Sin eco: getch Ejemplo: char x; x=getche(); x=getch(); if ((x=getche())==‘r’) *** La diferencia básica con scanf ó cin es que aquí no se usa el enter después de entrar el dato

4 Cadena. Es un tipo de dato compuesto, un arreglo de caracteres (char), terminado por un carácter nulo(\0). Una cadena es “ABC”. Es un array de cuatro elementos de tipo char ABC\0 char cad[] = “control” cad tiene 8 caracteres: c,o,n,t,r,o,l,\0

5 Inicialización de variables char texto1[81]=“Esto es una cadena”; char texto2[255]=“Esta es una cadena muy larga”; char texto3[]=“¿Cuál es la longitud de esta cadena?”;

6 Lectura de Cadenas La lectura usual de cadenas con scanf utilizando %s no acepta espacios intermedios, por lo que se puede utilizar: gets(var); cin.getline(var);

7 Ejemplo: #include void main () { char nombre[30]; int edad; char clave; clrscr(); printf(”Quién eres?”); gets(nombre); printf(“Edad? “); scanf(“%d”,&edad); printf(“Clave?\n “); clave=getche(); printf(“Hola %s, tienes %d años y tu clave es: %c”,nombre,edad,clave); }

8 #include int main(void) { char cad1[20] ="hola"; char cad2[20] ="adios"; char cad3[20]; int diff, largo; clrscr(); cout <<"cadena1 = " <<cad1 <<"\ncadena2 = "<< cad2<<endl; diff = strcmp(cad1,cad2); if (diff == 0) cout<<"cadena1 y cadena2 son cadenas equivalentes\n\n"; else if (diff > 0) cout<<"cadena1 es mas grande que cadena2\n\n"; else cout<<"cadena1 es mas pequeña que cadena2\n\n"; Ejemplo de Funciones de Cadena

9 strcpy (cad3, cad1); cout<<"strcpy (cad3, cad1)" <<"\ncadena1 = " <<cad1 <<"\ncadena2 = " <<cad2 <<"\ncadena3 = "<< cad3; strcat (cad2, cad3); cout<<"\nstrcat (cad2, cad3)" << "\ncadena1 = "<<cad1<<"\ncadena2 = " <<cad2 <<"\ncadena3 = "<< cad3; largo = strlen (cad2); cout<<"\nEl largo de la cadena2 es "<<largo; cin.get(); return (0); }

10 Librería: ctype.h Este archivo de cabecera analiza el tipo de caracter dependiendo de la función mandada a llamar. El caracter puede ser mandado a la función como un número entero o como un caracter (variable o encerrado entre apóstrofos). Si la función determina que no es ese tipo de caracter regresa el valor de 0 (que para C es un valor de falso) y otro valor si lo es (para C es un valor de verdadero). Estas funciones están construidas a través de macros. Ejemplo:

11 isalpha int isalpha (int c) Determina si el caracter c es una letra del alfabeto (de la a a la z sin distinguir entre mayúsculas y minúsculas). Si no es letra regresa un valor cero, de lo contrario regresa un valor distinto de cero. Ejemplo: ProgramaSalida void main (void) { char letra; letra=getche(); if (isalnum(letra)) printf("\n%c es una letra", letra); else printf("\n%c no es una letra", letra); } Si letra='r' "r es una letra" Si letra='W' "W es una letra" Si letra='$' "$ no es una letra"

12 isalnum int isalnum (int c) Determina si el caracter c es una letra del alfabeto (de la a a la z sin distinguir entre mayúsculas y minúsculas) o un dígito. Si no es letra o dígito regresa un valor cero, de lo contrario regresa un valor distinto de cero. Ejemplo: Programa void main (void) { char letra; letra=getche(); if (isalnum(letra)) printf("\n%c es una letra o número", letra); else printf("\n%c no es una letra ni número", letra); } Si letra='r' "r es una letra o número" Si letra='7' "7 es una letra o número" Si letra='$' "$ no es una letra ni número"

13 FUNCIONES

14 Programación Modular ¿Qué es programación modular? Uno de los métodos más conocidos para resolver un problema es dividirlo en problemas más pequeños, llamados subproblemas. De esta manera, en lugar de resolver una tarea compleja y tediosa, resolvemos otras más sencillas y a partir de ellas llegamos a la solución. Esta técnica se usa mucho en programación ya que programar no es más que resolver problemas, y se le suele llamar diseño descendente, metodología del divide y vencerás o programación top-down. Es evidente que si esta metodología nos lleva a tratar con subproblemas, entonces también tengamos la necesidad de poder crear y trabajar con subprogramas para resolverlos. A estos subprogramas se les suele llamar módulos, de ahí viene el nombre de programación modular.

15

16 Definición de subprogramas: funciones En un subprograma hay que distinguir dos aspectos fundamentales: La definición del subprograma: Es la especificación de los parámetros de entrada y salida y las sentencias del subprograma. La llamada al subprograma: Es una sentencia que pasa el control del programa al subprograma. Cuando el subprograma acaba su ejecución, el control vuelve a la sentencia siguiente a la llamada. Un subprograma puede necesitar o devolver datos. A estos datos se les denomina parámetros. Los parámetros pueden ser de entrada o de salida. Los parámetros que se incluyen en la definición del subprograma se denominan parámetros formales. Los parámetros que se pasan al subprograma en la llamada se denominan parámetros reales.

17 Definición de funciones Tipo Nombre(lista de parámetros) Cabecera de la función { Declaraciones Instrucciones Cuerpo de la función return Valor; } Donde tipo es el tipo del dato de salida, nombre es un identificador que representa el nombre de la función, lista de parámetros es una lista de parámetros separados por comas, donde cada parámetro se declara como en una declaración de variables normal. Mediante la instrucción return se indica el valor que devolverá la función al acabar su ejecución.

18 Definición del subprograma void main() { Int S, v1, v2; cin >> v1; cin >> v2; S = suma(v1,v2); cout << S; } Llamada al subprograma Int suma(int a, int b) { Int resultado = 0; resultado = a + b ; return resultado; }

19 int suma(int a, int b) { int resultado = 0; resultado = a + b ; return resultado; } int resta(int a, int b) { int resultado = 0; resultado = a - b ; return resultado; } int multi(int a, int b) { int resultado = 0; resultado = a * b ; return resultado; } float div(int a, int b) { int resultado = 0; resultado = a / b ; return resultado; } void main() { int S,R,M, v1, v2; float D; printf(“Dame el primer num”); scanf(“%d”,&v1); printf(“Dame el seg num”); scanf(“%d”,&v2); S = suma(v1,v2); R = resta(v1,v2); M = multi(v1,v2); D = division(v1,v2); printf (“%d,%d,%d,%f ”,S,R,M,D); } “Calculadora” Ejemplo de Funciones


Descargar ppt "ALGORITMOS Y ESTRUCTURAS DE DATOS Operaciones sobre cadenas de caracteres y Funciones LIA. Suei Chong Sol."

Presentaciones similares


Anuncios Google