Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Suche » Suchergebnis » Hallo Gast [Anmelden|Registrieren]
Zeige Beiträge 1 bis 15 von 581 Treffern Seiten (39): [1] 2 3 nächste » ... letzte »
Autor Beitrag
Thema: grep Komando
as_string

Antworten: 3
Hits: 838
15.09.2020 17:49 Forum: formale Sprachen


Hast Du das auch schonmal ausprobiert? Dann hättest Du gemerkt, dass das nicht funktioniert...
Dein Muster trifft immer, wenn irgendwo ein a vorkommt, das irgendwann in derselben Zeile von einem b gefolgt wird. Bei der Frage muss es aber jeweils am Wortanfang/-ende sein.
Ich hab mal testweise eine Textdatei mit diesem Inhalt erstellt:
code:
1:
2:
3:
4:
xyz azb aabb
ghsd fdoin vaeuobrnre
ahh hhh hhb


Da findet er dann:
code:
1:
2:
3:
4:
azb aabb
aeuob
ahh hhh hhb


Nächster Versuch wäre, Wort-Grenzen zu erzwingen durch:
code:
1:
grep -o '\<a.*b\>' test.txt

Ergebnis ist:
code:
1:
2:
3:
azb aabb
ahh hhh hhb

Jetzt steht a und b an Anfang und Ende eines Wortes, aber ich will auch erzwingen, dass es ein Wort ist, dazwischen also nicht irgendein Zeichen (z. B. auch ein Leerzeichen), sondern eben ein Wort-Zeichen mit \w:
code:
1:
grep -o '\<a\w*b\>' test.txt


Das ergibt dann:
code:
1:
2:
3:
azb
aabb

als Ergebnis.

Gruß
Marco
Thema: Informatiker werden nicht gebraucht.
as_string

Antworten: 2
Hits: 1.056
07.09.2020 13:46 Forum: Praktische Informatik


Naja, ob man das überhaupt so glauben kann... Im Internet schreiben viele Leute auch ziemlich viel Blödsinn bis der Tag lang wird.
Also Jobs findet man an jeder Ecke, wenn man sich mit wenig Geld (erstmal) zufrieden gibt. Notfalls kann man auch im Web irgendwelche Projekte finden, bei denen man sich wenigstens freiberuflich einbringen kann. Dabei muss man sicherlich acht geben, ob das wirklich seriös ist, das ist dann wieder die andere Seite, aber als Informatiker mit Hochschulabschluss in den frühen 30igern, da muss schon einiges anderes falsch laufen, wenn man da nicht einen Job findet mit 30.000 Jahresbrutto....

Gruß
Marco
Thema: iterative Programmversion eines Java Quellcodes
as_string

Antworten: 1
Hits: 374
17.08.2020 17:42 Forum: Informatik in der Schule


Ich denke, es geht um rekursive Programmierung. Was "iterarive Programmversionen" sein sollen, weiß ich auch nicht.

In Deinem Programm-Beispiel wird ja die Methode "beginne()" von sich selbst aufgerufen. Also in beginne ist ein Aufruf von beginne selbst drin, nur mit anderen Parametern (von y wird ein abgezogen). Einen solchen Aufruf nennt man rekursiv. Den ganzen Ablauf, dass das quasi so ineinander geschachtelt ist, nennt man eine Rekursion.
Irgendwann muss die Rekursion aber abbrechen, sonst würde sie ja immer tiefer gehen, unendlich lange. Das ist hier die Fall, sobald die Bedingung 1<y nicht mehr erfüllt ist. Wenn also y kleiner oder gleich 1 ist, ruft er nicht mehr sich selbst auf, sondern gibt einen konkreten Wert direkt zurück (hier einfach den Wert von x).

Um zu verstehen, wie eine solche Rekursion funktioniert, kannst Du einfach mal überlegen, mit welchen Zahlenwerten die Methode jeweils aufgerufen wird:
Beim ersten Aufruf ist ja x = 3 und y = 7. Dann kommt die if-Bedingung, die wahr ist, weil da ja steht if(1<7)... Also ruft er die Methode wieder auf, dieses Mal aber mit y=6. Dann kommt er bei diesem rekursiven Aufruf wieder auf das if, jetzt aber mit einem Wert von y=6. Immernoch ist die Bedingung erfüllt, er ruft also schon wieder die Methode beginne auf, dieses Mal aber mit den Parameter x=3 und y=5.
Das geht so lange, bis die Funktion mit y=1 aufgerufen wird. Dann ist das if nicht mehr erfüllt, er gibt also direkt x mit "return x" zurück. Das ist der Rückgabe Wert für den Aufruf eine Stufe oben drüber, wo also die Funktion mit x=3 und y=2 aufgerufen wurde. Also rechnet er 3 mal den Rückgabewert von (3, 1), der ja 3 ist, also rechnet er für beginne(3, 2) = 3*3 = 9. Und siehe da: Das ist ja gerade der Wert von 3^2. Dieser Wert (also die 9) wird jetzt an den Aufruf mit beginne (3, 3) zurück gegeben und siehe da: 3* 9 = 27, das ist gerade 3^3, usw.

Du kannst Dir das also so vorstellen: Jemand frag Dich, wieviel ist 3^7. Dann sagst Du: Ja das ist einfach drei mal 3^6. Dann sagt der wieder: Ja toll, aber was ist 3^6. Dann sagst Du: Das ist natürlich 3 mal 3^5, sagt der wieder: suuuper, aber was ist 3^5, sagst Du: "Hallo? natürlich 3 mal 3^4, ist doch logisch!", sagt er (schon leicht genervt), aber was ist denn 3^4... Das geht so lang, bis er sagt: Was ist denn 3^1 und Du sagst: Das ist einfach, das ist nämlich genau 3.
Dann setzt er sich hin und muss alles zurück gehen: 3^1 ist 3, 3^2 war 3 mal 3^1, also 3*3=9, 3^3 war 3*3^2, also 3*9 ist gleich 27. 3^4 war 3 mal 3^3 also 3 mal 27, das ist 81, 3^5 ist 3*3^4, also 3*81, das ist 243, usw.

Das mit den Rekursionen kommt aus der Mathematik. Da gibt es auch rekursive Funktions-Definitionen. Z. B. kann man Fakultät so definieren, oder eben hier auch die ganzzahligen Potenzzahlen.

Gruß
Marco
Thema: Nur eine Seite erlauben - Proxy Squid
as_string

Antworten: 1
Hits: 273
17.08.2020 17:22 Forum: übergreifende Themen


Ich denke, mit ACLs und http_access sollte man das doch hin bekommen, wenn man als letztes
http_access deny all
schreibt und davor die erlaubten. In etwa wie die Beispiele hier:
https://workaround.org/squid-acls/

Gruß
Marco
Thema: Entwurfsmuster
as_string

Antworten: 2
Hits: 1.448
RE: Entwurfsmuster 20.07.2020 09:30 Forum: Datenbanken


Ich kann mir nicht vorstellen, dass Z.O. nach über 3 Jahren nachdem er diesen einzigen Post hier geschrieben hatte, immer noch regelmäßig das Forum anschaut...

Was ist der Grund für Deine Frage? Hast Du eine ähnliche Aufgabe?

Gruß
Marco
Thema: Linux über telnet Datei abfragen
as_string

Antworten: 1
Hits: 396
06.07.2020 13:55 Forum: Informatik in der Schule


Du musst noch ein paar Header angeben.
Einer muss auf jeden Fall dabei sein: "Server: ..." wobei ... der Domain-Name sein muss, der sonst in der Anfrage direkt nach dem :// steht (also "www.test.de" z. B.)
Um den Browser anzugeben, musst Du noch ein User-Agent: Header Feld schicken.

Die Header schickst Du, indem Du nach dem GET und der Protokoll-Version einmal "Return" drückst (also einen Zeilenumbruch) und dann direkt
Server: www.....de
User-Agent: trallala/1.0

eingibst. Wenn Du alle Header hast (also diese beiden hier wahrscheinlich), dann musst Du zweimal Return drücken, quasi also für eine Leerzeile. Das ist das Zeichen für den Server, dass der Header fertig ist und bei einem GET ja auch kein Body erwartet wird, so dass er sofort loslegen kann.

Gruß
Marco
Thema: Durchschnittliche Zugriffszeit
as_string

Antworten: 5
Hits: 501
29.06.2020 10:41 Forum: Berechenbarkeits- und Komplexitätstheorie


Das muss sich natürlich bei den Folgenden Schritten so fortsetzen.
Mal ein Beispiel: Wie hoch ist die Häufigkeit (bzw. der auf 1 normierte Anteil der Häufigkeit), dass auf die Festplatte zugegriffen werden muss?
Das Bedeutet ja, dass es weder im L1 noch im L2 Cache gefunden wurde und auch nicht im Hauptspeicher. Also musst Du ja dafür alle Miss-Raten zusammen multiplizieren:
0,08*0,05*0,01
Wie hoch ist die Häufigkeit dafür, dass es im Hauptspeicher gefunden wird? Da musst Du die Missrate von den vorhergehenden Stufen zusammen multiplizieren und das Produkt dann noch mit der Hitrate der betrachteten Stufe (die war bei der Festplatte 100%, deshalb fällt die oben weg als Faktor)
Also hab ich für den Hauptspeicher:
0,08*0,05*0,99
Dann weiter mit dem L2 Cache: Die vorhergehende Stufe ist nur noch der L1 Cache, für den brauche ich die Miss-Rate und für den L2-Cache die Hit-Rate:
0,08*0,95
Für den L1 Cache gibt es keine vorgelagerten Stufen (was so eigentlich nicht stimmt, normalerweise betrachtet man das Prozessor-Register noch als vorgelagerte Stufe, aber nicht in der Aufgabe), also ist nur noch die Hitrate für diesen ausschlaggebend, also:
0,92

Diese Faktoren musst Du mit den entsprechenden Zeiten multiplizieren und die Summe liefert Dir dann den gesuchten Durchschnitt.

Das mit der Klammer kannst Du auch machen. Wie Du siehst, haben die ersten drei Faktoren jeweils die 0,08 drin (also die Missrate vom L1 Cache), die kannst Du natürlich ausklammern, genau so für die ersten beiden die 0,05 (da hast Du bei Deiner Rechnung eine Klammer wieder vergessen). Aber ich finde es wie oben erstmal leichter zu verstehen.

Gruß
Marco
Thema: File Transfer GDPR
as_string

Antworten: 1
Hits: 563
27.06.2020 14:12 Forum: Praktische Informatik


Das klingt mir eher nach einem Werbungs-Versuch als nach einer ernst gemeinten Frage. Lass das bitte!

Gruß
Marco
Thema: Datenübertragungsrate
as_string

Antworten: 1
Hits: 414
27.06.2020 14:11 Forum: Praktische Informatik


Das ist ja genau das, was Du bedenken sollst. Jeder muss 10 solcher Streams empfangen und einen selbst senden.
Also bekommst Du einen anderen Wert für den Downstream als für den Upstream.

Gruß
Marco
Thema: Auswahl zum Erlernen einer neuen Programmiersprache
as_string

Antworten: 2
Hits: 724
13.06.2020 23:08 Forum: übergreifende Themen


Kommt auch immer drauf an, für was man es verwenden will. Gibt es einen konkreten Anwendungsfall?

Gruß
Marco
Thema: JavaScript User, Passwort Abfrage
as_string

Antworten: 4
Hits: 2.135
30.05.2020 13:42 Forum: Informatik in der Schule


Jeder, der sich den Quelltext ansieht, kann dann ja einfach das Passwort lesen, oder? Ob das dann wirklich ein Schutz sein kann?

Gruß
Marco
Thema: Aufgabe für Schleifen in C
as_string

Antworten: 8
Hits: 878
28.05.2020 19:31 Forum: Praktische Informatik


Ich hab mal hier meinen Vorschlag (mit Array und Schleife...)
php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
#include <stdio.h>
#include <limits.h>

int main() {
      double schnitt 0;
      int max INT_MINmin INT_MAXsumme 00;
      int zahlen[10];
      printf("Bitte geben Sie eine ganze Zahl ein\n");
      for(010i++) {
            printf("Die %d. Zahl:  "i+1);
            scanf("%d", &zahlen[i]);
            summe summe zahlen[i];
            if (zahlen[i] > max) {
                max zahlen[i];
            }
            if (zahlen[i] < min) {
                min zahlen[i];
            }
      }

      for (010i++) {
          printf("Die %d. Zahl ist: %d"i+1zahlen[i]);
          if (zahlen[i] == min)
            printf(" <--- Minimum");
          if (zahlen[i] == max)
            printf(" <--- Maximum");
          printf("\n");
      }
      schnitt = (summe*1.) /10.;
      printf("Die Summe der Zahlen ist %d\n"summe);
      printf("Der Durchschnitt lautet %.1f\n"schnitt);
      printf("Das Minimum ist %d und das Maximum %d\n"minmax);
      return 0;
}


Gruß
Marco
Thema: Aufgabe für Schleifen in C
as_string

Antworten: 8
Hits: 878
28.05.2020 14:01 Forum: Praktische Informatik


Bist Du sicher, dass das irgendeinen Sinn macht? Dann brauchst Du auch erst gar keine Schleife machen, sondern kannst gleich das printf/scanf schreiben mit zahl1, dann mit zahl2, etc. Dann sparst Du wenigstens diese riesigen if-else if-else if-else if-else if-etc. Blöcke.

Ich hatte gestern das mal selbst (mit Array) programmiert. Allerdings komme ich leider gerade nicht dran, ist auf dem anderen Rechner. Da habe ich mir bei der Eingabe nicht nur die Maximum und Minimum-Werte gemerkt, sondern auch gleich noch den Index, wo ich den gefunden habe. Dann habe ich bei der Ausgabe kein Newline (also "\n") angehängt erstmal, sondern erst mit if geschaut, ob es Maximum und/oder Minimum ist (es könnte beides sein, wenn alle Eingabewerte gleich sind). Dementsprechend hab ich dann die Ausgabe für Min/Max gemacht, die dann ja in derselben Zeile erscheint. Danach erst habe ich nur ein printf("\n"); gemacht.
Die Frage ist jedoch, ob das mit dem Index-merken überhaupt nötig ist. Wenn Du das Minimum/Maximum kennst, kannst Du ja auch direkt die Zahl damit vergleichen. Angenommen jemand gibt nur Einsen ein, dann wären ja alle Eingabewerte sowohl Minimum als auch Maximum. Bei mir würde nur der erste Wert als Min/Max benannt werden, weil ich mir nur einen Index merke.

Gruß
Marco
Thema: Aufgabe für Schleifen in C
as_string

Antworten: 8
Hits: 878
27.05.2020 23:32 Forum: Praktische Informatik


Arrays sind doch keine "Anweisungen". Du darfst ja auch Variablen verwenden. Wieso dann keine Arrays?
Wenn Du keine Arrays hast, kannst Du das nicht wieder ausgeben. Du schreibst ja schon richtig, dass Du die Werte irgendwo speichern müsstest.

Gruß
Marco
Thema: Aufgabe für Schleifen in C
as_string

Antworten: 8
Hits: 878
27.05.2020 22:07 Forum: Praktische Informatik


Du kannst ein Array verwenden und darin die Zahlen zwischenspeichern.
Um das Minimum und Maximum zu bestimmen, initialisiere bei Eingabe der ersten Zahl beide Variablen mit der ersten Zahl. Danach aktualisiere das Minimum nur, wenn eine kleinere Zahl als das bisherige Minimum kommt, das Maximum nur, wenn eine größere Zahl kommt.
Alternativ kannst Du auch vor der Schleife das Maximum auf den kleinstmöglichen Wert für eine Integer-Zahl setzen (da gibt es normalerweise ein Macro INT_MIN dafür) und das Minimum auf den größtmöglichen Wert (INT_MAX). Dafür brauchst Du aber die Header-Datei limits.h

Kannst Du das mal probieren?

Noch ein paar Anmerkungen: Es ist zwar nicht falsch, aber in c lässt man Schleifen-Indizes häufig von 0 los laufen. Das liegt daran, dass die Array-Indizes auch bei 0 anfangen.
Außerdem kann man i = i + 1 in C mit i++ abkürzen, was auch häufig verwendet wird.
Man würde also eher
php:
1:
2:
3:
4:
for (010i++) {
    printf("Die %d. Zahl:  "i+1);
    ...;
}

schreiben. Da i jetzt von 0 bis 9 läuft, brauchst Du für die Anzeige dieses "+1". Aber wenn Du ein Array verwenden musst, dann wird das wieder einfacher.

Gruß
Marco
Zeige Beiträge 1 bis 15 von 581 Treffern Seiten (39): [1] 2 3 nächste » ... letzte »