Schrift
[thread]12057[/thread]

JavaScript in Perl übersetzen

Leser: 2


<< |< 1 2 3 4 ... 6 >| >> 53 Einträge, 6 Seiten
Nicki271
 2008-06-23 09:29
#111337 #111337
User since
2008-06-23
26 Artikel
BenutzerIn
[default_avatar]
Hallo zusammen,
kann mir bitte jemand helfen.
Ich soll ein JavaScript in Perl übersetzen, aber ich bekomme es einfach nicht hin.
Vielen Dank :-O)

<script language="JavaScript">
<!--
a = window.prompt ("Geben Sie eine Zahl ein","");
b = 2;

if (a%b == 0) {
document.write("Das Ergebnis der Division von " + a + " durch 2
ergibt eine Nichtkommazahl.");
} else {
document.write("Das Ergebnis der Division von " + a + " durch 2
ergibt eine Kommazahl.");
}
// -->
</script>

Gruß
Nicki271
linse
 2008-06-23 09:46
#111338 #111338
User since
2006-02-02
61 Artikel
BenutzerIn
[Homepage]
user image
Code: (dl )
1
2
3
4
5
6
7
8
my $a = 3;#was auch immer
my $b = 2;

if ($a%$b == 0) {
print "Das Ergebnis der Division von $a durch $b ergibt eine Nichtkommazahl.";
} else {
print "Das Ergebnis der Division von $a durch $b ergibt eine Kommazahl.";
}


mfg Dirk
pq
 2008-06-23 11:17
#111340 #111340
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
Nicki271+2008-06-23 07:29:40--
Ich soll ein JavaScript in Perl übersetzen, aber ich bekomme es einfach nicht hin.

einfach sagen, womit du probleme hast, und was du schon hast, sonst sieht das immer so
nach "mach mir meine hausaufgaben, ich bin zu faul" aus.
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
Ronnie
 2008-06-23 11:31
#111341 #111341
User since
2003-08-14
2022 Artikel
BenutzerIn
[default_avatar]
Wenn du Eingaben von der Kommandozeile lesen willst, dann schau mal in http://perldoc.perl.org/perlop.html#I%2FO-Operator... - wenn du ein Eingabe-Fenster benötigst wirst du dich mit CPAN:TK beschäftigen müssen.

Gruß,
Ronnie
Gast Gast
 2008-06-24 08:43
#111398 #111398
pq+2008-06-23 09:17:56--
Nicki271+2008-06-23 07:29:40--
Ich soll ein JavaScript in Perl übersetzen, aber ich bekomme es einfach nicht hin.

einfach sagen, womit du probleme hast, und was du schon hast, sonst sieht das immer so
nach "mach mir meine hausaufgaben, ich bin zu faul" aus.


Hallo pq,
du hast schon recht. Hier mein Versuch:
#!/usr/bin/perl
$input = <STDIN>;

print "Geben Sie eine Zahl ein : \n";

b = 2;

if ("a" / "b" = 0)
{
print "Das Ergebnis der Division von a durch 2 ergibt eine Nichtkommazahl.";
}

else {

print "Das Ergebnis der Division von a durch 2 ergibt eine Kommazahl.";
}

Ich bin nicht zu faul, soll auch nicht so aussehen, aber ich weiß nicht was ich falsch mache...
renee
 2008-06-24 10:10
#111400 #111400
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Gast+2008-06-24 06:43:01--
$input = <STDIN>;

print "Geben Sie eine Zahl ein : \n";

* Du solltest Wiki:use strict verwenden
* Diese beiden Zeilen solltest Du tauschen, sonst kommt die Aufforderung nachdem der User etwas eingegeben haben muss.
Quote
b = 2;
Variablen haben in Perl ein "Sigil", mit dem angezeigt wird, um was es sich handelt. "Einfache" Variablen (sog. Skalare) haben ein "$" vorne angestellt, wie Du es bei $input gemacht hast.

Quote
if ("a" / "b" = 0)
Hier versuchst Du den Buchstaben a durch den Buchstaben b zu teilen. Vermutlich nicht ganz was Du willst. Und dann veruchst Du diesem Ausdruck auch noch den Wert 0 zuzuweisen.

Auch hier wieder: Variablen haben Sigils!

Wenn Du überprüfen willst, ob etwas durch zwei teilbar ist (und das ohne "Rest"), dann musst Du den Modulo-Operator nehmen (%). Und zur Überprüfung musst Du einen Vergleichsoperator nehmen (hier: ==).

Also:
Code (perl): (dl )
if( $a % $b == 0 )


Weiterhin ist in $a nix gespeichert, da Du weiter oben $input verwendet hast.
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
Nicki271
 2008-06-25 08:55
#111479 #111479
User since
2008-06-23
26 Artikel
BenutzerIn
[default_avatar]
Hallo Renee,
danke, das ist doch mal eine Erklärung...

ich bin ja schon mal froh, dass mein "lösungsversuch" nicht völllig falsch ist...
Ich habe mit Perl noch nicht wirklich was zu tun gehabt, deshalb ist es noch schwierig für mich das alles nachzuvollziehen.
Aber deine Erklärungen waren schon hilfreich :-)

Also in der Aufgabenstellung heißt es dass man eine Zahl eingeben soll und dann vom script geprüft wird ob die Division durch zwei eine grade oder ungrade Zahl ergibt.

Es gibt 5 aufgaben und zwei habe ich immerhin schon alleine lösen können. Das lässt mich hoffen, das es auch bei Perl irgendwann "klick" macht...
Nicki271
 2009-02-19 11:09
#118979 #118979
User since
2008-06-23
26 Artikel
BenutzerIn
[default_avatar]
Hallo Zusammen,

es will einfach nicht funktionieren.

Kann mir bitte nochmal jemand auf die Sprünge helfen?

Vielen Dank :-)

Gruß Nicki
renee
 2009-02-19 11:35
#118981 #118981
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Was heißt "funktioniert nicht"?? Gibt es Fehlermeldungen? Wie sieht der Code aus? Was soll der Code machen, was macht er stattdessen?

Fragen über Fragen - und meine Glaskugel ist zur Reparatur ;)
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
Nicki271
 2009-02-19 12:13
#118982 #118982
User since
2008-06-23
26 Artikel
BenutzerIn
[default_avatar]
Sorry,
ich habe versucht das if( $a % $b == 0 ) was du geschrieben hast mit einzubauen, aber jetzt kommt die Fehlermeldung:
Illegal modulus zero at 20535_2.pl line 7

Der ganze Text sieht jetzt so aus:

1 #!/usr/bin/perl
2
3 print "Geben Sie eine Zahl ein","";
4
5 $Zahl /= 2;
6
7 if( $a % $b == 0 )
8 {
9 print"Das Ergebnis der Division von " + a + " durch 2
10 ergibt eine Nichtkommazahl.";
11 } else {
12 print "Das Ergebnis der Division von " + a + " durch 2
13 ergibt eine Kommazahl."; }

irgendwie habe ich wohl echt ein Brett vor dem Kopf - tut mir leid. :-((
<< |< 1 2 3 4 ... 6 >| >> 53 Einträge, 6 Seiten



View all threads created 2008-06-23 09:29.