Lazarus Frage zu einer Funktion

metalstore

Software-Overclocker(in)
Hallo,
ich muss in lazarus ein Programm programmieren, das, wenn ich eine Zahl eingebe, das Programm die Größt- sowie Kleinstmögliche Zahl mit den Ziffern der eingegebenen Zahl ausgibt.
Kennt jemand dafür eine Funktion (quasi eine Art "Maximal-/Minimalwertausgabe?)
mfg
metalstore
 
Nur zum Verständnis: Du gibst 131 ein. Dann soll er dir als min 113 und als max 311 ausgeben?

BTW: Die Sprache heißt Pascal, nicht Lazarus. Das ist die IDE.
 
so hab ich das auch verstanden wie du leandros. du musst einfach die eingegeben zahl in ihre einzelnen zahlen zerlegen. in leandros beispiel ne 1 ne 3 und noch ne 1. dann sortierst du die zahlen nach ihrer größe und bastelst dir daraus die zahlen.
 
Oh tut mir leid, Sprache mit Umgebung verwechselt^^
Und ja, richtig verstanden
Ja, soweit war ich auch schon, sind ja schlappe 24 Möglichkeiten (da wir es mit vierstelligen Zahlen machen sollen/müssen) :D
Ich kann einzelne Chars in einem Editfeld ansteuern, aber es muss doch irgendeine Funktion oder Befehl geben der die einzelnen Chars der Größe nach sortiert...
(Dass man davor die Chars zu Integer und danach wieder anders rum machen muss ist ja ok, und vermutlich auch notwendig...aber das ist ja kein Problem
 
Nö, denke nicht das es eine API dafür gibt. Viel zu spezifisch.
Ist aber auch ziemlich simpel selber zu schreiben
 
Application Programming Interface.

Hat Pascal eine .sort funktion für Arrays? In Java / C / C++ kann man es simpel sortieren.

Sonst würde ich es so machen.

Code:
for( int i = 0; i < arr.length/2; ++i ) { 
  temp = arr[i]; 
  arr[i] = arr[arr.length - i - 1]; 
  arr[arr.length - i - 1] = temp; 
}
 
keine Ahnung ehrlich gesagt, ob Pascal eine .sort Funktion für Arrays hat
unser Lehrer erklärt ja wirklich null, sein Unterrichtsprinzip: "arbeitet das aus, und erklärt mir dann wie es funktioniert, damit ich es auch weiß" :wall:
und mit Java/C(++) kenne ich mich leider gar nicht aus :/
 
Das klingt jetzt vielleicht etwas fies, aber wenn du noch nicht einmal zwischen Programmiersprache und IDE unterscheiden kannst solltest du vielleicht nicht mitten in einem Programm anfangen, sondern dir zunächst einmal die Grundlagen von Pascal aneignen.

Was ein Array ist sollte man doch schon wissen wenn man programmieren möchte.
 
Du musst dir einen Array vorstellen wie eine Box.
Du kannst da edit: gleiche sachen. Rein tun. Z.B Zahlen: 1 oder 3 oder 44 usw.

Und alles was da drine ist wird in eine Liste eingetragen.
Alles was neu ist kommt hinten an die liste dran.

Beim Auslesen des Arrays musst du nur angeben welche Stelle des Arrays du haben willst.

Kennengelernt habe ich das anhand von Koordinaten.
du packt z.B 5°N , 12°W und 59°S in einen Array.
Dann ist 5°N an Pos.0 des Arrays , 12°W an Pos 1 usw.
Wenn du was davon haben willst brauchst du nur die Position.

So kann man z.B recht einfach viele Dinge sortieren.
Da man bei der abfrage der Stelle in einer Schleifen immer 1 schritt hoch gehen kann.


Hoffe ich konnte das verständlich rüber bringen.

@Laudian
wenn Er/Sie das in der Schule lernt und der Lehrer seinen Plan so durchzieht...
 
Zuletzt bearbeitet:
Das klingt jetzt vielleicht etwas fies, aber wenn du noch nicht einmal zwischen Programmiersprache und IDE unterscheiden kannst solltest du vielleicht nicht mitten in einem Programm anfangen, sondern dir zunächst einmal die Grundlagen von Pascal aneignen.

Was ein Array ist sollte man doch schon wissen wenn man programmieren möchte.

Du bist mir zuvorgekommen, hier stand mal ein langer Text, der essentiell das selbe aussagte. :ugly:
Bin definitiv deiner Meinung, sowas sollte man wissen, Arrays sind die basics der basics :fresse:


Du kannst da soviel reinwerfen wie du willst und egal was du willst. Zahlen , werte , buchstaben usw.

Ok, versuch mal dieses Java / C / C++ zu compilen. Viel Spass.

Code:
int[] array = new int[10];
array[0] = 1;
array[1] = "foobar";

Also, schwachsinn. Arrays haben genauso types wie jede andere variable.

Wenn schon Erklären, dann auch Richtig, und nicht Falsch. :klatsch:


@Crysis Nerd: Scheiss ma auf mit Lehrer reden. Das bringt in 99% der Fälle rein gar nichts. Google und die Bücherei sind dein Freund. Was denkt ihr wie ich mit 12 angefangen habe Programmieren zu Lernen? Ich bin in die Bücherei gegangen und habe mir ein Buch über C# ausgeliehen (ja ja, nicht Schlagen, heute weiss ich das C# der größte scheiss ist, aber ich fands geil früher) und bei Fragen habe ich Google (damals noch mit 56k Modem :ugly:) befragt.
 
Zuletzt bearbeitet:
Also, schwachsinn. Arrays haben genauso types wie jede andere variable.

Wenn schon Erklären, dann auch Richtig, und nicht Falsch. :klatsch:

Ich kenne es nicht anders sry. Ich hab auch mit Sachen zu tun gehabt wo dies möglich ist.
Bei der Wortwahl hätte man es auch selbst erklären können oder es einfach korregieren.

MfG Heretic
 
Siehe Beispiel.
Aber in C / C++ / Java ist ein Array auch immer einem type zu geordnet, zum Beispiel dem primitiven typ int, ein int array würde dann so aussehen int[] array = new int[length].
Gibt aber in Java z.B auch ArrayLists. Sieht dann so aus: List arrayList = new ArrayList<String>() oder mit zwei werten, ein 2D Array, List arrayList = new ArrayList<Map<Int, String>>().
 
@Crysis Nerd: Scheiss ma auf mit Lehrer reden. Das bringt in 99% der Fälle rein gar nichts. Google und die Bücherei sind dein Freund. Was denkt ihr wie ich mit 12 angefangen habe Programmieren zu Lernen? Ich bin in die Bücherei gegangen und habe mir ein Buch über C# ausgeliehen (ja ja, nicht Schlagen, heute weiss ich das C# der größte scheiss ist, aber ich fands geil früher) und bei Fragen habe ich Google (damals noch mit 56k Modem :ugly:) befragt.
Ich hab auch kaum Wissen über die Schule zu solchen Themen bekommen. Nur ich wollte darauf hinaus, dass der Threadersteller aktiv wird. Weil es gibt leider viel zu viele Schüler, die permanent über Lehrer meckern aber selber nichts machen. Daher: Er soll entweder da gucken, dass sich was ändert, oder selbst lernen.


Aber da wir hier mal wieder absolut vom Thema abschweifen: Kann jemand mit Pascal Kenntnissen dem Herrn Threadersteller mal Arrays ordentlich erklären?
Und an dich direkt Herr Threadersteller: Es gibt nicht einfach für alles Funktionen, du musst auch selber mal etwas programmieren mit Schleifen und sonstigem. Du sagtest auch es gibt 24 Möglichkeiten, aber alle Möglichkeiten durchzuprobieren ist eine blöde Lösung für das Problem. Lass dir da was besseres einfallen.

Grüße
 
Du bist mir zuvorgekommen, hier stand mal ein langer Text, der essentiell das selbe aussagte. :ugly:

Wahrscheinlich bin ich dir genau wegen dem "langen" Text zuvorgekommen ;-)

Heretic schrieb:
@Laudian
wenn Er/Sie das in der Schule lernt und der Lehrer seinen Plan so durchzieht...

Ich war im Unterricht natürlich nicht dabei, aber ich kann mir nicht vorstellen dass man von "Installiert mal das Programm Lazarus" zu "Schreibt ein Programm dass... macht" gesprungen ist.

Ich fand den Einstieg zum Programmieren aber persönlich auch sehr schwer, und habe es erst im dritten Anlauf wirklich geschafft. Ich kann mir vorstellen dass man nicht viel mitbekommt wenn der Lehrer einem etwas erzählt, ich musste manche Stellen auch 3-4 mal lesen und immer wieder Sachen ausprobieren.

Das sehr sehr gut gelungene Python Tutorial hat dabei auf jeden Fall stark geholfen. Der Sprung von Python zu C war dann um einiges einfacher als direkt mit C einzusteigen. Außerdem finde ich es wichtig ein Ziel zu haben wenn man Programmieren lernen möchte. Einfach nur Programmieren lernen damit man Programmieren kann hat bei mir nie funktioniert, nach spätestens 2-3 Tagen war die Luft raus.


@TE: Such dir im Internet doch einfach mal irgendein Pascal Tutorial und lies dir die ersten Kapitel durch, das sollte schon viel weiterhelfen. Oder habt ihr vlt. sogar so eine Art Unterrichtsbuch zu Pascal ?

Dieses hier z.B:
http://www.tutorials.at/pascal/pascal-tutorial.html

Ich hab das aber selber nicht weiter angeguckt, von daher kann ich nicht sagen ob das gerade gut oder weniger gut ist. Aber vor allem dieser Teil hat es mir angetan:
Hin und wieder kommt es vor, dass Pascal noch an Schulen unterrichtet wird. Vor allem "wenn Informatik-Lehrer die letzten Jahre nichts dazu gelernt haben", so die Aussage eines Mitglieds des alten Tutorials.at-Forums.
 
Zuletzt bearbeitet:
Ich versteh immer nicht warum die Leute so etwas nicht Googlen ... Klick mich!

Frage mich grade auch viel mehr, warum zur Hölle Pascal? Warum nicht was Sinnvolles und einfachereres.


@Laudian: Von Python zu C ist aber ein Himmelweiter unterschied, außer etwas semantik kann Python Programmieren nicht viel gebracht haben (z.B du weisst wie man loops nutzen, was variablen sind etc, basics halt). Wehre mich ja immer gegen Python, find die Sprache irgendwie sehr komisch. Ist aber scheinbar echt beliebt ...

Edit: HaHa. Hammer Kommentar. Stimmt ziemlich mit meiner Meinung überein. Pascal ist totaler Schwachsinn bei zu bringen. Entweder ganz Basic mit Assembly anfangen oder direkt mit C / C++ einsteigen.
 
Zuletzt bearbeitet:
@Laudian: Von Python zu C ist aber ein Himmelweiter unterschied, außer etwas semantik kann Python Programmieren nicht viel gebracht haben (z.B du weisst wie man loops nutzen, was variablen sind etc, basics halt). Wehre mich ja immer gegen Python, find die Sprache irgendwie sehr komisch. Ist aber scheinbar echt beliebt ...

Nun, Python ist halt ziemlich einfach zum Einstieg, man kann damit schnell etwas erreichen. Und es vermittelt eben genau diese Basics die du angesprochen hast. Es war dann noch ein weiter Sprung zu C, aber zumindest wusste man dann schon einmal was Funktionen, Datentypen, lokale und globale Variablen etc sind.

Der Vorteil an Python ist meiner Meinung nach nicht unbedingt dass die Sprache besonders toll ist, sondern dass sie einfach ist und ein sehr sehr gutes Tutorial hat, dass keinerlei Vorkenntnisse voraussetzt. Ich habe bislang zu keiner anderen Sprache so ein gutes und ausführliches Tutorial finden können.

Der Nachteil an Python ist halt, dass Python sehr sehr langsam ist. Etwa 250 mal langsamer als C.
 
Zurück