0% found this document useful (0 votes)
79 views73 pages

Dos Assignment 1941012610 K

The document describes an end term project submission for a course on operating system design. It provides details of the student submitting the project such as their name, registration number, semester, branch, and admission batch. It then lists four test cases to test a CPU scheduling simulator program using First Come First Serve, Shortest Job First, Shortest Remaining Time First, and Round Robin scheduling algorithms. For each test case, it provides sample code to implement the scheduling algorithm and calculate performance metrics like average waiting time and turnaround time.

Uploaded by

Swastik Subudhi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
79 views73 pages

Dos Assignment 1941012610 K

The document describes an end term project submission for a course on operating system design. It provides details of the student submitting the project such as their name, registration number, semester, branch, and admission batch. It then lists four test cases to test a CPU scheduling simulator program using First Come First Serve, Shortest Job First, Shortest Remaining Time First, and Round Robin scheduling algorithms. For each test case, it provides sample code to implement the scheduling algorithm and calculate performance metrics like average waiting time and turnaround time.

Uploaded by

Swastik Subudhi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 73

End Term Project

On
Design of Operating Systems (CSE 4049)
Submitted by

Name : Swastik Subudhi


Reg. No. : 1941012610
Semester : 5th
Branch : CSE
Section :K
Session : 2021-2022
Admission Batch : 2019

DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING


FACULTY OF ENGINEERING & TECHNOLOGY (ITER)
SIKSHA ‘O’ ANUSANDHAN DEEMED TO BE UNIVERSITY
BHUBANESWAR, ODISHA – 751030
Test Cases:
The program should able to produce correct answer or appropriate error message corresponding
to the following test cases:
1. Consider the set of processes with arrival time (in milliseconds), CPU burst time (in
milliseconds), and time quantum = 4ms as shown below.

Process Arrival time Burst Time


P1 0 10
P2 0 1
P3 0 2
P4 0 1
P5 0 5
Input choice 1, and print the Gantt charts that illustrate the execution of these
processes using the FCFS scheduling algorithm and then print the average
turnaround time, average waiting time and average response time.

CODE:
#include <stdio.h>
#include <stdlib.h>
#define MAX 100
typedef struct
{
int pid;
int burst_time;
int waiting_time;
int turnaround_time;
} Process;
void print_table(Process p[], int n);
void print_gantt_chart(Process p[], int n);
int main()
{
Process p[MAX];
int i, j, n;
int sum_waiting_time = 0, sum_turnaround_time;
printf("Enter total number of process: ");
scanf("%d", &n);
printf("Enter burst time for each process:\n");
for(i=0; i<n; i++) {
p[i].pid = i+1;
printf("P[%d] : ", i+1);
scanf("%d", &p[i].burst_time);
p[i].waiting_time = p[i].turnaround_time = 0;
}
p[0].turnaround_time = p[0].burst_time;
for(i=1; i<n; i++) {
p[i].waiting_time = p[i-1].waiting_time + p[i-1].burst_time;
p[i].turnaround_time = p[i].waiting_time + p[i].burst_time;
}
for(i=0; i<n; i++) {
sum_waiting_time += p[i].waiting_time;
sum_turnaround_time += p[i].turnaround_time;
}
puts("");
print_table(p, n);
puts("");
printf("Total Waiting Time : %-2d\n", sum_waiting_time);
printf("Average Waiting Time : %-2.2lf\n", (double)sum_waiting_time /
(double) n);
printf("Total Turnaround Time : %-2d\n", sum_turnaround_time);
printf("Average Turnaround Time : %-2.2lf\n", (double)sum_turnaround_time /
(double)n);
puts("");
puts(" GANTT CHART ");
puts(" *********** ");
print_gantt_chart(p, n);
return 0;
}
void print_table(Process p[], int n)
{
int i;
puts("+-----+------------+--------------+-----------------+");
puts("| PID | Burst Time | Waiting Time | Turnaround Time |");
puts("+-----+------------+--------------+-----------------+");
for(i=0; i<n; i++) {
printf("| %2d | %2d | %2d | %2d |\n"
, p[i].pid, p[i].burst_time, p[i].waiting_time, p[i].turnaround_time );
puts("+-----+------------+--------------+-----------------+");
}
}
void print_gantt_chart(Process p[], int n)
{
int i, j;
printf(" ");
for(i=0; i<n; i++) {
for(j=0; j<p[i].burst_time; j++) printf("--");
printf(" ");
}
printf("\n|");
for(i=0; i<n; i++) {
for(j=0; j<p[i].burst_time - 1; j++) printf(" ");
printf("P%d", p[i].pid);
for(j=0; j<p[i].burst_time - 1; j++) printf(" ");
printf("|");
}
printf("\n ");
for(i=0; i<n; i++) {
for(j=0; j<p[i].burst_time; j++) printf("--");
printf(" ");
}
printf("\n");
printf("0");
for(i=0; i<n; i++) {
for(j=0; j<p[i].burst_time; j++) printf(" ");
if(p[i].turnaround_time > 9) printf("\b");
printf("%d", p[i].turnaround_time);
}
printf("\n");
}

 Input choice 2, and print the Gantt charts that illustrate the execution of these
processes using the SJF scheduling algorithm and then print the average
turnaround time, average waiting time and average response time.

CODE:
#include <stdio.h>
#include <stdlib.h>
#define MAX_PROCESS 100
struct process {
int pid;
int burst_time;
int waiting_time;
};
typedef struct process Process;
double average_waiting_time;
int total_waiting_time;
void sort_process_by_burst_time(Process p[], int n);
void calculate_waiting_time(Process p[], int n);
void print_gantt_chart(Process p[], int n);
int main()
{
Process p[MAX_PROCESS];
int n, i, j;
puts("SHORTEST JOB FIRST SCHEDULING ALGORITHM");
puts("=======================================");
printf("Enter total process: ");
scanf("%d", &n);
printf("Enter burst time for each process:\n");
for(i=0; i<n; i++) {
printf("P[%d]: ", i+1);
scanf("%d", &p[i].burst_time);
p[i].pid = i+1;
}
sort_process_by_burst_time(p, n);
calculate_waiting_time(p, n);
average_waiting_time = (double) ( (double)total_waiting_time / (double) n );
puts("");
printf("Average Waiting Time: %.2lf\n",average_waiting_time);
printf("Gantt Chart:\n");
print_gantt_chart(p, n);
return 0;
}
void sort_process_by_burst_time(Process p[], int n)
{
int i, j;
Process temp;
for(i=0; i<n-1; i++) {
for(j=0; j<n-1-i; j++) {
if(p[j].burst_time > p[j+1].burst_time) {
temp = p[j];
p[j] = p[j+1];
p[j+1] = temp;
}
}
}
}
void calculate_waiting_time(Process p[], int n)
{
int i;
total_waiting_time = 0;
p[0].waiting_time = 0;
for(i=1; i<n; i++) {
p[i].waiting_time = p[i-1].waiting_time + p[i-1].burst_time;
total_waiting_time += p[i].waiting_time;
}
}
void print_gantt_chart(Process p[], int n)
{
int i, j;
int last = p[n-1].burst_time + ( n== 1 ? 0 : p[n-1].waiting_time);
printf(" ");
for(i=0; i<n; i++) {
for(j=0; j<p[i].burst_time; j++) printf("--");
printf(" ");
}
printf("\n|");
for(i=0; i<n; i++) {
for(j=0; j<p[i].burst_time-1; j++) printf(" ");
printf("p%d", p[i].pid);
for(j=0; j<p[i].burst_time-1; j++) printf(" ");
printf("|");
}
printf("\n ");
for(i=0; i<n; i++) {
for(j=0; j<p[i].burst_time; j++) printf("--");
printf(" ");
}
printf("\n");
int minus = 0;
for(i=0; i<n; i++) {
if(p[i].waiting_time>9) printf(" ");
printf("%d", p[i].waiting_time);
if(p[i+1].waiting_time>9){
minus = 1;
}
if(i+1 == n ) if (last>9) minus = 1;
for(j=0; j<p[i].burst_time-minus; j++) printf(" ");
}
if(last>9) printf(" ");
printf("%d\n", last);
}
Input choice 3, and print the Gantt charts that illustrate the execution of these
processes using the SRTF scheduling algorithm and then print the average
turnaround time, average waiting time and average response time.

CODE:
#include <stdio.h>
int main()
{
int n, ari[10], bur[10], total = 0, i, j, small, temp, procs[100], k, waiting[10],
finish[10];
float tavg = 0.0, wavg = 0.0;
printf("ENTER THE NUMBER OF PROCESSES:");
scanf("%d", & n);
for (i = 0; i < n; i++)
{
printf("ENTER THE ARRIVAL TIME OF PROCESS %d:\t", i);
scanf("%d", & ari[i]);
printf("ENTER THE BURST TIME OF PROCESS %d:\t", i);
scanf("%d", & bur[i]);
waiting[i] = 0;
total += bur[i];
}
for (i = 0; i < n; i++)
{
for (j = i + 1; j < n; j++)
{
if (ari[i] > ari[j])
{
temp = ari[i];
ari[i] = ari[j];
ari[j] = temp;
temp = bur[i];
bur[i] = bur[j];
bur[j] = temp;
}
}
}
for (i = 0; i < total; i++)
{
small = 3200;
for (j = 0; j < n; j++)
{
if ((bur[j] != 0) && (ari[j] <= i) && (bur[j] < small))
{
small = bur[j];
k = j;
}
}
bur[k]--;
procs[i] = k;
}
k=0;
for (i = 0; i < total; i++)
{
for (j = 0; j < n; j++)
{
if (procs[i] == j)
{
finish[j] = i;
waiting[j]++;
}
}
}
for (i = 0; i < n; i++)
{
printf("\n PROCESS %d -FINISH TIME==> %d TURNAROUND TIME==>%d
WAITING TIME==>%d\n", i + 1, finish[i] + 1, (finish[i] - ari[i]) + 1, (((finish[i] + 1)
- waiting[i]) - ari[i]));
wavg = wavg + (((finish[i] + 1) - waiting[i]) - ari[i]);
tavg = tavg + ((finish[i] - ari[i]) + 1);
}
printf("\n WAvG==>\t%f\n TAVG==>\t%f\n", (wavg / n), (tavg / n));
return 0;
}

Input choice 4, and print the Gantt charts that illustrate the execution of these
processes using the RR scheduling algorithm and then print the average
turnaround time, average waiting time and average response time.
CODE:
#include<stdio.h>
struct times
{
int p,art,but,wtt,tat,rnt;
};
void sortart(struct times a[],int pro)
{
int i,j;
struct times temp;
for(i=0;i<pro;i++)
{
for(j=i+1;j<pro;j++)
{
if(a[i].art > a[j].art)
{
temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
}
return;
}
int main()
{
int i,j,pro,time,remain,flag=0,ts;
struct times a[100];
float avgwt=0,avgtt=0;
printf("Round Robin Scheduling Algorithm\n");
printf("Enter Number Of Processes : ");
scanf("%d",&pro);
remain=pro;
for(i=0;i<pro;i++)
{
printf("Enter arrival time and Burst time for Process P%d : ",i);
scanf("%d%d",&a[i].art,&a[i].but);
a[i].p = i;
a[i].rnt = a[i].but;
}
sortart(a,pro);
printf("Enter Time Slice OR Quantum Number : ");
scanf("%d",&ts);
printf("\n***************************************\n");
printf("Gantt Chart\n");
printf("0");
for(time=0,i=0;remain!=0;)
{
if(a[i].rnt<=ts && a[i].rnt>0)
{
time = time + a[i].rnt;
printf(" -> [P%d] <- %d",a[i].p,time);
a[i].rnt=0;
flag=1;
}
else if(a[i].rnt > 0)
{
a[i].rnt = a[i].rnt - ts;
time = time + ts;
printf(" -> [P%d] <- %d",a[i].p,time);
}
if(a[i].rnt==0 && flag==1)
{
remain--;
a[i].tat = time-a[i].art;
a[i].wtt = time-a[i].art-a[i].but;
avgwt = avgwt + time-a[i].art-a[i].but;
avgtt = avgtt + time-a[i].art;
flag=0;
}
if(i==pro-1)
i=0;
else if(a[i+1].art <= time)
i++;
else
i=0;
}
printf("\n\n");
printf("***************************************\n");
printf("Pro\tArTi\tBuTi\tTaTi\tWtTi\n");
printf("***************************************\n");
for(i=0;i<pro;i++)
{
printf("P%d\t%d\t%d\t%d\t%d\n",a[i].p,a[i].art,a[i].but,a[i].tat,a[i].wtt);
}
printf("***************************************\n");
avgwt = avgwt/pro;
avgtt = avgtt/pro;
printf("Average Waiting Time : %.2f\n",avgwt);
printf("Average Turnaround Time : %.2f\n",avgtt);
return 0;
}

Analyze the results and determine which of the algorithms results in the minimum
average waiting time over all processes?
On analyzing the results of the algorithm , the minimum average waiting time is
3.20seconds of Shortest Job First (SJF) and shortest Remaining Time First
(SRTF).

2. Consider the set of processes with arrival time (in milliseconds), CPU burst time (in
milliseconds), and time quantum =2ms as shown below.

Process Arrival time Burst Time


P1 0 4
P2 0 2
P3 1 3
P4 2 2

Input choice 1, and print the Gantt charts that illustrate the execution of these
processes using the FCFS scheduling algorithm and then print the average
turnaround time, average waiting time and average response time.
CODE:
#include <stdio.h>
#include <stdlib.h>
#define MAX 100
typedef struct
{
int pid;
int burst_time;
int waiting_time;
int turnaround_time;
} Process;
void print_table(Process p[], int n);
void print_gantt_chart(Process p[], int n);
int main()
{
Process p[MAX];
int i, j, n;
int sum_waiting_time = 0, sum_turnaround_time;
printf("Enter total number of process: ");
scanf("%d", &n);
printf("Enter burst time for each process:\n");
for(i=0; i<n; i++) {
p[i].pid = i+1;
printf("P[%d] : ", i+1);
scanf("%d", &p[i].burst_time);
p[i].waiting_time = p[i].turnaround_time = 0;
}
p[0].turnaround_time = p[0].burst_time;
for(i=1; i<n; i++) {
p[i].waiting_time = p[i-1].waiting_time + p[i-1].burst_time;
p[i].turnaround_time = p[i].waiting_time + p[i].burst_time;
}
for(i=0; i<n; i++) {
sum_waiting_time += p[i].waiting_time;
sum_turnaround_time += p[i].turnaround_time;
}
puts("");
print_table(p, n);
puts("");
printf("Total Waiting Time : %-2d\n", sum_waiting_time);
printf("Average Waiting Time : %-2.2lf\n", (double)sum_waiting_time /
(double) n);
printf("Total Turnaround Time : %-2d\n", sum_turnaround_time);
printf("Average Turnaround Time : %-2.2lf\n", (double)sum_turnaround_time /
(double)n);
puts("");
puts(" GANTT CHART ");
puts(" *********** ");
print_gantt_chart(p, n);
return 0;
}
void print_table(Process p[], int n)
{
int i;
puts("+-----+------------+--------------+-----------------+");
puts("| PID | Burst Time | Waiting Time | Turnaround Time |");
puts("+-----+------------+--------------+-----------------+");
for(i=0; i<n; i++) {
printf("| %2d | %2d | %2d | %2d |\n"
, p[i].pid, p[i].burst_time, p[i].waiting_time, p[i].turnaround_time );
puts("+-----+------------+--------------+-----------------+");
}
}
void print_gantt_chart(Process p[], int n)
{
int i, j;
printf(" ");
for(i=0; i<n; i++) {
for(j=0; j<p[i].burst_time; j++) printf("--");
printf(" ");
}
printf("\n|");
for(i=0; i<n; i++) {
for(j=0; j<p[i].burst_time - 1; j++) printf(" ");
printf("P%d", p[i].pid);
for(j=0; j<p[i].burst_time - 1; j++) printf(" ");
printf("|");
}
printf("\n ");
for(i=0; i<n; i++) {
for(j=0; j<p[i].burst_time; j++) printf("--");
printf(" ");
}
printf("\n");
printf("0");
for(i=0; i<n; i++) {
for(j=0; j<p[i].burst_time; j++) printf(" ");
if(p[i].turnaround_time > 9) printf("\b");
printf("%d", p[i].turnaround_time);
}
printf("\n");
}
Input choice 2, and print the Gantt charts that illustrate the execution of these
processes using the SJF scheduling algorithm and then print the average turnaround
time, average waiting time and average response time.

CODE:
#include <stdio.h>
#include <stdlib.h>
#define MAX_PROCESS 100
struct process {
int pid;
int burst_time;
int waiting_time;
};
typedef struct process Process;
double average_waiting_time;
int total_waiting_time;
void sort_process_by_burst_time(Process p[], int n);
void calculate_waiting_time(Process p[], int n);
void print_gantt_chart(Process p[], int n);
int main()
{
Process p[MAX_PROCESS];
int n, i, j;
puts("SHORTEST JOB FIRST SCHEDULING ALGORITHM");
puts("=======================================");
printf("Enter total process: ");
scanf("%d", &n);
printf("Enter burst time for each process:\n");
for(i=0; i<n; i++) {
printf("P[%d]: ", i+1);
scanf("%d", &p[i].burst_time);
p[i].pid = i+1;
}
sort_process_by_burst_time(p, n);
calculate_waiting_time(p, n);
average_waiting_time = (double) ( (double)total_waiting_time / (double) n );
puts("");
printf("Average Waiting Time: %.2lf\n",average_waiting_time);
printf("Gantt Chart:\n");
print_gantt_chart(p, n);
return 0;
}
void sort_process_by_burst_time(Process p[], int n)
{
int i, j;
Process temp;
for(i=0; i<n-1; i++) {
for(j=0; j<n-1-i; j++) {
if(p[j].burst_time > p[j+1].burst_time) {
temp = p[j];
p[j] = p[j+1];
p[j+1] = temp;
}
}
}
}
void calculate_waiting_time(Process p[], int n)
{
int i;
total_waiting_time = 0;
p[0].waiting_time = 0;
for(i=1; i<n; i++) {
p[i].waiting_time = p[i-1].waiting_time + p[i-1].burst_time;
total_waiting_time += p[i].waiting_time;
}
}
void print_gantt_chart(Process p[], int n)
{
int i, j;
int last = p[n-1].burst_time + ( n== 1 ? 0 : p[n-1].waiting_time);
printf(" ");
for(i=0; i<n; i++) {
for(j=0; j<p[i].burst_time; j++) printf("--");
printf(" ");
}
printf("\n|");
for(i=0; i<n; i++) {
for(j=0; j<p[i].burst_time-1; j++) printf(" ");
printf("p%d", p[i].pid);
for(j=0; j<p[i].burst_time-1; j++) printf(" ");
printf("|");
}
printf("\n ");
for(i=0; i<n; i++) {
for(j=0; j<p[i].burst_time; j++) printf("--");
printf(" ");
}
printf("\n");
int minus = 0;
for(i=0; i<n; i++) {
if(p[i].waiting_time>9) printf(" ");
printf("%d", p[i].waiting_time);
if(p[i+1].waiting_time>9){
minus = 1;
}
if(i+1 == n ) if (last>9) minus = 1;
for(j=0; j<p[i].burst_time-minus; j++) printf(" ");
}
if(last>9) printf(" ");
printf("%d\n", last);
}
Input choice 3, and print the Gantt charts that illustrate the execution of these
processes using the SRTF scheduling algorithm and then print the average
turnaround time, average waiting time and average response time.
CODE:
#include <stdio.h>
int main()
{
int n, ari[10], bur[10], total = 0, i, j, small, temp, procs[100], k, waiting[10],
finish[10];
float tavg = 0.0, wavg = 0.0;
printf("ENTER THE NUMBER OF PROCESSES:");
scanf("%d", & n);
for (i = 0; i < n; i++)
{
printf("ENTER THE ARRIVAL TIME OF PROCESS %d:\t", i);
scanf("%d", & ari[i]);
printf("ENTER THE BURST TIME OF PROCESS %d:\t", i);
scanf("%d", & bur[i]);
waiting[i] = 0;
total += bur[i];
}
for (i = 0; i < n; i++)
{
for (j = i + 1; j < n; j++)
{
if (ari[i] > ari[j])
{
temp = ari[i];
ari[i] = ari[j];
ari[j] = temp;
temp = bur[i];
bur[i] = bur[j];
bur[j] = temp;
}
}
}
for (i = 0; i < total; i++)
{
small = 3200;
for (j = 0; j < n; j++)
{
if ((bur[j] != 0) && (ari[j] <= i) && (bur[j] < small))
{
small = bur[j];
k = j;
}
}
bur[k]--;
procs[i] = k;
}
k=0;
for (i = 0; i < total; i++)
{
for (j = 0; j < n; j++)
{
if (procs[i] == j)
{
finish[j] = i;
waiting[j]++;
}
}
}
for (i = 0; i < n; i++)
{
printf("\n PROCESS %d -FINISH TIME==> %d TURNAROUND TIME==>%d
WAITING TIME==>%d\n", i + 1, finish[i] + 1, (finish[i] - ari[i]) + 1, (((finish[i] +
1) - waiting[i]) - ari[i]));
wavg = wavg + (((finish[i] + 1) - waiting[i]) - ari[i]);
tavg = tavg + ((finish[i] - ari[i]) + 1);
}
printf("\n WAvG==>\t%f\n TAVG==>\t%f\n", (wavg / n), (tavg / n));
return 0;
}

Input choice 4, and print the Gantt charts that illustrate the execution of these
processes using the RR scheduling algorithm and then print the average turnaround
time, average waiting time and average response time.

CODE:
#include<stdio.h>
struct times
{
int p,art,but,wtt,tat,rnt;
};
void sortart(struct times a[],int pro)
{
int i,j;
struct times temp;
for(i=0;i<pro;i++)
{
for(j=i+1;j<pro;j++)
{
if(a[i].art > a[j].art)
{
temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
}
return;
}
int main()
{
int i,j,pro,time,remain,flag=0,ts;
struct times a[100];
float avgwt=0,avgtt=0;
printf("Round Robin Scheduling Algorithm\n");
printf("Enter Number Of Processes : ");
scanf("%d",&pro);
remain=pro;
for(i=0;i<pro;i++)
{
printf("Enter arrival time and Burst time for Process P%d : ",i);
scanf("%d%d",&a[i].art,&a[i].but);
a[i].p = i;
a[i].rnt = a[i].but;
}
sortart(a,pro);
printf("Enter Time Slice OR Quantum Number : ");
scanf("%d",&ts);
printf("\n***************************************\n");
printf("Gantt Chart\n");
printf("0");
for(time=0,i=0;remain!=0;)
{
if(a[i].rnt<=ts && a[i].rnt>0)
{
time = time + a[i].rnt;
printf(" -> [P%d] <- %d",a[i].p,time);
a[i].rnt=0;
flag=1;
}
else if(a[i].rnt > 0)
{
a[i].rnt = a[i].rnt - ts;
time = time + ts;
printf(" -> [P%d] <- %d",a[i].p,time);
}
if(a[i].rnt==0 && flag==1)
{
remain--;
a[i].tat = time-a[i].art;
a[i].wtt = time-a[i].art-a[i].but;
avgwt = avgwt + time-a[i].art-a[i].but;
avgtt = avgtt + time-a[i].art;
flag=0;
}
if(i==pro-1)
i=0;
else if(a[i+1].art <= time)
i++;
else
i=0;
}
printf("\n\n");
printf("***************************************\n");
printf("Pro\tArTi\tBuTi\tTaTi\tWtTi\n");
printf("***************************************\n");
for(i=0;i<pro;i++)
{
printf("P%d\t%d\t%d\t%d\t%d\n",a[i].p,a[i].art,a[i].but,a[i].tat,a[i].wtt);
}
printf("***************************************\n");
avgwt = avgwt/pro;
avgtt = avgtt/pro;
printf("Average Waiting Time : %.2f\n",avgwt);
printf("Average Turnaround Time : %.2f\n",avgtt);
return 0;
}
Analyze the results and determine which of the algorithms results in the minimum
average waiting time over all processes?
On analyzing the results of the algorithm , the minimum average waiting time is 2.50
seconds of Shortest Job First (SJF) and shortest Remaining Time First (SRTF).
Department of Computer Sclence & Englneering
Faculty of Engineering & Technology (ITER)

1)Mennon rotibn 20ook, 6ooh, oon. Fook

hor&lses 3/2 k, 517K, 212 k, 526 Kt


312h tn 600 t
K
512 tn 700
212 k must w a t
S26 Mstwat

Best Fet
3/2h in 46ok
k
17h n b00
700k
212 h t n
526 mwstut

wost

SI?h tn 600h
400 k
212 k n
S2h mt wat

cala ddhA
2) heapAed to hehAederd la/
NumbU7 bih

2" 128 by k
na 190 addhen
Meseatp Aical
Beqvuded o Ae
b)
Vomb b
2 20 1
n= 21

Name: Regd. Number:-


Department of Computer Sclence & Engineering
Faculty of Engineering & Technology (ITER)

c)Nymbn enteiea tn haglfeble

2/16by

d) Tal nymben 7 anea 2"2


c) 20/16
207 16=4
6xlb+4 = 100
2
3

Paqt ( e

dos 40 qe 5by s
2 o0

Numhn 3Shagt f 1086 by es


07 haq
-

4
fehn 204-/836+ 962 b, s
7n n a l la;men

Name Regd. Number:-


Department of Computer Sclence & Engineering
Faculty of Engineerlng & Technology (ITER)

2
S) Ne ags 212 10

2
t n u e n b o n et Aiy te - l e v
tits = 1 /11
Vumben a e n

mims
2 Toad phudi tal

paqe i # fhom Ai2e


ftar
2/ 2"- +MA nwmbe ) Fable
enhy 29 /Tnvuk paqe
/Vomhe v

6) 4|paget
4/2 byfes
8 34/2 hyty
-

7ba 2000 byA


141)Fb8l bj ks
n eA nal Ma tmonkehi on = o o 0 -
#SOfFo
1hd)y tel mem74 ne eded : 200t/
3 35K

S
E= 1S n

1Son s mtmd7s acl eA 12S nS


tro0tloo)=
EAT:"Oor[sij 1so)t o2orts

Name- Regd. Number:-


Department of Computer Science & Englneering
Faculty of Engineering & Technology (ITER)

13y tes hansde2e


9) Page Ae2=2
rani 2/7 - )'t
V omhen e7

23bod k20-25
Al entie (on be
addieuei b1
VMhol addley =231B
36 b b

addhers
eqpiied fo he hept Cos, tas
a
NUmhen o beh

n16 des
o upsejedph ptalt
umh 07 hih Aqisd

n=/2

C)12/160
I2%.16 12
16x 12 +12 -28

21
3
ol0
d) 35 6ol1 T
Paqe de'pe 16hB =2 é0 74
B
olol 403S
OIrb 6Doo 0d1
Name:- Regd. Number:-
Department of Computer Sclence & Engineering
Faculty of Engineering & Technology (TTER)

11)
a) o130
219+43 0=649

110
2 300fl0 =23 1d
C2, 10o
90t/50 190

)2,Soo
tlleq al epAene

Name:-
Regd. Number:-

You might also like