Beiträge von mrzoom

    Hi Ihr!
    Natürlich, ist das kein HA Service, aber ich muss bloß die Aufgaben bis heute um 3 Uhr morgens abgeschickt haben. Benötige unbedingt die Punkte.
    Also, meine Ansätze sind folgende:
    1a) (0+1)*2 oder wie beschreibt man den reg. ausdruck?
    b)k.a.
    c)k.a.
    2) Ich denke, dass ich hier in dieser Zeile was ändern muss an Werten. Oder muss man einen neuen Algorithmus anwenden?

    System.out.println(pascal[0]); /* 1. Zeile */

    3)
    a) k.a.
    b) die Effizienz könnte man erhöhen wenn man erst bei der hälfte der Zahlen anfangen würde, oder?

    4)Sorry, habe vor 3 Wochen Angefangen mit Java und durch den Stress kann ich in Informatik nicht ganz nach ziehen. Bücher vermitteln auch nicht wirklich den Stoff zum Lösen von diesen Aufgaben.

    Wie gesagt, es wär schön wenn ich wenigsten irgendetwas zu den Aufgaben gesagt bekommen könnte.
    Grüße alle die sich mit programmieren beschäftigen.
    MrZoom

    Hallo zusammen!
    Ich bin neu hier und habe gehört, dass man hier im Forum auf Fragen gute und schnelle Antworten bekommt. Es wäre wirklich super wenn ihr mir helfen könntet.
    Habe 4 Aufgaben die mir Probleme bereiten:

    1.
    Geben Sie jeweils einen Regulären Ausdruck an für:
    a.) binäre Zahlen die vielfaches von zwei sind
    b.) alle Strings über dem Alphabet {a,b}, die (mindestens) ein paar aufeinanderfolgender a’s
    c.) alle Strings über dem Alphabet {a,b}, die kein paar aufeinanderfolgender a’s enthalten

    2.
    Schreiben Sie das Java-Programm ’Pascal.java’ so um, dass das
    Pascal’ sche Dreieck symmetrisch ausgegeben wird.
    Hinweis: Für Werte ab 5 muss das Dreieck nicht mehr ganz symmetrisch sein.


    public class Pascal {
    public static void main(String[] args) {
    int max;
    if (args.length<1) {
    System.out.println("Bitte Zahl auf Kommandozeile eingeben");
    return;
    }
    max=Integer.parseInt(args[0]);

    int pascal[] = new int[max+1];

    pascal[0] = 1;
    for (int i=1; i<max; i++)
    pascal[i]=0;

    System.out.println(pascal[0]); /* 1. Zeile */

    for(int i=1; i<=max; i++)
    {

    for (int j=i; j>0; j--)
    {
    pascal[j] = pascal[j]+pascal[j-1];
    System.out.print(pascal[j]+" ");
    }
    System.out.println(pascal[0]);

    }
    System.out.println("Done");

    }

    }

    3.
    Beschreiben Sie einen Algorithmus, der prüft, ob eine gegebene Zahl eine Primzahl ist. Nutzen
    Sie dabei die Eigenschaft, dass eine Primzahl nur durch eins und sich selbst teilbar ist.
    a.) Im ersten Lösungsansatz ist zu untersuchen, ob die Zahl durch einen ihrer Vorgänger teilbar
    ist. Geben Sie Ihren Algorithmus in Pseudocode an.
    b.) Überlegen Sie sich wie die Lösung aus a.) hinsichtlich Effizienz verbessert werden kann.


    import java.io.BufferedReader;
    import java.io.InputStreamReader;

    public class Eingabehilfe {

    public static void main(String[] args) {
    int zahl;

    zahl = wertEinlesen();
    System.out.println("Zahl: "+ zahl);

    // <-- Hier Code eingeben (evtl. oben noch neue Variablen einf"ugen)

    }

    public static int wertEinlesen(){
    System.out.print("Zahl einlesen: ");
    return readInt();
    }

    /* Funktion liest einen Int-Wert von der Standardeingabe ein.*/

    public static int readInt(){
    int value=0;

    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    try{
    value = Integer.parseInt(br.readLine());
    }catch (Exception ex){}

    return value;
    }

    }

    4
    a.) Schreiben Sie ein Java-Programm, das testet ob eine eingegebene Zahl eine Primzahl ist und
    eine entsprechende Meldung ausgibt. Ist die Zahl keine Primzahl, dann soll auch noch ein
    Teiler ausgegeben werden.
    b.) Schreiben Sie ein Java-Programm, das alle Primzahlen bis 1000 bestimmt und ausgibt.


    I know, i know.... Das sieht natürlich nach sehr viel aus, ist es aber nicht und wenn mir wenigstens einer zu irgendeiner Aufgabe was sagen könnte, wäre ich schon echt dankbar!!!!!