You are on page 1of 14

THAKUR POLYTECHNIC

DIPLOMA IN COMPUTER ENGINEERING


THIRD SEMESTER [2023-2024]
GROUP – 17
SUBJECT: Data Structure Using C(CODE: 22317)

Sr. no. Name of the Team Member Roll No.


1 PARAS PUROHIT 97
2 SMIT PATIL 98
3 SWAYAM MOZAR 99
4 SIDDHI PAWAR 100
5 TIRTHA PAWAR 101
6 RAHUL KOKARE 102
MAHARASHTRA STATE BOARD OF
TECHNICAL EDUCATION
Certificate of Completion of Micro Project
This is to certify that the following group of students Roll no.97 to 102 of 3rd
semester of Diploma in COMPUTER ENGINEERING of institute,
THAKUR POLYTECHNIC ( Code: 0522 ) have successfully completed the
Micro Project satisfactorily in subject – Data Structure Using C(22317)
for the academic year 2023-2024 as prescribed in the curriculum.

Sr.no Name of the Team Members Enrollment No.


1 PARAS PUROHIT 2205220423
2 SMIT PATIL 2205220424
3 SWAYAM MOZAR 2205220425
4 SIDDHI PAWAR 2205220408
5 TIRTHA PAWAR 2205220427
6 RAHUL KOKARE 2205220428

PLACE: MUMBAI
DATE:

Mr. Drupesh Savadia Ms. Vaishali Rane Dr. S. M. Ganechari

Subject Teacher Head of Department Principal

Seal of the institute


ACKNOWLEDGEMENT

We feel immense pleasure in submitting this report on “Prefix


Expression Evaluation” While submitting this report, we avail this
opportunity to express our gratitude to all those who helped us in
completing this task. Heading the list with our own honourable Principal
Dr. S.M. Ganechari who is the beginner of our inspiration. We owe our
deep gratitude and also very thankful to our guide Mr. Drupesh Savadia,
Ms. Vaishali Rane(HOD-CO)and Mrs, Pratibha Lotlikar, SY In charge
who has proven to be morethan just a mere guide to us. Apart from
bringing to us what can be joy ofsuccessful completion of this project
was only possible due to her guidance and co-operation without which
this work would never have been completed. Finally, we wish to express
our deep sense of respect and gratitude to each and every staff member
who has helped us in many ways and also our parents who have always
bared with us in any critical situation and to all others, sparing their time
and helping us for completion of this project in whatever way they could.
And lastly we are grateful to each other member of our group.

THANK YOU!
(PART – 1)
MICRO-PROJECT PROPOSAL
Data Structure Using C (CODE: 22317)
MICRO -PROJECT PROPASAL

Title: Prefix Expression Evaluation

1. Aim/Benefits of the micro-project:

Micro-project can also help students to develop skills specific to


collaborative efforts, allowing students to tackle more complex problems
then they could on their own.
▪ Delegate roles and responsibilities.
▪ Share diverse perspectives.
▪ To gain knowledge.
▪ To develop cognitive domain & effective domain of learning outcomes.
▪ To develop additional skills integral to the future, such as critical thinking
& time management.

2. Course Outcomes Achieved:

C Implement basic operations on stack and queue using array representation


3. Proposed Methodology:

When the topic of the project will be given to us. The topic will divide into sub
topics such as data collection, Coordination with necessary ethics, Execution,
Preparation of Report, Presentation of Report & finally Submission of the
Report. Then these sub topics will be sent to group members for their respective
work. Once they will complete their respective work such as data collection,
then that data will be executed by the leader of the group then it will be
presented to the subject teacher and then submission of project.
4. Action Plan:
Sr. Details of Planned start Planned Name of
No Activity date finish date responsible
team
members
1. Information Rahul Kokare,
16-08- 31-08-
search Smit Patil
2023 2023
2. Group All team
01-09- 08-09-
Discussion members
2023 2023
3. Taking Swayam Mozar,
11-09- 22-09-
Reference Siddhi Pawar
2023 2023
4. Executions 25-09- 29-09- Paras Purohit
2023 2023
5. Completion of Tirtha Pawar,
02-10- 06-10-
reports Paras Purohit
2023 2023
6. Presentation All team
and report 06-10- 10-10- members
submission 2023 2023
5. Actual Resources Required:
Sr. no. Name of Specifications Quantity Remarks
the
Resources
1 Internet https://openai.com/ 1 Available

2 Books Data Structure Using C 1 Available

6. Names of Team Members with Roll no:

Sr no. Name of team members Roll no.


1. PARAS PUROHIT 97
2. SMIT PATIL 98
3. SWAYAM MOZAR 99
4. SIDDHI PAWAR 100
5. TIRTHA PAWAR 101
6. RAHUL KOKARE 102

Mr. Drupesh Savadia(Subject Teacher)


(PART – 2)
MICRO-PROJECT REPORT
Data Structure Using C
MICRO –PROJECT REPORT

Title: Prefix Expression Evaluation.

1. Rationale: The rationale for evaluating prefix expressions in C lies in their


efficiency, simplicity, and ease of parsing. Prefix notation eliminates the need
for parentheses and explicit operator precedence rules, resulting in a more
straightforward and efficient evaluation process. The stack-based algorithm used
for prefix evaluation is easy to implement, making it an attractive choice for
expression evaluation in programming.

2. Aim / Benefits of the Micro-Project: Micro-Project can also help students to


develop skills specific to collaborative efforts, allowing students to tackle more complex
problems then they could on their own.
o Delegate roles and
responsibilities. Share
diverse perspectives.
o To gain knowledge about & sub-topic
o To develop cognitive domain & effective domain of learning outcomes.
o To develop additional skills integral to the future, such as critical thinking &
time management.

3. Course Outcomes Achieved:

C Implement basic operations on stack and queue using array representation


4. Literature Review:

In the realm of computer science and programming, evaluating prefix expressions using C has been a well-
established and widely researched topic. Numerous studies and implementations have demonstrated the efficiency
and simplicity of evaluating prefix expressions through stack-based algorithms. Researchers have explored various
optimization techniques and parallel processing applications for prefix evaluation. This extensive literature
reinforces the significance of prefix notation as a valuable tool in expression evaluation, offering both
computational advantages and practical programming utility.

5. Actual Methodology Followed:


Once the micro project title was disclosed, the given topic was divided into smaller sub-topics which then were
sent to all the group members.
Once the group members had received their sub-topics, the team members researched their sub-topics and sent
their respective data to the team group for everyone to read and understand. This data then accumulated in a
report and submitted to Mr. Drupesh Kapdia Sir.

6. Actual Resources Required:

Sr. no. Name of Specifications Quantity Remarks


the
Resources
1 Internet https://openai.com/ 1 Available

2 Books Data Structure Using C 1 Available

7. Output of the Micro-project:

#include <stdio.h>
#include <stdlib.h>
#include <ctype.h> //for isdigit
#include <string.h> // Add this line for strlen

#define MAX_STACK_SIZE 100

// Stack structure for operands


struct Stack {
int data[MAX_STACK_SIZE];
int top;
}; C Implement basic operations on stack and queue using array representation

// Function to initialize the stack


void initialize(struct Stack *s) {
s->top = -1;
}

// Function to push an element onto the stack


void push(struct Stack *s, int value) {
if (s->top >= MAX_STACK_SIZE - 1) {
printf("Stack Overflow\n");
exit(1);
}
s->data[++(s->top)] = value;
}

// Function to pop an element from the stack


int pop(struct Stack *s) {
if (s->top < 0) {
printf("Stack Underflow\n");
exit(1);
}
return s->data[(s->top)--];
}

// Function to evaluate a prefix expression


int evaluatePrefixExpression(const char *expression) {
struct Stack operandStack;
initialize(&operandStack);

int i = 0;
int result = 0;

// Start from the end of the expression and process it in reverse


for (i = strlen(expression) - 1; i >= 0; i--) {
if (isdigit(expression[i])) {
// If the character is a digit, push it onto the stack
push(&operandStack, expression[i] - '0');
} else if (expression[i] == ' ') {
// Ignore spaces
continue;
} else {
// If the character is an operator, pop two operands from the stack
int operand1 = pop(&operandStack);
int operand2 = pop(&operandStack);

// Perform the operation based on the operator


switch (expression[i]) {
case '+':
push(&operandStack, operand1 + operand2);
break;
case '-':
push(&operandStack, operand1 - operand2);
break;
case '*':
push(&operandStack, operand1 * operand2);
break;
case '/':
push(&operandStack, operand1 / operand2);
break;
default:
printf("Invalid operator: %c\n", expression[i]);
exit(1);
}
}
}

// The final result is on top of the


stack result = pop(&operandStack);
return result;
}

int main() {
char expression[] = "+ 2 * 3 6"; // Change this to your prefix expression
int result = evaluatePrefixExpression(expression);
printf("Result: %d\n", result);

return 0;
}

Output :

Result: 20

5. Skills Developed/Learning outcome of this Micro-Project:

By doing micro-project our management skills improved. Both hard and soft skills are a part of
the project management skills because they help delegate and priorities tasks, manage resources,
analyse problems, report progress and analyse project performance
6. Applications of this Micro-Project:
A microproject for evaluating prefix expressions using C can serve as a foundational building
block for various applications in computer science and software engineering. This project can be
integrated into compiler and interpreter development, mathematical software, and symbolic
mathematics systems, where efficient expression evaluation is crucial. Additionally, it can be
applied in embedded systems, calculator software, and programming language interpreters,
contributing to enhanced computational capabilities and optimized resource utilization in diverse
domains.

Names of Team Members with Roll no:

Sr no. Name of team members Roll no.


1. PARAS PUROHIT 97
2. SMIT PATIL 98
3. SWAYAM MOZAR 99
4. SIDDHI PAWAR 100
5. TIRTHA PAWAR 101
6. RAHUL KOKARE 102

Mr. Drupesh
Savadia
(Subject Teacher)

You might also like