Archive for Dezember, 2008
Netbook & Praktikas

Seit letzter Woche Freitag bin ich stolzer Besitzer des Samsung NC 10 Netbooks. Es ist perfekt geschaffen fürs Studium, eben kurz ins Internet, Notizen, sowie die Programmieraufgaben des AP-Praktikums lassen sich damit bewältigen. Fantastisch ist die Akkulaufzeit, mit aktiviertem WLAN und dem entsprechenden Energieschema, sind unter Windows XP SP3 knappe 8 Stunden drinnen. Zu dem ist die Tastatur auch für Menschen mit großen Händen perfekt geeignet zum Schreiben.

Heute habe ich wieder einmal das nun schon siebte AP-Praktikum erfolgreich absolviert und morgen früh steht das dritte Mathepraktikum an. Über die Weihnachtstage wird es vielleicht noch ein paar Blogeinträge zu unterschiedlichen Themen geben, ansonsten folgen neue Einträge im neuen Jahr über das QQ1-Seminar “Management und Arbeitsmethodik”.

Rückblick…

Für dieses Jahr steht noch 1 Woche aus, bevor es in 2 Wochen vorlesungsfreie Zeit geht. Auf dem Plan stehen dabei noch das 7. Praktikum in Algorithmen und Programmieren sowie das 3. Praktikum in Mathematik. Bevor es im neuen Jahr mit dem Querschnittsqualifikationskurs “Mangament und Arbeitsmethodik” wieder los geht.

Ein kleiner Rückblick soll an dieser Stelle über die letzten 2 1/2 Monate folgen.

Beginnend damit das der erste Monat noch relativ human war, wurde das Tempo, mit denen die Themen abgehandelt wurden, stark angezogen. In dem Fach AP wurde in den 2 1/2 Monaten, die eigentlich einen relativ kurzen Zeitraum wiederspiegeln, Grundlagen und fortgeschrittene Programmiertechniken in C vermittelt sowie parallel dazu der entsprechende Gegenpart in Java. Wobei die nächsten Vorlesungen Java und im Allgemeinen den objektorientierten Programmieransatz weiter vertiefen werden.
Waren zu Anfang die Praktikaaufgaben noch kleine Programme, so sind diese im Laufe der Zeit zu komplexeren Gebilden geworden in denen mit Arrays, Funktionen, Pointern, inkludierten Dateien usw. gearbeitet wird. Zwischendurch wurde auch noch eine Probeklausur geschrieben, um sehen zu können wie man im Gesamten mit dem bisher vermittelten Stoff umgehen kann und wie weit das Verständnis dafür ausgereift ist.

In dem Fach EBR wurde bisher die Rechnerarchitektur behandelt, insbesondere der Prozessor, der Speicher sowie die Festplatte und die Abarbeitung von Programmcodes im Rechner. Ausstehend zu diesem Themenbereich sind noch die verschiedenen Bussysteme eines Rechners. Sich daran anschließend beginnt im neuen Jahr der Themenbereich “Betriebssysteme”.
Teilweise haben sich die Vorlesungsinhalte von den Fächern EBR und TI überschnitten wie z.B. Rechnen mit dem Dualsystem. Hier ging es insbesondere um die Vermittlung der nötigen Grundlagen für die Fächer. In TI sind zu dem Dualsystem hinzukommend bisher die Themengebiete Zahlentheorie, Binäre Kodierung und Arithmetik (Floating-Point-Standard, IEEE-754, Praitätsprüfung, Fehlerkorrigierende Codes), Boolscher Formalismus (KV-Diagramm, Rechenwerk) und Reguläre Sprachen behandelt worden. Dabei ist das Themengebiet “Reguläre Sprachen” noch nicht abgeschlossen.

Zu den Mathematikvorlesungen und BWL-Vorlesungen gibt es nicht viel zu berichten.
In den Mathematikvorlesungen wurde bisher im Schnelldurchlauf der Oberstufenstoff an Gymnasien vermittelt, um die Studenten die von Berufsschulen, Gesamtschulen und Gymnasien kommen auf einen gleich Stand zu bringen. Dieser Themenkomplex wird auch noch bis zum Ende des ersten Semesters abgehandelt.
Die BWL-Vorlesungen behandelten zum größten Teil bisher die verschiedenen Unternehmensformen in Deutschland, sowie die Geldpolitik und Diskussionen zu aktuellen Themen wie die Finanzkrise. Eigentlich nichts Großartiges, was man sich auch selber mit dem “Wöhe” anlesen kann.

Im Gesamten betrachtet ist die Allgemeine Informatik sehr mathelastig ausgelegt und setzt ein Verständnis von komplexen Zusammenhängen voraus, um die Probleme abstrahiert betrachten zu können. Einige Kommilitonen überlegen sich daher zur Zeit nach dem 2. Semester in die Medien- oder Wirtschaftsinformatik zu wechseln.

Service Pack 2 Beta…

Nach dem ich heute Zeit gefunden habe, um das Service Pack 2 Beta auf einen meiner Windows Server 2008 zu installieren. War ich doch recht überrascht wie stabil diese Beta läuft, bisher sind keine nennenswerten Probleme auf dem Server aufgetreten. Dabei ist der Server für die Softwareverteilung zuständig und zusätzlich dazu als Backup WSUS im Einsatz. Die Installation des Service Pack 2 Beta ging auch noch recht schnell vonstatten, obwohl dem Server als virtuelle Maschine nur 1GB RAM zur Verfügung steht.

In den nächsten Tagen werde ich den Server genauer unter die Lupe nehmen und ausgiebig testen.

Windows Server 2008 SP 2 und Windows Vista SP2 Beta

Seit ein paar Tagen ist die Betaversion des Service Pack 2 für Windows Vista und Server 2008 online. Im Rahmen des CCP, steht der Download des Service Pack 2 Beta jedem zur Verfügung.

->http://technet.microsoft.com/de-de/windows/dd262148(en-us).aspx

 Die Änderungen die das Service Pack 2 mit sich bringen wird, sind unter folgendem Link zu finden:

->http://technet.microsoft.com/en-us/library/dd335036.aspx

Zu Testzwecken werde ich kommende Woche das Service Pack 2 Beta auf einen meiner virtuellen Server installieren und berichten wie stabil das Service Pack 2 Beta läuft.

5. AP-Praktikum und Mathepraktikum

Zu den folgenden drei Aufgaben, die morgen abgenommen werden, poste ich nun die fertigen Programmlösungen, ob diese immer auf das Optimale ausgelegt sind, lasse ich jetzt mal außen vor! Jedenfalls erfüllen sie die Aufgaben zu 100% und entsprechen den Vorgaben.

Die Aufgaben sind unter folgendem Link zu finden:
5. AP-Praktikum

Lösung Aufgabe 1:

#include <stdio.h>
#include <math.h>

int main() {

        double  i, j, k, l, m, afk, zins, zinssatz, edk, jahr;

        printf(“Geben Sie das Anfangskapital ein: \n”);
        scanf(“%lf”, &afk);
        printf(“Geben Sie den Zinssatz ein: \n”);
        scanf(“%lf”, &zins);
        printf(“Geben Sie das angestrebte Endkapital ein: \n”);
        scanf(“%lf”, &edk);

        zinssatz=(zins/100)+1;
        jahr=1;
        j=1;
        k=afk*zinssatz;
        zins=k-afk;

        for(i=1; i<=2; i++) printf(“\n”);
        printf(“Jahr”);
        for (i=1; i<=15; i++) printf(” “);
        printf(“Kapital am 01.01.”);
        for (i=1; i<=15; i++) printf(” “);
        printf(“Zinsen”);
        for (i=1; i<=15; i++) printf(” “);
        printf(“Kapital am 31.12.\n”);
        for(i=1; i<=2; i++)
        {
                for (m=1; m<=100; m++) printf(“-”);
                printf(“\n”);
        }

        for(l=afk; afk<edk;)
        {
                if(j==10)
                {
                        printf(“\n”); j=1;
                }

                if(jahr<10)
                {
                        for(i=1; i<=2; i++) printf(” “);
                        printf(“%.0lf”, jahr);
                }
                else if(jahr<100)
                        printf(” %.0lf”, jahr);
                else printf(“%.0lf”, jahr);

                for(i=1; i<=17; i++) printf(” “);
                printf(“%10.2lf”, afk);
                for(i=1; i<=17; i++) printf(” “);
                printf(“%10.2lf”, zins);
                for(i=1; i<=16; i++) printf(” “);
                printf(“%10.2lf”, k);
                printf(“\n”);

                afk=k;
                k=afk*zinssatz;
                zins=k-afk;

                j=j++;
                jahr=jahr++;
        }
return 0;
}

Lösung Aufgabe 2:

public class Kokosnuss {
   public static void main(String[] args)
   {
 
       int i, kokosnüsse, x, y, z;

        y=0;
        i=0;

        while (i <= 1000)
        {
                kokosnüsse=i;
                x=0;
                z=i;
                while(x!=3)
                        if(i%3==1)
                        {
                                i=((i-1)/3)*2; x=++x;
                        }
                        else x=3;
                if(i%3==1)
                        {
                                y=++y;
                                TextIO.putln(y+”. Möglichkeit, der Haufen enthält “+kokosnüsse+” Kokosnüsse.”);
                        }
                z=++z;
                i=z;
        }
   }
}

Lösung Aufgabe 3:

#include <stdio.h>
#include <math.h>

int main() {

        unsigned int x, y, z, zahl;

        printf(“Legen Sie den Zahlenbereich fest, in dem Sie die größte Ratezahl eingeben!\n”);
        scanf(“%u”, &x);

        zahl = zuf(x);
        while(zahl == 0)
                zahl = zuf(x);

        y=0;
        z=1;
        while(y!=zahl)
        {       system(“clear”);
                if(y==0)
                        printf(“”);
                else if (zahl>y)
                        printf(“Die gesuchte Zahl ist größer als %u!\n”, y);
                     else printf(“Die gesuchte Zahl ist kleiner als %u!\n”, y);
                printf(“Dies ist Ihr %u. Versuch!\n”, z);
                printf(“\n”);
                printf(“Geben Sie eine Zahl ein:\n”);
                scanf(“%u”, &y);
                if(y==zahl)
                {
                        printf(“Die gesuchte Zahl war %u!\n”, zahl);
                        return 0;
                }
                z=++z;
        }
}

Bei der Aufgabe 3 war ein C-Programm für die Zufallszahlenerzeugung vorgegeben, dieses musste beim kompilieren dann mit in den Programmcode eingebunden werden. Dies wird auf der Konsole über folgenden Aufruf realisiert gcc Raten.c zuf.c, dabei steht das C-Programm welches mit eingebunden werden soll als letztes in dem Aufruf. Eine Alternative hierzu wäre noch der Unix-Befehl make mit einer entsprechend vorher erstellten Make-Datei.

Am letzten Freitag hat das zweite Mathepraktikum statt gefunden, eine interessante Aufgabe bestand darin das Collatz-Problem mit Maple für unser eigenes Geburtsjahr abzubilden. Einer der möglichen Lösungsansätze für die Abbildung in Maple sieht folgendermaßen aus:

c1:= n -> 3*n+1;
c2:= n -> n/2;

i:=”Geburtsjahr”;
x:=0;
while i > 1 do
if (i mod 2) = 0
   then i := c2(i): x:=x+1: printf(“%d, “, i);
   else i := c1(i): x:=x+1: printf(“%d, “, i);
fi:
od;
printf(“\n\n%d. Durchläufe”, x);

Dabei werden erstmals die beiden Funktionen definiert, um diese einfacher im Hauptprogramm verwenden zu können. Im Hauptprogramm selber wird getestet, ob es sich um eine gerade oder ungerade Zahl handelt. Nach dieser Prüfung wird dann die entsprechende Funktion angewandt und der Zähler für die Durchläufe um 1 erhöht. Die berechneten Zahlen sowie die Durchläufe werden ausgegeben, um die Ergebnisse verfolgen zu können. Da das Collatz-Problem immer wieder zum Schluss auf die Zahlenfolge 4, 2, 1 hinausläuft, bricht die Schleife dem entsprechend bei der ersten 1 ab. Ansonsten würde das Programm endlos lange laufen. Allerdings betrachet dieses Programm das Collatz-Problem nur für alle natürlichen Zahlen.