14. fejezet - Programinverzió

Tartalom

14.1Egyváltozós eset
14.2Kétváltozós eset

14.1Egyváltozós eset

Legyenek , , és tetszőleges típusok. Legyen továbbá és , valamint , és függvények.

Tekintsük az alábbi specifikációval adott feladatot:

 

Tegyük fel, hogy az függvény értékét kiszámító program az alábbi alakban írható fel:

 

Ha az , és programok végrehajtása nem változtatja meg az változó értékét, akkor a fenti programot elemenként előállító programnak nevezzük,

Hasonlóan, tegyük fel, hogy az függvény értékét kiszámító program pedig az alábbi formában írható fel:

 

Ha az , és programok végrehajtása nem változtatja meg az változó értékét, akkor a fenti programot elemenként felhasználó programnak nevezzük,

Tegyük fel továbbá, hogy az függvény elemenként feldolgozható, és minden egyelemű halmazra a függvényérték egyelemű. Ekkor a függvénykompozíció helyettesítési értékének kiszámítására vonatkozó programozási tétel alapján a feladat megoldható a fenti elemenként előállító, egy elemenként feldolgozó és az imént bemutatott elemenként felhasználó program szekvenciájaként.

A feladatra azonban egy hatékonyabb megoldást is adhatunk a programinverzió segítségével: ekkor a közbülső két sorozat típust kihagyhatjuk és a három ciklust egybeírhatjuk az alábbi módon: