Get me outta here!

Saturday, February 26, 2022

OOP Examples of Java (Object-oriented programming)

 

Encapsulation

class Hello{
	private int a;
	public void setA(int a)
	{
		this.a=a;
		//a=b; //if you write int b then it is appicable 
	}
	public int getA()
	{
		return a;
	}
}
public class Encapsulation //features :
//1.Data Hiding
//2.Flexibility
//3.Reusability
//4.Testing code
{
public static void main(String []args)
{
	Hello m = new Hello();
	m.setA(10);
	System.out.println("Number is : "+m.getA());
}
}

Inheritance

import java.lang.*;
//Inheritance
//1.Super Class:The class whose features are inherited
//2.Sub Class: The class that inherits the other class
//3.Reusability
class Hello{
	protected static int num = 0;
	public final int num2 = 5;
}
class Inheritance extends Hello {
	public void Hi(){
	System.out.println(num);
	System.out.println(num2);
	}

public static void main (String [] args)
{
	Inheritance obj = new Inheritance();
	obj.Hi();
}
}
//Single Inheritance: one super class,one sub class
//Multilevel Inheritance:One super class will be extended by many sub class
//Hierarchical Inheritance: One super class,Many sub class
//Multiple Inheritance:One class has many super classes
//Hybrid Inheritance: Combination of single and multiple inheritance\\
//Rules: 
//Multiple,Cyclic Inheritance is not permitted in java
//Private members do not get inherited
//Constructors can't be Inherited in java
//child can access parent class,parent can't access child class
//Constructors get executed beacause of super() present in the constructor

Polymorphism

/* ---------------Method Overloading------------------- 
1.Methods must be same
2.Method name must be same
3.Method parameter must be different
4.Method return type may or may not be same
----------------Method Overriding-----------------
1.Must be inheritance between two classes
2.Method name must be same
3.Method parameter must be same
4.Method return type must be same 
--------Constructor Overloading-------------------
1.Constructor must be of same class.
2.Constructor parameter must be different
 

*/
class {
	
	public void addition(int a, int b)
	{
		int sum = a+b;
		System.out.println(sum);
		//return sum;
	}
}
class Hey //method overloading 
 {
	public void addition(double a,double b)
	{
		double result = a*b;
		System.out.println(result);
	}
}	
class Hello extends Hi //method overriding 
{
	public void addition(int a,int b){
	int sum = a-b;
	//return sum;
	System.out.println(sum);
	}
}
public class polymorphism{
public static void main (String [] args)
{
	Hello obj = new Hello();
	obj.addition(4,5);
	Hi scp = new Hi();
	scp.addition(5,4);
	Hey sc = new Hey();
	sc.addition(4.5,6.5);
}
}




Abstraction

/* Rules
1.We can use object reference but we can't
create object of an abstract class. 
2.Can't call constructors using new keyword but
super().this() used to call constructors.
3.An abstract class must have child class.
4.At least one regular class will inherit the
abstruct class one way or another.
5.Abstract method should be on abstract class. */
abstract class Hi{
	abstract void Start();
}
class Hello extends Hi{
	void Start(){
	
	System.out.println("Hello");
}
}
class Hey extends Hello
{
	void Start(){
	System.out.println("Hey");
	}
}
	class Abstraction
	{
	public static void main(String [] args)
	{
		Hello C = new Hello();
		C.Start();
		Hey B = new Hey();
        B.Start();		
	}
	}


Interface

/* Rules:
1.Can take object reference
2.deafult public
3.No constructors
4.methods by default public and abstract
5.if you want to give body to any method 
as interface,declare the method as static */

interface I1
{
	void show();
	int a= 100;
	public static final int a1 =100;
}
class Interface implements I1 
{ 
	public void show()
	{
		System.out.println("Hello");
	}
	public static void main(String [] args)
	{
	 	Interface P = new Interface();
		P.show();
	}
}



Association

import java.util.*; 
class CityClass {
      
    private String cityName;
  
    public String getCityName() {
        return cityName;
    }
  
    public void setCityName(String cityName) {
        this.cityName = cityName;
    }
    @Override
    public String toString() {
        return cityName;
    }
}
 
class State {
      
    private String stateName;
     
    List<CityClass> citys;
  
    public String getStateName() {
        return stateName;
    }
  
    public void setStateName(String stateName) {
        this.stateName = stateName;
    }
    public List<CityClass> getCities() {
        return citys;
    }
    public void setState(List<CityClass> citys) {
        this.citys = citys;
    }
     
}
 
public class AssociationExample {
 
      public static void main(String[] args) {
            State state = new State();
            state.setStateName("California");
             
             
           CityClass city = new CityClass();
            city.setCityName("Los Angeles");
            CityClass city2 = new CityClass();
            city2.setCityName("San Diago");
             
            List<CityClass> empList = new ArrayList<CityClass>();
            empList.add(city);
            empList.add(city2);
             
             
            state.setState(empList);
             
             
 /*association */ System.out.println(state.getCities()+" are cities in the state "+
                    state.getStateName());
        }
      
 
}

File Read and Write

import java.io.*;
import java.util.Scanner;

public class fileio
{
	public static void main (String [] args) throws Exception
	{
		Scanner sc = new Scanner(System.in);
		InputStreamReader isr = new InputStreamReader(System.in);
		BufferedReader bfr = new BufferedReader(isr);
		
		String s = "";
		String temp;
		char choice = 'y';
		
		File file = new File("Hello.txt");
		file.createNewFile();
		
		FileWriter writer = new FileWriter(file);
		System.out.println("Write Something");
		while(choice=='y')
		{
		
		temp = bfr.readLine();
	    s = s + temp + "\n";
        System.out.println("More? y for yes and n for no ");	
        choice = sc.next().charAt(0);
		}		
		writer.write(s);
		writer.flush();
		writer.close();
		
		FileReader reader = new FileReader(file);
		BufferedReader bf1 = new BufferedReader(reader);
		
		String a = "";
	while((temp=bf1.readLine())!=null)
	{
		a = a+temp+"\n";
		
	}
	   System.out.println(a);
       reader.close();	
	}
}

Important Finance Terms in Bengali

 

AIR: Annual Interest Rate is the yearly interest percentage you pay based on your average loan balance. This rate excludes any fees.

APR: Annual Percentage Rate is the annualized interest rate plus any fees that are a condition of receiving capital—expressed as a yearly rate.

Assets: Within the context of a small business loan an asset is something of value, owned by the borrower, which can be used as collateral by a lender.

Business Credit Profile: A collection of information based on your business’ history of credit used to predict the likelihood of your business to be able to pay back borrowed funds.

Cash Flow: The total amount of money being transferred into and out of a business that is used to pay for day-to-day expenses.

Cents on the Dollar: Cents on the Dollar is the total amount of interest paid per dollar borrowed. This amount excludes any fees.

Collateral: An asset, or assets, a borrower offers to a lender to secure a loan. The lender can take possession of these assets if the borrower defaults on the loan.

Default: Failure to make the agreed-upon periodic payments on a loan.

Fixed Asset: A “tangible asset,” like property or equipment that can be used as collateral.

Gross Profit: What is left over when the total cost of goods is subtracted from the total revenue.

Interest-Only Payments: Making only the interest payments on a loan without paying anything on the principle. At the end of the term, the borrower will either need to refinance or pay back the principal in a lump sum.

Liabilities: A business’ debts or obligations, which can be resolved in the form of payments or the transfer of goods or services.

Line of Credit: Where the borrower receives access to a revolving set amount of funds to be utilized at the borrowers' discretion and to be paid back based on the borrowed amount over a set period of time.

Net Income: The total revenue for a given period of time minus all costs and expenses.

Personal Credit Score: A number determined by a collection of information based on your personal history of credit, used to predict the likelihood of your personal ability to pay back borrowed funds.

Principal: The amount of money being borrowed excluding interest payments and fees.

Revenue: The total income generated for a given period of time before deducting any costs or expenses.

Secured Loan: A loan where the borrower puts forth collateral in the event they should default.

Stacking: Loan stacking is where a loan or cash advance is approved on top of a loan or advance that is already in place with similar characteristics and payback terms.

Term Loan: A loan where the borrower receives a lump sum to be paid back in a predetermined dollar amount per period (day, week, month, etc.), for a set length of time.

Unsecured Loan: A loan where the borrower is not required to put up collateral to secure the loan.

Margin is the collateral that a holder of a financial instrument has to deposit with a counterparty to cover some or all of the credit risk the holder poses for the counterparty.

Gross margin is net sales less the cost of goods sold (COGS). The higher the gross margin, the more capital a company retains, which it can then use to pay other costs or satisfy debt obligations. The net sales figure is gross revenue, less the returns, allowances, and discounts.

AIR: বার্ষিক সুদের হার হল বার্ষিক সুদের শতাংশ যা আপনি আপনার গড় লোনের ব্যালেন্সের উপর ভিত্তি করে প্রদান করেন। এই হার কোনো ফি ছাড়া.

এপিআর: বার্ষিক শতাংশ হার হল বার্ষিক সুদের হার এবং যে কোনও ফি যা মূলধন গ্রহণের শর্তবার্ষিক হার হিসাবে প্রকাশ করা হয়।

সম্পদ: একটি ছোট ব্যবসা ঋণের প্রেক্ষাপটে একটি সম্পদ হল মূল্যবান কিছু, যা ঋণগ্রহীতার মালিকানাধীন, যা একটি ঋণদাতা দ্বারা সমান্তরাল হিসাবে ব্যবহার করা যেতে পারে।

ব্যবসায়িক ক্রেডিট প্রোফাইল: আপনার ব্যবসার ক্রেডিট ইতিহাসের উপর ভিত্তি করে তথ্যের একটি সংগ্রহ যা আপনার ব্যবসার ধার করা তহবিল ফেরত দিতে সক্ষম হওয়ার সম্ভাবনার পূর্বাভাস দিতে ব্যবহৃত হয়।

নগদ প্রবাহ: একটি ব্যবসার মধ্যে এবং বাইরে স্থানান্তরিত অর্থের মোট পরিমাণ যা প্রতিদিনের খরচের জন্য ব্যবহৃত হয়।

ডলারের উপর সেন্ট: ডলারের উপর সেন্ট হল ধার করা ডলার প্রতি প্রদত্ত সুদের মোট পরিমাণ। এই পরিমাণ কোনো ফি ছাড়া.

সমান্তরাল: একটি সম্পদ, বা সম্পদ, একজন ঋণগ্রহীতা একটি ঋণ সুরক্ষিত করার জন্য একটি ঋণদাতাকে অফার করে। ঋণগ্রহীতা ঋণে খেলাপি হলে ঋণদাতা এই সম্পদের দখল নিতে পারে।

ডিফল্ট: একটি ঋণের উপর সম্মত পর্যায়ক্রমিক অর্থপ্রদান করতে ব্যর্থতা।

স্থায়ী সম্পদ: একটি "ট্যাঞ্জিবল অ্যাসেট", যেমন সম্পত্তি বা সরঞ্জাম যা সমান্তরাল হিসাবে ব্যবহার করা যেতে পারে।

মোট লাভ: মোট রাজস্ব থেকে পণ্যের মোট খরচ বিয়োগ করলে কী অবশিষ্ট থাকে।

সুদ-শুধু অর্থপ্রদান: নীতিতে কিছু না দিয়ে শুধুমাত্র ঋণের সুদ পরিশোধ করা। মেয়াদ শেষে, ঋণগ্রহীতাকে হয় পুনঃঅর্থায়ন করতে হবে বা একমুঠো টাকায় মূল অর্থ ফেরত দিতে হবে।

দায়: একটি ব্যবসার ঋণ বা বাধ্যবাধকতা, যা অর্থপ্রদানের মাধ্যমে বা পণ্য বা পরিষেবার স্থানান্তরের মাধ্যমে সমাধান করা যেতে পারে।

ক্রেডিট লাইন: যেখানে ঋণগ্রহীতা ঋণগ্রহীতার বিবেচনার ভিত্তিতে ব্যবহার করার জন্য একটি ঘূর্ণায়মান সেট পরিমাণ তহবিলের অ্যাক্সেস পায় এবং একটি নির্দিষ্ট সময়ের মধ্যে ধার করা পরিমাণের উপর ভিত্তি করে ফেরত দেওয়া হয়।

নিট আয়: একটি নির্দিষ্ট সময়ের জন্য সমস্ত খরচ এবং খরচ বিয়োগ করে মোট আয়।

ব্যক্তিগত ক্রেডিট স্কোর: আপনার ব্যক্তিগত ক্রেডিট ইতিহাসের উপর ভিত্তি করে তথ্য সংগ্রহের দ্বারা নির্ধারিত একটি সংখ্যা, ধার করা তহবিল ফেরত দেওয়ার জন্য আপনার ব্যক্তিগত ক্ষমতার সম্ভাবনার পূর্বাভাস দিতে ব্যবহৃত হয়।

প্রিন্সিপাল: সুদ প্রদান এবং ফি ব্যতীত ধার করা অর্থের পরিমাণ।

রাজস্ব: কোনো খরচ বা খরচ বাদ দেওয়ার আগে একটি নির্দিষ্ট সময়ের জন্য মোট আয়।

সুরক্ষিত ঋণ: একটি ঋণ যেখানে ঋণগ্রহীতা তাদের খেলাপি হওয়া উচিত এমন ক্ষেত্রে জামানত রাখে।

স্ট্যাকিং: লোন স্ট্যাকিং হল যেখানে একটি ঋণ বা নগদ অগ্রিম একটি ঋণ বা অগ্রিমের উপরে অনুমোদিত হয় যা একই বৈশিষ্ট্য এবং পরিশোধের শর্তাবলী সহ ইতিমধ্যেই রয়েছে।

মেয়াদী ঋণ: একটি ঋণ যেখানে ঋণগ্রহীতা একটি নির্দিষ্ট সময়ের জন্য একটি পূর্বনির্ধারিত ডলার পরিমাণে (দিন, সপ্তাহ, মাস, ইত্যাদি) ফেরত দেওয়ার জন্য একমুঠো টাকা পায়।

অসুরক্ষিত ঋণ: একটি ঋণ যেখানে ঋণগ্রহীতাকে ঋণ সুরক্ষিত করার জন্য জামানত রাখার প্রয়োজন হয় না।

মার্জিন হল সেই সমান্তরাল যা একটি আর্থিক উপকরণের ধারককে একটি কাউন্টারপার্টির কাছে জমা করতে হয় যাতে ধারক কাউন্টারপার্টির জন্য কিছু বা সমস্ত ক্রেডিট ঝুঁকি কভার করে।

মোট মার্জিন হল বিক্রি হওয়া পণ্যের খরচের (COGS) তুলনায় নিট বিক্রয়। স্থূল মার্জিন যত বেশি হবে, একটি কোম্পানি তত বেশি মূলধন ধরে রাখে, যা পরবর্তীতে অন্যান্য খরচ দিতে বা ঋণের বাধ্যবাধকতা মেটাতে ব্যবহার করতে পারে। নেট বিক্রয়ের পরিসংখ্যান হল মোট আয়, কম আয়, ভাতা এবং ছাড়।

Friday, February 25, 2022

Sorting Techniques

 An algorithm is thus a sequence of computational steps that transform the input into output. Sorting is the basic and most common computational problem. Allocating scarce resources is the most beneficial way. The learning of Algorithms is basically finding the efficient way to solve problems. Sorting is a classical and important algorithmic problem. Some types of techniques are given below:

Bubble Sort: It compares adjacent numbers in pairs. We have to use nested loops for comparing arrays, traversing, and decrement value by 1. 

Selection Sort: It searches the smallest elements from the positions starting at index 1. We need two identifiers and one smallest value indicator to sort the numbers.

Insertion Sort: It will start from index 1. Then compare backward with all previous elements and if the previous element is larger at that time shift it forward otherwise stop comparing.

Merge Sort: It works in the divide and conquers technique. It first checks if the endpoint is greater than the start point or not. If yes then calculate mid-point and it will divide into two sub-arrays from start to mid and mid+1 to end. Finally, when the two recursive calls have done calling, it will stop. Then single values will be copied into a temporary array in ascending order. After that, it will be copied into the original half of the array. Then the second half will start working as the first half. In the end, the two half will compare their elements and merge them together.

Quick Sort: Quicksort also follows the divide and conquer technique. It works in 3 ways. 

  • Pivot
  • Partition
  • Sub-arrays
First pindex starts from i. If arr[i]<pivot, then it will be swapped. After swapping we have to increment the value of pindex and the following it will swap pindex with pivot. Then the recursive calls will traverse left and right respectively pindex-1 and pindex+1.

Counting Sort: Find the count of every distinct element in the array. Calculate the position of each element in a sorted array.


Wednesday, February 16, 2022

Computer Graphics Basic (With Code)

 A pixel is one of the many tiny dots that make up the representation of a picture in a computer's memory.

Computer graphics can be created as either raster or vector images

1.      Raster Image - Pixel Based

2.      Vector Image - Mathematical Based

Raster image drawbacks –

·        Dpi(dots per inch)

·        Larger than vector in size

·        Less economical

Raster image advantages – User end friendly

Raster image formats – Tiff, Jpeg, Gif, Pcx, Bmp

Vector image drawbacks- Not suitable for complex graphic displays. Rasterization required for display.

Vector image advantages-

·        More malleable

·        More versatile

·        No upper or lower limit for sizing

Vector image formats- Ai, Eps, Cgm, Wmf, Pict(macOS)

Color Models- RGB and CMYK

Code

Color

W

White

R

Red

G

Green

B

Blue

C

Cyan

M

Magenta

Y

Yellow

K

Black

RGB – Additive Color

CMYK – Subtractive Color



C=G+B=W-R

M=R+B=W-G

Y=R+G=W-B

3 bit RGB = (21)3 = 8 ; [1 bit each color]

6 bit RGB = (22)3 = 64 ; [2 bit each color]

Color Code

RGB

B

001

G

010

R

110

C

011

*RGB intensity value 0 to 255
                          

Color Palette: Color palette is a finite set of colors. CMYK range is 0 to 100%.

Example:

Color

RGB

CMYK

White

255,255,255

0,0,0,0

 


(Code for understanding and comment for describe what are the works of fucntion)
#include<GL/gl.h>
#include<GL/glut.h>
void display(void)
{
    glClear (GL_COLOR_BUFFER_BIT); //clear the pixels of previous code
    glColor3f(1.0,1.0,1.0);
    glBegin(GL_TRIANGLES); //Beginning of drawing triangle
    //2d Shape
    glVertex3f(0.5f,0.7f,0.0f);
    glVertex3f(0.9f,0.75f,0.0f);
    glVertex3f(0.54f,0.73f,0.0f);
    glEnd(); //End of drawing triangle
    glFlush(); //force execution of GL commands in finite time


}
void init (void) //new function
{

    glClearColor(0.0,0.0,0.0,0.0); //Select clearing (Background) Color
    glMatrixMode(GL_PROJECTION); //The value we use, it will be initialized through this function
    glLoadIdentity(); //replaces the current matrix with the identity matrix
    glOrtho(0.0,1.0,0.0,1.0,-10.0,10.0); //size of x-y-z axis like graph paper

}
int main(int argc, char** argv) //argc stands for argument count and argv stands for argument values. These are variables passed to the main function when it starts executing
{
    glutInit(&argc, argv); //is used to initialize the GLUT library
    glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB); //display modes: Single and RGB
    glutInitWindowSize(600,600); //windows size
    glutCreateWindow("Hello"); //title of windows
    init(); //call and commit the function
    glutDisplayFunc(display); //call the display function
    glutMainLoop(); //use for change shape by keyboard
    return 0;
}