<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Integralrechnung]]></title><description><![CDATA[<p>Habe hier ein kleine Progrämmchen zum Thema Integralrechnung. Meine Frage: Gibt es eine einfache Möglichkeit die Funktion per Eingabe einzulesen und dann weiterzuverarbeiten?<br />
Weil jetzt ist sie hardcoded (x^3), was mich doch sehr stört. Bei meiner Recherche bin ich auf das Stichwort &quot;Parser&quot; gestoßen. Finde das doch ohne Studium sehr anspruchsvoll. Vorschläge?</p>
<p>Meine Ideen:<br />
-&gt; Grad abfragen, allg. Fkt. basteln, Eingabe (Wahrscheinlich für mich das einfachste)<br />
-&gt; Parser bauen, also dem Computer regeln an die Hand geben um meine Eingabe zu verstehen, richtig?</p>
<pre><code>#include &lt;iostream&gt;
#include &lt;string&gt;

using namespace std;

long double f(long double x);
long double Obersumme(long double a,long double b,long double n);
long double Untersumme(long double a,long double b,long double n);
long double Differenz(long double a,long double b,long double n);

int main()
{
    long double lG, rG, lT, rT;

    cout &lt;&lt; &quot;Linke Intervallgrenze: &quot;;
    cin &gt;&gt; lG;
    cout &lt;&lt; &quot;Rechte Intervallgrenze: &quot;;
    cin &gt;&gt; rG;
    cout &lt;&lt; &quot;Intervallteile von &quot;;
    cin &gt;&gt; lT;
    cout &lt;&lt; &quot;bis &quot;;
    cin &gt;&gt; rT;

//    cout &lt;&lt; &quot;Genauigkeit: &quot;;
//    cin &gt;&gt; lT;

    for(lT;lT&lt;=rT;lT++)
    {
        cout &lt;&lt; lT &lt;&lt; &quot;: &quot; &lt;&lt; Obersumme(lG,rG,lT) &lt;&lt; &quot;:&quot; &lt;&lt; Untersumme(lG,rG,lT) &lt;&lt; &quot;:&quot; &lt;&lt; Differenz(lG,rG,lT) &lt;&lt; endl;
    }

//    cout &lt;&lt; &quot;Obersumme: &quot; &lt;&lt; Obersumme(lG,rG,lT) &lt;&lt; endl;
//    cout &lt;&lt; &quot;Untersumme: &quot; &lt;&lt; Untersumme(lG,rG,lT) &lt;&lt; endl;
//    cout &lt;&lt; &quot;Differenz: &quot; &lt;&lt; Differenz(lG,rG,lT) &lt;&lt; endl;
}

long double f(long double x)
{
    long double f = x*x*x;
    return f;
}

long double Obersumme(long double a,long double b,long double n)
{
    long double OSumme = 0;
    long double iL = (b-a)/n;
    for(int i=0;i&lt;=n;i++)
    {
        OSumme+=iL*f(a+(i*iL));
    }
    return OSumme;
}

long double Untersumme(long double a,long double b,long double n)
{
    long double USumme = 0;
    long double iL = (b-a)/n;
    for(int i=0;i&lt;=n-1;i++)
    {
        USumme+=iL*f(a+(i*iL));
    }
    return USumme;
}

long double Differenz(long double a,long double b,long double n)
{
    long double Differenz = Obersumme(a,b,n) - Untersumme(a,b,n);
    return Differenz;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/332009/integralrechnung</link><generator>RSS for Node</generator><lastBuildDate>Tue, 28 Apr 2026 17:38:23 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/332009.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 02 Apr 2015 20:02:17 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Integralrechnung on Thu, 02 Apr 2015 20:02:17 GMT]]></title><description><![CDATA[<p>Habe hier ein kleine Progrämmchen zum Thema Integralrechnung. Meine Frage: Gibt es eine einfache Möglichkeit die Funktion per Eingabe einzulesen und dann weiterzuverarbeiten?<br />
Weil jetzt ist sie hardcoded (x^3), was mich doch sehr stört. Bei meiner Recherche bin ich auf das Stichwort &quot;Parser&quot; gestoßen. Finde das doch ohne Studium sehr anspruchsvoll. Vorschläge?</p>
<p>Meine Ideen:<br />
-&gt; Grad abfragen, allg. Fkt. basteln, Eingabe (Wahrscheinlich für mich das einfachste)<br />
-&gt; Parser bauen, also dem Computer regeln an die Hand geben um meine Eingabe zu verstehen, richtig?</p>
<pre><code>#include &lt;iostream&gt;
#include &lt;string&gt;

using namespace std;

long double f(long double x);
long double Obersumme(long double a,long double b,long double n);
long double Untersumme(long double a,long double b,long double n);
long double Differenz(long double a,long double b,long double n);

int main()
{
    long double lG, rG, lT, rT;

    cout &lt;&lt; &quot;Linke Intervallgrenze: &quot;;
    cin &gt;&gt; lG;
    cout &lt;&lt; &quot;Rechte Intervallgrenze: &quot;;
    cin &gt;&gt; rG;
    cout &lt;&lt; &quot;Intervallteile von &quot;;
    cin &gt;&gt; lT;
    cout &lt;&lt; &quot;bis &quot;;
    cin &gt;&gt; rT;

//    cout &lt;&lt; &quot;Genauigkeit: &quot;;
//    cin &gt;&gt; lT;

    for(lT;lT&lt;=rT;lT++)
    {
        cout &lt;&lt; lT &lt;&lt; &quot;: &quot; &lt;&lt; Obersumme(lG,rG,lT) &lt;&lt; &quot;:&quot; &lt;&lt; Untersumme(lG,rG,lT) &lt;&lt; &quot;:&quot; &lt;&lt; Differenz(lG,rG,lT) &lt;&lt; endl;
    }

//    cout &lt;&lt; &quot;Obersumme: &quot; &lt;&lt; Obersumme(lG,rG,lT) &lt;&lt; endl;
//    cout &lt;&lt; &quot;Untersumme: &quot; &lt;&lt; Untersumme(lG,rG,lT) &lt;&lt; endl;
//    cout &lt;&lt; &quot;Differenz: &quot; &lt;&lt; Differenz(lG,rG,lT) &lt;&lt; endl;
}

long double f(long double x)
{
    long double f = x*x*x;
    return f;
}

long double Obersumme(long double a,long double b,long double n)
{
    long double OSumme = 0;
    long double iL = (b-a)/n;
    for(int i=0;i&lt;=n;i++)
    {
        OSumme+=iL*f(a+(i*iL));
    }
    return OSumme;
}

long double Untersumme(long double a,long double b,long double n)
{
    long double USumme = 0;
    long double iL = (b-a)/n;
    for(int i=0;i&lt;=n-1;i++)
    {
        USumme+=iL*f(a+(i*iL));
    }
    return USumme;
}

long double Differenz(long double a,long double b,long double n)
{
    long double Differenz = Obersumme(a,b,n) - Untersumme(a,b,n);
    return Differenz;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2448944</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2448944</guid><dc:creator><![CDATA[BlueBrain]]></dc:creator><pubDate>Thu, 02 Apr 2015 20:02:17 GMT</pubDate></item><item><title><![CDATA[Reply to Integralrechnung on Thu, 02 Apr 2015 21:21:56 GMT]]></title><description><![CDATA[<p>BlueBrain schrieb:</p>
<blockquote>
<p>Habe hier ein kleine Progrämmchen zum Thema Integralrechnung. Meine Frage: Gibt es eine einfache Möglichkeit die Funktion per Eingabe einzulesen und dann weiterzuverarbeiten?<br />
Weil jetzt ist sie hardcoded (x^3), was mich doch sehr stört. Bei meiner Recherche bin ich auf das Stichwort &quot;Parser&quot; gestoßen. Finde das doch ohne Studium sehr anspruchsvoll. Vorschläge?</p>
</blockquote>
<p>Nein, es gibt keine einfachere Möglichkeit dafür.</p>
<blockquote>
<p>Grad abfragen, allg. Fkt. basteln, Eingabe (Wahrscheinlich für mich das einfachste)</p>
</blockquote>
<p>Wenn dir das reicht, wäre das natürlich eine Möglichkeit.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2448962</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2448962</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Thu, 02 Apr 2015 21:21:56 GMT</pubDate></item><item><title><![CDATA[Reply to Integralrechnung on Thu, 02 Apr 2015 21:35:28 GMT]]></title><description><![CDATA[<p>Ein Parser ist hier völlig Overkill. Ich würde fürs erste lieber bei einfacheren Themengebieten bleiben. Wenn dich Parser interessieren, kannst du das später mal machen, ist ein ganz nettes Projekt, aber so wie ich deinen Kentnissstand einschätze noch zu früh.</p>
<p>Für diese Art von Integralrechnung, die du gezeigt hast, ist ein einfacher Polynomparser ausserdem langweilig, da sich Polynome viel leichter symbolisch integrieren lassen. Das schöne an so numerischen Methoden ist, dass sie für jede Funktion gehen, nicht nur für Polynome. ~(Mit gewisser Glattheit vorausgesetzt konvergiert das Verfahren sogar noch einigermassen schnell.)~ Solche komplizierteren Funktionen beschreibt man am besten in einer Programmiersprache, und was spricht da gegen C++.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2448968</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2448968</guid><dc:creator><![CDATA[hasem]]></dc:creator><pubDate>Thu, 02 Apr 2015 21:35:28 GMT</pubDate></item><item><title><![CDATA[Reply to Integralrechnung on Fri, 03 Apr 2015 17:16:25 GMT]]></title><description><![CDATA[<p>Schau doch mal zwecks Parser im Artikelbereich rein, da gibts n einfaches Übungsmuster, dass du sehr leicht weiterentwickeln kannst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2449042</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2449042</guid><dc:creator><![CDATA[Namenloser324]]></dc:creator><pubDate>Fri, 03 Apr 2015 17:16:25 GMT</pubDate></item><item><title><![CDATA[Reply to Integralrechnung on Tue, 14 Apr 2015 19:43:39 GMT]]></title><description><![CDATA[<p>BlueBrain schrieb:</p>
<blockquote>
<p>Meine Frage: Gibt es eine einfache Möglichkeit die Funktion per Eingabe einzulesen und dann weiterzuverarbeiten?</p>
</blockquote>
<p>Nicht in C++. Aber warum soll der User immer so verhätschelt werden? Soll er doch einfach die Funktion im Quellcode ändern und neu compileren. (Das könntest Du natürlich auch per Script automatisieren und vielleicht noch (per regexps absichern, daß keiner &quot;f(x)=x*1;rm -rf /;del C:\;&quot; durchkriegt.</p>
<p>BlueBrain schrieb:</p>
<blockquote>
<p>Weil jetzt ist sie hardcoded (x^3), was mich doch sehr stört. Bei meiner Recherche bin ich auf das Stichwort &quot;Parser&quot; gestoßen. Finde das doch ohne Studium sehr anspruchsvoll. Vorschläge?</p>
</blockquote>
<p>Jupp. Augen aufmachen. Da Du Dich privat (ist doch reines Privatvergnügen?) mit sowas beschäftigst, wirste denne bald im Studium 95% der Mitstreiter abhängen ohne auch nur einmal für eine Prüfungh zu büffeln.</p>
<p>BlueBrain schrieb:</p>
<blockquote>
<p>Meine Ideen:<br />
-&gt; Grad abfragen, allg. Fkt. basteln, Eingabe (Wahrscheinlich für mich das einfachste)</p>
</blockquote>
<p>Jo. Kann aber dann &quot;nur&quot; Polynome.</p>
<p>BlueBrain schrieb:</p>
<blockquote>
<p>-&gt; Parser bauen, also dem Computer regeln an die Hand geben um meine Eingabe zu verstehen, richtig?</p>
</blockquote>
<p>Ja. Sowas vertage ich meisens als &quot;im Prinzip könnte ich es, hab aber keinen Bock auf die viele Mühe&quot;, nachdem ich mir angelesen habe, wie es geht.</p>
<pre><code>…
</code></pre>
<p>Verständlicher und schlichert Code, das finde ich gut. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2450201</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2450201</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Tue, 14 Apr 2015 19:43:39 GMT</pubDate></item></channel></rss>