Berikut di bawah ini adalah tanya-jawab singkat tentang topik ekspresi dan statement dalam konsep bahasa pemrograman
Q: Apa yang dimaksud dengan ekspresi (expression)? Sebutkan beberapa contohnya!
Q: Deskripsikan masing-masing apa saja yang bisa ada dalam arithmetic expression?
*, /, %,
binary +, binary -,
++, --,
unary -, unary +
x = (y > z) ? y : z;
atau
($flag ? $count1 : $count2) = 0;
Q: Berapa hasil variabel berikut ini:
i = 6; | i = 6;
j = ++i; | j = i++;
print(j); | print(j);
i = -5; | i = -5;
j = i--; | j = --i;
print(j); | print(j);
i = -5; | i = -5;
j = -i++; | j = -++i;
print(j); | print(j);
Q: Apa yang dimaksud dengan ekspresi (expression)? Sebutkan beberapa contohnya!
A:Q: Sebutkan beberapa kategori ekspresi (expression)! Dan contohnya!
kumpulan/kombinasi dari operand, operator, variable, konstanta, fungsi yang yang diproses bahasa pemrograman untuk mengembalikan suatu nilai.
Contoh:
- 2 + 3 * 4
- y + 6
- 4 != 4
A:
- ekspresi aritmatika (arithmetic expression). contoh: 6 + 8;
- eksprise relasional (relational expressions). contoh: (x == y)
- ekspresi boolean (boolean expression). contoh: ( x && y)
A:Q: Apa yang dimaksud dengan operator unary, binary, dan ternary? Dan contohnya!
operators, operands, { }(atau parentheses), fungsi (function calls)
A:Q: Urutkan prioritas evaluasi operator berikut (dalam bahasa berbasis c, seperti c++, C#, java, dll): binary +, - , ++, --,unary +,-,++, --, *, /, %
unary: memiliki satu operand, contoh: (-i);
binary: memiliki dua operand, contoh: 4 * 3;
ternary: memiliki tiga operand, contoh: (x > y) ? x : y
A:Q: Bagaimana urutan aritmetika berikut: -a ** b ? unary atau exponent (pangkat) dulu?
postfix ++, --
unary +,-
prefix ++, --
*, /, %
binary +, -
A:Q: Apa yang dimaksud dengan associativity? Dan contohnya?
-(a**b) --> exponent dulu
A:Q: x = 6/2*(2+1); Berapa x? 9 atau 1?
urutan evaluasi operator bila memiliki level yang sama.
contoh: a - b + c - d evaluasi dari kiri ke kanan atau dari kanan ke kiri?
A:Q: Dari operator berikut mana yang di evaluasi dari kiri dan mana yang dari kanan?
x = 9 (hampir semua bahasa pemrograman menjalankan evaluasi dari kiri ke kanan untuk ekspresi di atas
*, /, %,
binary +, binary -,
++, --,
unary -, unary +
A:Q: Apa yang dimaksud dengan operator overloading? Contohnya?
C-based languages (c, c++, c#, java, dll):
dari kiri: *, /, %, binary +, binary -
dari kanan: ++, --, unary -, unary +
A:Q: Apa yang dimaksud dengan narrowing conversion dan widening conversion? dan Contohnya?
penggunaan operator untuk beberapa operasi
contoh:
+ untuk penambahan pada ekspresi aritmatika dan catenation untuk operasi di string (java)
ampersand (&) untuk logical AND (binary) dan address-of operator (unary) --> di (C++)
A:Q: Apa yang dimaksud mixed-mode expressions dan coercions?
narrowing conversion:
mengkonversi nilai ke type yang tidak bisa menyimpan bahkan perkirannya dari semua nilai dari type asalnya. contoh: long ke int; double ke float;
widening conversion:
mengkonversi nilai ke type yang bisa menyimpan setidaknya perkiraan dari semua nilai type asalnya. contoh: int ke long; int ke float;
A:Q: Apa yang dimaksud dengan explicit conversions/casting & contohnya?
-expression dimana operator memiliki dua operand yang berbeda type
-coercion: mengkonversi type data secara implisit
A:Q: Apa yang dimaksud dengan ekspresi relasional (relational expressions)? dan contohnya?
menkonversi type data oleh programmer
contoh: int a = (int) x
A:Q: Apa yang dimaksud dengan ekspresi boolean (boolean expression)? Dan contohnya?
ekspresi relasional (relational expression) adalah ekspresi (expression) yang memiliki operator yang membandingkan nilai dari dua operand (relational operator) dan nilai kembaliannya bertipe boolean
contoh: "7" == 7 ; "7" === 7; a + 1 > 2 * b
A:Q: Apa yang dimaksud dengan short-circuit evaluation? Dan contohnya?
ekspresi boolean adalah ekspresi (expression) yang memiliki operand,variable, konstanta bertipe boolea atau ekspresi relasional dan menggunakan operator boolean dan hasilnya (nilai kembaliannya) juga bertipe boolean.
contoh: (a > b) && (c < d)
A:Q: Ubahlah ke bentuk if-else :
evaluasi dari suatu expression dimana hasilnya ditentukan tanpa mengevaluasi semua operand dan/atau operatornya.
Contoh:
(13 * a) * (b / 13 - 1) --> jika a = 0 ekspressi berikutnya tidak perlu dievaluasi
(a >= 0) && (b < 10) --> jika a < 0 ekspresi di sisi kanan tidak perlu di evaluasi
x = (y > z) ? y : z;
atau
($flag ? $count1 : $count2) = 0;
A:Q: Apa yang dimaksud dengan compound assignment operators? Dan contohnya?
if (y > z)
x = y;
else
x = z;
------------------------
if ($flag)
$count1 = 0;
else
$count2 = 0;
A:
Suatu teknik/metode untuk menyingkat bentuk assignment yang umum digunakan.
Contoh: a = a + b menjadi --> a +=b
Q: Berapa hasil variabel berikut ini:
i = 6; | i = 6;
j = ++i; | j = i++;
print(j); | print(j);
A:Q: Berapa hasil variabel berikut ini:
j = 7 | j = 6
i = -5; | i = -5;
j = i--; | j = --i;
print(j); | print(j);
A:Q: Berapa hasil variabel berikut ini:
j = -5 | j = -6
i = -5; | i = -5;
j = -i++; | j = -++i;
print(j); | print(j);
A:Q: Apa yang dimaksud dengan assignment as expressions? Dan contohnya?
j = 5 | j = 6
A: Assignment yang digunakan sebagai suatu expression dan sebagai operand di dalam expression yang lain.Q: Apa yang dimaksud dengan multiple assignments? Contohnya?
Contoh: while ((ch = getchar()) != EOF) { ... }
ch = getchar() adalah assignment --> kemudian digunakan sebagai operand dalam relational expression != EOF
A:
assignment statement yang memiliki multiple-target dan multiple source Contoh: ($first, $second, $third) = (20, 40, 60);
Comments
Post a Comment