6. előadás
Programtranszformációk
Az algoritmus ekvivalens átalakítása, melynek célja a helyesség megtartása mellett
- hatékonyabbra írás
- egyszerűsítés
- megvalósíthatóság
Párhuzamos értékadás
Több változót tudunk definiálni egyszerre, egy sorban
```pseudo ??? a,b,c = b,c,a
### Ciklusok összevonása
> Azonos lépésszámú ciklusok összevonhatóak, ha függetlenek egymástól
```cs
int s = 0;
for(int i = 0; i < 10; i++)
{
s++;
}
int p = 1;
for(int i = 0; i < 10; i++)
{
p *= i;
}
Ez ugyan az, mint:
Elágazások összevonása
Azonos feltételű elágazások összevonhatóak, ha függetlenek egymástól.
Függvény behelyettesítése
Függvényhívás helyére egy egyszerű függvény képlete behelyettesíthető.
Utasítás kiemelése ciklusból
A ciklus magjából a ciklustól független utasítások kiemelhetők.
float[] hi = {1,2,3,4,5,6,7,8,9,10};
float r = 10;
float s = 0;
for(int i = 0; i < 10; i++){
s += hi[i]*r*r*pi;
}
u.a.