myGully.com Boerse.SH - BOERSE.AM - BOERSE.IO - BOERSE.IM Boerse.BZ .TO Nachfolger
Zurück   myGully.com > Computer & Technik > Programmierung
Seite neu laden

for schleife c#

Willkommen

myGully

Links

Forum

 
Antwort
Themen-Optionen Ansicht
Ungelesen 28.11.10, 17:22   #1
solidsnake333
Anfänger
 
Registriert seit: Apr 2010
Beiträge: 26
Bedankt: 0
solidsnake333 ist noch neu hier! | 0 Respekt Punkte
Standard for schleife c#

Hallo zusammen
Ich habe Probleme mit einer Hausaufgabe im Fach Anwendungsentwicklung und brauche dabei eure hilfe wenn es geht
also erst mal der anfang:

-- Aufgabenstellung:
Lassen Sie den Rechner die Summe der folgenden Zahlen bis zu einem Grenzwert g berechnen und geben Sie die Anzahl der benötigten Glieder aus.

SummeA: 1+2+3+4+....

Eingabe:
Grenzwert: 12
Ausgabe:
Summe: 15
Glieder: 5

-- Aufgabenstellung Ende

-- Code:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace SumA
{
class Program
{
static void Main(string[] args)
{
int grenzwert=0;
int summe=0;
int i;
Console.WriteLine("SummeA: 1+2+3+4+...");
Console.Write("Bitte geben Sie den Grenzwert ein: ");
grenzwert = Convert.ToInt32(Console.ReadLine());
for (i = 1; summe <grenzwert ; i++)
{
summe = summe + i;
}
Console.WriteLine("Summe ist: " + summe);
Console.WriteLine("Glieder: " + (i-1));
}
}
}

-- Code Ende

So das war das Beispiel das der Lehrer uns gegebn hat, nun sollen wir das Beispiel in folgende Aufgabenstellung umschreiben:

-- Aufgabenstellung:

Lassen Sie den Rechner die Summe der folgenden Zahlen bis zu einem Grenzwert g berechnen und geben Sie die Anzahl der benötigten Glieder aus.

SummeB: 1-2+3-4+....

Eingabe:
Grenzwert: 6
Ausgabe:
Summe: 6
Glieder: 11

-- Aufgabenstellung Ende

Ich komme damit überhaupt nicht klar.. könnte mir vil einer erklären wie das geht? Ich hoffe ihr denkt nicht das ich nur zu faul bin die Aufgabe zu machen, ich komme wirklih nicht damit klar. Unser lehrer erklärt uns so gut wie garnichts im unterricht
solidsnake333 ist offline   Mit Zitat antworten
Ungelesen 28.11.10, 18:40   #2
Madhatter3333
Macianer
 
Registriert seit: Apr 2010
Beiträge: 139
Bedankt: 49
Madhatter3333 ist noch neu hier! | 0 Respekt Punkte
Standard

Ich würde in die for schleife oben einfach eine if-Abfrage einbauen, die die geraden und ungeraden Werte für i unterscheidet. Wenn i ein gerade Wert ist (2,4,6,...) dann Summe=Summe-i, else Summe=Summe+i

Mehr ist nicht zu tun, so wie ich die Sache sehe ;-) Mussts nur noch in Code fassen..

Grüße MH

EDIT: Zur Unterscheidung gerade<->ungerader Wert einfach den Modulo Operator benutzen !
Madhatter3333 ist offline   Mit Zitat antworten
Ungelesen 28.11.10, 19:23   #3
solidsnake333
Anfänger
 
Registriert seit: Apr 2010
Beiträge: 26
Bedankt: 0
solidsnake333 ist noch neu hier! | 0 Respekt Punkte
Standard

Hallo,
habe es jetzt so gelöst:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace SumA
{
class Program
{
static void Main(string[] args)
{
int grenzwert = 0;
int summe = 0;
int i;

Console.WriteLine("SummeA: 1-2+3-4+...");
Console.Write("Bitte geben Sie den Grenzwert ein: ");
grenzwert = Convert.ToInt32(Console.ReadLine());

for (i = 1; summe < grenzwert; i++)
{
if (i % 2 == 0)
{
summe = summe - i;
}
else
{
summe = summe + i;
}
}
Console.WriteLine("Die Summe beträgt: " + summe);
Console.WriteLine("Glieder: " + (i - 1));
}
}
}

Nun zum nächsten Problem:

Lassen Sie den Rechner die Summe der folgenden Zahlen bis zu einem Grenzwert g berechnen und geben Sie die Anzahl der benötigten Glieder aus.

SummeC: 1+1/2+1/3+1/4+....

Eingabe:
Grenzwert: 2
Ausgabe:
Summe: 2,0833333333333333333333333333333
Glieder: 4

Wie soll ich diese Rechnung so schreiben damit es klappt?
solidsnake333 ist offline   Mit Zitat antworten
Ungelesen 28.11.10, 19:51   #4
Madhatter3333
Macianer
 
Registriert seit: Apr 2010
Beiträge: 139
Bedankt: 49
Madhatter3333 ist noch neu hier! | 0 Respekt Punkte
Standard

Ganz einfach ;-) 1/2 = 2^-1; 1/3 = 3^-1....--> 1/i = i^-1
Damit solltest du die Summen ganz einfach zusammenbasteln können..

Grüße MH
Madhatter3333 ist offline   Mit Zitat antworten
Ungelesen 28.11.10, 20:12   #5
solidsnake333
Anfänger
 
Registriert seit: Apr 2010
Beiträge: 26
Bedankt: 0
solidsnake333 ist noch neu hier! | 0 Respekt Punkte
Standard

danke schön..
habe es selbst zusammangezimmert:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace SumA
{
class Program
{
static void Main(string[] args)
{
double grenzwert = 0;
double summe = 0;
double i;

Console.WriteLine("SummeC: 1+1/2+1/3+1/4+...");
Console.Write("Bitte geben Sie den Grenzwert ein: ");
grenzwert = Convert.ToDouble(Console.ReadLine());

for (i = 1; summe < grenzwert; i++)
{
summe = summe + 1 / i;
}
Console.WriteLine("Die Summe beträgt: " + summe);
Console.WriteLine("Glieder: " + (i - 1));
}
}
}


habe da noch 2 aufgaben:

-- nummer i:
Lassen Sie den Rechner die Summe der folgenden Zahlen bis zu einem Grenzwert g berechnen und geben Sie die Anzahl der benötigten Glieder aus.

SummeD: 1-1/2+1/3-1/4+....

Eingabe:
Grenzwert: 0,8
Ausgabe:
Summe: 0,83333333333333333333333333333333
Glieder: 3

-- nummer ii:
Lassen Sie den Rechner die Summe der folgenden Zahlen bis zu einem Grenzwert g berechnen und geben Sie die Anzahl der benötigten Glieder aus.

SummeE: 1+4+9+16+25+...

Eingabe:
Grenzwert: 30
Ausgabe:
Summe: 55
Glieder: 5
solidsnake333 ist offline   Mit Zitat antworten
Ungelesen 28.11.10, 20:36   #6
Madhatter3333
Macianer
 
Registriert seit: Apr 2010
Beiträge: 139
Bedankt: 49
Madhatter3333 ist noch neu hier! | 0 Respekt Punkte
Standard

Naja SummeD is ja einfach wieder mit der if-Schleife -> langweilig
SummeE is einfach 1 + 2^2 + 3^2 + 4^2 + .... -> auch langweilig

Sollte man aber auch eigentlich selbst drauf kommen wenn man C# programmiert

Grüße MH
Madhatter3333 ist offline   Mit Zitat antworten
Ungelesen 28.11.10, 20:56   #7
solidsnake333
Anfänger
 
Registriert seit: Apr 2010
Beiträge: 26
Bedankt: 0
solidsnake333 ist noch neu hier! | 0 Respekt Punkte
Standard

Ja schon, aber ich mach das ja gezwungener maßen.. hab eig gar keine interesse im programmieren.. deswegen tu ich mich da auch so schwer..
mit summe d habe ich aber immer noch probleme
solidsnake333 ist offline   Mit Zitat antworten
Ungelesen 28.11.10, 21:17   #8
Madhatter3333
Macianer
 
Registriert seit: Apr 2010
Beiträge: 139
Bedankt: 49
Madhatter3333 ist noch neu hier! | 0 Respekt Punkte
Standard

Naja SummeD ist ja summe = summe + 1 / i; dann einfach wieder ne if-Abfrage mit Modulo, ob i gerade oder ungerade ist, und dementsprechend eben + oder - 1/i ;-)
Madhatter3333 ist offline   Mit Zitat antworten
Ungelesen 28.11.10, 21:36   #9
solidsnake333
Anfänger
 
Registriert seit: Apr 2010
Beiträge: 26
Bedankt: 0
solidsnake333 ist noch neu hier! | 0 Respekt Punkte
Standard

Zitat:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace SumA
{
class Program
{
static void Main(string[] args)
{
double grenzwert = 0;
double summe = 0;
double i;

Console.WriteLine("SummeD: 1-1/2+1/3-1/4+...");
Console.Write("Bitte geben Sie den Grenzwert ein: ");
grenzwert = Convert.ToDouble(Console.ReadLine());

for (i = 1; summe < grenzwert; i++)
{
if (i % 2 == 0)
{
summe = summe - 1 / i;
}
else
{
summe = summe + 1 / i;
}
}
Console.WriteLine("Die Summe beträgt: " + summe);
Console.WriteLine("Glieder: " + (i - 1));
}
}
}
soweit so gut.. hat bei mir aber nicht geklappt.. bekomme kein bzw. ein falsches ergebinis.. also wir gehen jetzt davon aus das der grenzwert 0,8 ist..
solidsnake333 ist offline   Mit Zitat antworten
Ungelesen 29.11.10, 16:07   #10
Madhatter3333
Macianer
 
Registriert seit: Apr 2010
Beiträge: 139
Bedankt: 49
Madhatter3333 ist noch neu hier! | 0 Respekt Punkte
Standard

wenn der Grenzwert 0,8 ist, geht es auch garnicht. Den im ersten Schritt für i=1 passiert: summe = summe + 1 / 1, d.h. Summe + 1 --> Summe wäre dann 1, also im ersten Schritt schon größer als der Grenzwert. Probier mal einen Grenzwert > 1 und poste das Ergebnis

Grüße MH
Madhatter3333 ist offline   Mit Zitat antworten
Ungelesen 29.11.10, 19:02   #11
solidsnake333
Anfänger
 
Registriert seit: Apr 2010
Beiträge: 26
Bedankt: 0
solidsnake333 ist noch neu hier! | 0 Respekt Punkte
Standard

Habe es mit Grenzwert = 1,3 und Grenzwert = 1,5 ausprobiert und bei beiden hat der mit NICHTS ausgegeben.. :/
solidsnake333 ist offline   Mit Zitat antworten
Antwort


Forumregeln
Du kannst keine neue Themen eröffnen
Du kannst keine Antworten verfassen
Du kannst keine Anhänge posten
Du kannst nicht deine Beiträge editieren

BB code is An
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.

Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:17 Uhr.


Sitemap

().