Guest User

Untitled

a guest
Feb 18th, 2018
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.23 KB | None | 0 0
  1. #! /bin/bash
  2.  
  3. i=0 #Zmienna wykorzystywana do zliczania ilości wczytanych liczb
  4. s=0 #Zmienna wykorzystywana do zliczania sumy wczytaych liczb
  5.  
  6. echo "Aby zakończyć wprowadzanie liczn, wprowadź słowo \"koniec\""
  7.  
  8. while true
  9. do
  10.  
  11. read l #Wczytywanie ciągów znakowych z klawiatury
  12. echo "Podano $l"
  13.  
  14. case "$l" in
  15. Koniec | koniec ) #Pętla nieskonczona obraca się do póki nie zostanie wprowadzone słowo kończące
  16. break #Za pomocą break program kończy pętlę
  17. ;;
  18. *[a-Z]* ) #Kontrola przed umieszczeniem w ciągu znakowym liter
  19. echo "Podawaj jedynie liczby lub słowo kończące!"
  20. ;;
  21. *[0-9]* ) #Jeśli wprowadzony ciąg jest poprawny, zostają wykonane:
  22. s=$[s+l] #1) Przypisanie do sumy jej obecnie posiadaną wartość powiększoną o wartość liczby wczytanej
  23. i=$[i+1] #2) Zwiększenie licznika przechowującego ilość liczb już wczytanych o jeden
  24. ;;
  25. * ) #W przypadku wprowadzenia jakiegokolwiek innego ciągu niż liczba, wyświetlony zostanie komunikat błędzie
  26. echo "Podawaj jedynie liczby lub słowo kończące!"
  27.  
  28. esac
  29.  
  30. done
  31.  
  32. if((i == 0)) #Zabezpieczenie programu przed błędem wynikającym z dzielenia przez 0
  33. then
  34. echo "Nie wprowadzono żadnych liczb do policzenia średniej"
  35. else
  36. echo "Średnia podanych liczb wynosi $[s/i]"
  37. fi
Add Comment
Please, Sign In to add comment