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

    Anzeige

    Wenn du mehr über Linux erfahren möchtest, dann solltest du dir mal folgende Shellkommandos anschauen.


    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. #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
     
  16. 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
Besucher kamen mit folgenden Suchen
  1. /bin/sh rechnen

Die Seite wird geladen...

Mit der Shell Rechnen - Ähnliche Themen

  1. Canonical beschleunigt Gnome-Shell

    Canonical beschleunigt Gnome-Shell: Ubuntu-Entwickler haben einige Geschwindigkeitsprobleme in der Gnome-Shell identifiziert und für Gnome 3.34 behoben. Weitere Verbesserungen sollen...
  2. mehrsprachiges Shellscript - wie umsetzen?

    mehrsprachiges Shellscript - wie umsetzen?: Hallo, wie zieht man am besten mehrsprachige Scripte auf? Zuerst alle Texte in Variablen legen und diese später im Script aufrufen, je nach...
  3. Kein Login zur Shell - This service allows sftp connections only.

    Kein Login zur Shell - This service allows sftp connections only.: Ich habe einen User angelegt und diesem über usermod die Shell /bin/bash zugewiesen. Aber immer wenn ich mich einloggen möchte, kommt die Meldung...
  4. .txt Tabellen mit Shell ändern

    .txt Tabellen mit Shell ändern: Hallo, ich möchte mit meiner Shell (Xubuntu, xfce4-terminal 0.6.3) tabellen mit .txt Format ändert. Aktuell haben sie die Form: Daten x;y 1;2...
  5. Gif mit Shell-Skript öffnen

    Gif mit Shell-Skript öffnen: Hallo, kann man ein .gif-Datei mit einem Shell-Skript öffnen bzw. anzeigen lassen? Gibt es einen Befehl, den man dafür nutzen kann? Es soll nur...
  1. Diese Seite verwendet Cookies um Inhalte zu personalisieren. Außerdem werden auch Cookies von Diensten Dritter gesetzt. Mit dem weiteren Aufenthalt akzeptierst du diesen Einsatz von Cookies.
    Information ausblenden