slips
November 30, 2023

SLIP21

Q.1 Write a Java Program to implement Factory method for Pizza Store with createPizza(), orederPizza(), prepare(), Bake(), cut(), box(). Use this to create variety of pizza’s like NyStyleCheesePizza, ChicagoStyleCheesePizza etc.

import java.util.Scanner;

abstract class Pizza {
    String name;
    String size; 

    void prepare() {
        System.out.println("Preparing " + size + " " + name + " pizza");
    }

    void bake() {
        System.out.println("Baking " + size + " " + name + " pizza");
    }

    void cut() {
        System.out.println("Cutting " + size + " " + name + " pizza");
    }

    void box() {
        System.out.println("Boxing " + size + " " + name + " pizza");
    }
}

class NyStyleCheesePizza extends Pizza {
    NyStyleCheesePizza(String size) {
        name = "NY Style Cheese";
        this.size = size;
    }
}

class ChicagoStyleCheesePizza extends Pizza {
    ChicagoStyleCheesePizza(String size) {
        name = "Chicago Style Cheese";
        this.size = size;
    }
}

// PizzaStore with Factory Method
abstract class PizzaStore {
    abstract Pizza createPizza(String type, String size); 

    Pizza orderPizza(String type, String size) { 
        Pizza pizza = createPizza(type, size);

        if (pizza != null) {
            pizza.prepare();
            pizza.bake();
            pizza.cut();
            pizza.box();
            return pizza;
        } else {
            System.out.println("Sorry, we don't have that pizza type.");
            return null;
        }
    }
}

class NyPizzaStore extends PizzaStore {
    Pizza createPizza(String type, String size) { 
        if (type.equals("cheese")) {
            return new NyStyleCheesePizza(size);
        }
        return null;
    }
}

class ChicagoPizzaStore extends PizzaStore {
    Pizza createPizza(String type, String size) { 
        if (type.equals("cheese")) {
            return new ChicagoStyleCheesePizza(size);
        }
        return null;
    }
}

public class PizzaMain {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        System.out.println("Welcome to the Pizza Store!");
        System.out.println("Select a store (1 for NY Pizza Store, 2 for Chicago Pizza Store):");
        int storeChoice = scanner.nextInt();

        PizzaStore pizzaStore;

        if (storeChoice == 1) {
            pizzaStore = new NyPizzaStore();
        } else if (storeChoice == 2) {
            pizzaStore = new ChicagoPizzaStore();
        } else {
            System.out.println("Invalid choice. Exiting.");
            return;
        }

        while (true) {
            System.out.println("Menu:");
            System.out.println("1. Pizza");
            System.out.println("2. Exit");
            System.out.print("Enter your choice: ");
            int choice = scanner.nextInt();

            if (choice == 1) {
                System.out.print("Enter pizza size (small, medium, large): ");
                String size = scanner.next().toLowerCase();
                System.out.print("Enter pizza type (cheese): ");
                String pizzaType = scanner.next().toLowerCase();
                Pizza pizza = pizzaStore.orderPizza(pizzaType, size);
                if (pizza != null) {
                    System.out.println("You ordered a " + pizza.size + " " + pizza.name + " pizza");
                }
            } else if (choice == 2) {
                break;
            } else {
                System.out.println("Invalid choice. Please try again.");
            }
        }

        scanner.close();
    }
}

Q.2 Write a python program to implement logistic Regression for handwritten digit dataset.

from sklearn.datasets import load_digits
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
from sklearn import metrics
import matplotlib.pyplot as plt
digits = load_digits()
X_train, X_test, y_train, y_test = train_test_split(digits.data, digits.target, test_size=0.2, random_state=42)
model = LogisticRegression(max_iter=10000)
model.fit(X_train, y_train)
predictions = model.predict(X_test)
accuracy = metrics.accuracy_score(y_test, predictions)
print("Accuracy:", accuracy)
plt.figure(figsize=(8, 8))
for i in range(15):
    plt.subplot(3, 5, i + 1)
    plt.imshow(X_test[i].reshape(8, 8), cmap='gray')
    plt.title(f"Predicted: {predictions[i]}")
    plt.axis('off')
plt.tight_layout()
plt.show()

Q.3 Print below array elements using map: a. const fruits = ["apple", "banana", "cherry", “bat”] b. Only print fruits it should remove bat and print it

Paste the FruitsList.jsx In src Folder

import React from 'react';

const FruitsList = () => {
  const fruits = ["apple", "banana", "cherry", "bat"];

  // Filter out "bat" from the fruits array
  const filteredFruits = fruits.filter(fruit => fruit !== "bat");

  return (
    <div>
       <h1>Fruits List</h1>
      <ul>
        {filteredFruits.map((fruit, index) => (
          <li key={index}>{fruit}</li>
        ))}
      </ul>
    </div>
  );
};

export default FruitsList;