/* IloczynKartezjanski.java
I = {1,2}
J = {2,3,4}
I x J = {(1,2), (1,3), (1,4), (2,2), (2,3), (2,4)}
Program wyznacza iloczyn kartezjański zbiorów I x J.
I x J = {(i,j) : i ∈ I ∧ j ∈ J}
Iloczyny kartezjańskie wyznaczamy przy pomocy pętli zagnieżdżonych.
Nagłówki pętli zagnieżdżonych określamy w taki sposób, aby wejścia do ciała
pętli zewnętrznej następowały z wartościami ze zbioru I, a wejścia do ciała
pętli wewnętrznej następowały z wartościami ze zbioru J.
Zatem:
Do ciała pętli zewnętrznej wchodzimy z wartościami zmiennej sterującej i od 1 do 2.
Do ciała pętli wewnętrznej wchodzimy z wartościami zmiennej sterującej j od 2 do 4.
Innymi słowy:
I to zbiór wartości zmiennej sterującej i, dla których wchodzimy do ciała pętli zewnętrznej.
J to zbiór wartości zmiennej sterującej j, dla których wchodzimy do ciała pętli wewnętrznej.
*/
public class IloczynKartezjanski
{
public static void main(String[] args)
{
System.out.println("I = {1,2}");
System.out.println("J = {2,3,4}");
System.out.println();
System.out.print("I x J = {");
for (int i = 1; i <= 2; i++)
{
for (int j = 2; j <= 4; j++)
{
System.out.print("(" + i + "," + j + ")");
if (i < 2 || j < 4) System.out.print(", ");
}
}
System.out.println("}");
}
}
I = {1,2}
J = {2,3,4}
I x J = {(1,2), (1,3), (1,4), (2,2), (2,3), (2,4)}
Press any key to continue...
Zadanie Dokonaj analizy programu IloczynKartezjanski.
"I = {1,2}"
"J = {2,3,4}"
""
'I x J = {'
i = 1
1 <= 2 j = 2
2 <= 4 '(1,2)' 1 < 2 || 2 < 4 ',' j = 3
3 <= 4 '(1,3)' 1 < 2 || 3 < 4 ',' j = 4
4 <= 4 '(1,4)' 1 < 2 || 4 < 4 ',' j = 5
5 <= 4 false
i = 2
2 <= 2 j = 2
2 <= 4 '(2,2)' 2 < 2 || 2 < 4 ',' j = 3
3 <= 4 '(2,3)' 2 < 2 || 3 < 4 ',' j = 4
4 <= 4 '(2,4)' 2 < 2 || 4 < 4 false j = 5
5 <= 4 false
i = 3
3 <= 2 false
"}"