1 include stdio h int main int num

  • Slides: 22
Download presentation

1 משפטי תנאי – פתרון #include <stdio. h> int main() { int num 1,

1 משפטי תנאי – פתרון #include <stdio. h> int main() { int num 1, num 2; scanf("%d%d", &num 1, &num 2); int res = num 1 == num 2; printf("%dn", res); return 0; } 2 תירגול - מבוא למדעי המחשב 5

 משפטי תנאי if (expression 1) { // statements if true } else {

משפטי תנאי if (expression 1) { // statements if true } else { // statements if false } if (expression 1) { // statements if true } else if (expression 2) { // statements if true } else if (expression 3) { // statements if true } else { // statements if false } 2 תירגול - מבוא למדעי המחשב 6

2 משפטי תנאי – פתרון #include <stdio. h> int main(){ int num 1, num

2 משפטי תנאי – פתרון #include <stdio. h> int main(){ int num 1, num 2, num 3; scanf("%d%d%d", &num 1, &num 2, &num 3); if (num 3 > num 2 && num 3 > num 1) { num 1 /= 100; num 2 /= 100; num 3 /= 100; } else if (num 2 > num 1 && num 2 > num 3) { num 1 /= 10; num 2 /= 10; num 3 /= 10; } printf("%dn", num 1%10 + num 2%10 + num 3%10); return 0; } 2 תירגול - מבוא למדעי המחשב 8

3 משפטי תנאי – פתרון #include <stdio. h> #include <math. h> #define MIN_NUM 1

3 משפטי תנאי – פתרון #include <stdio. h> #include <math. h> #define MIN_NUM 1 #define MAX_NUM 20 #define LIM 1 10 #define LIM 2 20 int main() { int num 1, num 2; scanf("%d%d", &num 1, &num 2); if (num 1 < MIN_NUM || num 1 > MAX_NUM || num 2 < MIN_NUM || num 2 > MAX_NUM) { printf("Illegal inputn"); return 1; } 2 תירגול - מבוא למדעי המחשב 10

3 משפטי תנאי – המשך פתרון int sum = num 1 + num 2;

3 משפטי תנאי – המשך פתרון int sum = num 1 + num 2; if (sum < LIM 1) printf("%. 0 fn", pow(num 1, num 2)); else if (sum < LIM 2) printf("%. 0 fn", pow(num 2, num 1)); else { if (num 1 > num 2) { num 1 = num 1^num 2; num 2 = num 1^num 2; num 1 = num 1^num 2; } printf("%d %. 2 fn", num 1*num 1, sqrt(num 2)); } return 0; } 2 תירגול - מבוא למדעי המחשב 11

4 משפטי תנאי – פתרון #include <stdio. h> int main() { int num 1,

4 משפטי תנאי – פתרון #include <stdio. h> int main() { int num 1, num 2; printf("%dn", num 1 > num 2 ? num 1 : num 2); return 0; } 2 תירגול - מבוא למדעי המחשב 13

 אופרטורים ברמת הביטים OPERATOR OPERATION syntax result 1’s Complement ~a 0 x. F

אופרטורים ברמת הביטים OPERATOR OPERATION syntax result 1’s Complement ~a 0 x. F 0 F 0 << Shift Left a<<1 0 x 1 E 1 E >> Shift Right a>>2 0 x 03 C 3 & AND a&0 x 0001 ^ XOR a^0 x 0003 0 x 0 F 0 C | OR a|0 x 00 FF 0 x 0 FFF ~ 2 תירגול - מבוא למדעי המחשב 15

5 אופרטורים ברמת הביטים – פתרון #include <stdio. h> int main() { int num

5 אופרטורים ברמת הביטים – פתרון #include <stdio. h> int main() { int num 1, bit_idx; scanf("%d%d", &num 1, &bit_idx); int mask = 1 << bit_idx; printf("%dn", (num 1 & mask) >> bit_idx); return 0; } 2 תירגול - מבוא למדעי המחשב 17

6 אופרטורים ברמת הביטים – פתרון #include <stdio. h> int main() { int num

6 אופרטורים ברמת הביטים – פתרון #include <stdio. h> int main() { int num 1, bit_idx; scanf("%d%d", &num 1, &bit_idx); int mask = 1 << bit_idx; num 1 |= mask; printf("%dn", num 1); return 0; } 2 תירגול - מבוא למדעי המחשב 20

7 אופרטורים ברמת הביטים – פתרון #include <stdio. h> int main() { int num

7 אופרטורים ברמת הביטים – פתרון #include <stdio. h> int main() { int num 1, bit_idx; scanf("%d%d", &num 1, &bit_idx); int mask = 1 << bit_idx; num 1 ^= mask; printf("%dn", num 1); return 0; } 2 תירגול - מבוא למדעי המחשב 22