Klausurvorbereitung



  • Ja dann schreib sie doch hier rein man... Ich muss lernen..



  • xX Dany Xx schrieb:

    Ja dann schreib sie doch hier rein man... Ich muss lernen..

    wenn ich das mache, kriege ich böse mecker von player4257 und supertux. leider musst du zuerst deine versuche offenbaren.
    🙂



  • xX Dany Xx schrieb:

    Ja dann schreib sie doch hier rein man... Ich muss lernen..

    Wurde doch schon fast alles genannt. Ich dachte du hättest die Posts gelesen und könntest mal ein bisschen zusammenfassen, mit Quellcode versteht sich.



  • ;fricky schrieb:

    wenn ich das mache, kriege ich böse mecker von player4257 und supertux. leider musst du zuerst deine versuche offenbaren.

    Wer ist das? Ich mache jetzt andere Aufgaben, da ich noch Informatik und Elektrotechnik schreibe..
    Ich dachte ich stelle Frage und kriege ne Antwort.. stattdessen kriege ich Unmengen an Gegenfragen.. das ist sehr kontraproduktiv!



  • xX Dany Xx schrieb:

    Ich dachte ich stelle Frage und kriege ne Antwort..

    na, dann stell doch mal 'ne frage.

    xX Dany Xx schrieb:

    ...das ist sehr kontraproduktiv!

    um produktivität geht's hier doch garnicht. wir sind 'ne entspannte runde, die gern über's C-programmieren philosophiert. wenn du das blöd findest: es zwingt dich ja keiner mitzumachen.
    🙂



  • Mal kurz ne andere Aufgabe:

    Welchen Zahlenwert haben folgende Ausdrücke, wenn am Anfang stets
    int x = 3, y = 2, z = 1; gegeben sein soll? Für die Auswertung genügt es, die letzten 4 Bits der Integerzahlen zu betrachten.
    a) x | y & z
    b) x | y & ~z
    c) x ^ y & ~z
    d) x & y && z
    e) !x || z

    a = 3 d = 1
    b = 3 e = 1
    c = 1

    Ist das richtig? Ich bin mir nicht sicher...



  • ;fricky schrieb:

    wir sind 'ne entspannte runde, die gern über's C-programmieren philosophiert.

    ja is schon okay... 🙂 Ich wünschte mir mal nur ne Runde voller Pro Frickler 😃



  • aber wir haben ma so eine kleine Exkursion in C++ Programmierung gemacht, aber er meinte, dass es nicht in der Klausur drankommt, deswegen bin ich nicht in der Vorlesung gewesen 😃

    Dann sehen wir ja in 2 Wochen deinen Fragenkatalog im C++-Subforum.



  • nene ich gehe davon aus, dass C++ nicht drankommt... die Klausur ist ja vom Sommersemester und das ist etwas länger als das Wintersemester, deswegen ist es gut möglich, dass sie es etwas ausgiebiger durchgearbeitet haben.. Ich hab grad ne alte WS Klasur vor mir liegen, da ist auch nix von C++ ..

    auzßerdem ist das ne kleine Teilaufgabe.. ich brauche ja keine 100% in der Klausur... wenn ich 50% hab, hab ich mit ner 4 bestanden und ich bin zufrieden..



  • xX Dany Xx schrieb:

    Welchen Zahlenwert haben folgende Ausdrücke, wenn am Anfang stets
    int x = 3, y = 2, z = 1; gegeben sein soll? Für die Auswertung genügt es, die letzten 4 Bits der Integerzahlen zu betrachten.
    a) x | y & z
    b) x | y & ~z
    c) x ^ y & ~z
    d) x & y && z
    e) !x || z

    a = 3 d = 1
    b = 3 e = 1
    c = 1

    Ist das richtig? Ich bin mir nicht sicher...

    das sieht gut aus.

    xX Dany Xx schrieb:

    ...ne Runde voller Pro Frickler

    nana, jetzt nicht auch noch frech werden. *fg*
    🙂



  • xX Dany Xx schrieb:

    Mal kurz ne andere Aufgabe:
    Ist das richtig? Ich bin mir nicht sicher...

    Mal kurz ein Hinweis:
    1. Möglichkeit: Einsen und Nullen hinmalen, bitweise anhand der Operatoren unter Beachtung der Operatorpriorität verknüpfen. Spätestens dann solltest du dir sicher sein.
    2. Möglichkeit: Deine schriftlichen Ergebnisse mit dem PC überprüfen, d.h. ein kleines C Programm schreiben. Spätestens jetzt bist du dir 100% sicher, ob du es richtig oder falsch hattest. 😉

    Was hättest du denn davon, wenn dir hier jemand das Ergebnis hinschiebe?



  • ja mit stift und papier hab ichs probiert aber iwie funzt das nicht.. kannst dus mir mal zeigen?

    Also ich hab bei der a) z.B. erstmal probiert x | y und das ergebnis dann & z und da kam 1 raus... 😕

    Also so:

    0011  x
    0010  y
    ----
    0011
    0001  z
    ----
    0001
    


  • xX Dany Xx schrieb:

    Also ich hab bei der a) z.B. erstmal probiert x | y und das ergebnis dann & z und da kam 1 raus...

    du kannst sowas nicht einfach von links nach rechts ausrechnen. & hat vorrang vor |, d.h. du musst es als: x | (y & z) behandeln, also: 3 | (2 & 1)
    🙂



  • achso ja stimmt, das habe ich gar nicht beachtet.. Wo kann ich die Rechnregeln finden? Weißt das jemand? Oder kann das jemand mal posten?



  • xX Dany Xx schrieb:

    achso ja stimmt, das habe ich gar nicht beachtet.. Wo kann ich die Rechnregeln finden? Weißt das jemand? Oder kann das jemand mal posten?

    google: 'logical operator precedence' oder so ähnlich.
    🙂



  • Ich glaub jetzt bin ich komplett durch.. jetzt krieg ich nich mal son kleines dämmliches Programm hin..

    Aufgabe 5 (20 Punkte)
    Eine Zahl x vom Typ double soll von der Tastatur eingegeben werden. Die Zahl soll nur dann akzeptiert werden, wenn sie im Bereich –10.0 <= x < +10.0 liegt. Schreiben Sie für diesen Zweck ein Programm, das bei ungültiger Eingabe einen Hinweis ausgibt und die Eingabeaufforderung so lange wiederholt, bis die Zahl im geforderten Bereich liegt.

    Das habe ich geschrieben... aber warum springt er nicht aus der schleife raus? und warum gibt er nicht aus "Falsche Eingabe!"?

    int main (void)
    {
    double x;
    
    do
    {
    	printf ("Eingabe: ");
    	scanf ("%d", &x);
    	if (x>=-10 || x<10)
    		printf ("x = %d\n", x);
    	else
    		printf ("Falsche Eingabe!\n\n");
    }
    while (x<=-10 || x>10);
    getch();
    }
    


  • xX Dany Xx schrieb:

    Ich glaub jetzt bin ich komplett durch.. jetzt krieg ich nich mal son kleines dämmliches Programm hin..

    glaub' ich auch, du solltest dich für heute besser auf's ohr hauen. was ist grösser als -10 und auch(<-- umgangssprachlich für logisches 'oder') kleiner als 10? richtig, alles. *fg*
    btw, wieso nimmste 'ne double-variable, wenn du integers vergleichst?
    🙂



  • xX Dany Xx schrieb:

    achso ja stimmt, das habe ich gar nicht beachtet.. Wo kann ich die Rechnregeln finden? Weißt das jemand? Oder kann das jemand mal posten?

    http://de.wikibooks.org/wiki/C-Programmierung:_Liste_der_Operatoren_nach_Priorität

    xX Dany Xx schrieb:

    ja mit stift und papier hab ichs probiert aber iwie funzt das nicht.. kannst dus mir mal zeigen?

    Das kriegst du schon hin.
    Bei dem Link oben, guckst du bei bitweises UND, das hat die Priorität 8, das bitweise ODER hat die Priorität 6.
    Also wird bei dem Ausdruck x | y & z zuerst y & z ausgewertet und dann wird dieses Ergebnis mit x ODER Verknüpft, wie fricky ja bereits geschrieben hat.

    Aufgabe 2 hast du immernoch nicht gepostet. 🙄 Naja, morgen hab ich vllt. keinen Bock mehr zu und weil ich mir schon nen Wolf getippt habe, will ich dir das nicht vorenthalten:

    Fehler										Auswirkung auf den Programmlauf
    
    	k ist nicht deklariert.						Keine. Programm lässt sich erst gar nicht compilieren.
    	Der Rückgabewert von malloc wird nicht		Programmabsturz wenn malloc NULL liefert.
    	überprüft.							
    	Das Feld wird nicht vollständig				Abhängig vom Programm.
    	gefüllt, der Index muss bis k=4 laufen.
    	Der Speicher wird nicht freigegeben.		    Eventuell Memoryleak.
    	k wird nicht inkrementiert.					Endlosschleife.
    
    	Kein Fehler aber problematisch: Der Rückgabwert von malloc sollte nicht gecastet werden.
    	Kein Fehler aber unschön und nahezu sinnfrei: hartcodierte Anzahl der Integerelemente.
    
    int k = 0; 
    	int *ar = malloc ( 5 * sizeof(int) ); // Versuch der Allokation.
    	if ( ar == NULL ) return 1; // Es ist kein Speicher frei.
    	do ar[k] = k++; while ( k<5 ); // Vollständige Initialisierung.
    	while ( --k != -1 ) printf ( "ar[%d] = %d\n", k, ar[k] ); // Sind wir auch alle daaa? Bonus: gucki machen :)
    	free ( ar ); // Speicher freigeben.
    


  • Ah coole Sache.. THANX



  • ;fricky schrieb:

    was ist grösser als -10 und auch(<-- umgangssprachlich für logisches 'oder') kleiner als 10? richtig, alles. *fg*
    btw, wieso nimmste 'ne double-variable, wenn du integers vergleichst?
    🙂

    Nein nicht alles... größer als -10 und auch kleiner als 10 sind nur Zahlen von -10 bis 10 wenn ich das richtig überblicke...
    x soll vom Typ double sein.. steht in der aufgabe.. aber ich blick da noch nicht so richtig durch...


Anmelden zum Antworten