slips
November 30, 2023
SLIP17
Q.1 Write a Java Program to implement Strategy Design pattern for arithmetic operations.
import java.util.Scanner;
// Strategy interface
interface ArithmeticOperation {
int performOperation(int num1, int num2);
}
// Concrete strategy classes
class AddOperation implements ArithmeticOperation {
@Override
public int performOperation(int num1, int num2) {
return num1 + num2;
}
}
class SubtractOperation implements ArithmeticOperation {
@Override
public int performOperation(int num1, int num2) {
return num1 - num2;
}
}
class MultiplyOperation implements ArithmeticOperation {
@Override
public int performOperation(int num1, int num2) {
return num1 * num2;
}
}
class DivideOperation implements ArithmeticOperation {
@Override
public int performOperation(int num1, int num2) {
if (num2 != 0) {
return num1 / num2;
} else {
System.out.println("Cannot divide by zero.");
return 0;
}
}
}
// Context class
class Calculator {
private ArithmeticOperation arithmeticOperation;
public Calculator(ArithmeticOperation arithmeticOperation) {
this.arithmeticOperation = arithmeticOperation;
}
public void setArithmeticOperation(ArithmeticOperation arithmeticOperation) {
this.arithmeticOperation = arithmeticOperation;
}
public int executeOperation(int num1, int num2) {
return arithmeticOperation.performOperation(num1, num2);
}
}
// Client code
public class StrategyPatternExample {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// Accept values from the user
System.out.print("Enter the first number: ");
int num1 = scanner.nextInt();
System.out.print("Enter the second number: ");
int num2 = scanner.nextInt();
// Create context with initial strategy (AddOperation)
Calculator calculator = new Calculator(new AddOperation());
// Perform arithmetic operations
int resultAdd = calculator.executeOperation(num1, num2);
System.out.println("Addition result: " + resultAdd);
calculator.setArithmeticOperation(new SubtractOperation());
int resultSubtract = calculator.executeOperation(num1, num2);
System.out.println("Subtraction result: " + resultSubtract);
calculator.setArithmeticOperation(new MultiplyOperation());
int resultMultiply = calculator.executeOperation(num1, num2);
System.out.println("Multiplication result: " + resultMultiply);
calculator.setArithmeticOperation(new DivideOperation());
int resultDivide = calculator.executeOperation(num1, num2);
System.out.println("Division result: " + resultDivide);
scanner.close();
}
}
Q.2 Write a python program to implement linear SVM for Classification. Use iris.csv.
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.svm import LinearSVC
from sklearn.metrics import accuracy_score, classification_report
from sklearn.preprocessing import StandardScaler
data = pd.read_csv('./csv/Iris.csv')
X = data.iloc[:, :-1] # Features
y = data.iloc[:, -1] # Target
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
scaler = StandardScaler()
X_train_scaled = scaler.fit_transform(X_train)
X_test_scaled = scaler.transform(X_test)
svm_classifier = LinearSVC()
svm_classifier.fit(X_train_scaled, y_train)
predictions = svm_classifier.predict(X_test_scaled)
accuracy = accuracy_score(y_test, predictions)
report = classification_report(y_test, predictions)
print(f"Accuracy: {accuracy}")
print("Classification Report:\n", report)
Q.3 Create two components – ParentComponent, ChildComponent a. ParentComponent passes prop as name to ChildComponent b. ChildComponent converts name to uppercase and prints e.g ParentComponent passes John c. ChildComponent prints My name is JOHN
Create A Folder Named “components” In src folder and inside components. Create two folders named “ParentComponent” And “ChildComponent”
// ParentComponent.jsx
import React from 'react';
import ChildComponent from '../ChildComponent/ChildComponent';
const ParentComponent = () => {
const name = 'John'; // You can change this value
return (
<div>
{/* <h1>Parent Component</h1> */}
<ChildComponent name={name} />
</div>
);
};
export default ParentComponent;
paste ChildComponent.jsx in ChildComponent folder
// ChildComponent.jsx
import React from 'react';
const ChildComponent = (props) => {
const uppercaseName = props.name.toUpperCase();
return (
<div>
{/* <h2>Child Component</h2> */}
<p>My name is {uppercaseName}</p>
</div>
);
};
export default ChildComponent;
And Paste App.js In Src Folder
// App.js
import React from 'react';
import ParentComponent from './components/ParentComponent/ParentComponent';
function App() {
return (
<div className="App">
<h1>Slip 6</h1>
<ParentComponent />
</div>
);
}
export default App;