CS508 Assignment 2 Solution and Discussion Spring 2020


  • Cyberian's Gold

    Re: CS508 Assignment 2 Solution and Discussion

    Assignment No. 02
    Semester Spring 2020
    CS508- Modern Programming Languages
    Total Marks: 20

    Due Date:12 June 2020
    Instructions
    Please read the following instructions carefully before solving & submitting assignment:
    It should be clear that your assignment will not get any credit if:
    • The assignment is submitted after due date.
    • The submitted assignment does not open or file is corrupt.
    • The assignment is completely or partially copied from (other student or ditto copied from handouts or internet).
    • Student ID is not mentioned in the assignment File or name of file is other than student ID.
    • The assignment is not submitted in .rar format.

    Submission details
    Following files must be submitted in a single zip or rar file.
    • Code file(.adb file)
    • A .gif file which shows working of your application (For Recording .gif a software named Screentogif is uploaded on LMS, or you can use any other gif recording tool as well)
    Please note if you submit doc or txt file you will be awarded 0 marks. Make sure to write your own VU ID in the assignment file(s) otherwise assignment will not be accepted.
    If you do not submit any of the above mentioned file 50% marks per file will be deducted.
    Objective
    The objective of this assignment is to give students idea on how to implement object oriented concepts in ADA.

    Lectures Covered: This assignment covers Lecture # 13 – 17
    You will develop Ada console application in GNAT IDE. You can also use any online compiler to compile Ada.
    Problem Statement:
    As you know that we cannot implement inheritance in Ada directly as there is no concept of class in Ada, we need to use a mix of tagged types and packages.
    You are required to create a tagged type as person and then another as men, the tagged type men will inherit from person type.
    The person type has following attributes:
    • Name: String
    • Age: Integer
    • Gender: Boolean

    Functions:
    And also a function named print() [This function will print all three attributes of type person]
    The tagged type men have following attributes
    • Height: float
    • ID: String
    Functions:
    This type will also have one function named print() which must print all the attributes of type men and person as well.
    When application starts an instance of type men will be created and detail of men will be taken from user input and assigned to men type object after that the added details will be printed on the console screen.


  • Cyberian's Gold

    main.adb

    with Ada.Text_IO;
    use Ada.Text_IO;
    with Ada.Integer_Text_IO;
    use Ada.Integer_Text_IO;
    with Ada.Float_Text_IO;
    use Ada.Float_Text_IO;
    with per;
    use per;
    with Mn;
    use Mn;
    
    procedure main is
    
       -- Creating object of type Men
       men1 : Men;
       len: Natural;
    Begin
    	-- Taking input ID
       Put_Line("Enter ID : ");
       Get_Line(men1.ID, len);
    
       -- Taking input Name
       Put_Line("Enter Name : ");
       Get_Line(men1.Name, len);
    
        -- Taking input Gender
       Put_Line("Enter Gender : ");
       Get_Line(men1.Gender, len);
    
       -- Taking input Height
       Put_Line("Enter Height : ");
       Get(men1.Height);
    
       -- Taking input Age
       Put_Line("Enter Age : ");
       Get(men1.Age);
    
       new_line(2);
    
       -- Print Function calling
       print(men1);
    
       new_line(3);
    
    end main;
    
    

    per.ads

    package Per is
    
       type Person is tagged 
    	record
    		Name: String(1..30):= "                              ";
    		Age: Integer :=0;
    		Gender: String(1..10) := "          ";
    	end record;
     
     procedure print(Self : in out Person);
    
    end Per;
    
    

    main.adb

    with Ada.Text_IO; 
    use Ada.Text_IO;
    with Ada.Integer_Text_IO;
    use Ada.Integer_Text_IO;
    with Ada.Float_Text_IO;
    use Ada.Float_Text_IO;
    
    package body Per is
       procedure print(Self : in out Person) is
    		begin
    			Put_Line("Name is " & Self.Name);
    			Put_Line("Age is " & Integer'Image (Self.Age));
    			Put_Line("Gender is " & Self.Gender);
       end print;
       
    end Per;
    
    

    mn.ads

    with per;
    use per;
    
    package Mn is
    
       type Men is new Person with 
          record
             Height: Float := 0.0; 
             ID: String(1..15) := "               ";
             
    	end record;
    
       overriding procedure print(Self : in out Men);
    
    end Mn;
    
    

    mn.adb

    with Ada.Text_IO; 
    use Ada.Text_IO;
    with Ada.Integer_Text_IO;
    use Ada.Integer_Text_IO;
    with Ada.Float_Text_IO;
    use Ada.Float_Text_IO;
    with per;
    use per;
    
    package body Mn is
    
       procedure print(Self : in out Men) is
    		begin
    			Put_Line("ID is " & Self.ID);
    			Put_Line("Name is " & Self.Name);
    			Put_Line("Age is " & Integer'Image (Self.Age));
    			Put_Line("Gender is " & Self.Gender);
    			Put_Line("Height is " & Float'Image (Self.Height));		
    		end print;
    
    end Mn;
    
    

  • Cyberian's Gold

    Please share idea



Quiz 100% Result Quiz 100% Result
| |