Konwersja liczb binarnych na system dziesiętny:
3210 (1010)2 = 0*20 + 1*21 + 0*22 + 1*23 = 2 + 8 = 10
Konwersja przy pomocy tabeli:
8 4 2 1 [1][0][1][0] (1010)2 = 2 + 8 = 10
0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 1 + 1 = 10 1 + 1 + 1 = 11
a b c
0 0 0 -> { }
0 0 1 -> { c }
0 1 0 -> { b }
0 1 1 -> { b c }
1 0 0 -> { a }
1 0 1 -> { a c }
1 1 0 -> { a b }
1 1 1 -> { a b c }
/* Podzbiory1.java */
public class Podzbiory1
{
public static void main(String[] args)
{
int b0, b1, b2;
for (b0 = 0; b0 <= 1; b0++)
for (b1 = 0; b1 <= 1; b1++)
for (b2 = 0; b2 <= 1; b2++)
{
System.out.print("{ ");
if (b0 == 1) System.out.print("a ");
if (b1 == 1) System.out.print("b ");
if (b2 == 1) System.out.print("c ");
System.out.println("}");
}
}
}
{ }
{ c }
{ b }
{ b c }
{ a }
{ a c }
{ a b }
{ a b c }
Press any key to continue...
Zadanie Dokonaj analizy programu Podzbiory1.
b0, b1, b2
b0 = 0
0 <= 1 b1 = 0
0 <= 1 b2 = 0
0 <= 1 '{ ' 0 == 1 false 0 == 1 false 0 == 1 false "}" b2 = 1
1 <= 1 '{ ' 0 == 1 false 0 == 1 false 1 == 1 'c ' "}" b2 = 2
2 <= 1 false
b1 = 1
1 <= 1 b2 = 0
0 <= 1 '{ ' 0 == 1 false 1 == 1 'b ' 0 == 1 false "}" b2 = 1
1 <= 1 '{ ' 0 == 1 false 1 == 1 'b ' 1 == 1 'c ' "}" b2 = 2
2 <= 1 false
b1 = 2
2 <= 1 false
b0 = 1
1 <= 1 b1 = 0
0 <= 1 b2 = 0
0 <= 1 '{ ' 1 == 1 'a ' 0 == 1 false 0 == 1 false "}" b2 = 1
1 <= 1 '{ ' 1 == 1 'a ' 0 == 1 false 1 == 1 'c ' "}" b2 = 2
2 <= 1 false
b1 = 1
1 <= 1 b2 = 0
0 <= 1 '{ ' 1 == 1 'a ' 1 == 1 'b ' 0 == 1 false "}" b2 = 1
1 <= 1 '{ ' 1 == 1 'a ' 1 == 1 'b ' 1 == 1 'c ' "}" b2 = 2
2 <= 1 false
b1 = 2
2 <= 1 false
b0 = 2
2 <= 1 false
/* Podzbiory2.java */
public class Podzbiory2
{
public static void main(String[] args)
{
final int N = 3; // moc zbioru postaci {a, b, c, ...}
int[] b = new int[N];
int i = b.length - 1;
while (i >= 0)
{
System.out.print("{ ");
for (int j = 0; j < b.length; j++)
if (b[j] == 1) System.out.print((char)('a' + j) + " ");
System.out.println("}");
i = b.length - 1;
while (i >= 0)
{
if (b[i] == 1)
{
b[i] = 0;
i--;
}
else
{
b[i] = 1;
break;
}
}
}
}
}
{ }
{ c }
{ b }
{ b c }
{ a }
{ a c }
{ a b }
{ a b c }
Press any key to continue...
Zadanie Dokonaj analizy programu Podzbiory2.
N = 3
b = {0, 0, 0}
i = 3 - 1 = 2
2 >= 0 '{ '
j = 0
0 < 3 b[0] == 1 false j = 1
1 < 3 b[1] == 1 false j = 2
2 < 3 b[2] == 1 false j = 3
3 < 3 false
"}"
i = 3 - 1 = 2
2 >= 0 b[2] == 1 false b[2] = 1 break
2 >= 0 '{ '
j = 0
0 < 3 b[0] == 1 false j = 1
1 < 3 b[1] == 1 false j = 2
2 < 3 b[2] == 1 'c ' j = 3
3 < 3 false
"}"
i = 3 - 1 = 2
2 >= 0 b[2] == 1 true b[2] = 0 i = 1
1 >= 0 b[1] == 1 false b[1] = 1 break
1 >= 0 '{ '
j = 0
0 < 3 b[0] == 1 false j = 1
1 < 3 b[1] == 1 'b ' j = 2
2 < 3 b[2] == 1 false j = 3
3 < 3 false
"}"
i = 3 - 1 = 2
2 >= 0 b[2] == 1 false b[2] = 1 break
2 >= 0 '{ '
j = 0
0 < 3 b[0] == 1 false j = 1
1 < 3 b[1] == 1 'b ' j = 2
2 < 3 b[2] == 1 'c ' j = 3
3 < 3 false
"}"
i = 3 - 1 = 2
2 >= 0 b[2] == 1 true b[2] = 0 i = 1
1 >= 0 b[1] == 1 true b[1] = 0 i = 0
0 >= 0 b[0] == 1 false b[0] = 1 break
0 >= 0 '{ '
j = 0
0 < 3 b[0] == 1 'a ' j = 1
1 < 3 b[1] == 1 false j = 2
2 < 3 b[2] == 1 false j = 3
3 < 3 false
"}"
i = 3 - 1 = 2
2 >= 0 b[2] == 1 false b[2] = 1 break
2 >= 0 '{ '
j = 0
0 < 3 b[0] == 1 'a ' j = 1
1 < 3 b[1] == 1 false j = 2
2 < 3 b[2] == 1 'c ' j = 3
3 < 3 false
"}"
i = 3 - 1 = 2
2 >= 0 b[2] == 1 true b[2] = 0 i = 1
1 >= 0 b[1] == 1 false b[1] = 1 break
1 >= 0 '{ '
j = 0
0 < 3 b[0] == 1 'a ' j = 1
1 < 3 b[1] == 1 'b ' j = 2
2 < 3 b[2] == 1 false j = 3
3 < 3 false
"}"
i = 3 - 1 = 2
2 >= 0 b[2] == 1 false b[2] = 1 break
2 >= 0 '{ '
j = 0
0 < 3 b[0] == 1 'a ' j = 1
1 < 3 b[1] == 1 'b ' j = 2
2 < 3 b[2] == 1 'c ' j = 3
3 < 3 false
"}"
i = 3 - 1 = 2
2 >= 0 b[2] == 1 true b[2] = 0 i = 1
1 >= 0 b[1] == 1 true b[1] = 0 i = 0
0 >= 0 b[0] == 1 true b[0] = 0 i = -1
-1 >= 0 false