kann jemand bitte seine Vorlesungsmitschrift aus Matlab hochladen. Habe die Po gewechselt und habe sie leider nicht gehört. Übungs/Praktikumslösungen wären auch nicht schlecht.
hallo! kommen in der Klausur auch aufgaben zu matlab dran? Und hat jemand von euch die Lösungen zu den Matlab Übungen?
1 weiteren Kommentar anzeigen
ach, aber das klingt ja schon mal sehr gut. Vielen Dank :)
Ich denke es reicht, wenn man die Vorlesungen von dem einmal durch geht
Hallo Leute, ich suche eine Lösung für die Klausuraufgabe "Goldener Schnitt". Hätte da Jemand einen Tipp, Lösungsansatz oder eventuell eine Lösung?
3 weitere Kommentare anzeigen
@Rag r vielen Dank für deine Antwort! Ich habe noch einmal ein bisschen ausprobiert. Leider war es aber nicht erfolgreich... Ich habe in der main() eine do-while Schleife geschrieben und auch fakultaet und power etwas überarbeitet. Aber beim Ausführen des Programmes bekomme ich nur eine Fehlermeldung (Floating point exception (core dumped)) Ich nehme an, es wird irgendwo durch 0 geteilt??
Ich habe jetzt eine Lösung dafür, die klappt auch :) hab ich mal getestet. Habe ich eben hochgeladen, auch mit Erklärung wie man die Teile des Bruchs zerlegen muss . Ich hoffe das ist verständlich. Könnt ihr ja mal gucken :)
Hi, weiß jemand wie folgende Abbruchbedingung einer Endlosschleife realisiert werden kann? Das Programmende soll dadurch eingeleitet werden, dass der Programmbenutzer für n anstelle einer Zahl einfach einen Buchstaben eintippt, etwa „e“ wie „Ende“
du kannst das reaisieren, indem du die endlosschleife über while(1) laufen lässt. wenn deine scanf eingabe "falsch" ist, also keine zahl mehr, wird abgebrochen.
sorry, du musst in die while (1) schleife deine abbruchbedingenung natürlich noch über eine if funktion mit dem abbruchkriterium schreiben und dann (break)
hätte jemand die Lösung zu a) ,b) und c) wäre sehr dankbar. Danke im voraus.
ad a) die Funktion sollte mit void f(*p); deklariert werden. Funktionsaufruf: f(&p); ad b) float *c[5][4]; ( Ich bin nicht sicher ob ich die Frage richtig verstanden habe) ad c) 1. 3 : c[] [] [] 2. float ***c (Skript unter Mehrfachzeiger)
Hier sollten die Variablen mit 0 belegt werden, da sonst bei der Summierung Fehler entstehen.
Müsste an dieser Stelle nicht "hilf=hilf+(feld[i]*feld[i];" stehen? Meiner Meinung nach wird hilf nach deiner Lösung bei jedem Schleifendurchlauf überschrieben.
Kann ich so bestätigen. Oder hilf+=feld[i]*feld[i]; Vielleicht durch scan schlecht zu erkennen
Hat hier jemand die Lösung zur Aufgabe 4 in der 27. Klausur?
Habe Sie gerade hochgeladen...Gruß Im gleichen Ordner noch eine Textdatei mit den Werten anlegen zum testen.
Hey, ich habe ein paar Fragen zu Zeigern auf Speicherreservierung. Ich bin auch sehr dankbar dafür, wenn du mir nur einen Teil beantworten kannst! ->Wozu genau benötigt man Speicherplatzreservierungen, man kann ja mit scanf auch so Daten (verschieden große Integer, chars...) einlesen und im Zwischenspeicher für das Programm benutzen. Wenn ich mir im u.g. Beispiel den Platz für 2000doubles frei halte, was ist dann der Unterschied dazu, wie wenn ich die doubles einfach so einlese? ->Ich habe Beispiele gesehen, in denen der Datentyp in Klammern vor dem Malloc gar nicht in geschrieben werden musste, z.B. beschreibung=malloc(2000*sizeof(char)); was so viel bedeutet wie "halte mir 2000 Zeichen zu je 8 bit frei für die Beschreibung" wenn ich es richtig verstehe? Warum brauche ich vor malloc nicht (char*) ? -> Warum muss ich, wenn ich den Pointer auf ein Array "a" zeigen lasse, kein &a schreiben, sondern nur bei Integern? Das Und heißt ja so viel wie "An der Adresse...", und das müsste ja bei beidem stimmen? bei integern: einpointer=&a; und bei Arrays: int a[3]={12,3}; int*einpointer; einpointer=a; ->(Nur aus Interesse) Der Datentyp für einen Pointer ist ja int *, char *, double * ect. warum wird es (auch wenn es für das Programm an sich egal ist) üblicherweise mit einem Leerzeichen zwischen dem Grund - Datentyp und dem Stern geschrieben? Das ist ja meist eine Gedankensstütze dafür, dass etwas beendet ist, aber der Stern wird ja direkt an z.B. das a (unten) geschrieben, dabei gehört es ja eher zum Datentyp weil es erst zeigt dass es überhaupt ein Pointer ist. Und hier rauf beziehe ich mich - eine normale Speicherplatzreservierung eines Array kann z.B. so aussehen: int n =2000; double *a; a = (double*)malloc(n*sizeof(double));
Tach auch:) Bei der dynamischen Speicherplatzreservierung geht es darum, nicht im Vorfeld schon viel Speicher für wie in Deinem Beispiel n = 2000 integer zu verpulvern. Du deklarierst mit double *a einen Zeiger. Dieser hat noch keinen (Adressen)Wert. Dahinter sind noch keine weiteren Speicheradressen reserviert. Während des Programmablaufs gibst Du nun an, wieviele Datensätze Du brauchst, z.B. aus einer Datei mit Messdaten. Dann erst wird über die malloc Funktion zusammenhängender Speicher reserviert, und zwar so viel wie 'n' nun tatsächlich benötigt wird. Bei der statischen Speicherreservierung (einfacher Deklaration von Variablen oder Feldern) muß man oft den Speicher zu sehr vordimensionieren wenn man nicht genau weiß, wie viel im Programm letztendlich zusammenkommt. Ein weiterer Vorteil ist, dass der Speicher mit free() auch während des Programmablaufs wieder freigegeben werden kann. Hinzu kommt bei zusammenhängendem Speicher noch die Zeigerarithmetik: Du kannst dann mathematisch auf Adressen zugreifen. z.B int *b; int a=[3];, dann könnte Speicheradresse sein: a = 639400. mit b=a+1; folgt b=639404; b=a+2; ->b=639408; Die Compiler berechnen anhand des Datentyps selbständig die Byteanzahl, mit der sie weiterspringen, also 1=4Byte bei int, 8Byte bei double. Wofür das nützlich ist - habs jedenfalls in keiner Klausuraufgabe bis jetzt genutzt. Natürlich merkt man an einem üblichen PC nichts von Speichermangel, aber stell dir Datenverarbeitung auf kleinen Microcontrollern oder so vor. Arrays: Wenn Du int a[3]; deklarierst, dann bedeutet das einfach, dass a ein Zeiger auf die Startadresse des Feldes a[3] mit der Länge 3*4Byte ist (oder 3*8?? war das double ich weiß grad nicht). a ist also schon eine 'Zeiger'variable. Daher brauchst Du um an ihre Adresse zu kommen, kein &. Soweit ich informiert bin, lässt sich ein Pointer auf drei Arten deklarieren: 1. int* a, b; 2. int * a, b; 3. int *a, b; Alle a sind Zeiger vom Typ int. Script Seite 60 oben. Eine der Varianten soll wohl bewirken, dass alle dahinter aufgeführten Variablen Zeiger werden. Bei der 1. Variante definitiv nur die erste Variable. Welche Variante erschließt sich mir leider nicht aus dem Script. Bin etwas durcheinander gekommen, hoffe ich konnte trotzdem helfen. Gruß.
Was bedeutet es genau, wenn ein Programm "eine null zurück gibt" ? Es muss ja mehr bedeuten als dass "alles okay" ist, wenn es mitten im Programm auftaucht wie z.B. hier: if( !scanf("%d",&n) ) return 0; So wie ich das sehe, steht hier "Sobald eine Zahl eingetippt wurde, ist alles okay" - müsste da nicht so was wie continue oder so stehen? Also es funktioniert, aber ich weiß nicht, was das genau heißt. Ach ja: und brauche ich nach einem if() nicht geschweifte Klammern? oder reicht es, wenn vor dem Simikolon der Befehl steht?
2 weitere Kommentare anzeigen
@Moritz wow vielen Dank, das hilft mir sehr!
Zu der if() - Geschichte: scanf("...",..) ist eine Funktion, die einen int-Return Wert zurückgibt. Sie gibt die Anzahl erfolgreich eingelesener Zeichen zurück. Sollte es hier also zu keinem erfolgreichen Einlesen gekommen sein, z.B. flag=scanf("%d", &wert); Eingabe: 'q', (erwartet wird int, Eingabe ist char), dann ist flag = NULL. Die scanf-Funktion in die if-Bedingung zu packen ist insofern ganz schick, da hier das Lesen von Tastastur und der Return-Wert in eine Befehlszeile gepackt werden können und keine Variable flag deklariert werden muß. Es gibt auch Klausuraufgaben, in denen "solange das Einlesen des Wertes x klappt..." zur Aufgabenstellung gehört. Ich würde das genau so lösen, z.B printf("/nx-Wert eingeben: "); while (scanf("%d", &x)==1) { Codekrams printf("/nWeiteren x-Wert eingeben: "); }
Hallo zusammen, ich habe die Vorlesung vor 2 Jahren besucht, muß die Klausur aber noch schreiben. Jetzt gibt es im ILIAS Unterlagen zu MatLab, ist das jetzt also auch klausurrelevant?
7 weitere Kommentare anzeigen
Ich habe Beides. Wie finde ich dich auf Facebook?
Heiße dort Murat Sa. Kannst mir sonst auch auf WhatsApp schreiben. 0171 8275420
Wie lernt ihr für die Prüfung? (alte PO) -> C mithilfe eines Videokurses lernen, reicht das?
1 weiteren Kommentar anzeigen
Vielen Dank! Das Skript ist das einzige Hilfsmittel was wir mitnehmen dürfen?
Ich glaube man kann noch ein beliebiges Buch zur Sprache C mitnehmen (Angabe ohne Gewähr, war früher so). In meinen Augen aber unnötig.
Hallo, Kann jemand bitte die Lösung der 6. Übung rein schicken? Danke!
Im aktuellen Skript stehen keine Funktionen aus der Cnumlib drin oder? Meine Frage ist, ob jemand weiß ob diese in den vorherigen Skripten drin standen ... wäre ansonsten ja ein Indiz dafür, dass diese nun Aufgrund von Matlab gestrichen wurde.
An diejenigen die noch DV schreiben müssen. Die Schemata die ich hochgeladen habe sind eine gute Stütze für die jeweiligen Klausuraufgaben. Ich kann jedem nur empfehlen sich intensiv mit dem Skript, den Klausuraufgaben und den Schemata auseinander zusetzen. Viele Sachen kommen 1:1 so in der Klausur dran. Mit ein paar Notizen im Skript ist eine gute Note easy drin. Viel Erfolg beim lernen ‼️👍🏻🚀
Hab mal ne discord gruppe nur für Datenverarbeitung für kurzfristige fragen erstellt https://discord.gg/feFvgCu (NEUER LINK! )
1 weiteren Kommentar anzeigen
Danke!
Braucht man mehr als das Skript oder sollte man sich die Vorlesungen auch ausdrucken bzw noch ein Buch besorgen=?
1 weiteren Kommentar anzeigen
Kontrolliert Herr Bullerschen die Skripte? :D
Bei Numerik hat er das zumindest mal nicht :D
Wann und wo wird am Montag DV geschrieben Fb6 ?
Bitte :)
Hat jemand die Aufgabe 5 aus der Klausur 18 , habe die vorliegen aber würde gerne vergleichen.
hat jemand die letzte dv klausur gerechnet? vom juli 2018
6 weitere Kommentare anzeigen
Könnte jemand vllt ne Datei mit den Lösungen erstellen und hochladen?
100%.
Hallo, weiss jemand wo man diese Quanec Funktion findet? Im Skript finde ich da nichts...
Quanec wirst du in der klausur nur so brauchen wie angegeben, im prinzip ist das einfach ein programm das du mit informationen fütterst und das dann mathematische berechnungen ausführt im sinne der vorgegebenen parameter. berichtigt mich wenn ich falsch liege. Ich glaube Quanec existiert auch garnicht ausserhalb des Bullerschen Universums.
wie besteht man DV
Altklausuren rechnen. Den Sinn hinter einem Programm verstehen und dazu den Zusammenhang der Aufgabe. Du kannst die Aufgaben in Dv lesen wie ein Kochrezept. Du geht schritt für schritt durch was da steht und schreiben zeilenweise das Programm dazu.
danke
Hat Herr Bullerschen in seiner letzten Vorlesung bestimmte Themen für die Klausur im März ausgeschlossen?
Nicht das ich wüsste.
Hello , wo kann ich die aktuelle alte Klausuren von Bullerschen finden ?
Die sind bei ihm im ilias
gibt es irgendwo die Lösungen zu den Übungsaufgaben? (spezifischer die zu den Struktogrammen?)
Also noch mal für Alle. zu Jedem Praktikum habe ich die Lösung als c programm hoch geladen. könnt es so wie es ist runter laden und sofort Kompilieren...
Da ich von vielen gebeten wurde, die Lösungen aus DV weiter zu geben, habe ich zunächst alle bis p12 hoch geladen. Falls noch weitere benötigt werden, schreibt gerne. Eine Bitte: Es muss keiner außer uns Studenten von den Lösungen wissen! In den nächsten Wochen werde ich sie evtl. auch wieder löschen müssen.
Es sind doch eh alle Lösungen hier hochgeladen... als fertigess und lauffähiges Programm..
Für alle die die Seite vom Theis nicht kennen: http://www.theisweb.de/fh/prog/index.htm für die meisten Praktika gibt es hier Ansätze und Hilfen. hilft definitiv bei der Klausur
Zu wem Sollte man in Praktikum gehen? habe gehört es gibt große unterscheide zwischen den Dozenten...
Hanrath defintiv. Der andere alte ist unausstehlich.
Theis! der ist der besste unbedingt sollte man seine Seite kennen: http://www.theisweb.de/fh/prog/index.htm
Hallo, hat jemand DV Zusammenfassung gestellt?
1 weiteren Kommentar anzeigen
Habe eben massenhaft hochgeladen ist da alles drin was du brauchst oder suchst du noch was bestimmtes?
in vorbereitung auf die Klausur: Die Übungen alle nochmal anschauen und verstanden haben dan ein paar alte Klausuren Rechnen... alles nicht so schwer
So das dürften Lösungen für so ziemlich alles sein. Bitte nehmt es mir nicht übel das ich nicht überall ne eigene Beschreibung rein gemacht habe aber das ist bei ca 140 Dokumenten einfach zu aufwändig. Die Dateien sind jeweils C codes. ih müsst sie herunterladen und dann z.B. mit dem Notepad betrachten, oder mit dem Programm Dev+C könnt ihr die auch Kompilieren. Achtung alles was die cnumlib drin hat läuft nur auf den FH Rechner wo die entsprechende Bibliothek hinterlegt ist.
Ich habe haufenweise lösungne für die Praktika etc... werde das morgen alles hochladen
Kann mir jemand die Lösung von dieser Aufgabe Schicken ? DV-Klausur vom 24.03.2017 Aufgabe 2 Im Jahr 1706 fand der Londoner Mathematiker.....
Weiss einer wie ich das realisiere? "Solange das lesen von zwei double-Werten x und y von Datei klappt: -n um 1 erhören -...." ich weiss es muss sich um eine while-schleife handeln, aber wie pack ich da die Bedingung rein? es geht um die aufgabe 5 bei der klausur 09/2015 danke im voraus
habs rausbekommen :) while(fscanf(op,"%lf %lf",&x,&y)!= EOF){ ... }
Hallo, kennt jemand die Lösung für folgende Klausuraufgabe? In einem C-Programm werden drei dynamische double-Felder x, y und z benötigt. Nachdem hierfür geeignete Zeigervariablen deklariert wurden und eine ganzzahlige Variable n deklariert und initialisiert wurde, benutzt der Programmierer die folgende Mehrfachzuweisung: x = y = z = (double)malloc( n * sizeof(double*) ); Frage: Welche Fehler hat der Programmierer hierbei gemacht? Bitte notieren Sie auch die korrekte Umsetzung dieses Programmfragmentes!
würde mal sagen er hat für alle drei felder den selben speicher, bedeutet das sie sich gegenseitig überschreiben. einfach x=(double*)malloc( n * sizeof(double) ) schreiben. Und die sternchen nicht vergessen.
Den Feldern unterschiedliche Bereiche zuweisen: x = (double *) malloc(n * sizeof(double)); if(x==NULL) {...} y = (double *) malloc(n * sizeof(double)); if(y==NULL) {...} z = (double *) malloc(n * sizeof(double)); if(z==NULL) {...}
Zu dieser Frage wurde keine Stelle markiert
Hey! Könntest du vllt noch einmal etwas genauer erklären, wie man auf die Ausgabe "Leichte Klausuraufgabe" kommt ?
1 weiteren Kommentar anzeigen
Das erklärt die Ausgabe von "Leichte". Was hat es denn mit: if (steu-23) auf sich? Wie interpretiere ich das?
if(steu-23) // mit steu=50 aus Aufgabenstellung// = if(50-23) = if(27) //27 ist nicht Null, also ist das "Argument" wahr. Damit wird "Klausuraufgabe" ausgegeben//
Wie kommt man auf die 3 Ausgaben? Sind das die Werte von den jeweiligen Durchläufen, die einen wahren Wert zurückgeben, so dass die If-Bedingung ausgeführt wird ?
Ja genau, das sind die Divisionsreste (Zähler) vom modulo-Test. Die zwei Zeilenumbrüche kommen vom negierten falschen Wert (=wahr) der if-Bedingung.
Zu dieser Frage wurde keine Stelle markiert
Hallo! Hast du hierzu auch die Aufgabenstellung ? Finde diese nicht..
Diese Altklausur ist im ILIAS-Downloadbereich bei Prof. Hanrath zu finden. Das ist der Professor für Datenverarbeitung im Fachbereich 8. Professor Bullerschen arbeitet mit dem zusammen.
Hat zufällig jemand die Lösungen für die Aufgaben welche im Praktikum bearbeitet wurden?
Warum wird nach dem 5ten Durchlauf k auf 3 verringert und i trotzdem noch erhöht, wobei die Bedingung nichtmehr zutrifft? Gibt es eine bestimme Rangfolge/Reihenfolge in der man die Schritte der for-Schleife abarbeiten muss?
Nach Beendigung des 5. Schleifendurchlaufs wir die Zählvariable i erhöht. Also vor einem EVENTUELLEN weiteren Durchlauf. Ob dann jedoch überhaupt noch ein weiterer Durchlauf stattfindet wird JETZT ERST durch die Bedingungsprüfung entschieden. Bei dieser Prüfung benutzt das Programm die Variable k und weil diese genutzt wurde wird sie aufgrund der Angabe "k--" um 1 verringert. Als Reihenfolge kannst du dir also merken, dass nach JEDEM Schleifendurchlauf nacheinander folgendes stattfindet: 1.) "Anweisung 2" wird ausgeführt (hier Erhöhung von i) 2.) Bedingungsprüfung
Im letzten Tutorium (12. Tutorium) am 07.02.18 wird die Aufgabe 4 der 29. Klausur besprochen.
Info zum DV-Tutorium: Morgen (17.01.18) werden folgende Aufgaben behandelt: - 17. Klausur Aufgabe 5 - 16. Klausur Aufgabe 5
Heute (10.01.18) wird folgende Aufgabe im Tutorium behandelt: - Klausur vom 25.09.2017 - Aufgabe 4
Wann und wo ist der nächste Termin (gestern fiel aus, oder)?
Das nächste Tutorium findet heute um 17.10 Uhr im Raum Hoh O1103 statt.