| 
   Mòdul 8   | 
  
   Fonaments de Programació.
  Llenguatge C/C++  | 
 
| 
   | 
  
   Exercicis  | 
  
   | 
  
   | 
 
  
| 
   | 
  
   1. Treure els
  comentaris d’un arxiu font C/C++   
       | 
 ||||||||||||
| 
   | 
  
   2. Llibres  Escriu un programa anomenat PAIS per a executar des de la línia de
  comandos que permeti obtenir un nou fitxer LLIBRES.DAT, a partir del fitxer
  ISBN.DAT. En aquest últim (ISBN.DAT)  arxiu hi ha tot els fons editorial de la
  biblioteca del centre i conté els següents camps : -         
  ISBN ( 10 dígits ) -         
  Títol del llibre. -         
  Autor. -         
  Any. ( 4 posicions ) -         
  Número de pàgines. Des de la línia de comandos executarem el programa acompanyat
  d’una cadena que correspondrà a l‘identificador de país o àrea
  geogràfica. El programa a partir d’aquesta informació llegirà tot el fitxer
  ISBN.DAT i gravarà en LLIBRES.DAT només aquells llibres que pertanyen a
  l’anomenat identificador. Els camps dins ISBN.DAT estan separats per ‘*’ i el final de la
  informació referida a un llibre finalitza amb els caràcters “//”. La
  informació emmagatzemada i referida a un llibre no supera els 100 caràcters.                    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ó e 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 la d’indentificar un títol d’una determinada editorial. Un cop
  atribuïda aquesta identificació, aquest número és únic i només podrà ser
  aplicat a aquesta obra i no podrà ser reutilitzat. ·        
  (12 ) Identificador del País o
  àrea geogràfica. Aquest  segment té una longitud que varia segons l’àrea
  geogràfica o país. Per Espanya és el 84. ·        
  ( 34567 ) Identificador de l’
  Editor. Aquest segon segment és de longitud variable e 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. Encriptació d'un correu 
 
   
   
   
   
   
   
 
 
 
 
   
   
   
 
   Anomeneu l'arxiu font: m8e3.cc. 
  | 
 ||||||||||||
| 
   | 
  
   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 del exercici 1 del mòdul
  anterior. Seguiu el mateix procés de la pràctica 8.
  Recordarem 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
  lliurar aquests exercicis. 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 tal de permetre
  que els registres es guardin en un arxiu. Podeu triar el nivell de
  perfeccionament que volgueu fent servir alguna o totes de les següent
  indicacions: ·        
  L'opció de nova_entrada
  ha d'obrir l'arxiu en mode d'afegir dades ("a+"). Aquest mode farà
  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 serà fàcil trobar la posició correcta del registre que volem
  eliminar. L'esborrat total s'aconsegueix copiant l'arxiu en un altre arxiu
  deixant de copiar els octets corresponents al registre que volem copiar.
  Després es borra l'arxiu original i es canvia el nom del segon arxiu. 
 ·        
  Incorporar també opcions de
  cerca, de moment cerca seqüencial, encara que es pot crear opcions d'ordenar
  els registres per un camp determinat i que hi hagi l'opció de cerques
  binàries per 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.cc. 6. Emmagatzematge de vectors en disc  Feu una aplicació on es declari un vector de tipus double de 100
  elements: 
 L'aplicació ens 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.cc. 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 tal de desencriptar un arxiu només s'ha de tornar a cridar al mateix
  programa amb un codi igual a 26-codi anterior.  Anomeneu l'arxiu font: m8e7.cc. L'aplicació de la 
  pràctica 6 només ens permet
  solucionar el problema a mitges. Feu una aplicació que faci les parts que
  siguin necessàries per tal que 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
  d'octets, s'han de fer 4 parts, tres de 1.450.000 i una de 1.006.320 octets.
  Feu que el nom de l'arxiu original s'introdueixi com un argument de la funció
  main(). El noms de les parts serà arxiu1.dat, arxiu2.dat,.... Anomeneu l'arxiu font: m8e8.cc.    | 
 ||||||||||||
| 
   | 
  
   |