Programozási tételek
Két lehetőség van:
- Feladatspecifikáció, tömbökkel
- Programspecifikáció, intervallumokkal
Ez a leírás a feladatspecifikációt használja
Címjegyzék
Összegzés
\(s=\sum_{i=1}^n x_i\)
Visszavezetési táblázat példa:
| \(i\) | \(oszlop\) |
| \(1..n\) | \(1..m\) |
| \(x_i\) | \(madarak_{sor,oszlop}\) |
Feltételes összegzés
\(s=\sum_{\substack{i=1 \\ T(x_i)}}^n x_i\)
Visszavezetési táblázat példa:
| \(i\) | \(oszlop\) |
| \(1..n\) | \(1..m\) |
| \(x_i\) | \(madarak_{sor,oszlop}\) |
| \(T(x_i)\) | \(x_i > 12\) |
Megszámolás
\(Db=\sum_{\substack{i=1 \\ T(X_i)}}^N 1\)
Visszavezetési táblázat példa:
| \(db\) | \(darab\) |
| \(1\) | \(1\) |
| \(T(x_i)\) | \(Hó_i < 3 \ vagy \ Hó_i = 12\) |
Maximum-kiválasztás
\((maxind, maxért)=Max_{i=1}^n x_i\)
Visszavezetési táblázat példa:
| \(i\) | \(oszlop\) |
| \(1..n\) | \(1..m\) |
| \(x_i\) | \(madarak_{sor,oszlop}\) |
Minimum-kiválasztás
\((minind, minért)=Min_{i=1}^n x_i\)
Visszavezetési táblázat példa:
| \(i\) | \(oszlop\) |
| \(1..n\) | \(1..m\) |
| \(x_i\) | \(madarak_{sor,oszlop}\) |
Keresés
\((van, ind, ért) = KERES_{i=1}^n \ T(x_i)\)
| \(i\) | \(j\) |
| \(1..n\) | \(i..n\) |
| \(T(x_i)\) | \(x_j <= 10\) |
Eldöntés
\(van = \exists_{i=1}^n \ T(x_i)\)
| \(i\) | \(j\) |
| \(1..n\) | \(i..n\) |
| \(T(x_i)\) | \(x_j <= 10\) |
Optimista eldöntés
\(mind = \forall_{i=1}^n \ T(x_i)\)
| \(mind\) | \(palindrome\) |
| \(1..n\) | \(i..n \ div \ 2\) |
| \(T(x_i)\) | \(s_i <= 10\) |
| \(i\) | \(i\) |
Kiválasztás
\((ind, ért) = KIVÁLASZT_{i=1}^n T(x_i)\)
| \(i\) | \(j\) |
| \(1..n\) | \(i..n\) |
| \(T(x_i)\) | \(x_j <= 10\) |
Másolás
\(\forall(1 \leq i \leq n):y_i = f(x_i)\)
| \(y_i\) | \(R_i\) |
| \(f(x_i)\) | \(P_i+Q_i\) |
Kiválogatás
\((db, y) = KIVÁLOGAT^n_{\substack{i=1 \\ T(x_i)}} i\)
| \(y\) | \(NF\) |
| \(T(x_i)\) | \(H_i > 1\) |
Szétválogatás
\((db, y, z) = SZÉTVÁLOGAT^n_{\substack{i=1 \\ T(x_i)}} i\)
| \(y\) | \(NF\) |
| \(z\) | \(NR\) |
| \(T(x_i)\) | \(H_i > 1\) |