Está en la página 1de 5

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:


( A * B) + ( B * C )
S=
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:

( B * D) − (4 * A * B)
S = −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.