Übungen / Aufgaben zu PHP

0 Lösungen
Ableitungen berechnen
Profi - PHP von eulerscheZhl - 10.03.2016 um 10:54 Uhr
Schreibe ein Programm, das Funktionen differenzieren kann.
Dabei gibt der Nutzer die Funktion ein und lässt sich die Ableitung berechnen.

Beispiel:

Konsolenausgabe:

Ableitungen berechnen
f(x) = x^3
f'(x) = x^2*3

f(x) = x*sin(3*x^2)+4
f'(x) = sin(x^2*3)+x*cos(x^2*3)*x*3*2

f(x) = sin(x)/x
f'(x) = (x*cos(x)-sin(x))/x^2

Eine Termvereinfachung wäre ein schönes Extra, aber vor allem geht es um Korrektheit.
0 Lösungen
Substitutionschiffren knacken
Fortgeschrittener - PHP von eulerscheZhl - 09.03.2016 um 21:41 Uhr
Bei einer Substitutionschiffre werden Buchstaben durch andere Buchstaben ersetzt.
Dadurch bleiben die Häufigkeitsverteilungen der Buchstaben allerdings erhalten, weshalb etwa ein 'e' leicht erkannt werden kann.

Für diese Aufgabe soll aber ein Wörterbuch (z.B. von der Uni Kiel, benötigt aber etwas Nachbearbeitung) verwendet werden, um die ursprüngliche Nachricht zu erhalten.
So ist es zwar schwer, eine komplett richtige Dekodierung zu erhalten (da nicht alle Wörter im Wörterbuch enthalten sind), aber man kann lesbare Ergebnisse erzielen.

Im Anhang befinden sich Texte aus zufälligen Artikeln der deutschsprachigen Wikipedia. Es ist jeweils mindestens die Hälfte der vorkommenden Wörter im verlinkten Wörterbuch enthalten.
1 Lösung Lösung noch nicht öffentlich
Ermitteln der IP-Klasse
Anfänger - PHP von Energy - 09.03.2016 um 14:48 Uhr
Schreibe ein Programm, was nach einer IP-Adresse fragt. Anschließend soll die IP-Klasse ermittelt und ausgegeben werden.
0 Lösungen
Digitale Kalorienüberwachung
Anfänger - PHP von Energy - 09.03.2016 um 14:25 Uhr
Erstelle ein Programm, das dich nach deinen gegessenen Nahrungsmitteln und deren Kalorien fragt. Diese Infos sollen in einem Dictionary (ggf. auch Liste oder Array) gespeichert werden. Nach jeder Nahrungsmitteleingabe soll gefragt werden, ob du noch weitere Nahrungsmittel gegessen hast.
Wurden keine weiteren Nahrungsmittel verzehrt, soll ausgerechnet werden, wie viele Kalorien du an diesem Tag aufgenommen hast.

Zusatz: Bei 60 Minuten schwimmen verbrennt man ungefähr 400 Karolinen. 30 Minuten spazieren verbrennt 50 Kalorien. Wie lange müsste man spazieren oder schwimmen, um die heute zugenommenen Kalorien wieder zu verbrennen? Berechne diese Werte und gebe sie mit den Verbrannten Kalorien aus.
0 Lösungen
Tante Emmas Tageseinnahmen
Anfänger - PHP von Energy - 09.03.2016 um 14:17 Uhr
Tante Emma ist die Geschäftsleiterin von 5 Tante-Emma-Läden. Sie möchte ermitteln, wie hoch der Umsatz der einzelnen Filialen vom letzten Tag war.
Schreibe ein Programm in dem abgefragt wird, wie viel Geld in den 5 Läden am Anfang des Tages vorhanden war und wie viel Geld sich am Ende des Tages in der Kasse befand. Außerdem möchte Tante Emma wissen, wie viel Umsatz jeder einzelne Laden gemacht hat und welche der 5 Läden den größten bzw. den geringsten Umsatz erzielt hat. Speichere alle Informationen in einem seperaten Array ab, sodass die Informationen nach der Eingabe der Kassenstände und Umsatzberechnungen für jeden Laden, in einem eigenen Array gespeichert wird. Gebe anschließend für jeden Laden die Informationen wieder aus uns bestimme den Laden mit dem größten bzw. kleinsten Umsatz.
1 Lösung Lösung noch nicht öffentlich
Zeitlich veränderte Grußformeln
Anfänger - PHP von Energy - 09.03.2016 um 14:00 Uhr
Erstellen Sie eine Anwendung, in der der Benutzer aufgefordert wird, seinen Vor- und Nachnamen einzugeben.
Die Anwendung soll den Namen mit einer Begrüßung ausgeben.
Berücksichtigen Sie, dass die Begrüßung zwischen 0 und 12 Uhr „Guten Morgen“, ab 12 bis 18 Uhr „Guten Tag“ und ab 18 bis 0 Uhr „Guten Abend“ lauten soll.
0 Lösungen
guided Probieren à la Mastermind
Fortgeschrittener - PHP von Veigar - 13.01.2016 um 17:42 Uhr
Liebe Leute,

Schreibt ein Programm das für eine 8-stellige Binärzahl durch ausprobieren herausbekommt.

Schreibt dafür zunächst eine Funktion die für eine Zahl die Anzahl der "korrekten Bits" (Also Bits die mit der zu findenden Zahl übereinstimmen) zurück gibt. (zum Beispiel bei zu findender Zahl:11111111; deinefunktion(00110011)=4) und entwickel dann ein Probier-System das zunächst eine "Anfangszahl" verwendet und dann den nächsten Versuch auf die Übereinstimmung der Zahl mit der zu findenden Zahl anpasst.

ps: Bitte keine Codes die simpel 256 (2**8) mögliche Integer überprüfen!
pss: Diese Aufgabe ist eine Variation des Spiels "Mastermind"!


Viel Erfolg!

0 Lösungen
Möglichkeiten der Objektanordnung
Anfänger - PHP von Veigar - 17.12.2015 um 11:25 Uhr
Liebe Community!

Schreibe ein kleines Script das für eine beliebige Menge Objekte alle Möglichkeiten diese anzuordnen ausgibt! (Nicht einfach nur die Anzahl der Möglichkeiten, eine funktion für fakultät zu schreiben ist bedeutend einfacher!)

Beispiel:
Eingabe: "rot,"blau","schwarz"

Ausgabe:
"rot,"blau","schwarz"
"rot","schwarz","blau"
"schwarz","rot",blau"
"schwarz","blau","rot"
"blau","schwarz","rot"
"blau","rot","schwarz"

Verzichtet bitte darauf ganz simpel einfach alle möglichen Ketten mit der gegebenen länge und den gegebenen Zuständen darauf zu untersuchen ob alle Objekte untereinander ungleich sind (Also nicht erst auch Zustände wie "schwarz",schwarz","schwarz" in eine innere Auswahl bringen und dann filtern) um (für große Aufgaben) die Rechenzeit gering zu halten!

Grüße!
1 Lösung Lösung noch nicht öffentlich
Text in Löffelsprache konvertieren
Anfänger - PHP von Veigar - 16.12.2015 um 19:05 Uhr
Schreibe ein Script welches einen Text entgegen nimmt und ihn in Löffelsprache konvertiert!
(Löffelsprache: "Geheimsprache" die oft von Kindern benutzt wird, und die dadurch gebildet wird das an jeden Vokal (Selbstlaut) „lew" und dann noch einmal der Vokal gehängt wird. zum Beispiel "Ich bin klug!"-->"Ilewich bilewin klulewug!")
0 Lösungen
optimale Vektorendarstellung
Fortgeschrittener - PHP von Veigar - 15.12.2015 um 23:16 Uhr
Liebe Community,
Jeder 2-Dimensionale Vektor lässt sich als Summe 2 anderer (ungleicher) Vektoren darstellen. (siehe Grafik!!)
(In der Grafik wird der blaue Vektor als Summe von Vielfachen von einen "Ursprungsgrünen" und "Ursprungsroten" Vektor dargestellt. (Wenn ein Vektor mit einen negativen Vektor multipliziert wird ändert sich seine Richtung))

Daher gibt es logischerweise für alle Vektoren die keine Vielfache voneinander sind das 3 von ihnen unendlich viele Möglichkeiten haben mit ihren Vielfachen einen 4en darzustellen. Schreibe ein Programm das die drei verfügbaren Vektoren in der Form (X-Komponente,Y-Komponente) entgegennimmt und dann berechnet wie die 3 verfügbaren Vektoren "eingesetzt" werden um die Gesamtstrecke (=Summe Länge der Vektorenvielfache) minimal zu halten.

Dieses Programm lässt sich natürlich unendlich erweitern (mit mehr Vektoren und mehr Ebenen (zum Beispiel 3-D) bietet allerdings nachdem das Grundkonzept verstanden wurde kaum mehr Erkenntnis. Fließpunkte hingegen würde es für eine grafische Darstellung der Vektoren geben (zum Beispiel ganz simpel turtel) :*.

Der Schredder freut sich auf eure Lösungen!
0 Lösungen
Zahl als Produkt zweier Faktoren ohne 0
Fortgeschrittener - PHP von Veigar - 24.11.2015 um 16:33 Uhr
Schreibe ein Programm das dir für jede beliebige Zahl ausgibt ob sie als Produkt zweier natürlicher Zahlen die beide keine "0" enthalten darstellbar ist.

Zum Beispiel:
deinAlgorithmus(10) =True (5*2)
deinAlgorithmus(100)= True (25*4)

Sehe aber bitte davon ab ganz einfach ein Programm zu schreiben das für alle Zahlen die kleiner sind als die zu testende Zahl und die keine Nullen enthält überprüft ob der "Gegenfaktor" (also die Zahl die mit der Zahn multipliziert die gesuchte zahl ergibt) ebenfalls keine 0en enthält weil das Programm für sehr hohe Zahlen (Milliarde+) eine moderate Rechenzeit in Anspruch nehmen soll.
0 Lösungen
Die Qual des Quartals
Anfänger - PHP von C#-Junior - 10.11.2015 um 15:40 Uhr
Schreibe ein Programm, dass ein Quartal berechnet.
Das Programm kann folgendes Ausgeben:
- Quartal
- Jahr
- Quartalbegin
- Quartalende