Κυριακή, 27 Δεκεμβρίου 2015

Παράδειγμα μέτρηση τηλεφωνικών κλήσεων


Πρόγραμμα που μετράει τηλεφωνικές κλήσεις, και τις ταξινομεί. Δέχεται για εισαγωγή από 1 δευτερόλεπτο ως και 10000 δευτερόλεπτα ανά κλήση, και μας βγάζει κλήσεις ανά λεπτό ομιλίας ως και το 59ο και από εκεί κλήσεις ανά ώρα ομιλίας.
Με νούμερο δευτερολέπτων μικρότερο από 1 ή μεγαλύτερο από 10000 το πρόγραμμα τερματίζει και μας λέει τη "κατανάλωση" ανά καθορισμένες κατηγορίες. Από 59*60+1 έως και 3600 λεπτά "χρεώνει" μια ώρα, δηλαδή αυξάνει τον απαριθμητή της μιας ώρας. Από 1 έως 60 δευτερόλεπτα αυξάνει τον απαριθμητή του ενός λεπτού. Από 1800-59 έως και 1800 αυξάνει τον απαριθμητή των 30 λεπτών.

\\ κόβουμε το Esc
Διαφυγή Όχι
\\ οι οκ, δευτ, ι δεν χρειάζονται να οριστούν στην αρχή
\\ αλλά τις ορίζουμε για να φαίνονται στον αρχάριο!
Ν=0 : οκ=0 : δευτ =0 : ι =0
Πίνακας α(63) \ 0 62, χρήση από 1 έως 62
Τερμάτισε=Ψευδής
Επανέλαβε {
       {
            Δες οκ {
                  Εισαγωγή "Κλήση=", δευτ
            }
            Αν οχι οκ τότε Τύπωσε : Κυκλικά \\ αλλαγή γραμμής και επανέλαβε
      }
      αν δευτ>=1 και δευτ<=10000 τότε {
            Ν++
            Αν (δευτ-1) δια 60 <59 τότε {
                α((δευτ-1) δια 60+1)++
            } αλλιώς {
                α((δευτ-1) δια 3600+60)++
            }
      } Αλλιώς {
      Τερμάτισε=Αληθής
      }
} Μέχρι Τερμάτισε
Αν Ν>0 τότε {
      Τύπωσε "Συνολικές Κλήσεις : "; Ν
      αν α(1)>0 τότε Τύπωσε μορφή$("Κλήσεις 1 λεπτού : {0}", α(1))
      Για ι=2 έως 59 {
            αν α(ι)>0 τότε Τύπωσε μορφή$("Κλήσεις {0} λεπτών : {1}", ι,α(ι))
      }
      αν α(60)>0 τότε Τύπωσε μορφή$("Κλήσεις 1 ώρας : {0}", α(60))
      Για ι=61 έως 62 {
            αν α(ι)>0 τότε Τύπωσε μορφή$("Κλήσεις {0} ωρών : {1}", ι-59,α(ι))
      }
}