Schrift
[thread]6860[/thread]

Script zur Berechnung des Pythagoras?



<< |< 1 2 >| >> 18 Einträge, 2 Seiten
ulix
 2005-04-06 16:43
#53472 #53472
User since
2005-04-03
28 Artikel
BenutzerIn
[default_avatar]
Also ich will ne Script schreiben das den Pythagoras ausrechnet.
Nix mit grafischer Oberfläche nur so stincknormale dos/ shell eingabe.
Undzwar soll das programm fragen nach: a, b & c.(es muss aber immer eine Stelle berechnet werden: also a/b/c! )
Es müssen immer zwei Gegeben sein so das man die dritte ausrechnen kann.
Hier die brechenung von C:
Berechnung C
Hier Berechnung von A:
Berechnung von A
UNd hier noch Berechnung von B:
Berechnung von B

Wie mach ich sowas?

Danke

Crian: s~Pyhagoras~Pythagoras~\n\n

<!--EDIT|Crian|1113299762-->
Code: ()
1
2
Zitat (sri @ 09.04.2005, 18:49)
"channel spammer"
ptk
 2005-04-06 16:49
#53473 #53473
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
Du schreibst einfach das Skript :-)

Stell doch mal eine konkretere Frage: weisst du nicht, wie du die Eingabe machst? Weisst du nicht, wie man eine Funktion in Perl aufschreibt?
Taulmarill
 2005-04-06 16:51
#53474 #53474
User since
2004-02-19
1750 Artikel
BenutzerIn

user image
es gibt bei O'Reilly ne sehr schöne Perl einführung. wenn du die durch hast, solltest du solche kleineren scripte schreiben können:
http://www.oreilly.de/catalog/einperl3ger/chapter/d_vorwort.html
$_=unpack"B*",~pack"H*",$_ and y&1|0& |#&&print"$_\n"for@.=qw BFA2F7C39139F45F78
0A28104594444504400 0A2F107D54447DE7800 0A2110453444450500 73CF1045138445F4800 0
F3EF2044E3D17DE 8A08A0451412411 F3CF207DF41C79E 820A20451412414 83E93C4513D17D2B
Dubu
 2005-04-06 16:56
#53475 #53475
User since
2003-08-04
2145 Artikel
ModeratorIn + EditorIn

user image
Noch ein Tipp: Die Wurzelfunktion heisst in Perl sqrt().

HTH
renee
 2005-04-06 16:56
#53476 #53476
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Als Einführung ist auch der Vortrag von Strat sehr gut:
http://fabiani.net --> Vorträge --> Einführung in Perl
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/
Ronnie
 2005-04-07 00:28
#53477 #53477
User since
2003-08-14
2022 Artikel
BenutzerIn
[default_avatar]
Dies wäre eine Möglichkeit:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#!/usr/bin/perl

use strict;
use warnings;

our %opts;
my $lookup;

for (@ARGV) {$opts{$1}=$2 if (/([ABC]{1})=(\d+\.?\d*)/)}
$lookup = join '', sort keys %opts;
die "I need two sides!\n" unless (length($lookup)==2);
my $lut = {
'AB' => sub {return 'C='.sqrt($opts{A}**2+$opts{B}**2)},
'AC' => sub {return 'B='.sqrt($opts{C}**2-$opts{A}**2)},
'BC' => sub {return 'A='.sqrt($opts{C}**2-$opts{B}**2)},
};
print &{$lut->{$lookup}}, "\n";

EDIT1: Elegantere Version eingestellt.
EDIT2: Perl-Tags durch Code-Tags ersetzt.
EDIT3: Abbruch bei mehr oder weniger als zwei Seiten des Dreiecks\n\n

<!--EDIT|Ronnie|1112859654-->
Crian
 2005-04-07 16:49
#53478 #53478
User since
2003-08-04
5866 Artikel
ModeratorIn
[Homepage]
user image
Das ist zwar nett, dass Du das einstellst, allerdings wird der OP so vermutlich weniger lernen, als wenn er das Skript selbst geschrieben hätte. Das ist wahrscheinlich auch der Grund, warum die anderen Poster keine direkten Lösungen gepostet haben.
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
Ronnie
 2005-04-07 16:57
#53479 #53479
User since
2003-08-14
2022 Artikel
BenutzerIn
[default_avatar]
@Crian: Sind wir ehrlich, die Fragestellung des OP klingt nach Hausaufgabe. Das ist auch der Grund warum die anderen keine Lösung sondern nur Hinweise geliefert haben. Ich habe eine Lösung geliefert,weil ich zum Nachdenken anregen wollte. Die Lösung ist sehr 'perlisch' gehalten und mit Copy&Paste als Hausaufgabenlösung ist es nicht getan. Eine Frage des Lehrers zum Lösungsweg und die Luft ist raus, außer ulix beschäftigt sich ausführlich mit dem Skript.

Außerdem hat mir die Lösung zu gut gefallen, um sie nicht zu posten ;)
Crian
 2005-04-07 17:00
#53480 #53480
User since
2003-08-04
5866 Artikel
ModeratorIn
[Homepage]
user image
Ok stimmt, 1:0 für Dich :D
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
ulix
 2005-04-07 22:18
#53481 #53481
User since
2005-04-03
28 Artikel
BenutzerIn
[default_avatar]
ok,
ich check Ronnies post wirklich nicht!
also ich hab mal ne script geschreiben wo nur den pyhagoras von c berechnet:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#!/usr/bin/perl
-w

print "\n Phytagorasrechner fuer C:\n\n";

print "\n Wert fuer A (in cm/ m): ";
chomp($a = <>);

print "\n Wert fuer B (in cm/ m): ";
chomp($b = <>);



$c =sqrt( $a**2 + $b**2);
printf("\n\n Berechneter Wert fuer C mit 2 Nachkommastellen: %.2f cm/ m\n", $c);

meine frage jetzt wie bau ich das aus das man a und b berechnen kann?

edit renee: [code]-Tags spendiert...\n\n

<!--EDIT|renee|1112948275-->
Code: ()
1
2
Zitat (sri @ 09.04.2005, 18:49)
"channel spammer"
<< |< 1 2 >| >> 18 Einträge, 2 Seiten



View all threads created 2005-04-06 16:43.