absoluteranfänger
-
Gesamte Inhalte
12 -
Benutzer seit
-
Letzter Besuch
Inhaltstyp
Profile
Forum
Downloads
Kalender
Blogs
Shop
Beiträge von absoluteranfänger
-
-
Hallo zusammen,
ich habe jetzt noch einmal 2 Stunden lang Bücher gewälzt, probiert, getestet und experimentiert.
Ich glaube nun habe ich endlich ein ordentliches Ergebnis, das darüber hinaus auch noch richtig ist (kommt mir zumindest so vor ).
...und hier ist es:
#include <stdio.h> int main (void) { int a; double ergebnis; ergebnis = 0; for ( a = 2; a < 200; a = a + 2) { ergebnis += 1 / double ( a * (a+1) * (a+2) ); } printf ("Ergebnis: %f\n", ergebnis); return 0; }
Gibt es noch einen Einwand, oder Verbesserungsvorschläge?
Ansonsten mache ich mich schon mal an die nächste Aufgabe
Ich danke euch allen aber jetzt schon einmal, ihr seid echt klasse!!!
-
Fällt dir da nicht auf, dass es trotz einer Addition mit positiven Werten zu einem negativen Ergebnis kommt?!
Initialisier mal ergebnis mit:
double ergebnis = 0.0;
Ist mir aufgefallen, aber ich bekomm das nicht anders hin!
Dein Vorschlag führt im übrigen zu folgendem Ergebnis:
-
So, nun habe ich den Programmcode also nochmal nach euren Hinweisen (soweit ich sie eben halt verfolgen konnte) überarbeitet:
#include <stdio.h>
int main (void)
{
int a;
double ergebnis;
for ( a = 2; a <= 200; a = a + 2)
{
ergebnis += (1 / (a) * (a+1) * (a+2));
}
printf ("Ergebnis: %f\n", ergebnis);
return 0;
}
Ich bekomme auch ein Ergebnis, leider hat mir das aber zu viele Stellen. Ich habe mal ein Screenshot vom Ergebnis gemacht:
Kann ich das durch irgendeinen Befehl noch anschaulicher gestalten?
-
Hier überschlagen sich ja die Antworten!
Ist ja echt ein super Forum hier
Ich habe die ganze Zeit über folgenden Code "entwickelt":
#include <stdio.h> int main (void) { int a; double ergebnis; for ( a = 2; a <= 200; a = a + 2) { ergebnis = (1 / (a) * (a+1) * (a+2)); } printf ("Ergebnis: %f\n", ergebnis); return 0; }
Allerdings bekomme ich als Ergebisausgabe bis jetzt leider immer 0.00.
Ich habe den Fehler noch nicht gefunden, wollte aber nun erst einmal was Essen Vielleicht könnt ihr mir ja noch einen Hinweis auf den Fehler geben.
-
Das ist schon gar nicht schlecht.
:beagolisc
Eine Gesetzmäßigkeit, die das Ganze noch weiter vereinfacht, ist dir aber offenbar noch nicht aufgefallen: b ist immer a+1, und c ist immer a+2. Du brauchst also weder b noch c.Doch, aber ich weiß nicht, wie sich der Computer da in der Speicherverwaltung verhält. Ich habe immer Angst, ich überschreibe eine Variable, deren Wert ich an anderer Stelle noch benötige...
Ändere ich meine Überlegung also nach dem ab, würde es wie folgt aussehen:
Zunächst rufe ich das Programm auf,
dann binde ich die Biblitotheksfunktionen ein,
nun würde ich die Variablen (a, faktor1, faktor2 und ergebnis) in ihrem Typ deklarieren,
es folgt der Beginn des Hauptprogramms,
das Hauptprogramm führt eine Addition durch,
dieses Hauptprogramm läuft so lange, bis die Variable folgenden Wert besitzt: a <= 200,
zu diesem Hauptprogramm erstelle ich ein Unterprogramm namens Division (a = 2; a++) das 1/a berechnet und nenne das Ergebnis dann faktor1,
zu diesem Hauptprogramm erstelle ich ein Unterprogramm namens Division (a = 2; a++) das 1/a berechnet und nenne das Ergebnis dann faktor2,
als weiteres Unterprogramm folgt ein Programm mit dem Namen Multiplikation, das faktor * 1/a (a++) berechnet,
hat die Variable ihr im Hauptprogramm definiertes Maximum erreicht, werden die Unterprogramme nicht noch einmal durchlaufen, sondern es erfolgt die Bildschirmausgabe des Ergebnisses,
wurde das Programm ohne Fehler abgearbeitet, wird es beendet
...nur ich habe Angst ich überschreibe mir benötigte Werte und mache meine Rechnung damit im Endeffekt kaputt
-
Wenn ich das hier nun lese, dann ist mein PAP wohl wieder kein richtiger
Ich hatte nun den hier erstellt:
Daher nun einfach mal ein anderer Versuch:
Zunächst rufe ich das Programm auf,
dann binde ich die Biblitotheksfunktionen ein,
nun würde ich die Variablen (a, b, c, loesunga, loesungb, loesungc und ergebnis) in ihrem Typ deklarieren,
es folgt der Beginn des Hauptprogramms,
das Hauptprogramm führt eine Addition durch,
dieses Hauptprogramm läuft so lange, bis die Variablen folgende Werte haben: a <= 198; b <= 199 und c <= 200,
zu diesem Hauptprogramm erstelle ich ein Unterprogramm, welches die Variablen 1/a, 1/b, 1/c in jedem Durchlauf miteinander multipliziert,
nach jedem Durchlauf des Hauptprogramms erhöhe ich den Wert der Variablen wie folgt: a = a +2, b = b + 2, c = c + 2,
haben die Variablen ihr im Hauptprogramm definiertes Maximum erreicht, wird das Unterprogramm nicht noch einmal durchlaufen, sondern es erfolgt die Bildschirmausgabe des Ergebnisses,
wurde das Programm ohne Fehler abgearbeitet, wird es beendet
Kann man denn mit dieser Form nun etwas anfangen?
-
Ein PAP ist das nicht. Das ist nur die Problembeschreibung mit einer ersten Analyse.
Was ein PAP ist, erfährst du hier. DAs ist halt grob eine Darstellung deines Programmes, was wann passiert.
Gut, dann werde ich mich mal anhand dieser Bildchen orientieren und versuchen einen Ablauf zu erstellen
-
Problemstellung:
Ich soll ein Computerprogramm in der Programmiersprache C erstellen, welches die Addition von Brüchen, welche eine gewisse Regelmäßigkeit im Nenner aufweisen, automatisiert durchführt. Die Brüche sind so lange zu addieren, bis die Faktoren im Nenner einen gewissen Maximalwert erreicht haben. Das Ergebnis dieser Berechnung ist dann auf dem Bildschirm auszugeben.
Es sollen geeignete Kontrollstrukturen verwendet werden und es dürfen keine while-Anweisungen verwendet werden, daher muss ich mich auf die Verwendung einer for-Schleife konzentrieren.
Ist das ein brauchbarer PAP?
-
Programmablaufplan [...] hat man eigentlich am Anfang der Informatik bevors mit Programmieren losgeht.
:upps so sagt mir PAP nun auch was
...ich werde mal versuchen sowas aufzustellen und im Anschluss hier zu posten.
Was für eine Ausbildung machst du denn da?Maschinenbau Studium - Entwicklung und Konstruktion sind mein Gebiet, die Informatik überlasse ich gerne den Profis. Ist absolut nicht mein Ding, daher tue ich mich gerade wahrscheinlich auch so unheimlich schwer damit.
-
Lass doch erst mal den Code liegen, und formuliere einen Algorithmus, als PAP oder Struktogramm.
Sorry - wie gesagt bin ich kein Experte, sondern hatte nur ein halbes Jahr Informatik. Das Wort Code sagt mir ja im Hinblick auf den Quellcode noch etwas, aber die anderen beiden Wörter sagen mir grade rein gar nichts: PAP? und Struktogramm sagt mir in dem Zusammenhang leider auch nichts
-
Hallo miteinander,
ihr habt sicher schon erkannt ich bin neu hier in der Runde und muss Euch leider gleich mit einem (für mich zumindest) dicken Problem "nerven"
Im Rahmen meiner Ausbildung hatte ich nun knapp ein halbes Jahr das Fach Informatik (mehr kommt jetzt auch nicht mehr) und demnächst steht die Klausur ins Haus. Dazu haben wir auch ein paar Beispielaufgaben erhalten, bei denen ich mich ja schon bei den klitzekleinsten Nachmittage mit beschäftigt habe. Nun gibt es allerdings ein paar Aufgaben, bei denen finde ich ja noch nicht einmal einen Anfang... Wie z.B. diese hier:
oder besser so: http://foto.arcor-online.net/palb/alben/64/1242764/1280_3335626237323562.jpg
Jedenfalls habe ich keinen Plan, wie ich das bewerkstelligen soll. Ich bekomme einfach nichts Gescheites hin, ehrlich gesagt bekomme ich dank der vielen Fehlermeldungen und Warnungen nicht mal ein lauffähiges Programm zu Stande
Es wäre wirklich super, wenn ihr mir helfen könntet. Auch für hilfreiche Tipps und jegliche Hilfestellungen bin ich immer offen.
DANKE!
Ein C-Programm und ich habe keine Ahnung...
in C und C++
Geschrieben
Gut, dieses Programm läuft, erfüllt seinen Zweck und ist nun dank eurer Mithilfe auch übersichtlich :cool:
Nun zu einem weiteren Problem - allerdings mit anderer Aufgabenstellung:
Geben Sie an, welche Bildschirmausgabe durch den folgenden Ausschnitt eines C-Programms erzeugt wird:
Nun habe ich den Abschnitt wie folgt "entschlüsselt":
An der blauen Stelle kann ich nur sagen es handelt sich wohl um einen "Bitoperator", was er bewirkt und wie er funktioniert weiß ich leider nicht. Ich hoffe ihr könnt es mir sagen.
An den roten Stellen komme ich gar nicht weiter. Was passiert dort und in welcher Reihenfolge?