You are on page 1of 3

28 Julio 2018

Funciones
Subprogramas definidos por el usuarios
-Un subprograma es un fragmento de código que se comporta de manera independiente dentro de un
programa
-Los subprogramas puedes ser invocados varias veces desde otras partes del programa
-Se comunican mediante el pasaje de parámetros
-Cada subprograma tiene su propio espacio de nombres (identificadores locales)
-Algunos identificadores pueden ser compartidos entre subprogramas y el programa principal
(identificadores globales)
-Los subprogramas son una herramienta de modularizacion

LA INTELIGENCIA ARTIFICIAL, ES UN MUNDO GRANDE QUE ESTA DIVIDIDO EN 3 GRUPOS:


LAS GENTE DE OPTIMIZACION (ALGORITMO DE LA HORMIGA…), PROCESO DE MANEJO Y ESTUDIO DEL
LENGUAJE, Y LA CIENCIA DE DATOS.

Ejemplo de funciones:
def factorial (num):
facto = 1
for i in xrange (2, num+1):
facto *= i
return facto
print factorial(2)

-num es un parameotro o argumento


-facto i , son variables locales

CONTROL DE ERRORES
Excepciones: es un problema q puede ocurrir al ingresar algo q no corresponde al programa.

def factorial(num):
try:
facto=1
for x in xrange (2,num+1):
facto*=x
return facto
except:
return "no hay resultado, debe ser un numero"

print factorial('A')

____________________________________________________
def dividir(valor):
resultado= 25/valor
return resultado

print dividir(5)

def dividir(valor):
try:
resultado= 25/valor
return resultado
except:
return "el numero debe ser mayor a cero"

print dividir(0)

Usando while crear una funcion iterativa que permita agregar numero a un arreglo hasta que se infrese un
valor 0, en caso de ingresar una palabra mostrar la frase

"torpe deben ser solo numeros"

y solicita nuevamente otro numero

def agrega_numeros():
variablearreglo=[]
variablearreglo.append(6)
print agrega_numeros()

Entonces queda asi:


def agrega_numeros():
variablearreglo=[]
bandera=True
while bandera:
try:
numero= int(raw_input("ingrese un numero entero"))
if numero!=0:
variablearreglo.append(numero)
else:
bandera =False
except:
print "torpe deben ser solo numeros"

if len(variablearreglo)>0
return variablearreglo
else:
return "nada de nada"

print agrega_numeros()
ALGORITMOS DE BUSQUEDA

- Busqueda sencencial: lo unico q dice q guardo el primero de la lista y revisa los demas si es o no es,
buscando y comparando. Si es arreglo no esta ordenado, se usa el secuencial. El costo de orden superior
n.
- Busqueda binaria: si tengo un arreglo ordenado, lo divide a la mitad. El costo va a tender a tener un
orden logaritmocio, va a tender a aplanarse.

def busquedabinaria (unalista, item):


primero=0
ultimo=len(unalista)-1
encontrado=False

while primero<=ultimo and not encontrado:


puntomedio=(primero + ultimo)//2
if unalista [puntomedio]==item:
encontrado=True
else:
if item < unalista[puntomedio]:
ultimo= puntomedio-1
else:
primero=puntomedio+1
return

listaprueba …………

Tipos de algoritmos:
- Ordenamiento burbuja: teniendo un valor mas liviano salga flote y los mas pesados se hunden. Hasta
llegar al ordenamiento.
- for (i=largo-1; i>0;i--)
- for (j=0,j<i;j++)
- if (a[j]>a[j+1])
- intercambio …………

- Quick-sort: algoritmo que tiene una estructura que trabaja bajo la busqueda binaria, y genera
pequeños arreglos para buscar. Orden log(n/2)

You might also like