✏️ Explanatory Question

এক্সপ্রেশন নির্ণয় ও হায়ারার্কি

👁 10 Views
📘 Detailed Answer
🟢 Easy
💡

Answer with Explanation

এক্সপ্রেশন নির্ণয় এবং হায়ারার্কি

প্রশ্ন

(a) g = big / 2 + big * 4 / big - big + abc / 3 ;
    (abc = 2.5, big = 2, g একটি float)

(b) on = ink * act / 2 + 3 / 2 * act + 2 + tig ;
    (ink = 4, act = 1, tig = 3.2, on একটি int)

(c) s = qui * add / 4 - 6 / 2 + 2 / 3 * 6 / god ;
    (qui = 4, add = 2, god = 2, s একটি int)

(d) s = 1 / 3 * a / 4 - 6 / 2 + 2 / 3 * 6 / g ;
    (a = 4, g = 3, s একটি int)

(a) এক্সপ্রেশন নির্ণয়

g = big / 2 + big * 4 / big - big + abc / 3

প্রদত্ত:
big = 2
abc = 2.5

ধাপ 1:
= 2 / 2 + 2 * 4 / 2 - 2 + 2.5 / 3

ধাপ 2:
= 1 + 8 / 2 - 2 + 0.833

ধাপ 3:
= 1 + 4 - 2 + 0.833

ধাপ 4:
= 5 - 2 + 0.833

ধাপ 5:
= 3 + 0.833

চূড়ান্ত উত্তর:
g = 3.833

(b) এক্সপ্রেশন নির্ণয়

on = ink * act / 2 + 3 / 2 * act + 2 + tig

প্রদত্ত:
ink = 4
act = 1
tig = 3.2

ধাপ 1:
= 4 * 1 / 2 + 3 / 2 * 1 + 2 + 3.2

ধাপ 2:
= 4 / 2 + 1 * 1 + 2 + 3.2

ধাপ 3:
= 2 + 1 + 2 + 3.2

ধাপ 4:
= 5 + 3.2

ধাপ 5:
= 8.2

যেহেতু on একটি integer,
চূড়ান্ত উত্তর:
on = 8

(c) এক্সপ্রেশন নির্ণয়

s = qui * add / 4 - 6 / 2 + 2 / 3 * 6 / god

প্রদত্ত:
qui = 4
add = 2
god = 2

ধাপ 1:
= 4 * 2 / 4 - 6 / 2 + 2 / 3 * 6 / 2

ধাপ 2:
= 8 / 4 - 3 + 0 * 6 / 2

(2 / 3 এর মান 0 হবে কারণ এটি integer division)

ধাপ 3:
= 2 - 3 + 0

ধাপ 4:
= -1 + 0

চূড়ান্ত উত্তর:
s = -1

(d) এক্সপ্রেশন নির্ণয়

s = 1 / 3 * a / 4 - 6 / 2 + 2 / 3 * 6 / g

প্রদত্ত:
a = 4
g = 3

ধাপ 1:
= 1 / 3 * 4 / 4 - 6 / 2 + 2 / 3 * 6 / 3

ধাপ 2:
= 0 * 4 / 4 - 3 + 0 * 6 / 3

(1 / 3 এবং 2 / 3 এর মান 0 হবে কারণ integer division)

ধাপ 3:
= 0 - 3 + 0

চূড়ান্ত উত্তর:
s = -3

অপারেটর হায়ারার্কি

অগ্রাধিকার অপারেটর বর্ণনা
1 () Parentheses বা বন্ধনী
2 * / % গুণ, ভাগ এবং Modulus
3 + - যোগ এবং বিয়োগ

উদাহরণ প্রোগ্রাম

#include 

int main()
{
    float g;
    int on, s1, s2;

    float abc = 2.5;
    int big = 2;

    g = big / 2.0 + big * 4 / big - big + abc / 3;

    printf("g = %.3f\n", g);

    int ink = 4, act = 1;
    float tig = 3.2;

    on = ink * act / 2 + 3 / 2 * act + 2 + tig;

    printf("on = %d\n", on);

    int qui = 4, add = 2, god = 2;

    s1 = qui * add / 4 - 6 / 2 + 2 / 3 * 6 / god;

    printf("s = %d\n", s1);

    int a = 4, g2 = 3;

    s2 = 1 / 3 * a / 4 - 6 / 2 + 2 / 3 * 6 / g2;

    printf("s = %d\n", s2);

    return 0;
}

প্রোগ্রামের আউটপুট

g = 3.833
on = 8
s = -1
s = -3
গুরুত্বপূর্ণ নোট:
C Language-এ integer division করার সময় দশমিক অংশ বাদ যায়। যেমন: 2 / 3 = 0 এবং 1 / 3 = 0 যখন উভয় operand integer হয়।