Cursos‎ > ‎Cursadas Anteriores‎ > ‎2018‎ > ‎Mañ-Jueves‎ > ‎Bitácora Jueves Mañana 2018‎ > ‎

Clase 01 - 15/03 - Presentación de la materia

publicado a la‎(s)‎ 11 mar. 2018 20:54 por Alf Sanzo   [ actualizado el 15 mar. 2018 10:00 ]

Resumen de la clase

Tarea

  1. Suscribirse a la lista obligatoria (si es que no estás ya suscripto) (Ver el Contrato Cursada Feliz)

  2. Avisarle todo esto a quien conozcan que haya faltado la primera clase.


PostData

El código que les prometí copiarles:

Código original

(mejorando expresividad)

(usando un motor para mejorar declaratividad)

void bobEsponja(int a[], int b, int c[]){

 int d, e = 0;  for (d = 0; d < b; d++) { if (a[d] % 2 == 0) { c[e] = a[d]; e = e + 1; } }

}

void pares(int numeros[], int cantidad, int losPares[]){


 int i, j = 0;


 for (i = 0; i < cantidad; i++){

   if (numeros[i] % 2 == 0) {

     losPares[j] = numeros[i];

     j++;

   }

 }

}

pares = filter even

int jojo(Alumno x){

 int y; int z[] = notasAlumno(x);

 for(y = 0; y < cantNotas(x) ; y++ ){ if ( z[y] < 4) return 0; } return 1;

}

int aprueba(Alumno alumno){

 int i;

 int notas[] = notasAlumno(alumno);

 for(i = 0; i < cantNotas(alumno) ; i++ ){

   if ( notas[i] < 4) return 0;

 }

 return 1;

}

aprueba(Alumno) :- forall(nota(Alumno,Nota), Nota >= 4).


En la materia Sistemas Operativos, les van a dar unas librerías que se llaman las "socommons".
Si se fijan, encontrar los pares se puede hacer declarativamente también en C.

Usando las socommons:

t_list* pares(t_list* numeros){

return list_filter(numeros, (void*) esPar);   

}


bool aprueba(Alumno alumno){

return list_all_satisfy(notasAlumno(alumno), (void*) estaAprobada);   

}


Comments