2012 kulonfeladat1

A MathWikiből
(Változatok közti eltérés)
a (Különfeladat: Polinomok tömbök segítségével - fordítva)
 
(egy szerkesztő 2 közbeeső változata nincs mutatva)
1. sor: 1. sor:
 
=== Különfeladat: Polinomok tömbök segítségével - fordítva ===
 
=== Különfeladat: Polinomok tömbök segítségével - fordítva ===
  
Írjunk programot, mely kiszámolja egy legföljebb 5-ödfokú polinom fokát és helyettesítési értékét!  
+
Írjunk programot, mely kiszámolja egy legföljebb 5-ödfokú polinom helyettesítési értékét!  
 
A polinomokat egyszerűen együtthatóinak tömbjeként kezeljük,
 
A polinomokat egyszerűen együtthatóinak tömbjeként kezeljük,
 
például a <math>p_1(x) = 2x^4 + x^3 - 5x + 12</math> polinomot egy olyan p1 nevű
 
például a <math>p_1(x) = 2x^4 + x^3 - 5x + 12</math> polinomot egy olyan p1 nevű
11. sor: 11. sor:
 
Írjunk két függvényt a main()-en kívül:
 
Írjunk két függvényt a main()-en kívül:
  
1. Az egyik függvény legyen az, amely megállapítja, és értékként
+
* Írjunk egy hatványozó függvényt:
visszaadja egy polinom fokát! Ennek deklarációja lehet például a
+
<c>
következő:
+
float hatvany(float alap, int kitevo);
<C>
+
</c>
int fok(float polinom[]);
+
amely visszaadja az ''alap''-nak a ''kitevo''-re emelt értékét!
</C>
+
* Írjunk egy függvényt, mely kiszámolja egy polinom értékét egy
hívása például <code>fok( p1 )</code>, ahol <code>p1</code> egy már definiált polinom.
+
Az algoritmus egyszerűen keresse meg a legkisebb indexű nemnulla
+
értéket a polinomot megadó tömbben. Az azonosan nulla polinom fokát
+
mínusz végtelennek szokás definiálni, de ekkor e függvény adjon vissza -1-et!
+
E függvényhez el kell tudnunk dönteni, hogy egy
+
lebegőpontosan ábrázolt szám egyenlő-e nullával. A számábrázolás
+
pontatlansága miatt az <code>(a == 0.0)</code> feltétel nem lesz jó, ezért egy
+
számról akkor fogjuk azt mondani, hogy 0, ha valamely előre megadott
+
<code>EPSILON</code> értéknél abszolút értékben kisebb. Lehet például <code>EPSILON = 1e-10</code>, vagyis <math>10^{-10}</math>. Használjuk az alábbi kódot (vagy helyettesítsük egy jobbal):
+
<C>
+
int kbNulla(float a) {
+
    float EPSILON = 1e-10;
+
    if (a < EPSILON && a > -EPSILON)
+
        return 1;
+
    return 0;
+
}
+
</C>
+
 
+
2. Írjunk egy függvényt, mely kiszámolja egy polinom értékét egy
+
 
megadott helyen!  
 
megadott helyen!  
<C>
+
<c>
 
float poli_ertek(float polinom[], float x);
 
float poli_ertek(float polinom[], float x);
</C>
+
</c>
 
Például a fent megadott p1 polinom és <code>x=-1.0</code> esetén a  
 
Például a fent megadott p1 polinom és <code>x=-1.0</code> esetén a  
<code>poli_ertek(p1, x)</code> függvényhívás <code>18.0</code>-át ad vissza. E függvényben használjuk a fokszámot megadó függvényt.
+
<code>poli_ertek(p1, x)</code> függvényhívás <code>18.0</code>-át adjon vissza.
  
 
A main függvényben az alábbi polinomokat definiáljuk, majd mindegyiknek
 
A main függvényben az alábbi polinomokat definiáljuk, majd mindegyiknek
írjuk ki a fokát és a helyettesítési értékét az <code>x = 1.2</code> helyen!
+
írjuk ki a helyettesítési értékét az <code>x = 1.2</code> helyen!
<C>
+
<c>
int main(void){
+
int main(void) {
     float p1[MAX_POL]={0,1,0,0,0,0};
+
     float p1[MAX_POL]={0,0,0,0,3,0};
 
     float p2[MAX_POL]={1,0,0,0,0,1};
 
     float p2[MAX_POL]={1,0,0,0,0,1};
 
     float p4[MAX_POL]={0,-1,0,2,0,-10};
 
     float p4[MAX_POL]={0,-1,0,2,0,-10};
</C>
+
}
A két függvény és a <code>kbNulla</code> függvény mindegyikét a main előtt
+
</c>
deklaráljuk, és a main után definiáljuk!
+
A függvényeket a main előtt deklaráljuk, és a main után definiáljuk!

A lap jelenlegi, 2012. március 22., 09:49-kori változata

Különfeladat: Polinomok tömbök segítségével - fordítva

Írjunk programot, mely kiszámolja egy legföljebb 5-ödfokú polinom helyettesítési értékét! A polinomokat egyszerűen együtthatóinak tömbjeként kezeljük, például a p1(x) = 2x4 + x3 − 5x + 12 polinomot egy olyan p1 nevű tömbbel adhatjuk meg, melynek elemei: p1[0]=0, p1[1]=2, p1[2]=1, p1[3]=0, p1[4]=-5, p1[5]=12.

Írjunk két függvényt a main()-en kívül:

  • Írjunk egy hatványozó függvényt:
float hatvany(float alap, int kitevo);

amely visszaadja az alap-nak a kitevo-re emelt értékét!

  • Írjunk egy függvényt, mely kiszámolja egy polinom értékét egy

megadott helyen!

float poli_ertek(float polinom[], float x);

Például a fent megadott p1 polinom és x=-1.0 esetén a poli_ertek(p1, x) függvényhívás 18.0-át adjon vissza.

A main függvényben az alábbi polinomokat definiáljuk, majd mindegyiknek írjuk ki a helyettesítési értékét az x = 1.2 helyen!

int main(void) {
    float p1[MAX_POL]={0,0,0,0,3,0};
    float p2[MAX_POL]={1,0,0,0,0,1};
    float p4[MAX_POL]={0,-1,0,2,0,-10};
}

A függvényeket a main előtt deklaráljuk, és a main után definiáljuk!

Személyes eszközök