Implement a rule crypto that solves cryptarithmetic problem

Assignment Help Programming Languages
Reference no: EM131305271

Programming Languages Assignment

Write the following as Prolog rules: 

1. Implement a rule "dogEnthusiast". Someone is a "dogEnthusiast" if they own AT LEAST TWO dogs. Assume that the only types of facts available are:

"owner" facts of the form owner(p,n), meaning that person p owns animal named n.

"breed" facts of the form breed(a,b), meaning that animal named a is of type b.  

For example: 

owner(fred,fido) means that a person named "fred" owns an animal named "fido". 

breed(fido,dog) means that the animal named "fido" is a dog. 

breed(leo,cat) means that the animal named "leo" is a cat. 

dogEnthusiast(sam) would be true if sam owned two different animals that were dogs.

2. Implement "listPicker" from Homework #2 as a Prolog rule.

For example, the query:listPicker([42,3,99,7],[4,3,3],M) should result in Prolog's response:M = [7,99,99]. You only need to handle lists that contain integers.

3. Implement a rule "crypto" that solves the following cryptarithmetic multiplication problem:

TOCK * TOCK = GRIPTOCK

Each of the 4 letters (T,O,C,K) stands for a different digit. The 4 letters (G,R,I,P) can each be matched by any digit. The aim is to find a substitution of digits for the letters such that the above stated product is arithmetically correct. Your program should find all answers. It should be possible to query your solution in this manner:

?- crypto(G,R,I,P,T,O,C,K).

Your solution should then produce all of the combinations of the digits that satisfy the multiplication problem above. Don't get confused between the letter "O" and the number "0" (zero).

Make sure you never let T=C, or C=K, etc... all of the distinct letters T,O,C,K have to stand for distinct digits.

Don't be surprised if it takes your computer a while to solve this problem.

Use generate-and-test!

4. Implement a rule "interleave" that takes two lists, and combines them into a single list by alternating the elements. For example:

?- interleave([3,4,5],[7,8,9],X) should respond X=[3,7,4,8,5,9]

If the two lists are different lengths, include the excess elements at the end of the result list, with a "999" inserted first. For example:

?- interleave([1,2],[4,5,6,7],X) results in X=[1,4,2,5,999,6,7] 

?- interleave([1,2,3,4],[6,7],X) results in X=[1,6,2,7,999,3,4]

5. Convert "digitinc" from Homework #2 into a Prolog rule. For example:

?- digitinc(22897,X) should respond X=33908.

Submit your solutions in a single file.

Problem 2 & 5 - Reference

"listPicker"

-  Inputs two lists the first list is the data and second list is the picker, and Outputs a list of values in the data list ref. by values in picker list.

"digitinc"

-  Takes as input integers with an arbitrary number of digits, and returns another digit integer constructed of the original input integer's digits, each incremented

Instructions for Prolog Assignment -

Note the following:

1. I recommend using the SWI-Prolog system.

2. You are only allowed to use basic functions which do not make the problems trivial.

Reference no: EM131305271

Questions Cloud

Described the situation of a feedlot owner : Described the situation of a feedlot owner who "uses derivatives to hedge the price he pays for feed and the price he gets for steers."
Would you have bought or sold these futures contracts : If you were a speculator who expected interest rates to fall, would you have bought or sold these futures contracts? Briefly explain.
Identify the independent variable and the dependent variable : Explain why Dr. Jones can be reasonably confident that the participants' age is not a confounding variable. That is, explain why it is unlikely that one group does better on the memory task because they are substantially older than the other group..
Why is a prospectus necessary in doctoral level work : Why is a prospectus necessary in doctoral level work.Piaget found dramatic differences in development between preschoolers and elementary-age children. Discuss several of these differences from cognitive, physical, and psychosocial perspectives.
Implement a rule crypto that solves cryptarithmetic problem : Programming Languages Assignment. Implement a rule "crypto" that solves the following cryptarithmetic multiplication problem: TOCK * TOCK = GRIPTOCK
Discuss about the adhd characteristic traits : Discuss about the ADHD Characteristic Traits,Environmental and Biological Influences,Attention Deficit Disorders With or Without Hyperactivity (ADHD) etc.
How might you hedge against the risk : Will you be more worried about market interest rates rising or falling? Briefly explain.- How might you hedge against the risk you identified in part (a)?
What type of investor would find the futures contract : What type of investor would find this futures contract useful in speculating? Briefly explain how these investors would use it to speculate.
Describe gender differences for the social interactions : Describe the effectiveness of a new program (compared to the old program) for teaching reading to elementary school students.

Reviews

Write a Review

 

Programming Languages Questions & Answers

  Write program to permit user to enter last names

Write down the program which permits the user to enter last names of five candidates in local election and number of votes received by each candidate.

  Decrypt all entries of username variable

Need a another cgi file to decrypt all entries of ' username ' variable and restore it to original plain/text, it should be start restoring the inputs to original text the cgi file

  Script that is executed in an active server page

The contents of a form on a client can be sent to a server pageby using

  Using a software program to create story books

submit a unit plan spanning Two to Four weeks. See this example of a unit plan, (or search the web for a unit plan example that best suits matches your needs). Technology should be integrated for assessment, instruction, and student engagement..

  Determine average cpi for program for clock cycle time

The table above illustrates the execution time of two different compiled programs. Determine the average CPI for each program given that processor has clock cycle time of 1 nS.

  Provide a brief description within comment tags

Produce a description of the modules you have studied so far on this degree in an HTML5 file and an external CSS file that will display

  Write a program that reads in a single record

Write a program named printRecord.py that reads in a single record from the first logfile, prints it, and exits - Write the final version of your program; it does what merger.py does and then loops through the records accumulating the op costs. It t..

  Design program to asks for number of fat grams

Design a program that asks for the number of fat grams and calories in a food item. Validate the input as follows: Make sure the number of fat grams and calories are not less than 0.

  Program to calculate the electricity bill

Write a program to calculate the electricity bill. The rates of electricity per unit are as follows: If the units consumed are equal or less than 100, then the cost is Rs 8/- per unit.

  Program displays the equivalent dollar amount

The Currency Conversion application is a menu-driven program that allows users to select one of five international currency types, input the amount of a foreign currency, and then convert the foreign currency to dollars

  Develop console application to generate random number

Develop C++ console application which generates the random number which should be guessed by user. Program will indicate to user if their guess is correct, too high or too low.

  How is active directory implemented?

How is Active Directory implemented?

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd