Mit der Shell Rechnen

Diskutiere Mit der Shell Rechnen im Shell-Skripte Forum im Bereich Programmieren unter Linux/Unix; zahler=1 zahl1=0 zahl2=0 while [ "$zahler"=="200" ]; do zahler=[$zahl1er+1] zahl1=[$zahl11+1] zahl2=[$zahl2+1] if test [...

  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. Xanti

    Xanti Mouse Organist

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

    blck Routinier

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

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

    Gruß Blck
     
  4. #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?
     
  5. 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
     
  6. Xanti

    Xanti Mouse Organist

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

    Blackcollar Grünschnabel

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

    Xanti Mouse Organist

    Dabei seit:
    05.09.2004
    Beiträge:
    1.855
    Zustimmungen:
    0
    Wie löst man in der Shell Wurzeln?
     
  9. 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
     
  10. #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
     
  11. #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:
     
  12. #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?
     
  13. 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
     
  14. #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
     
  15. 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. Telefoninterview (Wie sich auf Bash-Shell-Fragen vorbereiten?)

    Telefoninterview (Wie sich auf Bash-Shell-Fragen vorbereiten?): Hallo Leute :) Ich habe heute eine E-Mail bekommen und zwar für ein Telefoninterview am übermorgen und ich bin da recht nervös, vor allem am...
  2. Unix Shell Funktionen funktionieren nicht

    Unix Shell Funktionen funktionieren nicht: Guten Tag Ich hoffe sehr, dass Sie mir weiterhelfen können, denn ich habe ein riesiges Problem: Zurzeit arbeite ich mit meinem Server an einem...
  3. Shell: Funktion ls Not found

    Shell: Funktion ls Not found: Hallo zusammen. Ich habe vor längerer Zeit mal mit Ubuntu gearbeitet wo ich auch ein paar befehle im Terminal gelernt habe. Nun zu meinem...
  4. HandbrakeCLI Shell Skript

    HandbrakeCLI Shell Skript: Hallo zusammen und Schöne grüße aus Süddeutschland. Ich versuche mich gerade an einem Skript für Handbrake. Ich bin ein Anfänger , und habe mir...
  5. 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...