Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » Perl/CGI » Funktionen

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
04.12.2004, 13:24 Uhr
~Michi
Gast


Hallo
Ich möchte gerne eine Wertetabelle errechnen lassen für eine beliebige Quadratisch Funktion ax² ! Nun stehe ich vor einem Problem, denn ich möchte das die Wertetabelle nicht untereinander sondern nebeneinander ausgegeben wird sprich x1 y2 y3 und leider gibt er mir
y1 y2 y3

die Wertetabelle von -10 bis 10 wieder ich möchte aber genau andersrum !


und bei dem 2 print also wo er rausgibt welche Funktion es ist rutscht das *x²immer in die nächste Zeile !


ich hoffe ich bin hier im richtigem Forum wo man sowtwas fragen darf ?


hier ist mein Ansatz:


perl:

#! /usr/bin/perl


print "Geben Sie den Streckungs/Stauchungsfaktor für die Quadratische Funktion x² ein\n";
$a = <STDIN>;


print "x | $a*x²\n---------------\n";
$x = -10;


while ($x <= 10) {
$y = $a * $x**2;
print "$x | $y\n";
$x += 1;
}




Bearbeitung von Pablo:

Benutze die Board-Tags selber, danke.


Dieser Post wurde am 04.12.2004 um 14:22 Uhr von Pablo editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
04.12.2004, 16:39 Uhr
typecast
aka loddab
(Operator)


Koenntest du bitte mal posten, wie deine Ausgabe aussehen soll? Ich verstehe leider absolut nicht, was du machen willst.

Was das mit dem "*x²" angeht. Der Grund warum das in die naechste Zeile rutscht ist der, dass <STDIN> (im grunde genommen jeder Readbefehl) das Newlinezeichen mit in die Variable schreibt.

Wenn du also 10 eintippst, dann ist das wie wenn du im Script

Code:
$a = "10\n"


schreibst.
Um das newline Zeichen zu entfernen kannst du die Funktion chop verwenden:


Code:
chop $a;


--
All parts should go together without forcing. ... By all means, do not use a hammer. (IBM maintenance manual, 1925)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
04.12.2004, 16:39 Uhr
~Michi
Gast


oh sorry ganz vergessen !^

Hat trotzdem jemand eine idee?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
04.12.2004, 16:42 Uhr
~Michi
Gast


Hallo
also ich möchte gerne das die Wertetabelle in einer Reihe die x Werte ausgegeben werden und dadrunter die passenden y werte

also soll so aussehen :

x1 y2 y3
y1 y2 y3

und das ganze noch geordnet also von +10 bis hin zu -10 immoment is es genau andersrum
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
04.12.2004, 16:48 Uhr
~Michi
Gast



Code:
while ($x <= 10) {
        $y =chop $a; * $x**2;
        print "$x | $y\n";
        $x += 1;



meinst du das so ?

oder statt
Code:

$a = <STDIN>;

=

chop $a;


Dieser Post wurde am 04.12.2004 um 19:24 Uhr von Pablo editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
05.12.2004, 11:31 Uhr
~Michi
Gast


Hallo
Habs nun rausbekommen wie du das meinst !
Nur wie bekomme ich die Wertetabelle von
x1 y1
x2 y2
x3 y3

in

x1 x2 x3 x4 x5
y1 y2 y3 y4 y5


Code:

#! /usr/bin/perl

print  "Geben Sie a für die Funktion f(x)=ax^n+bx+c ein\n";
$a = <STDIN>;
chomp ($a);

print "Gebene Sie n für die Funktion f(x)=ax^n+bx+b ein\n";
$n = <STDIN>;
chomp ($n);

print "Geben Sie b für die Funktion f(x)=ax^n+bx+c ein\n";
$b = <STDIN>;
chomp ($b);

print "Geben Sie c für die Fuktion f(x)=ax^n+bx+c ein\n";
$c = <STDIN>;
chomp ($c);

print "x | $a*x^$n+$b*x+$c\n---------------\n";

$x = 10;

while ($x >= -10) {
        $y =  ($a * $x**$n) + ($b * $x) + $c;
        print "$x | $y\n";
        $x -= 1;
}



Hat noch jemand eine idee?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
07.12.2004, 08:48 Uhr
typecast
aka loddab
(Operator)


Also das hier sollte ungfaehr das machen, was du moechtest.
Die endguelitige Formatierung ueberlass ich dir


Code:
#! /usr/bin/perl

print  "Geben Sie a für die Funktion f(x)=ax^n+bx+c ein\n";
$a = <STDIN>;
chomp ($a);

print "Gebene Sie n für die Funktion f(x)=ax^n+bx+b ein\n";
$n = <STDIN>;
chomp ($n);

print "Geben Sie b für die Funktion f(x)=ax^n+bx+c ein\n";
$b = <STDIN>;
chomp ($b);

print "Geben Sie c für die Fuktion f(x)=ax^n+bx+c ein\n";
$c = <STDIN>;
chomp ($c);

print "x | $a*x^$n+$b*x+$c\n---------------\n";

my $startvalue=-10;
my $endvalue=10;
my $i = 0;
my $x = $startvalue;
my @erg;

# Berechne die Wert
while ($x != $endvalue) {
        $erg[$i] = ($a * $x**$n) + ($b * $x) + $c;
        print "$x\t";
        $x++;
        $i++;
}

print "\n";

foreach (@erg) {
        print "$_\t";
}
print "\n";



--
All parts should go together without forcing. ... By all means, do not use a hammer. (IBM maintenance manual, 1925)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ Perl/CGI ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: