Mòdul 8 |
Fonaments de programació.
Llenguatge C/C++ |
|
Exercicis |
|
|
|
1. Treure els
comentaris d’un arxiu font C/C++
|
|
|
2. Llibres Escriviu un programa anomenat PAIS per executar des de l'indicador d'ordres
que permeti obtenir un nou fitxer LLIBRES.DAT a partir del fitxer ISBN.DAT. En aquest últim (ISBN.DAT) arxiu, hi ha tot el fons editorial de la
biblioteca del centre i conté els camps següents: -
ISBN (10 dígits) -
Títol del llibre -
Autor -
Any (4 posicions) -
Nombre de pàgines
ISBN.DAT 970-17-0254-9*C++
CÓMO PROGRAMAR*Deitel, H.M.*1999*1184// 84-481-3173-8*Java
2. Manual de referencia*Herbert Schildt*2001*958// 968-880-798-2*Estructura
de datos con C/C++”*Yedidyah Langsam*1996*672// 84-415-0829-1*Visual
Basic 6.0*Evangelos Petroutsos*1999*853// LLIBRES.DAT 84-481-3173-8*Java
2. Manual de referencia*Herbert Schildt*2001*958// 84-415-0829-1*Visual
Basic 6.0*Evangelos Petroutsos*1999*853// Nota: El codi ISBN (ISBN - INTERNATIONAL STANDARD BOOK NUMBER) és un sistema internacional
de numeració i identificació de títols d’una determinada editorial i
aplicat també al programari; està constituït per 10 dígits precedits
per la paraula ISBN i dividit en 4 segments. El fonament d’aquest sistema
és indentificar un títol d’una determinada editorial. Un cop atribuïda
aquesta identificació, aquest número és únic, només es pot aplicar a
aquesta obra i no pot ser reutilitzat.
·
(12) Identificador del país o
l'àrea geogràfica. Aquest segment té una longitud que varia segons
l’àrea geogràfica o país. Per a Espanya és el 84.
·
(34567) Identificador de l’editor.
Aquest segon segment és de longitud variable i identifica a l’editor.
·
(89) Indicador de títol. Aquest
segment identifica el títol.
·
(0) Dígit de verificació. L’últim
segment de l’ISBN o dígit de control permet la verificació automàtica
amb exactitud. |
|
|
3. Dividir un arxiu en trossos d'1.450.000 octets L'aplicació de la pràctica 6 només permet solucionar
el problema a mitges. Feu una aplicació que faci les parts que siguin
necessàries perquè cadascuna de les parts càpiga en un disc de
3 1/4 polzades. Per exemple, si l'arxiu original té una mida de 5.356.320
octets, s'han de fer 4 parts, tres d'1.450.000 i una d'1.006.320 octets.
Feu que el nom de l'arxiu original s'introdueixi com un argument de
la funció main(). Els noms de les parts seran: arxiu1.dat,
arxiu2.dat.... Anomeneu l'arxiu font m8e3.cpp. |
|
|
4. Guardar i recuperar registres de la base de dades de pel·lícules Feu un programa que permeti guardar i recuperar en disc les dades de la
base de dades de l'exercici 1 del
mòdul anterior. Seguiu el mateix procés de la pràctica
8. Recordeu que els registres són de l'estructura definida a continuació:
|
|
|
Problemes complementaris Aquests exercicis serveixen per completar
aquest mòdul, però suposen una ampliació voluntària. No és necessari
entregar-los. No obstant això, és convenient fer-los i lliurar-los. |
|
|
5. Miniagenda telefònica Podeu perfeccionar la miniagenda telefònica de la pràctica 1 del mòdul 7 per permetre que els
registres es guardin en un arxiu. Podeu triar el nivell de perfeccionament
que vulgueu fent servir totes o alguna de les indicacions següents:
·
L'opció de nova_entrada
ha d'obrir l'arxiu en mode d'afegir dades ("a+"). Aquest mode
fa que es creï l'arxiu si no existeix prèviament. ·
En qualsevol moment es pot
calcular el nombre de registres emmagatzemats en disc amb la mida de l'arxiu
dividit entre la mida de l'estructura.
·
L'opció d'esborrar_entrada
ha de permetre triar un número d'entrada. Com que les entrades són correlatives,
és fàcil trobar la posició correcta del registre que voleu eliminar.
L'esborrament total s'aconsegueix copiant l'arxiu en un altre arxiu
i deixant de copiar els octets corresponents al registre que voleu copiar.
Després s'esborra l'arxiu original i es canvia el nom del segon arxiu.
·
Incorpora també opcions de cerca,
de moment cerca seqüencial, encara que es poden crear opcions d'ordenar
els registres per un camp determinat i que hi hagi l'opció de cerques
binàries per a aquest camp. Tot això representa moltes millores possibles a la miniagenda telefònica.
Feu les que pugueu. Incorporar totes aquestes millores podria representar un
dels projectes de final de curs. Anomeneu l'arxiu font m8e5.cpp. 6. Emmagatzematge de vectors en disc Feu una aplicació on es declari un vector de tipus double de 100
elements:
L'aplicació ha de permetre introduir aquests números per teclat fins a un
màxim de 100. La introducció d'un -1 ha de servir per finalitzar
la introducció de dades. El número -1 no s'ha de guardar.
Una vegada introduïts tots aquests números, s'han de guardar en disc
en una sola operació amb la funció fwrite(). El nombre de l'arxiu
on es guardaran tots aquests números també s'introduirà per teclat abans
d'introduir qualsevol dada. Feu també la versió que permet recuperar les dades del disc i
imprimir-les a la pantalla. Anomeneu l'arxiu font m8e6.cpp. 7. Còpia
encriptada A partir dels programes de la pràctica 4 i de
la pràctica 3 del mòdul 6, feu un
programa que permeti encriptar i desencriptar arxius amb el mètode de
Juli Cèsar. El programa ha de ser molt semblant al de la pràctica 4,
és a dir, s'ha de passar a la funció main dos arguments que corresponen
al nom de l'arxiu que es vol encriptar i al nom de l'arxiu encriptat.
Abans de fer l'encriptació, el programa ha de demanar el codi. Aquest
codi serà un número entre 0 i 25. Per desencriptar un arxiu, només s'ha
de tornar a cridar el mateix programa amb un codi igual a 26 (codi anterior). Anomeneu l'arxiu font m8e7.cpp. |
|
|
|