Archive for Januar, 2009
CeBIT 2009

In etwas über einem Monat findet wieder die weltgrößte Messe für Informationstechnik in Hannover statt. Wie schon bereits im letzten Jahr ist die CeBIT wieder einen Tag kürzer als in den Jahren zuvor. Vom 03.03 bis zum 08.03 sind zahlreiche Aussteller auf der CeBIT vor Ort, um ihre neusten Technologien und Produkte zu präsentieren!

Ich werde selber vom 05.03 bis zum 08.03 dort sein und live in diesem Blog von der CeBIT berichten. Geplant ist es einige Einträge direkt vor Ort zu verfassen, der Rest wird dann meistens Abends zwischen 19:00 Uhr und 22:00 Uhr online gestellt!

Weitere Informationen sind unter www.cebit.de zu finden, wo zur Zeit auch eine Umfrage zur CeBIT 2009 statt findet. Als Preise werden unter allen Teilnehmern 15 Notebooks von Dell verlost!

IE 8 RC1 verfügbar

Seit heute ist der Release Candidate 1 des Internet Explorers 8 verfügbar. Demzufolge dürfte die RTM des IE 8 voraussichtlich im 2. Quartal diesen Jahres erscheinen.

Weitere Informationen dazu sind unter folgenden Links zu finden:
->http://blogs.technet.com/dmelanchthon/archive/2009/01/26/internet-explorer-8-release-candidate-1-live.aspx
->http://blogs.technet.com/dmelanchthon/archive/2009/01/26/internet-explorer-8-release-candidate-1-installation-walkthrough.aspx
->http://www.heise.de/newsticker/Erster-Release-Kandidat-des-Internet-Explorer-8-erschienen–/meldung/122388

9. AP Praktikum

Das 9. AP Praktikum ist nun auch fertig gestellt, die Abnahme der Aufgaben steht nächste Woche an! Hier die Lösungen dazu:

Aufgabe 1:

#include <stdio.h>
#include “stringFunctions.h”

int laenge_arrayschreibweise(char x[])
{
        int i=0;
        while(x[i++]);
        return (i-1);
}

int laenge_pointerschreibweise(char *x)
{
        char *tmp = x;
        while(*x++);
        return(x-tmp-1);
}

void copy_arrayschreibweise(char x[], char y[])
{
        int i=0;
        while(y[i++]=x[i]);
}

void copy_pointerschreibweise(char *x, char *y)
{
        while(*y++=*x++);
}

Aufgabe 2:

public class Schnapszahl {
   public static void main(String[] args)
   {

        int array[][] = new int[16][16];
        int i, j=0, x=0;

        for(i=0; i<16; i++)
        {
                while(j<16)
                {
                        array[i][j]=TextIO.getInt();
                        if(array[i][j]%11==0) x++;
                        TextIO.put(array[i][j], 6);
                        j++;
                }
                TextIO.putln(“”);
                j=0;
        }

        TextIO.putln(“—————————————————”);
        TextIO.putln(“Es sind “+x+” Schnapszahlen vorhanden!”);
        return;
   }
}

Aufgabe 3:

public class IntegerStack{

   private int top;
   private int[] stack;

   public IntegerStack(int laenge)
   {
        top=0;
        stack = new int[laenge];
   }

   public void push(int zahl)
   {
        if(top<stack.length) stack[top++]=zahl;
        else throw new IndexOutOfBoundsException(“Der Stack ist voll, es können keine weiteren Elemente hinzugefügt werden! Das Programm wird beendet!”);
   }

   public int pop()
   {
        return stack [--top];
   }

   public boolean is_empty()
   {
        return(top==0);
   }
}

public class StackMain{

   public static void main(String[] args)
   {
        TextIO.putln(“Geben Sie die Stackgröße an!”);

        int x = TextIO.getlnInt();
        IntegerStack myStack = new IntegerStack(x);

        int sum=0;

        TextIO.putln(“”);
        TextIO.putln(“Geben Sie nun Zahlen ein! Zum Beenden 0 eingeben!”);

        while((x=TextIO.getlnInt())!=0)
        {
                myStack.push(x);
        }

        TextIO.putln(“—————————————————————–”);
        TextIO.putln(“Ausgabe:”);
        TextIO.putln(“—————————————————————–”);

        while(!myStack.is_empty())
        {
                TextIO.putln(x=myStack.pop());
                sum+=x;
        }

        TextIO.putln(“Die Summe ist: ” +sum);

        return;
   }
}

8. AP Praktikum

Nachdem ich heute morgen das 8. AP Praktikum erfolgreich bestanden habe, hier nun die Lösungen zu den Aufgaben!

Aufgabe 2:

#include <stdio.h>
#include <math.h>
void ausgeben(double Arrayname[], int anzahl)
{
 int x=0;
 int i;
 for(i=0; i<anzahl-1; i++)
 {
  if(x<7)
  {
   printf(“%4.0lf  “, Arrayname[i]);
   x++;
  }
  else
  {
   printf(“\n”);
   printf(“%4.0lf  “, Arrayname[i]);
   x=1;
  }
 }
}

void signs(double Arrayname[], int anzahl, int pos, int null, int neg)
{
 pos=0;
 null=0;
 neg=0;
 int i;
 for(i=0; i<anzahl-1; i++)
 {
  if (Arrayname[i]>0)
   pos++;
  else if(Arrayname[i]==0)
   null++;
  else
   neg++;
 }
 printf(“\n”);
 printf(“\n”);
 printf(“Positive Zahlen: %i – Nullen: %i – Negative Zahlen: %i\n”, pos, null, neg);
}
 

int main() {

 double array[100];

 int l=0;
 int a,b,c;
 FILE *datei;

 datei=fopen(“werte.dat”, “r”);
 if(datei==NULL)
 {
  printf(“Fehler beim Öffnen!\n”);
  exit(1);
 }

 while(l!=100&&!feof(datei))
 {
  fscanf(datei, “%lf”, &array[l]);
  l++;
 }

 fclose(datei);

 if(l==100)
  printf(“Es können nur maximal 100 Zahlen eingelesen werden, diese werden nun verarbeitet!\n”);
 else
  printf(“Das Dateiende wurde erreicht, alle Zahlen wurden eingelesen, die Verarbeitung wird nun gestartet!”);
 printf(“\n”);
 printf(“\n”);
 
 ausgeben(array, l);
 signs(array, l, a, b, c);
 
return 0;
}

Aufgabe 3:

arrayFunctions.h:

int Einlesen(double Arrayname[]);

double Mittelwert(double Arrayname[], int anzahl);

double Big(double Arrayname[], int anzahl);

double Small(double Arrayname[], int anzahl);

double Small2(double Arrayname[], int anzahl);

void Ausgabe(double Arrayname[], int anzahl);

void Absolut(double Arrayname[], double Arrayname2[], int anzahl);

void Sort(double Arrayname[], int anzahl);

arrayFunctions.c:

#include “arrayFunctions.h”
#include <stdio.h>
#include <math.h>

int Einlesen(double Arrayname[])
{
 int x=0;
 int y=20;
 int z=0;
 int i;
 for(i=0; i<20; i++)
 {
  z=y-x;
  printf(“Verbleibende Eingaben: %i\n”, z);
  printf(“Abbruch mit Ctrl+D\n”);
  printf(“Geben Sie eine Zahl ein!\n”);
  if(scanf(“%lf”, &Arrayname[i])==EOF)
   break;
  x++;
 }
return x;
}

double Mittelwert(double Arrayname[], int anzahl)
{
 double t=0;
 int i;
 for(i=0; i<anzahl; i++)
 {
  t=t+Arrayname[i];
 }
 t=t/anzahl;
return t;
}

double Big(double Arrayname[], int anzahl)
{
 double t=0;
 int i;
 if(Arrayname[0]<Arrayname[1])
  t=Arrayname[1];
 else
  t=Arrayname[0];
 for(i=2;i<anzahl; i++)
 {
  if(t<Arrayname[i])
   t=Arrayname[i];
 }
return t;
}

double Small(double Arrayname[], int anzahl)
{
 double t=0;
 int i;
 if (Arrayname[0]>Arrayname[1])
  t=Arrayname[1];
 else
  t=Arrayname[0];
 for(i=2;i<anzahl; i++)
 {
  if(t>Arrayname[i])
   t=Arrayname[i];
 }
return t;
}  

double Small2(double Arrayname[], int anzahl)
{
 double t;
 double s=0;
 double r=0;
 int i;

 t=Small(Arrayname, anzahl);

 if (Arrayname[0]>Arrayname[1])
  if(t!=Arrayname[0])
   s=Arrayname[0];
  else
   s=Arrayname[1];
 else
  if(t!=Arrayname[1])
   s=Arrayname[1];
  else
   s=Arrayname[0];
 for(i=2; i<anzahl; i++)
 {
  if(s>Arrayname[i])
   if(t!=Arrayname[i])
    s=Arrayname[i];
 }
  
return s;
}

void Ausgabe(double Arrayname[], int anzahl)
{
 int x=0;
 int i;
 for(i=0; i<anzahl; i++)
 {
  if(x<5)
  {
   printf(“%4.0lf  “, Arrayname[i]);
   x++;
  }
  else
  {
   printf(“\n”);
   printf(“%4.0lf  “, Arrayname[i]);
   x=1;
  }
 }
}

void Absolut(double Arrayname[], double Arrayname2[], int anzahl)
{
 int i;
 for(i=0; i<anzahl; i++)
 {
  Arrayname2[i]=fabs(Arrayname[anzahl-i-1]);
 }
 Ausgabe(Arrayname2, anzahl);
}

void Sort(double Arrayname[], int anzahl)
{
 double z;
 int i,j;
 for(i=0; i<anzahl; i++)
 {
  for(j=0; j<anzahl-1; j++)
  {
   if(Arrayname[j]>Arrayname[j+1])
   {
    z=Arrayname[j+1];
    Arrayname[j+1]=Arrayname[j];
    Arrayname[j]=z;
   }
  }
 }
 Ausgabe(Arrayname, anzahl);
}

arrayMain.c:

#include <stdio.h>
#include <math.h>
#include “arrayFunctions.h”

int main() {

 double array[20];
 double array2[20];

 int a;
 double b,c,d,e;
 
 a=Einlesen(array);
 
 system(“clear”);
 b=Mittelwert(array,a);
 printf(“\n”);
 printf(“Der Mittelwert beträgt: %6.2lf\n”, b);

 c=Big(array,a);
 printf(“\n”);
 printf(“Die größte Zahl ist: %.0lf\n”, c);

 d=Small(array,a);
 printf(“\n”);
 printf(“Die kleinste Zahl ist: %.0lf\n”, d);

 e=Small2(array,a);
 printf(“\n”);
 printf(“Die zweit kleinste Zahl ist: %.0lf\n”, e);

 printf(“——————-\n”);
 Ausgabe(array,a);
 printf(“\n”);

 printf(“——————-\n”);
 Absolut(array,array2,a);
 printf(“\n”);

 printf(“——————-\n”);
 Sort(array,a);
return 0;
}

Makefile:

array.out: arrayFunctions.o arrayMain.o
 gcc -o array.out arrayFunctions.o arrayMain.o
arrayFunctions.o: arrayFunctions.h arrayFunctions.c
 gcc -c arrayFunctions.c
arrayMain.o: arrayFunctions.h arrayMain.c
 gcc -c arrayMain.c

In den nächsten Tagen folgt noch ein Eintrag zu dem QQ-1 Seminar von letzter Woche!

Weitere Informationen zur Windows 7 Beta

Der Download ist bis zum 24. Januar nun uneingeschränkt möglich! http://windowsteamblog.com/blogs/windows7/archive/2009/01/10/here-s-where-we-stand.aspx

Erstes Update für Windows 7 damit keine MP3-Dateien zerstört werden: http://www.microsoft.com/downloads/details.aspx?FamilyID=a754008b-d574-4e39-b4ba-67b859a242b7&DisplayLang=en

RSAT für Windows 7: http://www.microsoft.com/downloads/details.aspx?FamilyID=82516c35-c7dc-4652-b2ea-2df99ea83dbb&DisplayLang=en

Sollte es Schwierigkeiten bei der Installation des RSAT geben, gibt es hier einen kleinen Workaround: http://www.mcseboard.de/windows-vista-forum-55/windows-7-offentliche-beta-erscheint-noch-woche-10-145711.html#post897119

Windows 7 Beta erhältlich

Seit Tagen kursieren die Gerüchte, dass die Beta von Windows 7 am 9. Januar erhältlich sein soll. Seit gestern Abend ist es nun offiziell! Seit heute gibt es die Beta-Version für MSDN und TechNet Abonennten und ab morgen startet dann das CPP für Windows 7!

http://windowsteamblog.com/blogs/windows7/archive/2009/01/07/the-windows-7-beta-kicks-off-this-week.aspx

Update:

Die Beta wird für das CPP auf 2,5 Millionen Downloads begrenzt sein!

http://windowsteamblog.com/blogs/windows7/archive/2009/01/07/information-on-downloading-and-installing-windows-7-beta.aspx

Virtuelle Maschinen Reloaded

Heute morgen habe ich einen sehr interessanten Blogeintrag zum Thema “Virtuelle Maschinen in Hyper-V” gefunden. Der Eintrag behandelt das manuelle Hinzufügen von virtuellen Maschinen die nicht ordnungsgemäß exportiert wurden. Dabei wird das Thema genauer behandelt wie in meinem Beitrag zu dieser Thematik!

http://blogs.msdn.com/robertvi/archive/2008/12/19/howto-manually-add-a-vm-configuration-to-hyper-v.aspx