inteligencia artificial pierre sergei zuppa azúa entrada y salida
TRANSCRIPT
Inteligencia artificial
Pierre Sergei Zuppa Azúa
Entrada y salida
Inteligencia artificial
Entrada y salida
Keyword
Inteligencia artificial
Entrada y salida
Entrada y salida
Es la comunicación entre un sistema de procesamiento de información, tal como la computadora y el mundo exterior, posiblemente un humano u otro sistema de procesamiento de información. Los periféricos de E/S son utilizados por una persona (u otro sistema) para comunicarse con una computadora.
Inteligencia artificial
Entrada y salida
Entradas en Prolog
La orden WRITE imprime en pantalla la cadena de caracteres en código ASCI, por ejemplo:
La manera de hacer que la cadena aparezca de manera normal, es imprimiéndola con una constante, por ejemplo:
NOTA: Recuerde que las constantes se definen con minúsculas, además que solo deberá utilizar la orden write directamente en el intérprete.
Inteligencia artificial
Entrada y salida
Entradas en Prolog
La orden write_canonical imprime en pantalla un flujo de salida utilizando la notación de un prefijo y los paréntesis, ejemplo:
El print sirve de la misma manera:
Inteligencia artificial
Entrada y salida
Salidas en Prolog
La orden read sirve para almacenar el valor a una variable, ejemplo:
Otra forma de asignar un valor a una variable, colocando directamente el comando, seguido de la variable. Ejemplo:
Inteligencia artificial
Entrada y salida
Archivos
Es un conjunto de bits que son almacenados en un dispositivo. Un archivo es identificado por un nombre y la descripción de la carpeta o directorio que lo contiene.
Inteligencia artificial
Entrada y salida Función que imprime una lista en un archivoProlog
imprime_lista(_Fichero, []).imprime_lista(Fichero, [C|R]) :-tell(Fichero),write( C),nl,imprime_lista(Fichero, R), told.
Inteligencia artificial
Entrada y salida
Predicado de una lista y la escribe en un archivoProlog
prueba_fich :-write('Introduzca una lista: '), nl,read(Lista),open('prueba.txt',write),imprime_lista('prueba.txt', Lista),write('la lista se ha escrito en el fichero prueba.txt'),close('prueba.txt').
Inteligencia artificial
Entrada y salida
Función que lee el contenido de un archivo y lo imprime en pantalla de la consola Prolog
listfile(File):- see(File), repeat, read_write.read_write:-eof,!, seen.read_write:-eread(Terms, Vars),ewrite(Terms, Vars),write('.'),nl, fail.
Inteligencia artificial
Entrada y salida
Predicados para abrir y cerrar ficherosProlog
open(file, mode, ID) abre el fichero de nombre file, en modo mode (read, write, append,...), con identificador (var) ID
open(file, mode, ID, options) similar al anterior pero describiendo una lista de opciones(alias, type,...)
close(id) cierra el “stream” de identificador id
Inteligencia artificial
Entrada y salida
Otras funciones de archivos
Escribir en un archivo
escr:-tell('pruebasss.pl'),write('eksgdfhdfhk'), told, close('pruebasss.pl')
Copiar un archivo en otro
prolog_copy(Archivo1, Archivo2):-see(Archivo1),tell(Archivo2),repeat,read(Term),(Term\=end_of_file-> writeq(Term),write('.'),nl, fail ;seen,told).
Inteligencia artificial
Entrada y salida
Predicados para modificar los dispositivos de e /sProlog
see(fich) hace que fich sea el fichero actual de entrada.
seeing(F) indica en F cuál es el dispositivo actual de entrada.
seen cierra el dispositivo actual de entrada (que volverá a ser user_input).
tell(fich) hace que fich sea el fichero actual de salida.
telling(F) indica en F cuál es el dispositivo actual de salida.
told cierra el dispositivo actual de salida (que volverá a ser user_output).
Inteligencia artificial
Entrada y salida
Predicados para la e/s de caracteres (sobre el “stream” por defecto) Prolog
• get0(X) lee un carácter y unifica su código con X.
• get(X) análogo, pero salta los caracteres no imprimibles (por ejemplo, los blancos).
• skip(Char) lee hasta encontrar el carácter Char. Una llamada a get0(X) detrás leerá el siguiente carácter a Char.
• put(Char) escribe el carácter Char (o lo ejecuta si no es imprimible).
• nl produce una nueva línea.
• tab(N) escribe N espacios en blanco.
Inteligencia artificial
Entrada y salida
Predicados para construir y analizar átomosProlog
name(Constante, LisCod) establece la relación entre Constante (que debe cumplir átomo integer) y LisCod, consistente en la lista de códigos (o string equivalente) de los caracteres que conforman Constante.
atom_codes(Atomo, LisCod) similar al anterior pero Átomo debe cumplir atom (no integer).
Inteligencia artificial
Entrada y salida
Frase
“Ese código es demasiado inteligente como para tener esperanzas de que funcione
correctamente”
Tim Peters