Está en la página 1de 7

Algoritmo ¿Que problema resuelve?

llenaMatriz (){ Llena una matriz de alumnos con su


num_alumnos
escribe ("Ingrese el número de alumnos: ") nombre y notas obtenidas en tres
leer num parciales
alumnos = [num, 4]
Para (i = 0i< num-1;i++)
Escribe ("Ingrese el nombre del alumno " + (i+1) + ": ") ¿Hay datos de entrada?
Lee nombre
escribe("Ingrese la nota del primer parcial del alumno " + (i+1) + ": ")
lee nota 1

escribe ("Ingrese la nota del segundo parcial del alumno " + (i+1) + ": ")
lee nota 2
escribe ("Ingrese la nota del tercer parcial del alumno " + (i+1) + ": ")
lee nota 3
alumnos[i][0] = nombre
alumnos[i][1] = nota1
alumnos[i][2] = nota2
alumnos[i][3] = nota3
}
devolver alumnos, num
}

¿Sí los datos de entrada crecen, las


Función Complejidad Temporal Peor Caso operaciones también?

Escribe 1 1
Lee 1 1 tamP= Num Si el valor es 1 ir
Alumnos= 1 1 a calcular las
I= num+2 tamP+1 complejidades
I< num+2 tamP+1
Escribe (num+1)*4 4 tamP ¿Puede tomar tamP valores 0 o
negativos?
Lee (num+1)*4 4tamP
Si( ) No ( )
Alumnos[ ] [ ] (num+1)*4 4tamP
Alumnos [ ] [ ] = (num+1)*4 4tamP Sí la respuesta es Afirmativa, ajustar
Regresa i++ 1 1 tamP incrementando 1 unidad.
Sí la respuesta es Negativa, ir a calcular
complejidades.

Ahora tamP= Num+1

Función Complejidad Espacial.

num 1
Alumnos [ ] [ ] num *4
I
Nota 1 1
Nota 2 1
Nota 3 1

Fctpeorcaso(tamp)=18tamP+6 fce(tamP)= 4tamP+4

Función Complejidad Temporal Estimada

¿Quién es la O.B? = fctest(tamP)= #VecesO.B * CostoO.b


4tamP *1 = 4tamP
¿Cuánto me cuesta hacer la O.B? 1 unidad

¿Cuántas veces se hace la O.B? 4tamP


Algoritmo ¿Que problema resuelve?
Procedimiento CalcularPromedioGeneral(alumnos){ Calcula el promedio general de un
suma = 0 conjunto de alumnos.
float promedio_g
Para (i = 0; i< longitud(alumnos)-1; i++){
suma = suma + (alumnos[i][1] + alumnos[i][2] + alumnos[i][3]) ¿Hay datos de entrada?
}
promedio_general = suma / (longitud(alumnos) * 3) sí
devolver promedio_g
}

¿Sí los datos de entrada crecen, las


Función Complejidad Temporal Peor Caso operaciones también?

Suma=0 1 1
I= long+2 tamP+1 tamP= Long(alumnos) Si el valor
I< long+2 tamP+1 es 1 ir a
Alumnos[][1] long+1 tamP calcular
Alumnos[][2] long+1 tamP las
Alumnos[][3] long+1 tamP complejida
Suma+ long+1 tamP des
Suma= long+1 tamP
Long*3 1 1 ¿Puede tomar tamP valores 0 o
/ 1 1 negativos?
Promedio= 1 1 Si( ) No ( )
Regresa 1 1
I++ long+1 tamP Sí la respuesta es Afirmativa, ajustar
tamP incrementando 1 unidad.
Sí la respuesta es Negativa, ir a
calcular complejidades.

Ahora tamP=long(alumnos)+1

Función Complejidad Espacial.

Suma 1
I 1
Promedio_g 1
Alumnos 1

Fctpeorcaso(tamp)=8tamP+7
fce(tamP)=4

Función Complejidad Temporal Estimada

¿Quién es la O.B? / fctest(tamP)= #VecesO.B * CostoO.b

¿Cuánto me cuesta hacer la O.B? 1 unidad 1*1=1

¿Cuántas veces se hace la O.B? 1 vez


Algoritmo ¿Que problema resuelve?
CalcularPromParcial(alumnos, num_parcial){ Calcula el promedio de un examen
suma = 0 parcial de un conjunto de alumnos
promedio_parcial
Para( i = 0;i< longitud(alumnos)-1;i++){
suma = suma + alumnos[i][num_parcial] ¿Hay datos de entrada?
}

promedio_parcial = suma / longitud(alumnos)
regresapromedio_parcial
}

¿Sí los datos de entrada crecen, las


Función Complejidad Temporal Peor Caso operaciones también? sí

Suma=0 1 1
I= long +2 tamP+1 tamP= Long(alumnos)
Si el valor es 1 ir
I< long+2 tamP+1 a calcular las
Alumnos[ ][ ] long+1 tamP complejidades
Suma+ long+1 tamP
Suma= long+1 tamP ¿Puede tomar tamP valores 0 o
/ 1 1 negativos?
Promedio= 1 1 Si( ) No ( )
Regresa 1 1
I++ long+1 tamP Sí la respuesta es Afirmativa, ajustar
tamP incrementando 1 unidad.
Sí la respuesta es Negativa, ir a
calcular complejidades.

Ahora tamP= Long(alumnos)+1

Función Complejidad Espacial.

Suma 1
I 1
Alumnos 1
Num_parcial 1
Promedio_parcial 1

fce(tamP)= 5
Fctpeorcaso(tamp)=6 tamP+6

Función Complejidad Temporal Estimada

¿Quién es la O.B? / fctest(tamP)= #VecesO.B * CostoO.b

¿Cuánto me cuesta hacer la O.B? 1 unidad 1*1=1

¿Cuántas veces se hace la O.B? 1vez

Algoritmo ¿Que problema resuelve?


CalcularMaxPar(alumnos,num_parcial){ Devuelve el promedio maximo de un
maximo = alumnos[0][num_parcial] examen parcial de un conjunto de
Para( i = 1;i< longitud(alumnos)-1; i++){ alumnos
Si alumnos[i][num_parcial] > maximo
maximo = alumnos[i][num_parcial] ¿Hay datos de entrada?
}
regresa maximo sí

¿Sí los datos de entrada crecen, las


Función Complejidad Temporal Peor Caso operaciones también?

maximo=0 1 1 tamP= Long(alumnos)


Si el valor es 1 ir
I= long +2 tamP+1 a calcular las
I< long+2 tamP+1 complejidades
Alumnos[ ][ ] long+1 tamP
> long+1 tamP ¿Puede tomar tamP valores 0 o
maximo= long+1 tamP negativos?
Regresa 1 1 Si( ) No ( )
I++ long+1 tamP
Sí la respuesta es Afirmativa, ajustar
tamP incrementando 1 unidad.
Sí la respuesta es Negativa, ir a
calcular complejidades.

Ahora tamP= Long(alumnos)+1

Función Complejidad Espacial.

Maximo 1
I 1
Alumnos 1

Función Complejidad Temporal Estimada

¿Quién es la O.B? > fctest(tamP)= #VecesO.B * CostoO.b

¿Cuánto me cuesta hacer la O.B? 1 unidad tamP*1 = tamP

¿Cuántas veces se hace la O.B? tamP veces

Algoritmo ¿Que problema resuelve?


CalcularMinPar(alumnos,num_parcial){ Devuelve el promedio minimo de un
minimo = alumnos[0][num_parcial] examen parcial de un conjunto de
Para( i = 1;i< longitud(alumnos)-1; i++){ alumnos
Si alumnos[i][num_parcial] < minimo
minimo = alumnos[i][num_parcial] ¿Hay datos de entrada?
}
regresa minimo sí

¿Sí los datos de entrada crecen, las


Función Complejidad Temporal Peor Caso operaciones también?

minimo= 1 1 tamP= Long(alumn Si el valor es 1 ir


os) a calcular las
I= long +2 tamP+1
I< long+2 tamP+1 complejidades
Alumnos[ ][ ] long+1 tamP
> long+1 tamP ¿Puede tomar tamP valores 0 o
maximo= long+1 tamP negativos?
Regresa 1 1 Si( ) No ( )
I++ long+1 tamP
Sí la respuesta es Afirmativa, ajustar
tamP incrementando 1 unidad.
Sí la respuesta es Negativa, ir a
calcular complejidades.

Ahora tamP= Long(alumnos)+1

Función Complejidad Espacial.

Minimo 1
I 1
Alumnos 1
Num_parcial 1

Fctpeorcaso(tamp)=6 tamP+4
fce(tamP)= 4

Función Complejidad Temporal Estimada

¿Quién es la O.B? < fctest(tamP)= #VecesO.B * CostoO.b

¿Cuánto me cuesta hacer la O.B?1 unidad tamP*1 = tamP

¿Cuántas veces se hace la O.B? tamP veces

Algoritmo ¿Que problema resuelve?

PromMaximo(alumnos){ Regresa el promedio maximo general


maximo = alumnos[0][1] + alumnos[0][2] + alumnos[0][3] obtenido entre un conjunto de alumnos
Para (i = 1; i< longitud(alumnos)-1;i++){ ¿Hay datos de entrada?
suma = alumnos[i][1] + alumnos[i][2] + alumnos[i][3]
Si suma > maximo sí
Maximo=suma
}
Regresa maximo/3
}

¿Sí los datos de entrada crecen, las


Función Complejidad Temporal Peor Caso operaciones también?

Alumnos[ 0][1] 1 1
Alumnos[0][2] 1 1 tamP= Long(alumn Si el valor es 1 ir
os) a calcular las
+ 1 1
Alumnos[0][3] 1 1 complejidades
+ 1 1
Maximo= 1 1 ¿Puede tomar tamP valores 0 o
I= long+2 tamP+1 negativos?
I< long+2 tamP+1 Si( ) No ( )
Alumnos[][1] long+1 tamP
Alumnos[][2] long+1 tamP Sí la respuesta es Afirmativa, ajustar
Alumnos[][3] long+1 tamP tamP incrementando 1 unidad.
Suma = long+1 tamP Sí la respuesta es Negativa, ir a
> long+1 tamP calcular complejidades.
Maximo= long+1 tamP
Regresa 1 1
I++ long+1 tamP Ahora tamP= Long(alumnos)+1

Función Complejidad Espacial.

Alumnos 1
Maximo 1
I 1
Fctpeorcaso(tamp)=9 tamP+9 Suma 1

fce(tamP)=4

Función Complejidad Temporal Estimada

¿Quién es la O.B? > fctest(tamP)= #VecesO.B * CostoO.b

¿Cuánto me cuesta hacer la O.B? 1 unidad tamP*1=tamP

¿Cuántas veces se hace la O.B?tamP veces

Algoritmo ¿Qué problema resuelve?

Main( ){ Es la lógica principal de un programa que sirve para


Alumnos [ ] [ ] calcular el promedio de exámenes parciales y
num promedio general
Promedio_general
¿Hay datos de entrada?
Promedio_parcial sí
Max_par
Min_par
max
alumnos num = llenaMatriz() ;
promedio_general=CalcularPromGeneral(alumnos);
promedio_parcial=CalcularPromParcial(alumnos,n
um);
Max_par= CalcularMaxPar(alumnos,num);
Min_par=CalcularMinPar(alumnos, num);
max= PromMaximo(alumnos);

escribe(“el promedio general del grupo es de:


“,promedio_general);
escribe(“el promedio parcial del grupo es de:
“,promedio_parcial);
escribe(el promedio maximo obtenido en el
parcial es de: “, Max_par);
escribe(el promedio minimo obtenido en el
parcial es de: “, Min_par);
escribe(“el promedio maximo obtenido es de:
“,max);
}

¿Sí los datos de entrada crecen, las


Función Complejidad Temporal Peor Caso operaciones también? sí

Alumnos num = 1 1 tamP= num Si el valor es 1 ir a


calcular las
Promedio_general= 1 1 complejidades
Promedio_parcial= 1 1
¿Puede tomar tamP valores 0 o negativos?
Max_par= 1 1 Si( ) No ( )
Min_par= 1 1
Max= 1 1 Sí la respuesta es Afirmativa, ajustar tamP
incrementando 1 unidad.
Escribe 5 5 Sí la respuesta es Negativa, ir a calcular
complejidades.

Ahora tamP= Num+1

Función Complejidad Espacial.

Alumnos [ ] [ ] num*4 4tamP-4


Num 1 1
Promedio_general 1 1
Promedio_parcial 1 1
Max_par 1 1
Min_par 1 1
max 1 1
contador 1 1
Fctpeorcaso(tamp)=11
fce(tamP)= 4tamp+3

Función Complejidad Temporal Estimada

¿Quién es la O.B?= fctest(tamP)= #VecesO.B * CostoO.b


¿Cuánto me cuesta hacer la O.B? 1 unidad
6 *1 = 6
¿Cuántas veces se hace la O.B? 6 veces

Fct total = fct main +∑ fct modulos


Fct total = 11 + 18 (num+1)+6+8(num+1)+7+6(num+1)+6+2(6(num+1)+4)+9(num+1)+9
Fct total = 53(num+1) +47
Fct total =53 tamP + 47

También podría gustarte