nmeros mediante el algoritmo de Euclides. Prof. E. Coarita Algoritmo de Euclides
El algoritmo de Euclides es un procedimiento para calcular el m.c.d. de dos nmeros.
Los pasos son:
1: Se divide el nmero mayor entre el menor.
2: Si: 2.1: La divisin es exacta, el divisor es el m.c.d.
2.2:La divisin no es exacta, dividimos el divisor entre el resto obtenido y se contina de esta forma hasta obtener una divisin exacta, siendo el ltimo divisor el m.c.d.
Ejemplo:
m.c.d. (72, 16) = 8
Prof. E. Coarita Prof. E. Coarita Ejercicio 2:
En teora de la computacin, la funcin de Ackermann es una funcin recursiva que toma dos nmeros naturales como argumento y devuelve un nico nmero natural.
Escriba un programa, que determine el nmero de Ackermann cuando se proporcionan los nmeros m y n.
Como norma general se define como sigue: Prof. E. Coarita Prof. E. Coarita Prof. E. Coarita CADENA DE CARACTERES
Una cadena de caracteres (strings) no es ms que un array de caracteres. Las cadenas nos permiten la manipulacin de textos. Declaracin Las cadenas de texto se declaran indicando el tamao mximo de la cadena. char <nombre_de_cadena> [ tamao_mximo ]; Ejemplo: char cabecera[10]; char nombre[8]; Ojo: El tamao de la cadena ha de incluir el carcter nulo \0. Prof. E. Coarita Si se desea declarar una cadena que almacene el texto febrero se puede hacer:
char mes[10]; char mes[8];
char mes[7]; f e b r e r o \O 1 2 3 4 5 6 7 8 INCORRECTO Prof. E. Coarita Ejemplo 1:
Determinar el tamao de la cadena leda. Prof. E. Coarita strcpy: Se utiliza para copiar una cadena de caracteres (fuente) en el lugar que ocupaba otra (destino). Ejm: Si cad1=uno y cad2=dos strcpy(cad1,cad2); cad1=dos strcat: Copia una cadena (fuente) en otra (destino) concatenando en una sola. Ejm: strcat(cad1,cad2); cad1=unodos strlen: Esta funcin devuelve el total (entero) de caracteres que conforman una cadena (excluyendo el caracter nulo \0). Ejm: N=strlen(cad1); N=3
Funciones Asociadas al Manejo de cadenas de caracteres Se encuentra en la biblioteca <string.h> Prof. E. Coarita strcmp: Compara dos cadenas. La funcin strcmp recibe dos cadenas, cad1 y cad2, devuelve un entero. El entero que resulta de efectuar la llamada strcmp(cad1, cad2) codifica el resultado de la comparacin:
Comparando Valor cad1<cad2 <0 cad1>cad2 >0 cad1=cad2 0 Prof. E. Coarita 1: Usando la instruccin typedef: Permite definir un nuevo tipo de datos en funcin de tipos ya conocidos. Ejm: typedef char nombre[30];
nombre lista[20];
Arrays de cadenas Para almacenar vrios datos de tipo cadena en un array, podemos hacerlo de varias formas: lista= "uno" "dos" "tres" 0 1 19 Prof. E. Coarita Ejemplo 2.a: Leer n cadenas y ordenarlas en forma ascendente a su longitud de caracteres. (usando typedef) Prof. E. Coarita char <nombre_de_cadena> [ nfilas ][ancho_cadena]; 2: Usando un array de dos dimensiones:
Ejm:
char lista [20][30];
0 1 2 3 4 29 lista= 0 u n o \O 1 d o s \O 19 d i e c i Prof. E. Coarita Ejemplo 2.b: Leer n cadenas y ordenarlas en forma ascendente a su longitud de caracteres. (usando array de dos dimensiones) Prof. E. Coarita NOTA:
Funcin scanf:
Lee hasta el espacio en blanco o el salto de linea (lo que encuentra primero) y guarda la cadena agregando el carcter nulo al final. scanf(%s,&cadena);
Funcin gets(): Lee inclusive hasta espacios en blanco, hasta encontrar el salto de linea y guarda la cadena agregandole el carcter nulo al final. gets(cadena);
Prof. E. Coarita Ejercicio 3:
Escribir un programa que ingrese una cadena de caracteres y devuelva la palabra con mayor cantidad de vocales, indicando cuantas vocales son.
Adems la frase almacene en un archivo. Lea la frase del mismo archivo
Ejemplo:
Ingrese frase: peru vs bolivia Bolivia con 4 vocales Prof. E. Coarita Prof. E. Coarita Prof. E. Coarita (Para Jueves 5 Diciembre) TAREA 1: Hacer un programa que verifique la validez de un cdigo ingresado por teclado.
Para determinar la validez del cdigo, se realizar los siguientes pasos:
1.- Transformar el cdigo a nmeros, asignando a cada uno de sus caracteres el residuo de la divisin del cdigo ASCII del carcter con el nmero 10. 2.- Se verificar si el nmero resultante del paso anterior pertenece a una lista dada en el archivo numeros.txt. Finalmente si el resultado del paso anterior es afirmativo el cdigo ser dado por vlido, caso contrario ser invlido. Cdigo: a D B e 2 3 ASCII: 97 68 66 101 50 51 Residuos: 7 8 6 1 0 1 Nmero: 786101 Verificacin: Pertenece a la lista Resultado: Valido Ingrese cdigo: aDBe23 El cdigo ingresado es Valido numeros.txt 776023 784021 786101 904562 Prof. E. Coarita TAREA 2:
Empleando funciones, determinar la determinante de una matriz de dimensin nxn.
- Almacenar la matriz y el resultado en un archivo matriz.txt Prof. E. Coarita