Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi eine funktion umschreiben (https://www.delphipraxis.net/12380-eine-funktion-umschreiben.html)

PomBär 26. Nov 2003 11:43


eine funktion umschreiben
 
hallo leutz
ich hab noch ne aufgabe bei der ich nicht so richtig durchblicke.
die aufgabe lautet: entwickeln sie aus der Prozedur HeyThere eine Funktion Hallo, welche- Einen deutschen Spruch ausgibt, -true zurückliefert, wenn der Parameter who nicht leer ist.

Delphi-Quellcode:
procedure HeyThere(who:string);
begin
  writeln('Good morning'+who);
end;
...

begin //Hauptprogramm
 HeyThere(25); //fehler
 a:= HeyThere('Lara');//fehler
 HeyThere('User Meier');//erlaubt
 HeyThere(S); //ok,wenn S Funktion,
          //Konstante oder Variable
          //vom String- Typ

ich hoffe ihr könnt mir weiter helfen da ich in delphi leider noch ne totale null bin.
aber ich arbeite daran :gruebel:

[edit=sakura] [Delphi]-Tags gesetzt. Mfg, sakura[/edit]

scp 26. Nov 2003 11:48

Re: eine funktion umschreiben
 
Da ich mal annehme, das es eine Art Hausaufgabe ist: Schau mal in der Delphi-Hilfe unter If und unter function nach.

himitsu 26. Nov 2003 11:53

Re: eine funktion umschreiben
 
Also das lässt sich wirklich mit Hilfe der OH lösen :warn:

Und vergiß doch nicht ständig das [delphi]-Tag !

Add:
Zitat:

Zitat von PomBär
entwickeln sie aus der Prozedur HeyThere eine Funktion Hallo ...

Ist doch eindeutig! (OH siehe Function)

Zitat:

Zitat von PomBär
... welche Einen deutschen Spruch ausgibt ...

Was soll also mit der Textausgabe (WriteLn...) gemacht werden?

Zitat:

Zitat von PomBär
... true zurückliefert, wenn der Parameter who nicht leer ist

wie scp schon sagte: siehe IF (if-Anweisungen in der OH)

http://www.delphipraxis.net/images/common/divider.jpg
http://www.FrankNStein.de/Smiley-Kuss.gif http://www.FrankNStein.de/Smiley-Spinne.gif http://www.FrankNStein.de/Smiley-Winken.gif

Luckie 26. Nov 2003 15:49

Re: eine funktion umschreiben
 
Delphi-Quellcode:
function foo(s: String): Boolean;
begin
  if length(s) > 0 then
  begin
    ShowMessage(s);
    result := True;
  end
  else
    result := False;
end;

choose 26. Nov 2003 16:05

Re: eine funktion umschreiben
 
Folgt man der Aufgabenstellung streng (Implikation vs. Äquivalenz) sollte aus das richtig sein:
Delphi-Quellcode:
function Hallo(const AWho: string): Boolean;
begin
  Showmessage('Deutscher Spruch');
  Result:= True;
end;
;)

Wormid 26. Nov 2003 16:11

Re: eine funktion umschreiben
 
Zitat:

Zitat von choose
Folgt man der Aufgabenstellung streng (Implikation vs. Äquivalenz) sollte aus das richtig sein:
Delphi-Quellcode:
function Hallo(const AWho: string): Boolean;
begin
  Showmessage('Deutscher Spruch');
  Result:= True;
end;
;)

Nich ganz...

Delphi-Quellcode:
Result := Length(AWho) > 0;
So müsste es doch lauten, oder?

Gruß

Wormid

choose 26. Nov 2003 16:36

Re: eine funktion umschreiben
 
Zitat:

Zitat von PomBär
[...] entwickeln sie [...] eine Funktion [...], welche[...] true zurückliefert, wenn der Parameter who nicht leer ist.

Oder auch
Zitat:

Zitat von Vereinfachung
Entwickeln Sie einen Ausdruck, der True zurückliefert, wenn die Bedingung B erfüllt ist.

Formal also (mit 1=True, 0=False und "&" als logisches "und")
Code:
     (B=1 => Ausgabe=1) = 1
Es gilt nun für ein beliebiges X
Code:
    (0 => X) = 1
also auch
Code:
    (0 => 1) = 1
zusammen mit dem trivialen Fall
Code:
    (1 => 1) = 1
gilt daher
Code:
    ((0 => 1) & (1 => 1)) = 1
also für ein beliebiges B ebenfalls:
Code:
    (B => 1) = 1
somit ist der Ausdruck
Code:
    B => Ausgabe
mit Ausgabe=True immer wahr!

Sollte aber nur als Scherz gemeint sein :gruebel:

PomBär 1. Dez 2003 18:18

Re: eine funktion umschreiben
 
hallo
danke für die vielen antworten, aber sagt mal, wie kommt ihr auf "AWho" und "Length(AWho)>0"????
PomBär

Matze 1. Dez 2003 18:24

Re: eine funktion umschreiben
 
Ob AWho oder Who ist egal, ist ja beides ein ganz normaler String. ;)

Du kannst natürlich auch schreiben:
Delphi-Quellcode:
if Who <> '' then...


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:57 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz