SlideShare a Scribd company logo
2
Most read
4
Most read
Page 1 of 6



                                 Structures
What is a Structure?

Structure is a collection of variables under a single name. Variables can be of
any type: int, float, char etc. The main difference between structure and array is
that arrays are collections of the same data type and structure is a collection of
variables under a single name.

How to declare and create a Structure

Declaring a Structure:

The structure is declared by using the keyword struct followed by structure name,
also called a tag. Then the structure members (variables) are defined with their
type and variable names inside the open and close braces { and }. Finally, the
closed braces end with a semicolon denoted as ; following the statement. The
above structure declaration is also called a Structure Specifier.

Example:

Three variables: custnum of type int, salary of type int, commission of type float
are structure members and the structure name is Customer. This structure is
declared as follows:




In the above example, it is seen that variables of different types such as int and
float   are    grouped      in   a     single   structure      name     Customer.

Arrays behave in the same way, declaring structures does not mean that memory
is allocated. Structure declaration gives a skeleton or template for the structure.

After declaring the structure, the next step is to define a structure variable.



                          Prepared By Sumit Kumar Gupta, PGT Computer Science
Page 2 of 6


How to declare Structure Variable?

This is similar to variable declaration. For variable declaration, data type is
defined followed by variable name. For structure variable declaration, the data
type is the name of the structure followed by the structure variable name.

In the above example, structure variable cust1 is defined as:




What happens when this is defined? When structure is defined, it allocates or
reserves space in memory. The memory space allocated will be cumulative of all
defined structure members. In the above example, there are 3 structure
members: custnum, salary and commission. Of these, two are of type in and one
is of type float. If integer space allocated by a system is 2 bytes and float four
bytes the above would allo9acter 2bytes for custnum, 2 bytes for salary and 4
bytes for commission.

How to access structure members in C++?

To access structure members, the operator used is the dot operator denoted by
(.). The dot operator for accessing structure members is used thusly:


structure variable name.member name

For example:

A programmer wants to assign 2000 for the structure member salary in the above
example of structure Customer with structure variable cust1 this is written as:

Nested Structures
A structure can be nested inside another structure.

Stuct addr
{
int houseno;
char area[26];

                        Prepared By Sumit Kumar Gupta, PGT Computer Science
Page 3 of 6

char city[26];
char state[26];
};

struct emp
{
int empno;
char name[26];
char desig[16];
addr address;
float basic;
};
emp worker ;

 The structure emp h as been defined having several elements including a
structure address also. The elements address(of structure emp) is itself a
structure of type addr. While defining such structures, just make sure that innder
structure one defined before outer structure one defined before outer structures.



Structure and Arrays
The structure and the array both are c++ derived data types. While arrays are
collections of analogous elements, structures assembles dissimilar elements
under one roof.

Array and structure both combined together to form complex data objects. There
may be structures contained within an array; also there array element of a
structure.

Array of Structure

To declare 100- elements array of structure of type addr

addr mem_addr[100];

To create an array having structures emp type

Emp sales_emp[100];

Above declaration to create an array sales_emp to store 100 structures of emp
type.




                        Prepared By Sumit Kumar Gupta, PGT Computer Science
Page 4 of 6




Array Within Structures

A structure elements my be simple or complex . A complex structure may itself
be a structure or any array. When a structure elements happens to be an array it
is treated in the same way as array are treated. The only additional things to be
kept in mind is that to access it, its structure name followed by a (.) and the name
is to be given. For example consider structure ;



Struct student

       {
       Int rollno;
       char name[21];
       float marks[5]; //array of 5 floats
       };
       students learner;

The above declared statement variable learner is of structure type student that
contains an elements which is a n array of 5 floats to store marks of a students in
5 different subjects.

Passing Structures to Function
If you have a structure local to a function and you need to pass its values to
another function , then it can be achieved in two ways : (i) by passing individual
structure elements , and (ii) by passing the entire structure . Both the ways cab
be achieved by call by value as well as by call by reference method pa passing
variables.

Passing Structure Elements to Functions

When an elements of a structure is passed to a function , you are actually
passing the value of that element to the function Therefore , it just like passing a
simple variable. Consider following structure

Struct date {
                short day;
                shot month;
                short year;
                } Bdate;

`

                          Prepared By Sumit Kumar Gupta, PGT Computer Science
Page 5 of 6

Passing entire structure to Functions

Passing entire structure makes the most sense when the structure is relatively
compact. The entire structure can be passed to the function both ways by value
and by reference. Passing by value is useful when the original values are not
to be changed and passing by reference is useful when original values are to
be changed.

User Defined Data Types

  C++ allows you to define explicitly new data type name by using the keyword
typedef doses not actually create a new data class, rather it defines a new
name for an exiting type. This can increase the potablity of a program as only the
typedef statements would have to be changed . Using typedef can also aid in
self- documenting your code by allowing ddescriptive name for the standard data
type. The syntax of the typedef statement is

Typedef type name ;

Use of typedef for declaring structures
The typedef function is used to declare the alias name for the structure type.

typedef structure result
  {
    } progress;
 results report1;
progress report2

in this above program segment the usage of typedef defines a structure result
and an alias name of the same structure as progress.

The two structures report1 and report2 are declared accordingly of the same
type as result and progress are now alternative nomenclature for each other.

Enumerated data types

It is another way of defining data types. It includes all the probables list of values
that a data type can take. It has the following format for declaration;

Enum struc-name {v1 v2 ,v3, v3,v4…..v n }




                           Prepared By Sumit Kumar Gupta, PGT Computer Science
Page 6 of 6


                      Practice Question Paper
1. What is a structure?
2. Define arrays of structures?
3. Differentiate between the following using examples
a. Simple structure
b. multiple structure
4. Explain the following with examples
a. Declaration of a structure
b. Definition of a structure variable
c. Accessing of a structure member
d. Initialization of a member within structures.
e. Arrays of structures.
f. Passing structures to functions
g. Use defined structure
6. Explain the usage of type def for declaring structure .
7.What are enumerated data type?
8. What are symbolic constants?
9. Define a structure for length and breadth of a rectangle of type float and refer
   the same as rect.

10. Write a statement to assign a variable measure to length member of rect
 structure variable.

11. The enumerated type is considered as an integer type . Comment on the
 factual concern of the statement.
12. Write a program segment to declared and initialize an array of four structure
 with name of the student age and marks in three subjects.




                         Prepared By Sumit Kumar Gupta, PGT Computer Science

More Related Content

PPTX
Datatypes in c
CGC Technical campus,Mohali
 
PDF
Infix to postfix expression in ds
Rohini Mahajan
 
PPTX
Stacks IN DATA STRUCTURES
Sowmya Jyothi
 
PPTX
Tree Traversal
Md. Israil Fakir
 
PPT
UNIT-4 TREES.ppt
SIVAKUMARM603675
 
PPTX
Queue ppt
SouravKumar328
 
PPTX
Infix to postfix conversion
Then Murugeshwari
 
PPTX
Recursive Function
Kamal Acharya
 
Infix to postfix expression in ds
Rohini Mahajan
 
Stacks IN DATA STRUCTURES
Sowmya Jyothi
 
Tree Traversal
Md. Israil Fakir
 
UNIT-4 TREES.ppt
SIVAKUMARM603675
 
Queue ppt
SouravKumar328
 
Infix to postfix conversion
Then Murugeshwari
 
Recursive Function
Kamal Acharya
 

What's hot (20)

PPT
Stack
srihariyenduri
 
PDF
Object oriented programming c++
Ankur Pandey
 
PPTX
Introduction to data structure ppt
NalinNishant3
 
PPT
Spanning trees
Shareb Ismaeel
 
PPTX
Union in C programming
Kamal Acharya
 
PPTX
Pointer arithmetic in c
sangrampatil81
 
PDF
Revised Data Structure- STACK in Python XII CS.pdf
MohammadImran709594
 
PPTX
single linked list
Sathasivam Rangasamy
 
PPTX
Pointer in c
lavanya marichamy
 
PPT
Formatted input and output
Online
 
PPTX
Stacks and Queue - Data Structures
Dr. Jasmine Beulah Gnanadurai
 
PPTX
Polynomial reppresentation using Linkedlist-Application of LL.pptx
Albin562191
 
PPTX
Stack and Queue
Apurbo Datta
 
PDF
Binary Search - Design & Analysis of Algorithms
Drishti Bhalla
 
PPTX
Structure in c language
sangrampatil81
 
PPTX
Pointers and Dynamic Memory Allocation
Rabin BK
 
PPTX
Breadth First Search & Depth First Search
Kevin Jadiya
 
PPTX
Linked list
KalaivaniKS1
 
ODP
Python Modules
Nitin Reddy Katkam
 
PPT
Basics of data structure
Rajendran
 
Object oriented programming c++
Ankur Pandey
 
Introduction to data structure ppt
NalinNishant3
 
Spanning trees
Shareb Ismaeel
 
Union in C programming
Kamal Acharya
 
Pointer arithmetic in c
sangrampatil81
 
Revised Data Structure- STACK in Python XII CS.pdf
MohammadImran709594
 
single linked list
Sathasivam Rangasamy
 
Pointer in c
lavanya marichamy
 
Formatted input and output
Online
 
Stacks and Queue - Data Structures
Dr. Jasmine Beulah Gnanadurai
 
Polynomial reppresentation using Linkedlist-Application of LL.pptx
Albin562191
 
Stack and Queue
Apurbo Datta
 
Binary Search - Design & Analysis of Algorithms
Drishti Bhalla
 
Structure in c language
sangrampatil81
 
Pointers and Dynamic Memory Allocation
Rabin BK
 
Breadth First Search & Depth First Search
Kevin Jadiya
 
Linked list
KalaivaniKS1
 
Python Modules
Nitin Reddy Katkam
 
Basics of data structure
Rajendran
 
Ad

Viewers also liked (6)

PPT
Basic structure of C++ program
matiur rahman
 
PPTX
c++ programming Unit 2 basic structure of a c++ program
AAKASH KUMAR
 
PPT
friends functionToshu
Sidd Singh
 
PPT
C++: inheritance, composition, polymorphism
Jussi Pohjolainen
 
PPT
Oops ppt
abhayjuneja
 
PPT
Operator Overloading
Nilesh Dalvi
 
Basic structure of C++ program
matiur rahman
 
c++ programming Unit 2 basic structure of a c++ program
AAKASH KUMAR
 
friends functionToshu
Sidd Singh
 
C++: inheritance, composition, polymorphism
Jussi Pohjolainen
 
Oops ppt
abhayjuneja
 
Operator Overloading
Nilesh Dalvi
 
Ad

Similar to Structures in c++ (20)

PDF
Structures in c++
Swarup Boro
 
PPTX
Structure & union
lalithambiga kamaraj
 
PPT
2 lesson 2 object oriented programming in c++
Jeff TUYISHIME
 
PDF
Lk module4 structures
Krishna Nanda
 
PPTX
Structures in c language
Tanmay Modi
 
PPTX
Structures in c language
tanmaymodi4
 
PPTX
Presentation on c programing satcture
topu93
 
PPTX
Presentation on c structures
topu93
 
PDF
Unit 4 qba
Sowri Rajan
 
PPTX
M-2-Pointers-2.pptx by engineering institutions
sreeanu110405
 
PDF
Chapter 13.1.9
patcha535
 
PPT
structures_v1.ppt
ansariparveen06
 
PPT
structures_v1.ppt
ParinayWadhwa
 
PPT
Structures and Unions in C-Language with Examples.ppt
IQACGCN
 
PDF
C structure and union
Thesis Scientist Private Limited
 
PPTX
Programming in C
MalathiNagarajan20
 
PDF
fundamental programming languagech#2 (3).pdf
gemchisgetahun
 
PPTX
CPU : Structures And Unions
Dhrumil Patel
 
PPTX
C Structures and Unions
Dhrumil Patel
 
PPTX
Chapter4.pptx
WondimuBantihun1
 
Structures in c++
Swarup Boro
 
Structure & union
lalithambiga kamaraj
 
2 lesson 2 object oriented programming in c++
Jeff TUYISHIME
 
Lk module4 structures
Krishna Nanda
 
Structures in c language
Tanmay Modi
 
Structures in c language
tanmaymodi4
 
Presentation on c programing satcture
topu93
 
Presentation on c structures
topu93
 
Unit 4 qba
Sowri Rajan
 
M-2-Pointers-2.pptx by engineering institutions
sreeanu110405
 
Chapter 13.1.9
patcha535
 
structures_v1.ppt
ansariparveen06
 
structures_v1.ppt
ParinayWadhwa
 
Structures and Unions in C-Language with Examples.ppt
IQACGCN
 
C structure and union
Thesis Scientist Private Limited
 
Programming in C
MalathiNagarajan20
 
fundamental programming languagech#2 (3).pdf
gemchisgetahun
 
CPU : Structures And Unions
Dhrumil Patel
 
C Structures and Unions
Dhrumil Patel
 
Chapter4.pptx
WondimuBantihun1
 

More from Swarup Kumar Boro (20)

TXT
c++ program for Railway reservation
Swarup Kumar Boro
 
TXT
c++ program for Canteen management
Swarup Kumar Boro
 
PDF
Pointers
Swarup Kumar Boro
 
PDF
File handling
Swarup Kumar Boro
 
PDF
Constructor & destructor
Swarup Kumar Boro
 
PDF
Functions
Swarup Kumar Boro
 
PDF
Implementation of oop concept in c++
Swarup Kumar Boro
 
PDF
2-D array
Swarup Kumar Boro
 
PDF
C++ revision tour
Swarup Kumar Boro
 
PDF
Computer science study material
Swarup Kumar Boro
 
PDF
01 computer communication and networks v
Swarup Kumar Boro
 
PDF
1-D array
Swarup Kumar Boro
 
PDF
Arrays and library functions
Swarup Kumar Boro
 
PDF
Function overloading
Swarup Kumar Boro
 
PDF
computer science sample papers 2
Swarup Kumar Boro
 
PDF
computer science sample papers 3
Swarup Kumar Boro
 
PDF
computer science sample papers 1
Swarup Kumar Boro
 
c++ program for Railway reservation
Swarup Kumar Boro
 
c++ program for Canteen management
Swarup Kumar Boro
 
File handling
Swarup Kumar Boro
 
Constructor & destructor
Swarup Kumar Boro
 
Implementation of oop concept in c++
Swarup Kumar Boro
 
C++ revision tour
Swarup Kumar Boro
 
Computer science study material
Swarup Kumar Boro
 
01 computer communication and networks v
Swarup Kumar Boro
 
Arrays and library functions
Swarup Kumar Boro
 
Function overloading
Swarup Kumar Boro
 
computer science sample papers 2
Swarup Kumar Boro
 
computer science sample papers 3
Swarup Kumar Boro
 
computer science sample papers 1
Swarup Kumar Boro
 

Recently uploaded (20)

PDF
The-Invisible-Living-World-Beyond-Our-Naked-Eye chapter 2.pdf/8th science cur...
Sandeep Swamy
 
PDF
Biological Classification Class 11th NCERT CBSE NEET.pdf
NehaRohtagi1
 
DOCX
SAROCES Action-Plan FOR ARAL PROGRAM IN DEPED
Levenmartlacuna1
 
PPTX
Basics and rules of probability with real-life uses
ravatkaran694
 
DOCX
Unit 5: Speech-language and swallowing disorders
JELLA VISHNU DURGA PRASAD
 
PDF
Review of Related Literature & Studies.pdf
Thelma Villaflores
 
PDF
BÀI TẬP TEST BỔ TRỢ THEO TỪNG CHỦ ĐỀ CỦA TỪNG UNIT KÈM BÀI TẬP NGHE - TIẾNG A...
Nguyen Thanh Tu Collection
 
PPTX
HISTORY COLLECTION FOR PSYCHIATRIC PATIENTS.pptx
PoojaSen20
 
PPTX
Information Texts_Infographic on Forgetting Curve.pptx
Tata Sevilla
 
PPTX
Sonnet 130_ My Mistress’ Eyes Are Nothing Like the Sun By William Shakespear...
DhatriParmar
 
PPTX
Artificial Intelligence in Gastroentrology: Advancements and Future Presprec...
AyanHossain
 
PPTX
Five Point Someone – Chetan Bhagat | Book Summary & Analysis by Bhupesh Kushwaha
Bhupesh Kushwaha
 
PPTX
How to Manage Leads in Odoo 18 CRM - Odoo Slides
Celine George
 
PDF
Antianginal agents, Definition, Classification, MOA.pdf
Prerana Jadhav
 
PPTX
family health care settings home visit - unit 6 - chn 1 - gnm 1st year.pptx
Priyanshu Anand
 
PDF
Virat Kohli- the Pride of Indian cricket
kushpar147
 
PPTX
Cleaning Validation Ppt Pharmaceutical validation
Ms. Ashatai Patil
 
PPTX
A Smarter Way to Think About Choosing a College
Cyndy McDonald
 
PPTX
Command Palatte in Odoo 18.1 Spreadsheet - Odoo Slides
Celine George
 
PPTX
Dakar Framework Education For All- 2000(Act)
santoshmohalik1
 
The-Invisible-Living-World-Beyond-Our-Naked-Eye chapter 2.pdf/8th science cur...
Sandeep Swamy
 
Biological Classification Class 11th NCERT CBSE NEET.pdf
NehaRohtagi1
 
SAROCES Action-Plan FOR ARAL PROGRAM IN DEPED
Levenmartlacuna1
 
Basics and rules of probability with real-life uses
ravatkaran694
 
Unit 5: Speech-language and swallowing disorders
JELLA VISHNU DURGA PRASAD
 
Review of Related Literature & Studies.pdf
Thelma Villaflores
 
BÀI TẬP TEST BỔ TRỢ THEO TỪNG CHỦ ĐỀ CỦA TỪNG UNIT KÈM BÀI TẬP NGHE - TIẾNG A...
Nguyen Thanh Tu Collection
 
HISTORY COLLECTION FOR PSYCHIATRIC PATIENTS.pptx
PoojaSen20
 
Information Texts_Infographic on Forgetting Curve.pptx
Tata Sevilla
 
Sonnet 130_ My Mistress’ Eyes Are Nothing Like the Sun By William Shakespear...
DhatriParmar
 
Artificial Intelligence in Gastroentrology: Advancements and Future Presprec...
AyanHossain
 
Five Point Someone – Chetan Bhagat | Book Summary & Analysis by Bhupesh Kushwaha
Bhupesh Kushwaha
 
How to Manage Leads in Odoo 18 CRM - Odoo Slides
Celine George
 
Antianginal agents, Definition, Classification, MOA.pdf
Prerana Jadhav
 
family health care settings home visit - unit 6 - chn 1 - gnm 1st year.pptx
Priyanshu Anand
 
Virat Kohli- the Pride of Indian cricket
kushpar147
 
Cleaning Validation Ppt Pharmaceutical validation
Ms. Ashatai Patil
 
A Smarter Way to Think About Choosing a College
Cyndy McDonald
 
Command Palatte in Odoo 18.1 Spreadsheet - Odoo Slides
Celine George
 
Dakar Framework Education For All- 2000(Act)
santoshmohalik1
 

Structures in c++

  • 1. Page 1 of 6 Structures What is a Structure? Structure is a collection of variables under a single name. Variables can be of any type: int, float, char etc. The main difference between structure and array is that arrays are collections of the same data type and structure is a collection of variables under a single name. How to declare and create a Structure Declaring a Structure: The structure is declared by using the keyword struct followed by structure name, also called a tag. Then the structure members (variables) are defined with their type and variable names inside the open and close braces { and }. Finally, the closed braces end with a semicolon denoted as ; following the statement. The above structure declaration is also called a Structure Specifier. Example: Three variables: custnum of type int, salary of type int, commission of type float are structure members and the structure name is Customer. This structure is declared as follows: In the above example, it is seen that variables of different types such as int and float are grouped in a single structure name Customer. Arrays behave in the same way, declaring structures does not mean that memory is allocated. Structure declaration gives a skeleton or template for the structure. After declaring the structure, the next step is to define a structure variable. Prepared By Sumit Kumar Gupta, PGT Computer Science
  • 2. Page 2 of 6 How to declare Structure Variable? This is similar to variable declaration. For variable declaration, data type is defined followed by variable name. For structure variable declaration, the data type is the name of the structure followed by the structure variable name. In the above example, structure variable cust1 is defined as: What happens when this is defined? When structure is defined, it allocates or reserves space in memory. The memory space allocated will be cumulative of all defined structure members. In the above example, there are 3 structure members: custnum, salary and commission. Of these, two are of type in and one is of type float. If integer space allocated by a system is 2 bytes and float four bytes the above would allo9acter 2bytes for custnum, 2 bytes for salary and 4 bytes for commission. How to access structure members in C++? To access structure members, the operator used is the dot operator denoted by (.). The dot operator for accessing structure members is used thusly: structure variable name.member name For example: A programmer wants to assign 2000 for the structure member salary in the above example of structure Customer with structure variable cust1 this is written as: Nested Structures A structure can be nested inside another structure. Stuct addr { int houseno; char area[26]; Prepared By Sumit Kumar Gupta, PGT Computer Science
  • 3. Page 3 of 6 char city[26]; char state[26]; }; struct emp { int empno; char name[26]; char desig[16]; addr address; float basic; }; emp worker ; The structure emp h as been defined having several elements including a structure address also. The elements address(of structure emp) is itself a structure of type addr. While defining such structures, just make sure that innder structure one defined before outer structure one defined before outer structures. Structure and Arrays The structure and the array both are c++ derived data types. While arrays are collections of analogous elements, structures assembles dissimilar elements under one roof. Array and structure both combined together to form complex data objects. There may be structures contained within an array; also there array element of a structure. Array of Structure To declare 100- elements array of structure of type addr addr mem_addr[100]; To create an array having structures emp type Emp sales_emp[100]; Above declaration to create an array sales_emp to store 100 structures of emp type. Prepared By Sumit Kumar Gupta, PGT Computer Science
  • 4. Page 4 of 6 Array Within Structures A structure elements my be simple or complex . A complex structure may itself be a structure or any array. When a structure elements happens to be an array it is treated in the same way as array are treated. The only additional things to be kept in mind is that to access it, its structure name followed by a (.) and the name is to be given. For example consider structure ; Struct student { Int rollno; char name[21]; float marks[5]; //array of 5 floats }; students learner; The above declared statement variable learner is of structure type student that contains an elements which is a n array of 5 floats to store marks of a students in 5 different subjects. Passing Structures to Function If you have a structure local to a function and you need to pass its values to another function , then it can be achieved in two ways : (i) by passing individual structure elements , and (ii) by passing the entire structure . Both the ways cab be achieved by call by value as well as by call by reference method pa passing variables. Passing Structure Elements to Functions When an elements of a structure is passed to a function , you are actually passing the value of that element to the function Therefore , it just like passing a simple variable. Consider following structure Struct date { short day; shot month; short year; } Bdate; ` Prepared By Sumit Kumar Gupta, PGT Computer Science
  • 5. Page 5 of 6 Passing entire structure to Functions Passing entire structure makes the most sense when the structure is relatively compact. The entire structure can be passed to the function both ways by value and by reference. Passing by value is useful when the original values are not to be changed and passing by reference is useful when original values are to be changed. User Defined Data Types C++ allows you to define explicitly new data type name by using the keyword typedef doses not actually create a new data class, rather it defines a new name for an exiting type. This can increase the potablity of a program as only the typedef statements would have to be changed . Using typedef can also aid in self- documenting your code by allowing ddescriptive name for the standard data type. The syntax of the typedef statement is Typedef type name ; Use of typedef for declaring structures The typedef function is used to declare the alias name for the structure type. typedef structure result { } progress; results report1; progress report2 in this above program segment the usage of typedef defines a structure result and an alias name of the same structure as progress. The two structures report1 and report2 are declared accordingly of the same type as result and progress are now alternative nomenclature for each other. Enumerated data types It is another way of defining data types. It includes all the probables list of values that a data type can take. It has the following format for declaration; Enum struc-name {v1 v2 ,v3, v3,v4…..v n } Prepared By Sumit Kumar Gupta, PGT Computer Science
  • 6. Page 6 of 6 Practice Question Paper 1. What is a structure? 2. Define arrays of structures? 3. Differentiate between the following using examples a. Simple structure b. multiple structure 4. Explain the following with examples a. Declaration of a structure b. Definition of a structure variable c. Accessing of a structure member d. Initialization of a member within structures. e. Arrays of structures. f. Passing structures to functions g. Use defined structure 6. Explain the usage of type def for declaring structure . 7.What are enumerated data type? 8. What are symbolic constants? 9. Define a structure for length and breadth of a rectangle of type float and refer the same as rect. 10. Write a statement to assign a variable measure to length member of rect structure variable. 11. The enumerated type is considered as an integer type . Comment on the factual concern of the statement. 12. Write a program segment to declared and initialize an array of four structure with name of the student age and marks in three subjects. Prepared By Sumit Kumar Gupta, PGT Computer Science