inteligencia artificial pierre sergei zuppa azúa entrada y salida

16
Inteligencia artificial Pierre Sergei Zuppa Azúa Entrada y salida

Upload: natanael-pulido

Post on 22-Jan-2016

316 views

Category:

Documents


27 download

TRANSCRIPT

Page 1: Inteligencia artificial Pierre Sergei Zuppa Azúa Entrada y salida

Inteligencia artificial

Pierre Sergei Zuppa Azúa

Entrada y salida

Page 2: Inteligencia artificial Pierre Sergei Zuppa Azúa Entrada y salida

Inteligencia artificial

Entrada y salida

Keyword

Page 3: Inteligencia artificial Pierre Sergei Zuppa Azúa Entrada y salida

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. 

Page 4: Inteligencia artificial Pierre Sergei Zuppa Azúa Entrada y salida

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.

Page 5: Inteligencia artificial Pierre Sergei Zuppa Azúa Entrada y salida

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:

Page 6: Inteligencia artificial Pierre Sergei Zuppa Azúa Entrada y salida

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:

Page 7: Inteligencia artificial Pierre Sergei Zuppa Azúa Entrada y salida

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.

Page 8: Inteligencia artificial Pierre Sergei Zuppa Azúa Entrada y salida

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.

Page 9: Inteligencia artificial Pierre Sergei Zuppa Azúa Entrada y salida

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').

Page 10: Inteligencia artificial Pierre Sergei Zuppa Azúa Entrada y salida

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.

Page 11: Inteligencia artificial Pierre Sergei Zuppa Azúa Entrada y salida

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

Page 12: Inteligencia artificial Pierre Sergei Zuppa Azúa Entrada y salida

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).

Page 13: Inteligencia artificial Pierre Sergei Zuppa Azúa Entrada y salida

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).

Page 14: Inteligencia artificial Pierre Sergei Zuppa Azúa Entrada y salida

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.

Page 15: Inteligencia artificial Pierre Sergei Zuppa Azúa Entrada y salida

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).

Page 16: Inteligencia artificial Pierre Sergei Zuppa Azúa Entrada y salida

Inteligencia artificial

Entrada y salida

Frase

“Ese código es demasiado inteligente como para tener esperanzas de que funcione

correctamente” 

Tim Peters