Advertisement
winone1208

All :)

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