1. Escribir la función count_code_lines que cuenta y devuelve la cantidad de líneas
efectivas de código que tiene un archivo .m. El nombre del archivo se recibe como parámetro de entrada. Se debe validar que el archivo exista y pueda abrirse. Se supone que el archivo tiene un formato correcto. Una línea de código es considerada efectiva cuando se puede colocar un breakpoint sobre esa línea (abrir un archivo .m y analizar dónde se permite). También se debe considerar el caso de línea partidas en varios renglones mediante '...'), contándola como una misma línea. La función devuelve la cantidad de líneas efectivas, o el valor -1 si ocurrió algún error.
2. Escribir una función alinear_texto(filename, tipo) que modifique la alineación
de un archivo de texto. El nombre del archivo a leer y sobrescribir se recibe como parámetro de entrada. La función no devuelve nada. El tipo de alineación es recibida en el parámetro tipo y puede ser 'izq', 'der' ó 'cen' (izquierda, derecha o centrado). La cantidad de columnas a considerar para la alineación es determinada por el renglón con la mayor cantidad de caracteres. Se deben ignorar los espacios al principio o fin de cada renglón, que puede tener por una alineación previa. Se deben validar los parámetros ingresados.
3. [ENTREGAR] Escribir una función correct_tab que corrige la tabulación de un
archivo .m de acuerdo con el editor de MATLAB (Ctrl+I). El nombre del archivo a leer y sobrescribir se recibe como parámetro de entrada. La función no devuelve nada. Cada tabulación son 4 espacios. La función debe validar que el archivo existe y es extensión .m. La función debe contemplar archivos .m que tengan ciclos for y while, y selectores if, elseif y else. Estos pueden estar anidados todas las veces que sea necesario. No es necesario que contemple el selector switch, case y otherwise.
4. Escribir una función ordenar_alumnos(filename, criterio) que lee un archivo y
lo reescribe ordenado ascendentemente de acuerdo al criterio indicado. El nombre del archivo se recibe como parámetro de entrada y debe tener extensión .txt, donde cada renglón contiene la información de un alumno. La información consiste en distintos campos separados por ','. Los campos se encuentran ordenados y son los siguientes: apellido, nombre, dni, legajo, nota_cursada, nota_final. El criterio a utilizar para ordenar es el 2do parámetro que recibe la función, cuyo valor es un string que coincide con el campo a ordenar ('apellido', 'nombre', etc…). Los campos numéricos se debe ordenar de forma numérica, mientras que los campos de texto se deben ordenar de forma alfabética. Se deben validar los parámetros ingresados. Se supone que el archivo está bien escrito (si es que existe).