You are on page 1of 21

Ejercicio 1:

Calcula el mximo comn divisor entre dos


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

You might also like