Universidad Nacional del Altiplano – Puno

Escuela Profesional de Ingeniería de Sistemas CURSO: INTELIGENCIA ARTIFICIAL

GUÍA ACADÉMICA Nro. 5 TEMA: OPERACIONES Y CONDICIONALES Apellidos y Nombres: ……………………………………… Nro. Matrícula: ….……… OBJETIVOS:

◊ Aprender a utilizar las operaciones aritméticas ◊ Aprender a utilizar las condicionales lógicas.
REQUERIMIENTOS:

◊ PC con Windows y Visual Prolog
PROCEDIMIENTO La presente contiene una serie de programas con operaciones aritméticas y uso de condicionales lógicas que permitirán diferenciar la programación lógica con la común en base a la solución de problemas conocidos de programación. PARTE 1: OPERACIONES ARITMÉTICAS. Copie el siguiente código:
Domains nro = integer Predicates sumar(nro,nro,nro) leer(nro) mostrar(nro) main Clauses sumar(A, B, S):-S=A+B. leer(X):-write("ingrese Nro: "), readint(X). mostrar(S):-write("La suma es: ", S), nl. main:-write("SUMA DE DOS NÚMEROS: "), nl, leer(A), leer(B), sumar(A,B,S), mostrar(S), fail. Goal main.

Note que esto realiza la suma de dos números, readint, permite ingresar enteros y readln que ingresa cadenas, también existe readreal para números reales, nótese también que se esta utilizando el predicado main. Ahora ejecute el programa, que resultados se obtienen:

1

Universidad Nacional del Altiplano – Puno
Escuela Profesional de Ingeniería de Sistemas CURSO: INTELIGENCIA ARTIFICIAL

Ahora modifique el programa anterior y desarrolle la siguiente operación: S = ((A * B) + (B * C))/(A * C) Tenga presente que tiene que leer 3 números:

Ejecute su programa, ingrese datos y muestre los resultados que se obtienen:

PARTE 2: CONDICIONALES LÓGICAS: Copie el siguiente código:
Domains nro = integer Predicates operar(nro,nro,nro) leer(nro) mostrar(nro) main Clauses operar(A,B,S):-B<>0, S=((A*B)+A)/B. operar(_,B,S):-B=0,S=0,write("Error de división ...!"), nl. leer(X):-write("ingrese Nro: "), readint(X). mostrar(S):-write("El resultado es: ", S), nl. main:-write("CONDICIONAL LÓGICA: "), nl, leer(A), leer(B), operar(A,B,S), mostrar(S), fail. Goal main.

2

Universidad Nacional del Altiplano – Puno
Escuela Profesional de Ingeniería de Sistemas CURSO: INTELIGENCIA ARTIFICIAL

El programa calcula S = ((A * B) + A) / B, y muestra error cuando el valor de B es cero. Consultas: Ahora ejecute el programa, que resultados se obtienen:

Desarrolle un programa que calcule lo siguiente:

S=

( A * B) + ( B * C ) C

Nota: Tenga en cuenta que son 3 variables (A, B, C) los cuales deben ser ingresados por teclado, el resultado debe ser con decimales y se debe de controlar lo siguiente: - No existe división entre cero. - No existe raíz cuadrada de un número negativo. Si existen esos casos, mostrar el error correspondiente.

3

Universidad Nacional del Altiplano – Puno
Escuela Profesional de Ingeniería de Sistemas CURSO: INTELIGENCIA ARTIFICIAL

PARTE 2: MÁS CONDICIONALES LÓGICAS: A continuación tenemos un programa que ingresada una edad, el programa muestra un mensaje de mayor o menor de edad.
Domains nro = integer Predicates verificar(nro) leer(nro) main Clauses verificar(Edad):-Edad>=18, write("Mayor de Edad"),nl. verificar(Edad):-Edad<18, write("Menor de Edad"),nl. leer(Edad):-write("Ingrese la edad: "), readint(Edad). Main:-write("EDADES "), nl, leer(Edad), verificar(Edad), Fail. Goal main.

Ahora modifique el programa anterior para que muestre en que edad cronológica se encuentra la edad ingresada: niño, adolescente, joven, adulto y abuelo. Adicionalmente debe controlar lo siguiente: - La edad ingresada no debe ser negativa. - La edad ingresada no debe de exceder 110. Si existen esos casos, mostrar el error correspondiente.

4

Universidad Nacional del Altiplano – Puno
Escuela Profesional de Ingeniería de Sistemas CURSO: INTELIGENCIA ARTIFICIAL

CONCLUSIONES

RECOMENDACIONES

TRABAJO APLICATIVO: 1. Desarrolle un programa que calcule lo siguiente:

S = −B +

( B * D) − (4 * A * B)

( A − C)2

2. Desarrolle un programa que calcule el área y el perímetro de un cuadrado,
círculo, rectángulo, triángulo.

3. Desarrolle un programa que calcule el volumen y el área exterior de un cubo y
una esfera y cono. Nota: Los datos deben de ser ingresados por teclado.

5

Sign up to vote on this title
UsefulNot useful