Propuesta de solución en Python: py_pdf, también en versión matlab : m_pdf
Algoritmo en Python
# ICM00794-Fundamentos de Computación - FCNM-ESPOL# 2Eva_IIT2007_T4 Fibonacci recursiva# Propuesta: edelros@espol.edu.ecdeffibo(i):
if (i==1) or (i==2):
z = 1
if i>2:
z = fibo(i-1)+fibo(i-2)
return (z)
# PROGRAMA# INGRESO
m = int(input('valor acumulado?:'))
# PROCEDIMIENTO
s = 0
i = 1
while (s<=m):
s = s + fibo(i)
i = i + 1
# SALIDAprint('total de terminos:', i)
print('total acumulado:', s)
resultado del algoritmo
valor acumulado?:50
total de terminos: 9
total acumulado: 54
>>>
valor acumulado?:60
total de terminos: 10
total acumulado: 88
>>>
Propuesta de solución en Python: py_pdf, también en versión matplab: m_pdf
Algoritmo en Python
# ICM00794-Fundamentos de Computación - FCNM-ESPOL# 2Eva_IT2007_T1 Funciones par e impar# Propuesta: edelros@espol.edu.ecimport random as rnd
defimpar(n):
if (n==0):
z = 0
if (n>0):
z = par(n-1)
return (z)
defpar(n):
if (n==0):
z = 1
if (n>0):
z = impar(n-1)
return (z)
# PROGRAMA Par/Impar Recursiva# INGRESO
n = int(input('cuantos números?: '))
# PROCEDIMIENTO
c = 0
i = 1
whilenot(i>n):
a = int(rnd.random()*41)+10
r = par(a)
if (r==1):
c = c + 1
i = i + 1
if c>(n/2):
z = 1
else:
z = 0
# salidaprint(' El resultado de mayoría pares es: ')
print(z)
resultado del algoritmo
cuantos números?: 100
El resultado de mayoría pares es:
1
>>>
cuantos números?: 100
El resultado de mayoría pares es:
0
>>>
Propuesta de solución en Python, ejercicio iniciado en clase como referencia. Se incluyó grabar los datos en un archivo.
Tarea: continúa ejercicio en la siguiente clase, para las opciones no desarrolladas y la función del tema 2
Algoritmo en Python
# ICM00794-Fundamentos de Computación - FCNM-ESPOL# 3Eva_IT2013_T3 Menú de consejerías académicas
estudiante = []
opcion = '0'whilenot(opcion=='7'):
print('1. Ingresar datos de estudiante')
print('2. Ingresar datos de consejero')
print('3. Sorteo de consejeros/estudiantes')
print('4. Mostrar lista de estudiantes por consejero')
print('5. Mostrar consejero de un estudiante')
print('6. Grabar datos')
print('7. Salir')
opcion = input('cual opcion: ')
if (opcion=='1'):
# INGRESO
mtr = input('matricula: ')
nom = input('nombre: ')
ema = input('email: ')
nac = int(input('año nacimiento: '))
whilenot(nac>1900 and nac<2018):
print('usar anos desde el ultimo siglo...')
nac = int(input('año nacimiento: '))
unestudiante = {'matricula':mtr,
'nombre':nom,
'email':ema,
'nacimiento':nac}
estudiante.append(unestudiante)
if (opcion=='4'):
print('los estudiantes registrados son: ')
print(estudiante)
if (opcion=='6'):
print('Guardar datos en archivo...')
narchivo = 'misdatos.txt'
archivo = open(narchivo, 'w')
n = len(estudiante)
i = 0
whilenot(i>=n):
nom = estudiante[i]['nombre']
ema = estudiante[i]['email']
linea = nom +','+ema+ '\n'# str(nac)
archivo.write(linea)
i = i + 1
archivo.close()
Propuesta de solución en Python, continua desde tema 1:
Algoritmo en Python
# ICM00794-Fundamentos de Computación - FCNM-ESPOL# propuesta: edelros@espol.edu.ec# 2Eva_IT2013_T1 Una Tabla de Bingoimport random as rnd
import numpy as np
defsorteoentre(k,a,b):
suertudos = []
i = 0
whilenot(i>=k):
sorteo = int(rnd.random()*(b-a+1))+a
ifnot(sorteo in suertudos):
suertudos.append(sorteo)
i = i+1
return(suertudos)
# 2Eva_IT2013_T2 Una Tabla de Bingo
n = 5
#Rango inicial de B [1,15]
a = 1
b = 15
incremento = 15
# PROCEDIMIENTO
tabla = np.zeros(shape=(n,n),dtype=int)
columna = 0
whilenot(columna>=n):
datos = sorteoentre(n,a,b)
for fila inrange(0,n,1):
tabla[fila,columna]=datos[fila]
a = a + incremento
b = b + incremento
columna = columna + 1
# corrige el cero en la posicion central
mitad = n//2
tabla[mitad,mitad] = 0
# SALIDAprint(tabla)
# ICM00794-Fundamentos de Computación - FCNM-ESPOL# 2Eva_IT2013_T1 Una Tabla de Bingo# propuesta: edelros@espol.edu.ecimport random as rnd
import numpy as np
defsorteoentre(k,a,b):
suertudos = []
i = 0
whilenot(i>=k):
sorteo = int(rnd.random()*(b-a+1))+a
ifnot(sorteo in suertudos):
suertudos.append(sorteo)
i = i+1
return(suertudos)
# ICM00794-Fundamentos de Computación - FCNM-ESPOL# 1Eva_IT2013_T4 Tabular atención al cliente# Tarea: literal c)# calcular promedio dentro de procedimiento# mostrar clientes con atencion menor al promedio en SALIDAimport numpy as np
# INGRESO
n = int(input('cuantos clientes: '))
atencion = np.zeros(n+1, dtype=int)
cuenta = np.zeros(6, dtype=int) # de 0 a 5
cliente = 1
whilenot(cliente>n):
pregunta = 'CLIENTE '+str(cliente)+' evalue: '
nota = int(input(pregunta))
if (nota>=1 and nota<n):
atencion[cliente] = nota
cuenta[nota] = cuenta[nota] + 1
cliente = cliente + 1
# Algoritmo Mayor
mayor = 1
nota = 2
whilenot(nota>5):
if (cuenta[nota]>cuenta[mayor]):
mayor = nota
nota = nota + 1
# SALIDAprint('las evaluaciones fueron: ')
print(cuenta)
print('mayor: ',mayor)
print('evaluacion [mayor]: ',cuenta[mayor])