{"id":389,"date":"2018-12-20T22:41:10","date_gmt":"2018-12-21T04:41:10","guid":{"rendered":"http:\/\/virtual.cuautitlan.unam.mx\/intar\/?page_id=389"},"modified":"2021-07-11T16:21:59","modified_gmt":"2021-07-11T21:21:59","slug":"interaccion-con-ficheros","status":"publish","type":"page","link":"https:\/\/virtual.cuautitlan.unam.mx\/intar\/?page_id=389","title":{"rendered":"Interacci\u00f3n con ficheros"},"content":{"rendered":"<h1 style=\"text-align: left;\"><strong>Interacci\u00f3n con ficheros<\/strong><\/h1>\n<p>Cuando queremos salvar datos o leer datos de diferentes bases de conocimiento, es necesario poder tener tales datos almacenados en una memoria f\u00edsica, por este motivo, es necesario poder abrir ficheros, leer y escribir informaci\u00f3n sobre ellos y poder cerrar dichos ficheros cuando ya no sea necesario su uso. Para este caso, tenemos los comandos<em> see( ), seen( ), tell( ) y told( ).<\/em><\/p>\n<h2 style=\"text-align: center;\"><strong>see( ) y seen( )<\/strong><\/h2>\n<p>estos dos comandos son utilizados para abrir un archivo, obtener informaci\u00f3n de ese archivo y cerrar el archivo cuando ya ha sido utilizado.<\/p>\n<p>Para utilizar <em>see( )<\/em>, es necesario indicarle el lugar y nombre del archivo a leer, por ejemplo <em>see(\u2018C:\\documents\\archivo.pl\u2019),<\/em> de este modo le estar\u00edamos diciendo que el archivo se encuentra en la carpeta <em>documents<\/em>, y que se llama <em>archivo.pl<\/em>. Cuando hemos abierto el archivo, ya es posible poder leer la informaci\u00f3n que se encuentra dentro de \u00e9l, en este caso por medio del comando <em>read( )<\/em>, cuando se abra el archivo, todos los comandos de lectura estar\u00e1n enfocados a la lectura de tal archivo, solo hasta que se cierra dicho archivo los elementos de lectura se enfocaran a leer los datos del teclado. Para cerrar el archivo, se coloca el comando <em>seen<\/em>. Esto se puede ver en la siguiente secci\u00f3n de c\u00f3digo:<\/p>\n<pre class=\"lang:default decode:true \">leer(X):- see(\u2018C:\\documents\\archivo.pl\u2019), read(X), seen.<\/pre>\n<p>Esta secci\u00f3n de c\u00f3digo abrir\u00e1 el archivo \u201c<em>archivo.pl<\/em>\u201d, leer\u00e1 un dato que se encuentra en dicho archivo, y lo regresar\u00e1 en la variable <em>X, <\/em>cerrando posteriormente el archivo abierto.<\/p>\n<h2 style=\"text-align: center;\"><strong>tell( ) y told( )<\/strong><\/h2>\n<p>Estos comandos son utilizados para escribir dentro de un fichero. Abrimos el fichero por medio de <em>tell(\u2018C:\\documents\\archivo.pl\u2019)<\/em>, y a partir de aqu\u00ed todo lo que escribamos, ser\u00e1 escrito en el fichero \u201c<em>archivo.pl<\/em>\u201d, hasta que cerremos el archivo, volveremos a escribir en el monitor. El archivo se cierra por medio de la palabra reservada <em>told<\/em>. Esto puede verse en la siguiente secci\u00f3n de pseudo c\u00f3digo.<\/p>\n<pre class=\"lang:default decode:true \">escribir(X, Y):- tell(\u2018C:\\documents\\archivo.pl\u2019), write(X), nl, write(Y), told.<\/pre>\n<p>Esta secci\u00f3n de c\u00f3digo, nos muestra un programa que abre el archivo <em>\u201carchivo.pl<\/em>\u201d, escribe el valor guardado en <em>X,<\/em> da un salto de l\u00ednea, escribe el valor almacenado en<em> Y<\/em> y cierra el archivo.<\/p>\n<p>Estos comandos son sumamente f\u00e1ciles de implementar y de utilizar.<\/p>\n<p><strong>Ejercicio 1:<\/strong> Realizar un programa que escriba al menos 5 datos dentro del fichero, y que estos datos puedan ser interpretados despu\u00e9s por PROLOG, es decir, que cada dato termine con un punto.<\/p>\n<p><strong>Ejercicio 2:<\/strong> Leer los datos que se encuentran almacenados en el fichero creado en el ejercicio 1, y guardarlos en una lista.<\/p>\n<p>Si nosotros queremos conocer cual es el canal activo que tenemos, podemos utilizar el comando<em> telling(X)<\/em>, el cual nos dar\u00e1 como resultado el nombre del canal, en este caso nos arrojar\u00eda <em>X = user<\/em>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Interacci\u00f3n con ficheros Cuando queremos salvar datos o leer datos de diferentes bases de conocimiento, es necesario poder tener tales datos almacenados en una memoria f\u00edsica, por este motivo, es necesario poder abrir ficheros, leer y escribir informaci\u00f3n sobre ellos y poder cerrar dichos ficheros cuando ya no sea necesario su uso. Para este caso, &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/virtual.cuautitlan.unam.mx\/intar\/?page_id=389\" class=\"more-link\">Continuar leyendo<span class=\"screen-reader-text\"> &#8220;Interacci\u00f3n con ficheros&#8221;<\/span><\/a><\/p>\n","protected":false},"author":3,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-389","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/virtual.cuautitlan.unam.mx\/intar\/index.php?rest_route=\/wp\/v2\/pages\/389"}],"collection":[{"href":"https:\/\/virtual.cuautitlan.unam.mx\/intar\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/virtual.cuautitlan.unam.mx\/intar\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/virtual.cuautitlan.unam.mx\/intar\/index.php?rest_route=\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/virtual.cuautitlan.unam.mx\/intar\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=389"}],"version-history":[{"count":4,"href":"https:\/\/virtual.cuautitlan.unam.mx\/intar\/index.php?rest_route=\/wp\/v2\/pages\/389\/revisions"}],"predecessor-version":[{"id":955,"href":"https:\/\/virtual.cuautitlan.unam.mx\/intar\/index.php?rest_route=\/wp\/v2\/pages\/389\/revisions\/955"}],"wp:attachment":[{"href":"https:\/\/virtual.cuautitlan.unam.mx\/intar\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=389"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}