aufgaben zur for schleife

  • Hallo, ich schreibe am Montag eine Klausur über die for schleife.


    Im Internet finde ich dazu leider keine richtigen Übungsaufgaben. Vielleicht hat hier ein von euch ein paar Aufgaben mit eventuell Lösungen zum Überprüfen. Wäre sehr nett..
    Vielleicht haben hier auch einige schon eine ähnliche Arbeit über dieses Thema geschrieben und können mir ein paar Aufgaben zeigen.
    Irgendwie ist mein Lehrer dazu leider nicht im Stande :(


    Danke euch schonmal =)


    mfg , marius

  • wo genau befinden sich die übungsaufgaben für die for schleife bei mircosoft? habe dort keine anhaltspunkte finden können :/


    zu den oberen links , eigentlich gut
    nur irgendwie schwer verständlich... ich kenne erst seit gestern die for-schleife und ja wollte halt mal so ein paar "kleine" übungsaufgaben dazu machen. ich wüsste jetzt z.b absolut nicht , wie ich bei diesem asci code anfangen sollte :(



    so etwas in der art meine ich :


    int i,j,k


    k = 0;


    for ( i = 1, j = 5 ; (i < 5) && (j>1) ; i++, j--) k = k + i*j;


    Mein Ergebnis ist 20 , da i bis 5 hoch gezählt wird. 1 , 2 , 3 , 4 , 5
    und j bis 1 runter gezählt wird 5 , 4 , 3 , 2
    danach wird die schleife abgebrochen.
    jetzt bin ich mir aber unsicher , die oberen werden addiert? und mit 2 mulitplziert? = 20


    hmmm, mein leherer meinte da komme 30 raus , raum hat er uns nicht gesagt. deswegen fragte ich ja auch nach übungsaufgaben...
    sowas soll in der arbeit (theorie) vorkommen.
    und wirklich anfreunden kann ich mich damit nicht... vll kann mir einer einwenig unter die arme greifen? wäre nett


    mfg , marius

  • Hallo,
    hier gibts noch mehr tutorials:
    http://www.c-plusplus.de/cms/m…name=Downloads&file=index


    und evt.
    http://www.codeguru.com


    und nein auf der MSN wirst du KEIN Tutorial finden,sondern nur Programmbeispiele,Codeschnippsel wo die For Schleife vorkommt.
    Ich würde aber nicht sagen dass das Hauptproblem eigentlich die FOR Schleife ist,sondern vielleicht eher die Grundsätzliche Frage,"Wie lerne ich C", die meistens Tutorials usw. haben nämlich leider folgendes Format:
    "C++ für Dummies","C++ in 21 Tagen" und ähnlicher Unfug,zu allem Überfluss sind die dann auch noch sehr schlecht gemacht :(
    Das andere Grundsatzproblem ist WILL oder MUSS ich das lernen....
    Im letzteren Fall,nun ja da wirst du bald Probleme bekommen,da die Eigeninitative wohl sehr gering ist,im ersten Fall wirst du evtl. das Probleme bekommen das du einige nutzlose Bücher kaufen wirst bist du ein wirklich gutes Lehrbuch findest,zu allem Überfluss sind diese auch nicht ganz so billig. Wenn du Glück hast wohnst du ja in einer Großstadt die eine sehr große öffentliche Bibiliothek haben.
    Diese strikte Trennung die du in vielen Büchern findest zwischen C und C++ ist nach meiner Meinung ebenfalls ziemlicher Unsinn...
    (Jawohl ich gebe es hiermit zu,Online Tutorials sind nett,keine Frage,aber ich bevorzuge doch die gedruckte,gebundene Version,alleine schon deshalb um sich Notizen machen zu können)


    Nun gut nun zu dieser Schleife: (Von der man merkt das sie aus irgendeinem Lehrbuch stammt)
    zuerst wäre vielleicht ein RETURN ganz gut (2 Zeilen!),also
    int i,j,k=0;
    for(i=1,j=5 ; (i<5) && (j>1);i++,j--)
    k=k+i*j;


    Was passiert? Bei jedem Scheifendurchlauf wird i um Eins erhöht,und j ume eins veringert,und das nur solange wie i kleiner als 5 ist und j größer als 1,das Profukt beider Zahlen wird dann errechnet und zu k addiert also;
    1. k=k+ 1*5; //k=5
    2.k=k+2*4;//k=5+8=13
    3.k=k+3*3;//k=13+9=22
    4.k=k+4*2;//k=22+8=30
    5.ABBRUCH!
    Also kommt am Ende der Schleife raus:
    k=30, i=5,j=1


    (JA,i und j werden einen weiter gezählt,obwohl das Ganze abgebrochen wurde! Das leigt an der Reihenfolge dieses ++ Zeichen,ob du i++ oder ++i schreibst macht sehrwohl einen Unterschied)


    Peter

  • achso ja danke , jetzt ist mir die aufgabe auch klarer gewurden.
    das problem ist viel mehr , (ich weiß nicht wie ihr euch c beigebracht habt),dass es zeitintensiv ist. ich habe einmal die woche 2 Stunden Unterricht im Fach C-Programmierung. Ich habe sehr schnell erkannt , dass diese Zeit nicht reicht eine Sprache zulernen.
    Also ab zum Bücher laden und ein C buch gekauft.
    Meiner Meinung nach ein recht gutes buch "C ->leich -> klar ->sofort von Markt + technik".
    In diesem Buch steht allerdings nur mit einem Beipspiel erklärt was genau bestimmte Funktion in C anstellen.
    Da ich aber Probleme mit der benutzung der for schleife habe bringt mir an dieser Stelle das Buch nichts mehr :(
    Also warte ich auf meine nächste C Stunde , in der mein Lehrer ein paar Übungs aufgaben angibt...
    leider ohne Lösungen , sprich ich weiß nicht was da irgendwie bei rum kommt.


    Deswegen nerve ich dich jetzt einfach noch einmal mit einer kleinen Aufgabe die mir komisch erscheint.


    PS : Ja, ich bin ein C n00b, allerdings will ich c lernen & tue es nicht gezwungerner maßen , weil die nächste Klausur ansteht.
    Womit ich mir auch schwer tue ist die Idee ein Problem zulösen. d.h der Lehrer gibt ein Problem vor , kann ich mich mit dem Thema identifizieren , ist die Bearbeitung relativ einfach. Anderenfalls tue ich mir leider recht schwer :(


    Nun kommen wir mal zu meiner zweiten Aufgabe :


    k = 0;


    for ( i = 1; i < 10; i++)


    {


    k = k + i;


    if (i==6) break;


    }



    Meine Erklärung : i läuft bis 5 hoch , weil bei 6 ein break; eingebaut ist , wird die schleife dort abgebrochen. bei jedem mal wird i um eins gehöht?
    und bei k zusätzlich mit sich selbst addiert?


    allerdings kommt bei mir wieder ein anderes ergebnis raus als bei meinem lehrer :(

  • Hallo,
    tja wie ich C++ gelernt habe...,dank meines Alters :D (34)
    gab es seinerzeit einfach nur eine vernünftige Programmiersprache das war nunmal eben C
    (auch wenn ich mir jetzt den Unmut einiger Pascalfreunde zuziehe ;) ),
    da hatte ich schonmal das Problem der Wahl einer Prgrammiersprache nicht.
    Dummerweise war es aber so das öffentliche Büchereien seinerzeit recht wenig hergaben,und die Bücher die es so gab,nun ja,viel vernünftiges war da wenig zu bekommen,wenn man nicht gerade Unsummen ausgeben wollte,ich hatte dann irgenwann ein wirklich gutes Buch (Ich weis dummer weise nicht mehr den Titel,Author oder sonst irgendwas,so ungefähr
    "Objektorientierte Programmierung in C++" war meine ich von Addison-Wessley,aber egal das wird es eh nicht mehr geben,aber die Grundidee war eigentlich nicht schelcht,das fing wirklich mit NULL an und das Ganze Buch ca.500 Seiten oder so,handelte von dem Projekt einer Auzugssimmulation,alles Schritt für Schritt erklärt.
    (Hört sich ziemlich dumm an,aber bei den meistens Büchern sind da alles irgendwie nur einzelne Codeschnippsel,gefällt mir nicht so gut)


    Also am besten einfach mal bei Amazon suchen,vielleich findest du eins was einigermaßen gut bewertet wird ;), ich bin auch immer noch der Meinung das Bücher ala "Klicken sie hier" ,"Fügen in den diaolg das Control ABC","klicken sie hier um die automatisch generierte Funktion zu verändern..." usw. nur sehr bedingt zum Erfolg führen,ich für meinen Teil will dann doch wissen WARUM das so ist,und da sind nach meiner ganz persönlichen Meinung, fertige generierte Windowsanwendwendungen vielleicht nicht die beste Wahl,also erst mal Funktionen,Klassen usw. im DOS Modus,dieser ganze grafische "Schnick-Schnack" ist nett,keine Frage, aber für Einsteiger verwirrend und zweifelhaft,eine einfache Textausgabe reicht eigentlich zum Verständniss von C++,dieser ganze "Windows Kram",ja irgendwann ja,aber so ganz ohne Grundkenntnisse würde ich dir davon abraten... weil wie gesagt das Ganze WIE und WARUM bleibt da ziemlich auf der Strecke...



    Also deine Schleife :
    int k = 0;
    for ( int i = 1; i < 10; i++)
    {
    k = k + i;
    if (i==6) break;
    }
    da müsste rauskommen k=21,i=6
    1:k=0+1,k=1
    2:k=1+2,k=3
    3:k=3+3;k=6
    4:k=6+4;k=10
    5:k=10+5;k=15
    6:k=15+6;k=21,i==6 also Schleifenabbruch


    Peter

  • Hallo,


    Zitat

    lastwebpage wrote:
    (Hört sich ziemlich dumm an,aber bei den meistens Büchern sind da alles irgendwie nur einzelne Codeschnippsel,gefällt mir nicht so gut)


    ich als C++ Newbie kann das total bestätigen. Habe mich auch mit Literatur eingedeckt. In einigen konnen eben auch diese "Code-Schnipsel" vor. Für jemanden, der weiß wie es geht, vielleicht kein Problem. Für einen Neuling -> *I am lost* - weil man irgendwas (kann auch viel sein) vergisst. Am Besten finde ich Literatur, die auch kompletten Quellcode angibt. Nur so sieht man, was alles bestimmt werden muss, und wie aufeinander bezogen werden muss. Man selber kann dann durch Variiren und Ausprobieren daran lernen. Erst dann begreife ich es auch.


    Bis bald,


    R.E.Z. :)

  • Hallo,


    Zitat

    Der Hobbit wrote: Aber meien frage ist : was ist eine for schleife?


    Es gibt verschiedene Arten von Schleifen, z.B. : while-, do-while- und for-Schleifen. Man unterscheidet in Kopfgesteuert (Bedingung wird vor der Ausführung geprüft) und fußgesteuert (Bedingung wird nach dem Schleifendurchlauf geprüft). Die for-Schleift ist eine von der Sorte der kopfgesteuerten Schleifen.


    Je machdem, was man mit dem Eisatz der Schleife erreichen möchte, ist es durchaus sinnvoll, die Gegebenheiten eben vorher zu überprüfen, oder eventuell nach dem Durchlauf.


    Bis bald,


    R.E.Z. :)

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!