Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


Examen Programacion IC, Exámenes de Programación Informática

Examen laboratorio con solucion

Tipo: Exámenes

2021/2022

Subido el 03/02/2023

Kawaii_bd
Kawaii_bd 🇪🇸

5

(1)

5 documentos

1 / 4

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
Fundamentos de la Programación - GIC - Grupos de mañana. Laboratorio PL2.
Normas: Para la realización de este examen solo podrá usar la biblioteca externa recordclass. Puede usar
los servicios comunes a secuencias. Puede interesarle saber que ord(‘9’)=57 y ord('A')=65 y que cualquier
detección de fraude supone el suspenso automático en la asignatura.
Entrega: En la actividad del aula virtual, un único archivo llamado ‘PL2_ Apellido1_Apellido2_Nombre.py’.
Enunciado: La gestión de un concesionario de coches está informatizada porque disponen de una gran
cartera de clientes y un gran stock. Para facilitar las búsquedas en la tabla de stock, los vehículos se
encuentran ordenados por matrícula, de cada vehículo nos interesa la matrícula, marca, modelo y precio,
los nuevos vehículos se insertan en su posición correspondiente. El sistema también almacena los datos de
los clientes que se han interesado por un vehículo, de cada cliente se almacena nombre, apellidos,
dirección y teléfono. Un cliente puede estar interesado en varios coches (o ninguno aún), y por un coche se
pueden interesar varios clientes (o ninguno). Cuando un coche se vende, desaparece del stock, sin
embargo, los datos de un cliente nunca desaparecen de sistema y su información se almacena en orden de
aparición. El 18 de septiembre de 2000 Tráfico instauró el actual sistema de matrículas, que constan de
cuatro dígitos y tres letras consonantes (suprimiéndose las cinco vocales, y las letras Ñ y Q).
Las estructuras de datos diseñadas para la aplicación son:
tCoche = recordclass('Coche', 'matricula marca modelo precio')
#tStock = lista [variable] de tCoche ordenados alfabéticamente
tCliente = recordclass('Cliente', 'nombre, apellidos, direccion, telefono')
#tClientes = lista[variable] de tCliente
tInteresado = recordclass('Interesado', 'coche, usuario')
#coche es una matrícula, usuario es su posición en la lista de clientes.
#tInteresados = lista[variable] de tInteresado
Ejemplo:
Matrícula Marca Modelo Precio
0410FXB PEUGEOT 207 12000
1345BBB OPEL Corsa 11220
2345CJK MERCEDES Clase A 34837
Nombre Apellidos Dirección Teléfono
Rut Pérez Mayor 33 666666666
María López B 22 677777777
José Ortega Perú 44 688888888
Ejercicio 1 (3 puntos): Haga una función que localice y devuelva un coche del stock conocida su matrícula.
Debe emplear el algoritmo más eficiente posible y justificar su elección.
Ejercicio 2 (2 puntos): Diseñe un algoritmo recursivo que, dada la lista de interesados y una matrícula,
muestre los datos de cada cliente interesado en ese vehículo.
Ejercicio 3 (2 puntos): Haga una función que reciba una cadena de texto y devuelva si es una matrícula
válida o no.
1
Coche cliente
1345AAA 1
0410FXB 1
1345AAA 2
2345CJK 1
0410FXB 3
2345CJK 2
2345CJK 3
pf3
pf4

Vista previa parcial del texto

¡Descarga Examen Programacion IC y más Exámenes en PDF de Programación Informática solo en Docsity!

Fundamentos de la Programación - GIC - Grupos de mañana. Laboratorio PL2.

Normas: Para la realización de este examen solo podrá usar la biblioteca externa recordclass. Puede usar

los servicios comunes a secuencias. Puede interesarle saber que ord(‘9’)=57 y ord('A')=65 y que cualquier

detección de fraude supone el suspenso automático en la asignatura.

Entrega : En la actividad del aula virtual, un único archivo llamado ‘PL2_ Apellido1_Apellido2_Nombre.py’.

Enunciado: La gestión de un concesionario de coches está informatizada porque disponen de una gran

cartera de clientes y un gran stock. Para facilitar las búsquedas en la tabla de stock, los vehículos se

encuentran ordenados por matrícula, de cada vehículo nos interesa la matrícula, marca, modelo y precio,

los nuevos vehículos se insertan en su posición correspondiente. El sistema también almacena los datos de

los clientes que se han interesado por un vehículo, de cada cliente se almacena nombre, apellidos,

dirección y teléfono. Un cliente puede estar interesado en varios coches (o ninguno aún), y por un coche se

pueden interesar varios clientes (o ninguno). Cuando un coche se vende, desaparece del stock, sin

embargo, los datos de un cliente nunca desaparecen de sistema y su información se almacena en orden de

aparición. El 18 de septiembre de 2000 Tráfico instauró el actual sistema de matrículas, que constan de

cuatro dígitos y tres letras consonantes (suprimiéndose las cinco vocales, y las letras Ñ y Q).

Las estructuras de datos diseñadas para la aplicación son:

tCoche = recordclass('Coche', 'matricula marca modelo precio') #tStock = lista [variable] de tCoche ordenados alfabéticamente tCliente = recordclass('Cliente', 'nombre, apellidos, direccion, telefono') #tClientes = lista[variable] de tCliente tInteresado = recordclass('Interesado', 'coche, usuario') #coche es una matrícula, usuario es su posición en la lista de clientes. #tInteresados = lista[variable] de tInteresado

Ejemplo:

Matrícula Marca Modelo Precio

0410FXB PEUGEOT 207 12000

1345BBB OPEL Corsa 11220

2345CJK MERCEDES Clase A 34837

Nombre Apellidos Dirección Teléfono

Rut Pérez Mayor 33 666666666

María López B 22 677777777

José Ortega Perú 44 688888888

Ejercicio 1 (3 puntos): Haga una función que localice y devuelva un coche del stock conocida su matrícula.

Debe emplear el algoritmo más eficiente posible y justificar su elección.

Ejercicio 2 (2 puntos): Diseñe un algoritmo recursivo que, dada la lista de interesados y una matrícula,

muestre los datos de cada cliente interesado en ese vehículo.

Ejercicio 3 (2 puntos): Haga una función que reciba una cadena de texto y devuelva si es una matrícula

válida o no.

Coche cliente

1345AAA 1

0410FXB 1

1345AAA 2

2345CJK 1

0410FXB 3

2345CJK 2

2345CJK 3

Ejercicio 4 (3 puntos): Haga un subprograma que devuelve una matrícula solicitada al usuario (pedida

tantas veces como sea necesario).

PROPUESTA DE SOLUCION

"""Concesionario coches""" from recordclass import recordclass tCoche = recordclass('Coche', 'matricula marca modelo precio') #tStock = lista [variable] de tCoche ordenados alfabéticamente tCliente = recordclass('Cliente', 'nombre, apellidos, direccion, telefono') #tClientes = lista[variable] de tCliente tInteresado = recordclass('Interesado', 'coche, usuario') #coche es una matrícula, usuario es su posición en la lista de clientes. #tInteresados = lista[variable] de tInteresado ''' Ejercicio 1 (3 puntos): Haga una función que localice y devuelva un coche del stock conocida su matrícula. Debe emplear el algoritmo más eficiente posible y justificar su elección.''' #al estar ordenados por matrícula se puede realizar una búsqueda binaria def posCoche (stock, buscado): """tStock,tMatricula-->pos OBJ posición del coche, cuya matricula es buscado, en stock. len(stock)+1 si no está PRE: es una matrícula válida""" ini= 0 fin=len(stock) m=(ini+fin)// while ini tantas veces como sea necesario). ''' def matriculaPedida(msg): """cad-->tMatrícula OBJ: matrícula solicitada al usuario, hasta que lo sea""" m=input(msg) while not esMatricula(m): m=input(msg) return m #PROBADOR print(matriculaPedida('mat?: '))

probad mat?: 6 mat?: 630kgk mat?: 6307KGA y mat?: 6307KGK