Mit der Shell Rechnen

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von blck, 29.01.2007.

  1. blck

    blck Routinier

    Dabei seit:
    15.01.2007
    Beiträge:
    268
    Zustimmungen:
    0
    Code:
    zahler=1
    zahl1=0
    zahl2=0 
    
    while [ "$zahler"=="200" ]; do
    zahler=[$zahl1er+1]
    zahl1=[$zahl11+1]
    zahl2=[$zahl2+1]
    [COLOR="DarkRed"] if test [ "$zahl1"/"$zahl1"-"$zahl2"/"$zahl2" == "$zahl1/$zahl1-$zahl2/$zahl2" ]; then[/COLOR]
      echo "$zahl1"
      echo "$tahl2"
     fi
    
    done 
    Moin, ich hab ein Problem mit diesem Programm:
    Die rote Zeile sollte folgende Gleichung überprüfen und die Lösungen dann ausgeben:
    Wurzel aus a - wurzel aus b = Wurzel aus a-b
    nur leider sagt er mir to many arguments

    Gruß Blck
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. Xanti

    Xanti Mouse Organist

    Dabei seit:
    05.09.2004
    Beiträge:
    1.855
    Zustimmungen:
    0
    Im Falle von Wurzeln würde ich bc empfehlen.
     
  4. blck

    blck Routinier

    Dabei seit:
    15.01.2007
    Beiträge:
    268
    Zustimmungen:
    0
    bc

    Also $zahl1*$zahl1 |bc?
    oder wie?

    Gruß Blck
     
  5. #4 root1992, 29.01.2007
    root1992

    root1992 von IT-Lehrern besessen

    Dabei seit:
    02.01.2006
    Beiträge:
    1.138
    Zustimmungen:
    0
    Ort:
    Märchenwald
    kannst du es nicht dem bc deine Werte als Positionsparameter übergeben? also bc 1 + 2 oder gleich ne file?
     
  6. blck

    blck Routinier

    Dabei seit:
    15.01.2007
    Beiträge:
    268
    Zustimmungen:
    0
    bc 1+2

    Moin, also wenn man bc 1+2 eingibt kommt folgendes:
    File 1+2 is unavailable.

    Gruß blck
     
  7. Xanti

    Xanti Mouse Organist

    Dabei seit:
    05.09.2004
    Beiträge:
    1.855
    Zustimmungen:
    0
    Code:
    echo "sqrt($a-$b)" | bc -l
     
  8. #7 Blackcollar, 29.01.2007
    Blackcollar

    Blackcollar Grünschnabel

    Dabei seit:
    29.01.2007
    Beiträge:
    4
    Zustimmungen:
    0
    ohne bc :
     
  9. Xanti

    Xanti Mouse Organist

    Dabei seit:
    05.09.2004
    Beiträge:
    1.855
    Zustimmungen:
    0
    Wie löst man in der Shell Wurzeln?
     
  10. blck

    blck Routinier

    Dabei seit:
    15.01.2007
    Beiträge:
    268
    Zustimmungen:
    0
    hier noch mal nen neuer Ansatz

    Hier übernimmt let die Funktion zum Rechnen wobei let nur im Positiven bereich rechnet. d.h. let Losung=1-4 wäre für ihn 3
    Code:
    zahler=1
    zahl1=0
    zahl2=0 
    
    while [ "$zahler"=="20" ]; do
    zahler=[$zahl1er+1]
    zahl1=[$zahl11+1]
    zahl2=[$zahl2+1]
    
    let Losung1="$zahl1*$zahl1"-"$zahl2*$zahl2"
    let Losung2="$zahl1*$zahl1-$zahl2*$zahl2"
    
    if test [ "$Losung1"=="$Losung2" ]; then
      echo "$zahl1"
      echo "$tahl2"
    fi
    
    done 
    vllt. kann ja jemand damit was anfangen
    gruß blck
     
  11. #10 whopper, 29.01.2007
    Zuletzt bearbeitet: 29.01.2007
    whopper

    whopper Foren As

    Dabei seit:
    01.10.2006
    Beiträge:
    96
    Zustimmungen:
    0
    ich kapier dein prog nicht.

    sollte

    Code:
    zahler=1
    while [ "$zahler"=="200" ]; do
    nicht
    Code:
    zahler=1
    while [ $(zahler) -ne "200" ]; do
    heißen

    und

    Code:
    if test [ "$zahl1"/"$zahl1"-"$zahl2"/"$zahl2" == "$zahl1/$zahl1-$zahl2/$zahl2" ]; then
    nicht
    Code:
    if [ "$(zahl1)/$(zahl1)-$(zahl2)/$(zahl2)" -eq "$(zahl1)/$(zahl1)-$(zahl2)/$(zahl2)" ]; then 
    heißen

    Ich kenn mich leider nicht so gut mit Shell-Programmierung aus, so gut wie gar nicht eigentlich, aber ich finds so logischer und "richtiger". Kann natürlich auch sein das ich vollkommen auf dem Holzweg bin. Dann korrigiert mich doch bitte, will ja auch was lernen

    und was soll "zahl1/zahl1 - zahl2/zahl2 = zahl1/zahl1 - zahl2/zahl2" bedeuten?
    0 = 0 ?


    EDIT
    $(variable) stimmt nicht. muss schon $variable heißen, sorry
     
  12. #11 blck, 29.01.2007
    Zuletzt bearbeitet: 29.01.2007
    blck

    blck Routinier

    Dabei seit:
    15.01.2007
    Beiträge:
    268
    Zustimmungen:
    0
    OK Danke ich werds programmieren. Tipp: Ich bin auch neuling :))
    Gut die Rechnun mit dem zahler -zahler soll Rechnen.
    Wobei Diese Variablen hochgezählt werden. Guck dir mal die Zeilen
    Code:
    zahler=[$zahl1er+1]
    zahl1=[$zahl11+1]
    zahl2=[$zahl2+1]
    
    an die Zählen die Variablen hoch :D

    PS... Der Code klappt leider nicht so wie sollte. Der ganze Code dient zum ausrechnen einer wurzel

    Gruß Blck :brav:
     
  13. #12 whopper, 29.01.2007
    whopper

    whopper Foren As

    Dabei seit:
    01.10.2006
    Beiträge:
    96
    Zustimmungen:
    0
    Wie gesagt, ich kann keine Shell-Programmierung :) ich wollte eigentlich nur nachfragen wie das gemeint war und ob ich auf dem richtigen weg "wäre".

    so wie ich das sehe wird ja zahl1 und zahl2 immer gleich hochgezählt das heißt wenn zahl1 != zahl2 dann ist immer noch

    zahl1/zahl1-zahl2/zahl2 = zahl1/zahl1-zahl2/zahl2

    1 - 1 = 1 - 1
    0 = 0

    oder hab ich da wirklich ein gedakenverbrechen getan?
     
  14. blck

    blck Routinier

    Dabei seit:
    15.01.2007
    Beiträge:
    268
    Zustimmungen:
    0
    Nein Ansich nicht...
    nur mein Problem war ja folgendes

    Moin, ich hab ein Problem mit diesem Programm:
    Die rote Zeile sollte folgende Gleichung überprüfen und die Lösungen dann ausgeben:
    Wurzel aus a - wurzel aus b = Wurzel aus a-b
    nur leider sagt er mir to many arguments


    if test [ "$zahl1"/"$zahl1"-"$zahl2"/"$zahl2" == "$zahl1/$zahl1-$zahl2/$zahl2" ]; then

    Das war der Ansatz... so der Schlüssel liegt in der Programmierung:

    "$zahl1*$zahl1"-"$zahl2*$zahl2"
    Das Rechnet: Wurzel aus a - wurzel aus b
    (Hinweis: Beachte man "" !)

    "$zahl1*$zahl1-$zahl2*$zahl2"
    Das Rechnet: Wurzel aus a-b
    ( Hinweis: auch hier die "" beachten )

    Gruß Blck

    PS Ich hoffe ich hab mich nicht getäuscht wenn ja sollte mich einer der "Profis" korrigieren
     
  15. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  16. #14 whopper, 29.01.2007
    whopper

    whopper Foren As

    Dabei seit:
    01.10.2006
    Beiträge:
    96
    Zustimmungen:
    0
    ok die variablen hab ich falsch geschrieben. Hab grad nachgesehen

    aber

    zahl1*zahl1 ist keine wurzel
     
  17. Xanti

    Xanti Mouse Organist

    Dabei seit:
    05.09.2004
    Beiträge:
    1.855
    Zustimmungen:
    0
    Dir ist schon das Prinzip der Wurzelberechnung geläufig? Was ist der Unterschied zwischen "a"-"b" und "a-b"?
     
Thema:

Mit der Shell Rechnen

Die Seite wird geladen...

Mit der Shell Rechnen - Ähnliche Themen

  1. Shell Skript beschleunigen

    Shell Skript beschleunigen: Hallo zusammen, ich bin neu hier und hab gerade angefangen mich an Schell Skripte zu wagen. Nun hab eine Frage ich hab ein Skript geschrieben und...
  2. [Erledigt] Shell-Skript lässt sich nicht mit Cron ausführen

    [Erledigt] Shell-Skript lässt sich nicht mit Cron ausführen: Hallo, ich hoffe ihr könnt mir helfen. Ich entwerfe im Moment ein Skript, welches den Callmonitor (Telnet) auf meiner FritzBox abfragt und wenn...
  3. Shell-Skript Datum in einer Datai suchen

    Shell-Skript Datum in einer Datai suchen: Hallo zusammen Ich komm eigentlich aus der Klicki-Bunti-Welt von Windows. Seit geraumer Zeit versuche ich meine Künste mit verschiedenen...
  4. Shell Script Problem

    Shell Script Problem: Hallo zusammen, ich arbeite momentan mit einem Plagiat Tool, die ich über Git Bash ausführe. Es wird im Endeffekt ein Link generiert, die ich...
  5. Anonymisierungs-Distribution Tails 2.0 wechselt zu Gnome Shell

    Anonymisierungs-Distribution Tails 2.0 wechselt zu Gnome Shell: Tails (The Amnesic Incognito Live System) ist in Version 2.0 erschienen und bringt als Dektopoberfläche eine Gnome-Shell im Classic-Modus mit....