logo Use CA10RAM to get 10%* Discount.
Order Nowlogo
(5/5)

Adapt functional programs to solve computing problems using functional and logic programming language concepts.

INSTRUCTIONS TO CANDIDATES
ANSWER ALL QUESTIONS

LEARNING OUTCOME

Adapt functional programs to solve computing problems using functional and logic programming language concepts. (P6, PLO3)

OVERVIEW

Programming paradigms can be defined as programming styles in problem solving. In software programing languages, there are distinct programming paradigms and a set of programming concepts used in the platforms. In practice, imperative programming like procedural or object-oriented paradigms are widely used in various programming platforms. Likewise, the declarative programming such as functional programming and logic programming paradigms can also be available in modern programming languages. In this assignment, therefore, focuses on programming paradigms primarily imperative- and declarative- programming paradigms for a specific problem solving.

 

REQUIREMENTS

 

Given the following computing solution code in Task 1 and Task 2. They are mostly implemented imperatively so you are required to test the program to understand how it works and rewrite them using declarative programming approach.

 

 

TASK 1:

Consider   the    following    order    information    in    the    given    file.    Filename:

deliveryitem.txt.

 

 

Analyse the imperative program code as shown in Listing 1. Adapt each of the programming methods using functional programming concepts. Your solution code should consider higher-order function, method references, functional interfaces or lambda expression, function pipelining, nullable object, collection of objects and etc.

 

Listing 1:- Imperative programing paradigm – code sample:

import java.io.IOException; import java.nio.file.*; import java.util.*;

import java.util.regex.Pattern; public class OrderHandler {

private static final String FILENAME = "data/deliveryitem.txt"; List<String> data;

 

public OrderHandler() { try {

data = Files.readAllLines( Paths.get( FILENAME ) );

} catch (IOException e) { e.printStackTrace();

}

}

//display all order information except the heading text void print( List<List<String>> orderLst ) {

for (int i = 0; i < orderLst.size(); i++) { System.out.println( orderLst.get(i) );

}

}

//collect all orders and split them with '\' List<List<String>> collect(){

List<List<String>> orderLst = new ArrayList(); for (int i = 0; i < data.size(); i++) {

if( !data.get(i).startsWith("PARCELITEM") ) {

String[] split = data.get(i).split( Pattern.quote("\\")

);

orderLst.add( Arrays.asList( split ) );

}

}

return orderLst;

}

 

 

 

 

 

 

) );

 

//compute the total payment of order placed

double computePaymnt( List<List<String>> orderLst ) { double sum = 0;

for (int i = 0; i < orderLst.size(); i++) { int count = orderLst.get(i).size();

double charge = Double.parseDouble( orderLst.get(i).get( count-1

 

sum += charge;

 

}

return sum;

}

//export to order object comprises name and charges only List<Item> populate( List<List<String>> orderLst ){

List<Item> items = new ArrayList();

for (int i = 0; i < orderLst.size(); i++) { int count = orderLst.get(i).size(); String first = orderLst.get(i).get(0);

String last = orderLst.get(i).get( count-1 ); items.add( new Item( first, last ) );

}

return items;

}

}

 

(5/5)
Attachments:

Related Questions

. Introgramming & Unix Fall 2018, CRN 44882, Oakland University Homework Assignment 6 - Using Arrays and Functions in C

DescriptionIn this final assignment, the students will demonstrate their ability to apply two ma

. The standard path finding involves finding the (shortest) path from an origin to a destination, typically on a map. This is an

Path finding involves finding a path from A to B. Typically we want the path to have certain properties,such as being the shortest or to avoid going t

. Develop a program to emulate a purchase transaction at a retail store. This program will have two classes, a LineItem class and a Transaction class. The LineItem class will represent an individual

Develop a program to emulate a purchase transaction at a retail store. Thisprogram will have two classes, a LineItem class and a Transaction class. Th

. SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of Sea Ports. Here are the classes and their instance variables we wish to define:

1 Project 1 Introduction - the SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of

. Project 2 Introduction - the SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of Sea Ports. Here are the classes and their instance variables we wish to define:

1 Project 2 Introduction - the SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of

Ask This Question To Be Solved By Our ExpertsGet A+ Grade Solution Guaranteed

expert
Um e HaniScience

534 Answers

Hire Me
expert
Muhammad Ali HaiderFinance

951 Answers

Hire Me
expert
Husnain SaeedComputer science

564 Answers

Hire Me
expert
Atharva PatilComputer science

511 Answers

Hire Me

Get Free Quote!

319 Experts Online