![]() |
Schreibe morgen Klausur
Hallo zusammen!
Ich schreibe morgen Informatik Klausur, meine letzte note in der Klausur war ne 1- Meine Halbjahres Note war ne 1 Aba ich bin abgeruscht meine ich, weil in meiner Reihenur Leute sitzen, die die fast ganze Zeit nur am spielen sind, nichts verstehen und mich dauernd um hilfe bitten, deswegen habe ich dann selbst keine Zeit mehr auf zu passen und ausserdem lenken die mich durch ihr spielen eh ab. Was würdet ihr an meiner stelle tun? Aber jetzt zurück zum Thema, ich muss eine unit schreiben, die ein wort spiegelt. Der erste Buchstabe eines Wortes (gespeichert in der Variabel wort) wird mit index 1 angesprochen: Wort [1] ist der erste Buchstabe , wort[lenght(wort)] ist der letzte Buchstabe. Ich weiss nicht genau wie ich das anstellen soll, ich versuchs gleich einfach mal. Aber folgende Fragen habe ich? Könnt ihr mir nochmal die Unterschiede zwischen einer Function und einer Procedur nennen? Ich meine function reserviert speicher und procedur wird erst aufgerufen wenn sie gebraucht wird. wort[lenght(wort)] wo ist der unterschied zwischen einer eckigen klammer und einer runden? und was soll wort[lenght(wort)] heissen, also welche funktion erfühlt sie? |
Re: Schreibe morgen Klausur
Wort rückwärts:
![]() |
Re: Schreibe morgen Klausur
Hi,
eine Funktion hat ein Rückgabeergebnis, eine Prozedur hingegen nicht. Mit einer Schleife kommst du schnell auf die Lösung, schau einfach mal nach for bzw downto, wie jheins schon sagte. Einfach einen neuen String erstellen, der alle Zeichen von (Länge des Ausgangsstrings) bis zu 0 entählt. Zu dem Problem mit den Schülern die ablenken: Mach's wie's die Lehrer gerne machen, setz' dich neben jemand, den du nicht so gerne leiden kannst, der dich aber auch nicht dauernd stört, oder such dir jemand, der auch Interesse an Informatik hat. Ein Einzelplatz ist auch nicht zu verachten ;) Edit: Obwohl ein Blick in die Hilfe auch genügt hätte: length(word) gibt die Länge des Strings zurück, zum Beispiel 3 bei "aaa". word[length(word)] gibt dir den letzten Buchstaben zurück. cu |
Re: Schreibe morgen Klausur
sry aber damit komme ich nich klar, trotzdem danke für eure Antworten!
Lol, im ersten halbjahr haben wir uns nur ampeln, taschenrechner passwort programme und sowas gelangweilt und nu ist das so hart, das morgen unter 5 Leute die Klausur schreiben, ausserdem erwarten alle von mir das ich ne 1 schreiben, weil ich sonst auch voll der PC-Freak bin...irgendwie habe ich richtig schiess vor morgen... |
Re: Schreibe morgen Klausur
versuchs einfach mal so:
Delphi-Quellcode:
;)
uses ..., StrUtils;
wort := ReverseString(wort); |
Re: Schreibe morgen Klausur
Ist doch ganz einfach. Eine For-Schleife ist folgendermaßen aufgebaut:
Delphi-Quellcode:
Damit fürst du alles, was in den Anweisungsblock kommt, durch, bis i = n ist. Gleichzeitig wird nach jedem Schleifendurchlauf i erhöht.
var
i: integer; begin for i := 1 to n do //hier was machen Wenn du ![]() ![]() //edit: Wie kann man eigentlich so eine poplige Aufgabe in eine Klausur packen? Das dauert 5 Minuten :roll: |
Re: Schreibe morgen Klausur
Zitat:
function ZurueckZumGlueck(const Str: String): String; var i: Integer; begin for i := Length(Str) downto 1 do Result := Result + Str[i]; end; Aber mal im Ernst: An deiner Stelle würd ich mich nicht so aufspielen und selbst als "PC-Freak" und "Einsen-Schreiber" beschreiben, wenn du nichtmal in der Lage bist, den im Unterricht durchgenommenen Stoff zu raffen. Es zwingt dich doch niemand, bei jemand anders auf den Bildschirm zu gucken, und wenn du nicht in der Lage bist zu helfen UND aufzupassen (falls du ach-so-großes Genie das gezeigte nicht sowieso schon kennst (wir haben damals in einem Jahr Informatik, Thema Delphi, in etwa das geschafft, was ich mir in den Sommerferien zuvor angeeignet habe, und haben auch erst im 2. Semester mit eigenen Funktionen und Prozeduren angefangen)), dann musst du eben eines von beidem sein lassen. |
Re: Schreibe morgen Klausur
wenn du am schreiben bist und dich 8 leute die ganze zeit von dir hilfe wollen und keine ruhe geben, ob du dich da konzentrieren könntest?
Ausserdem wars am anfang so einfach das es langweilig wurde und dann habe ich nich richtig aufgepasst, aba bins wohl selbst schuld, ich passe ab sofort richtig auf, habe mir auch ein buch besorgt und helfe den anderen erst wenn ich selbst fertig bin |
Re: Schreibe morgen Klausur
Zitat:
Btw wird das hier etwas OT. Bitte zum Thema zurückkommen :) |
Re: Schreibe morgen Klausur
Um auch die letzte Möglichkeit aufzuzählen:
Delphi-Quellcode:
procedure StrRev (var Str: String);
var str2: String; i: integer; begin str2 := str; for i := length (str2) downto 1 do str := str2[i]; |
Re: Schreibe morgen Klausur
Entweder du beschäftigst dich mit dem Programmieren was ein bischen willen vorraussetzt, oder du beschäftigst dich mit deinen Klassenkameraden, ich würde das erste bevorzugen solange die Klassenkameraden nicht Weiblich sind! :drunken:
|
Re: Schreibe morgen Klausur
an chkdsk:
meine schwerpunkte liegen auch eigentlich im Hard und Sofware bereich, nicht im Progger Bereich, obwohl ich da jetzt umsteigen will ins Proggen, habe mir jetzt auch ein Buch besorgt, und werde das die Ferien durch nehmen juhuuuu es klappt! DANKE !!! Und noch ne Frage, möchte jemand eine Gmailadresse? Kann mommentan Einladungen verschicken! |
Re: Schreibe morgen Klausur
Zitat:
Ich hätte da noch eine... ;)
Delphi-Quellcode:
Aufgerufen wird das dann überfunction reku(wort:string;i:integer):string; begin if i<length(wort) then result:=reku(wort,i+1)+wort[i] else result:=''; end; reku(meinWort,1); Is zwar nicht die beste Möglichkeit aber Lehrer mögen Rekursionen! :) |
Re: Schreibe morgen Klausur
vieleicht wäre es noch schön eine funktionierende variante rein zu stellen auch für andere
|
Re: Schreibe morgen Klausur
Delphi-Quellcode:
verbessert
function Reverse(str: string): string;
var i : integer; begin setLength(result, Length(str)); for i := 1 to Length(str) do result[Length(result) - i + 1] := str[i]; end |
Re: Schreibe morgen Klausur
Zitat:
Delphi-Quellcode:
MfG
procedure StrRev2(var aStr: String);
var str2: String; i: integer; begin str2 := astr; for i := length (str2) downto 1 do astr[length(str2)-i+1] := str2[i]; end; Binärbaum [Edit] @gekmihesg: Die Zeichen eines Strings beginnen immer beim Index 1, nicht bei null. [/Edit] |
Re: Schreibe morgen Klausur
Zum Thema "String umdrehen"
![]() Da gibt es einen Algo von "Ralph Friedmann (TeamB)", der sollte deinen Lehrer beeindrucken können. :twisted: |
Re: Schreibe morgen Klausur
Hi!
Zitat:
Schreib doch:
Delphi-Quellcode:
Aufgerufen wird das dann überfunction reku(wort: string; i: integer = 1):string; begin if i < length(wort) then result:=reku(wort,i+1)+wort[i] else result:=''; end; reku(meinWort); Wenn der zweite Parameter fehlt, i automatisch = 1 gesetzt... (verwirrt evtl. den Lehrer ;) ) Mamphil |
Re: Schreibe morgen Klausur
Zitat:
IMHO sind iterative Lösungen der rekursiven vorzuziehen, da die Rekursion durch die mehrfachen Aufrufe den Speicher zumüllt (und somit auch langsamer sein dürfte). MfG Binärbaum |
Re: Schreibe morgen Klausur
Zitat:
Mamphil |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:24 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz