Advertisement
winone1208

all ;)

May 19th, 2013
334
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 16.28 KB | None | 0 0
  1. #!/bin/bash
  2. clear
  3. i=n # Poczatkowa wartość zmiennej otwierająca pętle
  4.  
  5. while [ $i == n ]
  6. do
  7.    echo '
  8. Zadanie nr 1
  9. Dane jest równanie y=(a/b). Napisz algorytm, który realizuje następujące założenia: 1) algorytm ma wczytywać wartości liczbowe zmiennych a oraz b; 2) Jeżeli dla wczytanych liczb istnieje wynik to go oblicz i wyświetl jego wartość na ekranie w przeciwnym przypadku wyświetl napis „Brak rozwiązania”.
  10.  
  11. Zadanie nr 2
  12. Dane jest równanie y=(a/b)+(c/d). Napisz algorytm, który realizuje następujące założenia: 1) algorytm ma wczytywać wartości liczbowe zmiennych a, b, c oraz d; 2) Jeżeli dla wczytanych liczb istnieje wynik to go oblicz i wyświetl jego wartość na ekranie w przeciwnym przypadku wyświetl napis „Brak rozwiązania”.
  13.  
  14. Zadanie nr 4
  15. Napisz algorytm za pomocą schematów blokowych i pseudojęzyka, który wczytuje z klawiatury wartość zmiennej i wyświetla na ekranie tekst informujący czy dana liczba jest parzysta.
  16.  
  17. Zadanie nr 5
  18. Napisz algorytm za pomocą schematów blokowych i pseudojęzyka, który wczytuje z klawiatury wartości dwóch zmiennych oraz wyświetla na ekranie tekst informujący czy pierwsza liczba jest podzielna przez drugą.
  19.  
  20. Zadanie nr 6
  21. Napisz algorytm za pomocą schematów blokowych i pseudojęzyka, który wczytuje z klawiatury wartość zmiennej i wyświetla na ekranie tekst informujący czy dana liczba jest ujemna, dodatnia czy równa zeru.
  22.  
  23. Zadanie nr 7
  24. Napisz algorytm za pomocą pseudojęzyka i schematów blokowych. Algorytm ma wczytywać z klawiatury wartości dwóch liczb całkowitych a następnie wyświetlać liczbę większą.
  25.  
  26. Zadanie nr 8
  27. Napisz algorytm, który wczytuje z klawiatury wartości trzech zmiennych: a, c oraz b. Algorytm ma podawać liczbę największą.
  28.    
  29. Zadanie nr 9
  30. Napisz algorytm za pomocą pseudojęzyka i schematów blokowych. Algorytm ma wczytywać z klawiatury dowolne dwie liczby. Zakładamy, że będą to liczby całkowite. Napisz algorytm który ma wyświetlić na ekranie monitora te liczby w kolejności rosnącej.
  31.  
  32. Zadanie nr 10
  33. Napisz algorytm za pomocą pseudojęzyka i schematów blokowych. Algorytm ma wczytywać z klawiatury dowolne trzy liczby. Zakładamy, że będą to liczby całkowite. Napisz algorytm który ma wyświetlić na ekranie monitora te liczby w kolejności malejącej.'
  34.  
  35.   echo
  36.   echo 'Wybierz nr zadania (1/2/4/5/6/7/8/9/10) albo Wyjdź (w)'
  37.   read i
  38.   if [ $i == w ]
  39.   then
  40.     read -p 'Wykonał Patryk Krasny' -s  -t 2
  41.   fi
  42.   echo
  43.   clear
  44.  
  45. #######################################################################################
  46. j=5 # Dokładność obliczen
  47.  
  48. while [ $i == 1 ]
  49. do
  50.  
  51.   clear
  52.   echo 'y=(a/b)'
  53.   echo 'Wpisz a'
  54.   read a
  55.   while [ -z $a  ] # Petla zapobiega pozostawienu pustej zmiennej a
  56.   do
  57.     clear
  58.     echo 'y=(a/b)'
  59.     echo 'Nie wpisałeś a'
  60.     read a
  61.   done
  62.   clear
  63.   echo "y=($a/b)"
  64.   echo 'Wpisz b'
  65.   read b
  66.   while [ -z $b  ] # Petla zapobiega pozostawienu pustej zmiennej b
  67.   do
  68.     clear
  69.     echo "y=($a/b)"
  70.     echo 'Nie wpisałeś b'
  71.     read b
  72.   done
  73.   clear
  74.  
  75.   echo "y=($a/$b)"
  76.  
  77.   if [ $(echo "$b" | bc) -ne 0 ] # Warunek sprawdza czy nie dzielimy przez 0
  78.   then
  79.  
  80.     y=$(echo "scale=$j; ($a/$b)" | bc) # Obliczenia
  81.  
  82.     if [ $(echo "$y<1 && $y>0" | bc) -ne 1 ] # bc nie dodaje 0 w przupadku $y<1 && $y>0
  83.     then
  84.       brakujace_zero=''
  85.     else
  86.       brakujace_zero=0
  87.     fi
  88.  
  89.     echo
  90.     echo "Wynik: $brakujace_zero$y"
  91.     echo "(z dokładnością do $j miejsc po przecinku):"
  92.   else
  93.     echo
  94.     echo 'Brak rozwiązania' # Komunikat pojawi się w przpadku kiedy dzielimy przez 0
  95.   fi
  96.  
  97.   echo
  98.   echo 'Wyjść? (t/n)'
  99.   echo 'u - ustawienia'
  100.   read i
  101.  
  102.   while [ $i = u ] # Ustawienia
  103.   do
  104.     echo ----------------------------------
  105.     echo 'Ustaw liczbe miejsc po przecinku'
  106.     read j
  107.     i=1 # nadanie zmiennej 'i' litery 'n' otwiera program po zmienieniu ustawień
  108.     read -p 'Zapisano!' -s  -t 1
  109.  
  110.   done
  111.  
  112.   clear
  113.  
  114. done
  115. ########################################################################################
  116. j=5 # Dokładność obliczen
  117.  
  118. while [ $i == 2 ]
  119. do
  120.  
  121.   clear
  122.   echo 'y=(a/b)+(c/d)'
  123.   echo 'Wpisz a'
  124.   read a
  125.   while [ -z $a  ] # Petla zapobiega pozostawienu pustej zmiennej a
  126.   do
  127.     clear
  128.     echo 'y=(a/b)+(c/d)'
  129.     echo 'Nie wpisałeś a'
  130.     read a
  131.   done
  132.   clear
  133.   echo "y=($a/b)+(c/d)"
  134.   echo 'Wpisz b'
  135.   read b
  136.   while [ -z $b  ] # Petla zapobiega pozostawienu pustej zmiennej b
  137.   do
  138.     clear
  139.     echo "y=($a/b)+(c/d)"
  140.     echo 'Nie wpisałeś b'
  141.     read b
  142.   done
  143.   clear
  144.   echo "y=($a/$b)+(c/d)"
  145.   echo 'Wpsiz c'
  146.   read c
  147.   while [ -z $c  ] # Petla zapobiega pozostawienu pustej zmiennej c
  148.   do
  149.     clear
  150.     echo "y=($a/$b)+(c/d)"
  151.     echo 'Nie wpisałeś c'
  152.     read c
  153.   done
  154.   clear
  155.   echo "y=($a/$b)+($c/d)"
  156.   echo 'Wpisz d'
  157.   read d
  158.   while [ -z $d  ] # Petla zapobiega pozostawienu pustej zmiennej d
  159.   do
  160.     clear
  161.     echo "y=($a/$b)+($c/d)"
  162.     echo 'Nie wpisałeś c'
  163.     read c
  164.   done
  165.   clear
  166.  
  167.   echo "y=($a/$b)+($c/$d)"
  168.  
  169.   if [ $(echo "$b && $d" | bc) -ne 0 ] # Warunek sprawdza czy nie dzielimy przez 0
  170.   then
  171.  
  172.     y=$(echo "scale=$j; ($a/$b)+($c/$d)" | bc) # Obliczenia
  173.  
  174.     if [ $(echo "$y<1 && $y>0" | bc) -ne 1 ] # bc nie dodaje 0 w przupadku $y<1 && $y>0
  175.     then
  176.       brakujace_zero=''
  177.     else
  178.       brakujace_zero=0
  179.     fi
  180.  
  181.     echo
  182.     echo "Wynik: $brakujace_zero$y"
  183.     echo "(z dokładnością do $j miejsc po przecinku):"
  184.   else
  185.     echo
  186.     echo 'Brak rozwiązania' # Komunikat pojawi się w przpadku kiedy dzielimy przez 0
  187.   fi
  188.  
  189.   echo
  190.   echo 'Wyjść? (t/n)'
  191.   echo 'u - ustawienia'
  192.   read i
  193.   while [ $i = u ] # Ustawienia
  194.   do
  195.     echo ----------------------------------
  196.     echo 'Ustaw liczbe miejsc po przecinku'
  197.     read j
  198.     i=2 # nadanie zmiennej 'i' litery 'n' otwiera program po zmienieniu ustawień
  199.     read -p 'Zapisano!' -s  -t 1
  200.   done
  201.  
  202.   clear
  203.  
  204. done
  205. ########################################################################################
  206. while [ $i == 4 ]
  207. do
  208.  
  209.   clear
  210.   echo 'Sprawdźmy czy liczba jest parzysta :)'
  211.   echo 'Wpisz liczbe'
  212.   read a
  213.   while [ -z $a  ] # Petla zapobiega pozostawienu pustej zmiennej a
  214.   do
  215.     clear
  216.     echo 'Sprawdźmy czy liczba jest parzysta'
  217.     echo 'Nie wpisałeś Liczby :('
  218.     read a
  219.   done
  220.   clear
  221.  
  222.   if [ $(echo "$a" | bc) -ne 0 ]
  223.   then
  224.     b=$[ a%2 ]
  225.     if [ $b -eq 0 ]
  226.     then
  227.       echo "Liczba $a jest parzysta"
  228.     else
  229.       echo "Liczba $a jest nieparzysta"
  230.     fi
  231.   else
  232.     echo 'Wpisałeś 0 lub znak'
  233.   fi
  234.  
  235.   echo
  236.   echo 'Wyjść? (t/n)'
  237.   read i
  238.  
  239.   clear
  240.  
  241. done
  242. ########################################################################################
  243. while [ $i == 5 ]
  244. do
  245.  
  246.   clear
  247.   echo 'Sprawdźmy czy liczby są podzielne prze siebie :)'
  248.   echo 'Wpisz dzielna'
  249.   read a
  250.   while [ -z $a  ] # Petla zapobiega pozostawienu pustej zmiennej a
  251.   do
  252.     clear
  253.     echo 'Sprawdźmy czy liczby są podzielne prze siebie :)'
  254.     echo 'Nie wpisałeś dzielnej :('
  255.     read a
  256.   done
  257.   clear
  258.   echo 'Sprawdźmy czy liczby są podzielne prze siebie :)'
  259.   echo 'Wpisz dzielnik'
  260.   read b
  261.   while [ -z $b  ] # Petla zapobiega pozostawienu pustej zmiennej b
  262.   do
  263.     clear
  264.     echo 'Sprawdźmy czy liczby są podzielne prze siebie :)'
  265.     echo 'Nie wpisałeś dzelnika'
  266.     read b
  267.   done
  268.   clear
  269.  
  270.   if [ $(echo "$b" | bc) -ne 0 ]
  271.   then
  272.     c=$[ a%b ]
  273.     if [ $c -eq 0 ]
  274.     then
  275.       echo "Liczba $a jest podzielna przez $b"
  276.     else
  277.       echo "Liczba $a jest niepodzielna przez $b"
  278.     fi
  279.   else
  280.     echo 'Wpisałeś 0 lub znak'
  281.   fi
  282.  
  283.   echo
  284.   echo 'Wyjść? (t/n)'
  285.   read i
  286.  
  287.   clear
  288.  
  289. done
  290. ########################################################################################
  291. while [ $i == 6 ]
  292. do
  293.  
  294.   clear
  295.   echo 'Sprawdźmy czy liczba jest ujemna, dodatnia czy równa zeru :)'
  296.   echo 'Wpisz liczbe'
  297.   read a
  298.   while [ -z $a  ] # Petla zapobiega pozostawienu pustej zmiennej a
  299.   do
  300.     clear
  301.     echo 'Sprawdźmy czy liczba jest ujemna, dodatnia czy równa zeru'
  302.     echo 'Nie wpisałeś liczby :('
  303.     read a
  304.   done
  305.   clear
  306.  
  307.  
  308.   if [ $a -lt 0 ] # Sprawdzamy czy liczba jest ujemna
  309.   then
  310.     echo "Liczba $a jest ujemna"
  311.   elif [ $a -eq 0 ] # Sprawdzamy czy liczba jest równa zeru
  312.   then
  313.     echo "Liczba $a jest równa zeru"
  314.   else # Wyświetlamy liczbe nie ujemną i nie równą zeru = dodatnią
  315.     echo "Liczba $a jest dodatnia"
  316.   echo
  317.   fi
  318.  
  319.   echo 'Wyjść? (t/n)'
  320.   read i
  321.  
  322.   clear
  323.  
  324. done
  325. ########################################################################################
  326. while [ $i == 7 ]
  327. do
  328.  
  329.   clear
  330.   echo 'Sprawdźmy która liczba jest większa :P'
  331.   echo 'Wpisz pierwsza liczbe'
  332.   read a
  333.   while [ -z $a  ] # Petla zapobiega pozostawienu pustej zmiennej a
  334.   do
  335.     clear
  336.     echo 'Sprawdźmy która liczba jest większa'
  337.     echo 'Nie wpisałeś pierwszej liczby :('
  338.     read a
  339.   done
  340.   clear
  341.   echo 'Sprawdźmy która liczba jest większa :P'
  342.   echo 'Wpisz druiga liczbe'
  343.   read b
  344.   while [ -z $b  ] # Petla zapobiega pozostawienu pustej zmiennej b
  345.   do
  346.     clear
  347.     echo 'Sprawdźmy która liczba jest większa'
  348.     echo 'Nie wpisałeś drugiej liczby :('
  349.     read b
  350.   done
  351.   clear
  352.  
  353.   echo 'Sprawdźmy która liczba jest większa :P'
  354.   echo "Wczytano liczby: $a i $b"
  355.   if [ $a -gt $b ] # Sprwadzamy czy a jest więkasze od b
  356.   then
  357.     echo "Wieksza liczba to $a"
  358.   elif [ $a -lt $b ] # Sprwadzamy czy a jest mniejsze od b
  359.   then
  360.     echo "Wieksza liczba to $b"
  361.   elif [ $a -eq $b ] # Sprawdzamy czy a jest równe b
  362.   then
  363.     echo 'Liczby są sobie równe'
  364.   else # Pozostałe możliwości
  365.     clear
  366.     echo "Wprowadziłeś niedowzwolony znak"
  367.   fi
  368.   echo
  369.   echo 'Wyjść? (t/n)'
  370.   read i
  371.  
  372.   clear
  373.  
  374. done
  375. ########################################################################################
  376. while [ $i == 8 ]
  377. do
  378.  
  379.   clear
  380.   echo 'Sprawdźmy która liczba jest większa :P'
  381.   echo 'Wpisz pierwsza liczbe'
  382.   read a
  383.   while [ -z $a  ] # Petla zapobiega pozostawienu pustej zmiennej a
  384.   do
  385.     clear
  386.     echo 'Sprawdźmy która liczba jest większa'
  387.     echo 'Nie wpisałeś pierwszej liczby :('
  388.     read a
  389.   done
  390.   clear
  391.   echo 'Sprawdźmy która liczba jest większa :P'
  392.   echo 'Wpisz druiga liczbe'
  393.   read b
  394.   while [ -z $b  ] # Petla zapobiega pozostawienu pustej zmiennej b
  395.   do
  396.     clear
  397.     echo 'Sprawdźmy która liczba jest większa'
  398.     echo 'Nie wpisałeś drugiej liczby :('
  399.     read b
  400.   done
  401.   clear
  402.   echo 'Sprawdźmy która liczba jest większa :P'
  403.   echo 'Wpisz trzecia liczbe'
  404.   read c
  405.   while [ -z $c  ] # Petla zapobiega pozostawienu pustej zmiennej c
  406.   do
  407.     clear
  408.     echo 'Sprawdźmy która liczba jest większa'
  409.     echo 'Nie wpisałeś trzeciej liczby :('
  410.     read c
  411.   done
  412.   clear
  413.  
  414.  
  415.   echo 'Sprawdźmy która liczba jest większa :P'
  416.   echo "Wczytano liczby: $a, $b i $c"
  417.   if [ $(echo "$a>$b && $a>$c" | bc) -eq 1 ] # Sprawdzamy czy a jest więkasze od b i c
  418.   then
  419.     echo "Wieksza liczba to $a"
  420.   elif [ $(echo "$a<$b && $c<$b" | bc) -eq 1 ] # Sprawdzamy czy b jest większe od a i c
  421.   then
  422.     echo "Wieksza liczba to $b"
  423.   elif [ $(echo "$a<$c && $b<$c" | bc) -eq 1 ] # Sprawdzamy czy c jest większe od a i b
  424.   then
  425.     echo "Wieksza liczba to $c"
  426.   elif [ $a -eq $b ]  # Sprawdzamy czy a jest równe b(jeżeli tu a=b to a=b=c)
  427.   then
  428.     echo 'Liczby są sobie równe'
  429.   else # Pozostałe możliwości
  430.     clear
  431.     echo "Wprowadziłeś niedowzwolony znak"
  432.   fi
  433.   echo
  434.   echo 'Wyjść? (t/n)'
  435.   read i
  436.  
  437.   clear
  438.  
  439. done
  440. ########################################################################################
  441. while [ $i == 9 ]
  442. do
  443.  
  444.   clear
  445.   echo 'Sprawdźmy która liczba całkowita jest większa :P'
  446.   echo 'Wpisz pierwsza liczbe'
  447.   read a
  448.   while [ -z $a ] # Petla zapobiega pozostawienu pustej zmiennej a
  449.   do
  450.     clear
  451.     echo 'Sprawdźmy która liczba całkowita jest większa'
  452.     echo 'Nie wpisałeś pierwszej liczby :('
  453.     read a
  454.   done
  455.   clear
  456.   echo 'Sprawdźmy która liczba całkowita jest większa :P'
  457.   echo 'Wpisz druiga liczbe'
  458.   read b
  459.   while [ -z $b ] # Petla zapobiega pozostawienu pustej zmiennej b
  460.   do
  461.     clear
  462.     echo 'Sprawdźmy która liczba całkowita jest większa'
  463.     echo 'Nie wpisałeś drugiej liczby :('
  464.     read b
  465.   done
  466.   clear
  467.  
  468.   echo 'Sprawdźmy która liczba całkowita jest większa :P'
  469.   echo "Wczytano liczby: $a i $b"
  470.  
  471.  
  472.   if [ $a -gt $b ] # Sprawdzamy czy a jest więkasze od b
  473.   then
  474.     echo "$b<$a"
  475.   elif [ $a -lt $b ] # Sprawdzamy czy a jest mniejsze od b
  476.   then
  477.     echo "$a<$b"
  478.   elif [ $a -eq $b ] # Sprawdzamy czy a jest równe od b
  479.   then
  480.     echo "$a=$b"
  481.   else # Pozostałe możliwości
  482.     clear
  483.     echo 'Wpisałeś niepoprawny znak'
  484.   fi
  485.  
  486.   echo
  487.   echo 'Wyjść? (t/n)'
  488.   read i
  489.  
  490.   clear
  491.  
  492. done
  493. ########################################################################################
  494. while [ $i == 10 ]
  495. do
  496.  
  497.   clear
  498.   echo 'Sprawdźmy która liczba całkowita jest większa :P'
  499.   echo 'Wpisz pierwsza liczbe'
  500.   read a
  501.   while [ -z $a  ] # Petla zapobiega pozostawienu pustej zmiennej a
  502.   do
  503.     clear
  504.     echo 'Sprawdźmy która liczba całkowita jest większa'
  505.     echo 'Nie wpisałeś pierwszej liczby :('
  506.     read a
  507.   done
  508.   clear
  509.   echo 'Sprawdźmy która liczba całkowita jest większa :P'
  510.   echo 'Wpisz druiga liczbe'
  511.   read b
  512.   while [ -z $b  ] # Petla zapobiega pozostawienu pustej zmiennej b
  513.   do
  514.     clear
  515.     echo 'Sprawdźmy która liczba całkowita jest większa'
  516.     echo 'Nie wpisałeś drugiej liczby :('
  517.     read b
  518.   done
  519.   clear
  520.   echo 'Sprawdźmy która liczba całkowita jest większa :P'
  521.   echo 'Wpisz trzecia liczbe'
  522.   read c
  523.   while [ -z $c  ] # Petla zapobiega pozostawienu pustej zmiennej c
  524.   do
  525.     clear
  526.     echo 'Sprawdźmy która liczba całkowita jest większa'
  527.     echo 'Nie wpisałeś trzeciej liczby :('
  528.     read c
  529.   done
  530.   clear
  531.  
  532.  
  533.   echo 'Sprawdźmy która liczba całkowita jest większa :P'
  534.   echo "Wczytano liczby: $a, $b i $c"
  535.  
  536.   if [ $(echo "$a>=$b && $a>=$c" | bc) -eq 1 ] # Sprawdzamy czy a jest więkasze od b i c
  537.   then
  538.     if [ $c -le $b ] # Sprawdzamy czy c jest mniejsze równe od b
  539.     then
  540.       if [ $a -eq $b ] # Sprawdzamy czy a jest równe  b
  541.       then
  542.         if [ $a -eq $c ] # Sprawdzamy czy a jest równe c
  543.         then
  544.           echo "$a=$b=$c"
  545.         elif [ $b -eq $a ] # Sprawdzamy czy b jest równe a
  546.         then
  547.           echo "$b=$a>$c"
  548.         fi
  549.       elif [ $b -eq $c ] # Sprawdzamy czy b jest równe c
  550.       then
  551.         echo "$a>$c=$b"
  552.       else
  553.         echo "$a>$b>$c"
  554.       fi
  555.     elif [ $c -gt $b ] # Sprawdzamy czy c jest większe od b
  556.     then
  557.       if [ $a -eq $c ] # Sprawdzamy czy a jest równe c
  558.       then
  559.         echo "$a=$c>$b"
  560.       fi
  561.     elif [ $c -lt $b ] # Sprawdzamy czy c jest mniejsze od b
  562.     then
  563.       echo "$a>$c>$b"
  564.     else # Pozostałe możliwości
  565.       clear
  566.       echo "Wprowadziłeś niedowzwolony znak"
  567.     fi
  568.   elif [ $(echo "$a<=$b && $c<=$b" | bc) -eq 1 ] # Sprawdzamy czy b jest większe od a i c
  569.   then
  570.     if [ $b -eq $c ] # Sprawdzamy czy b jest równe c
  571.     then
  572.       echo "$c=$b>$a"
  573.     elif [ $a -eq $c ] # Sprawdzamy czy a jest równe od c
  574.     then
  575.       echo "$b>$c=$a"
  576.     elif [ $a -gt $c ] # Sprawdzamy czy a jest większe od c
  577.     then
  578.       echo "$b>$a>$c"
  579.     elif [ $a -lt $c ] # Sprawdzamy czy a jest mniejsze od c
  580.     then
  581.       echo "$b>$c>$a"
  582.     else # Pozostałe możliwości
  583.       clear
  584.       echo "Wprowadziłeś niedowzwolony znak"
  585.     fi
  586.   elif [ $(echo "$a<=$c && $b<=$c" | bc) -eq 1 ] # Sprwadzamy czy c jest większe od a i b
  587.   then
  588.     if [ $a -eq $c ] # Sprawdzamy czy a jest równe  c
  589.     then
  590.       echo "$a=$c>$b"
  591.     elif [ $a -eq $b ] # Sprawdzamy czy a jest równe b
  592.     then
  593.       echo "$c>$a=$b"
  594.     elif [ $a -gt $b ] # Sprawdzamy czy a jest równe b
  595.     then
  596.       echo "$c>$a>$b"
  597.     elif [ $a -lt $b ] # Sprawdzamy czy a jest mniejsze od b
  598.     then
  599.       echo "$c>$b>$a"
  600.     else # Pozostałe możliwości
  601.       clear
  602.       echo "Wprowadziłeś niedowzwolony znak"
  603.     fi
  604.   else # Pozostałe możliwości
  605.     clear
  606.     echo "Wprowadziłeś niedowzwolony znak"
  607.   fi
  608.  
  609.   echo
  610.   echo 'Wyjść? (t/n)'
  611.   read i
  612.  
  613.   clear
  614.  
  615. done
  616. ########################################################################################
  617. done
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement