Está en la página 1de 2

Primer Práctico: Realizar de los siguientes ejercicios sobre archivos:

a) Scripts en Python
b) Diagramas de Flujos

Ejercicios:

1. Según el archivo /etc/passwd (https://e-mc2.net/es/sobre-el-archivo-etcpasswd), mostrar en formato


humano cada línea. P.e., si existe una línea con la información:

lperez:FXWUuZ.vwXttg:500:501:usuario Luis Perez:/home/lperez:/bin/bash

El script deberá mostrar:

Usuario=lperez, Descripcion=usuario Luis Perez, Directorio Home=/home/lperez, Shell=BASH

-> El script debería mostrar una línea en formato humano, por cada línea del archivo /etc/passwd

2. Escribir una función que pida un número entero entre 1 y 10 y guarde en un archivo con el nombre
tabla-n.txt la tabla de multiplicar de ese número, done n es el número introducido.

3. Escribir una función que pida un número entero entre 1 y 10, lea el archivo tabla-n.txt con la tabla de
multiplicar de ese número, done n es el número introducido, y la muestre por pantalla. Si el fichero no
existe debe mostrar un mensaje por pantalla informando de ello.

4. Escribir una función que pida dos números n y m entre 1 y 10, lea el archivo tabla-n.txt con la tabla de
multiplicar de ese número, y muestre por pantalla la línea m del archivo. Si el archivo no existe debe
mostrar un mensaje por pantalla informando de ello.

5. Escribir un programa que acceda a un archivo mediante su ruta y nombre, y muestre por pantalla el
número de palabras que contiene.

6. Escribir un programa que abra el archivo con información sobre los PPAs de su curso (se lo pueden
inventar los datos), pregunte por el registro de un compañero y muestre el PPA de ese compañero.

7. Escribir un programa para gestionar una lista telefónica con los nombres y los teléfonos de los clientes
de una empresa. El programa incorporar funciones crear el archivo con la lista si no existe, para
consultar el teléfono de un cliente, añadir el teléfono de un nuevo cliente y eliminar el teléfono de un
cliente. La lista debe estar guardado en el fichero de texto lista.txt donde el nombre del cliente y su
teléfono deben aparecer separados por comas y cada cliente en una línea distinta.

8. El archivo cotizacion.txt contiene las cotizaciones de las empresas de la CAINCO con las siguientes
columnas: Nombre (nombre de la empresa), Final (precio de la acción al cierre de bolsa), Máximo
(precio máximo de la acción durante la jornada), Mínimo (precio mínimo de la acción durante la
jornada), Volumen (Volumen al cierre de bolsa), Efectivo (capitalización al cierre en miles de bolivianos).
Cada dato está separado por coma y cada empresa por un salto de línea.

a) Construir una función reciba el archivo de cotizaciones y devuelva un diccionario con los datos del
fichero por columnas.
b) Construir una función que reciba el diccionario devuelto por la función anterior y cree un archivo en
formato txt con el mínimo, el máximo y la media de dada columna.

9. El archivo calificaciones.txt contiene las calificaciones de un curso. Durante el curso se realizaron dos
exámenes parciales de teoría y un examen de prácticas. Los alumnos que tuvieron menos de 40 en
alguno de estos exámenes pudieron repetirlo al final del curso (convocatoria ordinaria). A parte de
registrar la calificación en alguna columna puede existir NA=No asistente. Escribir un programa que
contenga las siguientes funciones:

a) Una función que reciba el archivo de calificaciones y devuelva una lista de diccionarios, donde cada
diccionario contiene la información de los exámenes y la asistencia de un alumno. La lista tiene que
estar ordenada por apellidos.

b) Una función que reciba una lista de diccionarios como la que devuelve la función anterior y añada a
cada diccionario un nuevo par con la nota final del curso para el respectivo estudiante. El peso de cada
parcial de teoría en la nota final es de un 30% mientras que el peso del examen de prácticas es de un
40%.

c) Una función que reciba una lista de diccionarios como la que devuelve la función anterior y devuelva
dos listas, una con los alumnos aprobados y otra con los alumnos reprobados. Para aprobar el curso, la
asistencia tiene que ser mayor o igual que el 80%, la nota de los exámenes parciales y de prácticas
mayor o igual que 40 y la nota final mayor o igual que 51.

10. Según el archivo /etc/network/interfaces


(http://fpg.66ghz.com/DebianRed/etcnetworkinterfaces.html?i=1), mostrar en formato humano cada
interfaz de red. P.e., si existe una interfaz con la información:

auto eth1
iface eth1 inet static
address 172.16.11.100
netmask 255.255.0.0
gateway 192.168.11.1

El script deberá mostrar:

Interfaz=eth1, Tipo=estático, Dirección IP=172.16.11.100, Máscara de Red=255.255.0.0, Puerta de


Enlace=192.168.11.1

Los tipos son:


- lo = loopback
- dhcp = automático
- static = estático

Los tipos lo y dhcp no tienen dirección IP, máscara de red ni puerta de enlace en el archivo.

-> El script debería mostrar una línea en formato humano, por cada interfaz del archivo
/etc/network/interfaces.

También podría gustarte