Αποστολέας Θέμα: Γενικές ασκήσεις  (Αναγνώστηκε 5991 φορές)

Vagelis

  • Θαμώνας
  • ***
  • Μηνύματα: 31
  • Γράψτε το προσωπικό σας σλόγκαν!
Γενικές ασκήσεις
« στις: 27 Δεκ 2002, 12:29:43 μμ »
Προτείνετε ασκήσεις που δεν εντάσσονται στις άλλες κατηγορίες ή που περιέχουν και επιλογή και επανάληψη κλπ.

stam

  • Νέος
  • *
  • Μηνύματα: 1
  • Γράψτε το προσωπικό σας σλόγκαν!
    • Dotteam
Τραπεζικό ΑΤΜ
« Απάντηση #1 στις: 29 Δεκ 2002, 11:49:17 πμ »
Γεια σας και καλορίζικο το forum!
Ας αρχίσουμε με μία άσκηση όχι και τόσο δύσκολη, απλά λίγο πολύπλοκη!

ΕΚΦΩΝΗΣΗ:
Να γραφτεί πρόγραμμα το οποίο θα προορίζετε για αυτόματο μηχάνημα τράπεζας (ΑΤΜ)
Το πρόγραμμα πρέπει να κάνει τα εξής:

  • Έλεγχος κωδικού κάρτας πελάτη
  • 3 δυνατές επιλογές, κατάθεση, ανάληψη, και ενημέρωση λογαριασμού.

Να λάβετε υπόψιν σας τα εξής:

  • Το σωστό Pin της κάρτας είναι το 2003
  • Το μηχάνημα δίνει μόνο χαρτονομίσματα των 50, 20 και 10 ευρώ.
  • Να γίνετε έλεγος στην ανάληψη αν υπάρχει το ποσό που ζητάει ο πελάτης,
  • αν δεν υπάρχει να εισάγει νέο ποσό μικρότερο
  • Ότι περισσέυει από αυτό που ζητάει ο πελάτης να επιστρέφετε στον λογαριασμό του
  • Αρχικό ποσό για το βιβλιάριο του να είναι τα 1000 ευρώ.
  • Κάθε φορά ο πελάτης μπορεί να κάνει μόνο μία (1) εργασία.


ΛΥΣΗ:[/b]
Κώδικας: [Επιλογή]

Πρόγραμμα Τραπεζικό_ΑΤΜ
Μεταβλητές
 ακέραιες: card_id, poso_kata8eseon, poso_kata8esis, poso_analipsis_se_euro, ypoloipo_50, fores_50, ypoloipo_20, fores_20, ypoloipo_10, fores_10, perisevma_analipsis, teliko_analiptiko_poso
 χαρακτήρες: epilogi
Αρχή
 poso_kata8eseon <-- 1000
 Γράψε 'Καλώς ήλθες αγαπητέ πελάτη στην Αλγορυθμική Τράπεζα!'
 Γράψε 'Παρακαλούμε εισάγετε τον μυστικό κωδικό της κάρτας σας:'
 Διάβασε card_id
 Γράψε 'Περιμένετε ένα λεπτάκι τώρα να δούμε αν είναι σωστός...'
!Έλεγχος του Pin της κάρτας!
 Αν card_id = 2003 τότε
   Γράψε 'Ο κωδικός σας έγινε δεκτός!'
 αλλιώς
   Όσο card_id <> 2003 επανάλαβε
     Γράψε 'Χμμ, ο κωδικός που βάλατε είναι λάθος, για ξαναπροσπαθήστε...'
     Διάβασε card_id
   τέλος_επανάληψης
 τέλος_αν
 Γράψε 'Τι θέτε να κάνετε τώρα??? Αν θέλετε να κάνετε κατάθεση πατήστε Α'
 Γράψε 'αν θέλετε να κάνετε ανάληψη πατήστε Β'
 Γράψε 'και αν θέλετε να κάνετε ενημέρωση λογαριασμού πατήστε Γ'
!Επιλογή του τι θέλουμε να κάνουμε!
 Διάβασε epilogi
 Όσο epilogi <> 'Α' και epilogi <> 'A' και epilogi <> 'B' και epilogi <> 'C' και epilogi <> 'Β' και epilogi <> 'Γ' επανάλαβε
   Γράψε 'Α για κατάθεση, Β για ανάληψη και Γ για ενημέρωση!'
   Διάβασε epilogi
 τέλος_επανάληψης
!Κατάθεση!
 Αν epilogi = 'Α' ή epilogi = 'A' τότε
   Γράψε 'Χμμμ, κατάθεση ε?? Πληρωθήκαμε ε? Τέσπα...'
   Γράψε 'Γράψτε το ποσό που θέλετε να καταθέσετε:'
   Διάβασε poso_kata8esis
   poso_kata8eseon <-- poso_kata8eseon+poso_kata8esis
   Γράψε 'Η συναλλαγή σας ολοκληρώθηκε!'
   Γράψε 'Τώρα έχετε στο πουγκί σας στην τράπεζα μας ', poso_kata8eseon, ' ευρώπουλα!'
 αλλιώς_αν epilogi = 'Β' ή epilogi = 'B' τότε
!Ανάληψη!
   Γράψε 'Οικονομικές δυσκολίες και θέλουμε λεφτά ε? Για να δω αν έχω κιόλας...'
   Γράψε 'Τυχερός είσαι! Όλο και κάτι έχω! Για γράψε πόσα ευρώπουλα θες να πάρεις:'
   Διάβασε poso_analipsis_se_euro
   Γράψε 'Ξεχάσαμε να σας πούμε ότι το μηχάνημα μας δίνει μόνο 50ευρα, 20ευρα και 10ευρα'
   Γράψε 'Ότι περισέψει επιστρέφετε στον λογαριασμό σας!'
!Έλεγχος αν έχει τα λεφτά που θέλουμε!
   Όσο poso_analipsis_se_euro > poso_kata8eseon επανάλαβε
     Γράψε 'Χμ... Δεν έχετε στο λογαριασμό σας τόσα πολλά! Ζητήστε πιο λίγα!'
     Διάβασε poso_analipsis_se_euro
   τέλος_επανάληψης
!Πράξεις για να γίνει η διαλογή του ποσού των ευρώ σε 50ευρα,20ευρα και 10ευρα!
   ypoloipo_50 <-- poso_analipsis_se_euro mod 50
   fores_50 <-- poso_analipsis_se_euro-ypoloipo_50
   fores_50 <-- fores_50 div 50
   ypoloipo_20 <-- ypoloipo_50 mod 20
   fores_20 <-- ypoloipo_50-ypoloipo_20
   fores_20 <-- fores_20 div 20
   ypoloipo_10 <-- ypoloipo_20 mod 10
   fores_10 <-- ypoloipo_20-ypoloipo_10
   fores_10 <-- fores_10 div 10
   teliko_analiptiko_poso <-- fores_10*10+fores_20*20+fores_50*50
   perisevma_analipsis <-- poso_analipsis_se_euro-teliko_analiptiko_poso
   poso_kata8eseon <-- poso_kata8eseon-teliko_analiptiko_poso
   poso_kata8eseon <-- poso_kata8eseon+perisevma_analipsis
   Γράψε 'Λοιπόν θα σας δώσουμε ', fores_50, ' 50ευρα, ', fores_20, ' 20ευρα και ', fores_10, ' 10ευρα!'
   Γράψε 'Περισεύουνε ', perisevma_analipsis, ' ευρώ τα οποία δεν σας τα δίνουμε αλλά τα αφήνουμε στο λογαριασμό σας!'
   Γράψε 'Πάρτε τα λεφτά σας και άντε στο καλό! :Ρ'
 αλλιώς_αν epilogi = 'Γ' ή epilogi = 'C' τότε
!Ενημέρωση!
   Γράψε 'Ενημέρωση θέλατε ε? Πάρτε την τώρα!'
   Γράψε 'Έχετε ', poso_kata8eseon, ' ευρώ!'
 τέλος_αν
 Γράψε 'Μην ξεχάσετε να πάρετε την κάρτα σας, την απόδειξη σας και τα μυαλά σας!!!'
 Γράψε 'Καλή σας μέρα!'                                  !Τέλος
Τέλος_προγράμματος


Παρατηρήσεις, προτάσεις, διορθώσεις φυσικά και είναι δεκτές!  :) :) :)
(Στην εκφώνηση λίγο πρέπει να θέλει διόρθωση αλλά τέσπα  ::))
Φιλικά,
Γιάννης

[img]http://www.dotteam.gr/cgi-bin/sigs/stam.cgi[img]

thaaanos

  • Θαμώνας
  • ***
  • Μηνύματα: 25
Απ: Γενικές ασκήσεις
« Απάντηση #2 στις: 12 Απρ 2020, 04:15:15 πμ »
Μια άσκηση με βάση την λογική των αυτόματων
επαναληψη & εμφωλιασμένες πολλαπλής επιλογης  (συνδιασμοι αν - επιλεξε)

Παράθεση
Σε ένα σύμπλεγμα νησιών υπάρχουν 6 νησιά, η Άβρα, το Βενσαλέμ, το Γκοντ, το Δουρν, η Έσμε και το Ζόλον,
σε κάθε νησί υπάρχουν λιμάνια στο Βορά, Νότο, Δύση και Ανατολή από όπου ξεκινάνε καράβια για κάποιο άλλο νησι
συγκεκριμένα
από την Άβρα το καράβι από Ανατολικό λιμάνι ταξιδεύει προς το Βενσαλέμ, ενώ από το Νότιο προς το Δουρν
από το Βενσαλέμ απο το Δυτικό προς την Άβρα, απο το Νότιο προς προς το Δουρν, από το Βόριο προς Έσμε και από το Ανατολικό προς Γκοντ
από το Δούρν από το Βόριο προς Άβρα, και από το ανατολικό προς το Γκόντ
από το Γκόντ από το Δυτικό προς Βενσαλέμ, και από το Νότιο πρός Δουρν
από την Έσμε από το Δυτικό προς Βενσαλεμ, απο Βόριο προς Άβρα, από Νότιο προς Γκοντ και από Ανατολικό προς το Ζόλον
Ένας ταξιδιώτης θέλει ξεκινώντας από την Άβρα να ταξιδέψει στο Ζόλον
Να γράψετε πρόγραμμα σε ΓΛΩΣΣΑ που εμφανίζει το όνομα του νησιού που βρίσκεται ο ταξιδιώτης κάθως και τα λιμάνια που μπορεί να επιλέξει
χρησιμοποιώντας τα γράμματα Β,Ν,Δ,Α για κάθε λιμάνι.
Εάν επιλέξει λιμάνι που να υπάρχει καράβι τότε ταξιδεύει στο επόμενο νησί και του παρουσιάζονται πάλι οι επιλογές του.
Το πρόγραμμα τελειώνει όταν ο ταξιδιώτης φτάσει στο Ζόλον οπότε του εμφανίζεται το μήνυμα "ντουν ντουν φτάσατε στον προορισμό σας"

Κώδικας: [Επιλογή]
ΠΡΟΓΡΑΜΜΑ Ταξίδι
ΜΕΤΑΒΛΗΤΕΣ
  ΧΑΡΑΚΤΗΡΕΣ: ΝΗΣΙ                   ! ΑΥΡΑ, ΒΕΝΣΑΛΕΜ, ΓΚΟΝΤ, ΔΟΥΡΝ, ΕΣΜΕ, ΖΟΛΟΝ
  ΧΑΡΑΚΤΗΡΕΣ: ΛΙΜΑΝΙ                                                ! Β, Α, Ν, Δ
ΑΡΧΗ
  ΝΗΣΙ <- 'ΑΥΡΑ'
  ΟΣΟ ΝΗΣΙ <> 'ΖΟΛΟΝ' ΕΠΑΝΑΛΑΒΕ
    ΕΠΙΛΕΞΕ ΝΗΣΙ
      ΠΕΡΙΠΤΩΣΗ 'ΑΥΡΑ'
        ΓΡΑΨΕ 'ΑΥΡΑ: ΔΙΑΛΕΞΕ (Α)ΝΑΤΟΛΙΚΟ,(Ν)ΟΤΙΟ ΛΙΜΑΝΙ'
        ΔΙΑΒΑΣΕ ΛΙΜΑΝΙ
        ΕΠΙΛΕΞΕ ΛΙΜΑΝΙ
          ΠΕΡΙΠΤΩΣΗ 'Α'
            ΝΗΣΙ <- 'ΒΕΝΣΑΛΕΜ'
          ΠΕΡΙΠΤΩΣΗ 'Ν'
            ΝΗΣΙ <- 'ΔΟΥΡΝ'
        ΤΕΛΟΣ_ΕΠΙΛΟΓΩΝ
      ΠΕΡΙΠΤΩΣΗ 'ΒΕΝΣΑΛΕΜ'
        ΓΡΑΨΕ 'ΒΕΝΣΑΛΕΜ: ΔΙΑΛΕΞΕ (Β)ΟΡΙΟ, (Α)ΝΑΤΟΛΙΚΟ, (Ν)ΟΤΙΟ, (Δ)ΥΤΙΚΟ ΛΙΜΑΝΙ'
        ΔΙΑΒΑΣΕ ΛΙΜΑΝΙ
        ΕΠΙΛΕΞΕ ΛΙΜΑΝΙ
          ΠΕΡΙΠΤΩΣΗ 'Β'
            ΝΗΣΙ <- 'ΕΣΜΕ'
          ΠΕΡΙΠΤΩΣΗ 'Α'
            ΝΗΣΙ <- 'ΓΚΟΝΤ'
          ΠΕΡΙΠΤΩΣΗ 'Ν'
            ΝΗΣΙ <- 'ΔΟΥΡΝ'
          ΠΕΡΙΠΤΩΣΗ 'Δ'
            ΝΗΣΙ <- 'ΑΥΡΑ'
        ΤΕΛΟΣ_ΕΠΙΛΟΓΩΝ
      ΠΕΡΙΠΤΩΣΗ 'ΓΚΟΝΤ'
        ΓΡΑΨΕ 'ΓΚΟΝΤ: ΔΙΔΑΛΕΞΕ (Ν)ΟΤΙΟ, (Δ)ΥΤΙΚΟ ΛΙΜΑΝΙ'
        ΔΙΑΒΑΣΕ ΛΙΜΑΝΙ
        ΕΠΙΛΕΞΕ ΛΙΜΑΝΙ
          ΠΕΡΙΠΤΩΣΗ 'Ν'
            ΝΗΣΙ <- 'ΔΟΥΡΝ'
          ΠΕΡΙΠΤΩΣΗ 'Δ'
            ΝΗΣΙ <- 'ΒΕΝΣΑΛΕΜ'
        ΤΕΛΟΣ_ΕΠΙΛΟΓΩΝ
      ΠΕΡΙΠΤΩΣΗ 'ΔΟΥΡΝ'
        ΓΡΑΨΕ 'ΔΟΥΡΝ: ΔΙΑΛΕΞΕ (Β)ΟΡΙΟ, (Α)ΝΑΤΟΛΙΚΟ ΛΙΜΑΝΙ'
        ΔΙΑΒΑΣΕ ΛΙΜΑΝΙ
        ΕΠΙΛΕΞΕ ΛΙΜΑΝΙ
          ΠΕΡΙΠΤΩΣΗ 'Β'
            ΝΗΣΙ <- 'ΑΥΡΑ'
          ΠΕΡΙΠΤΩΣΗ 'Α'
            ΝΗΣΙ <- 'ΓΚΟΝΤ'
        ΤΕΛΟΣ_ΕΠΙΛΟΓΩΝ
      ΠΕΡΙΠΤΩΣΗ 'ΕΣΜΕ'
        ΓΡΑΨΕ 'ΕΣΜΕ: ΔΙΑΛΕΞΕ (Β)ΟΡΙΟ, (Α)ΝΑΤΟΛΙΚΟ, (Ν)ΟΤΙΟ, (Δ)ΥΤΙΚΟ ΛΙΜΑΝΙ'
        ΔΙΑΒΑΣΕ ΛΙΜΑΝΙ
        ΕΠΙΛΕΞΕ ΛΙΜΑΝΙ
          ΠΕΡΙΠΤΩΣΗ 'Β'
            ΝΗΣΙ <- 'ΑΥΡΑ'
          ΠΕΡΙΠΤΩΣΗ 'Α'
            ΝΗΣΙ <- 'ΖΟΛΟΝ'
          ΠΕΡΙΠΤΩΣΗ 'Ν'
            ΝΗΣΙ <- 'ΓΚΟΝΤ'
          ΠΕΡΙΠΤΩΣΗ 'Δ'
            ΝΗΣΙ <- 'ΒΕΝΣΑΛΕΜ'
        ΤΕΛΟΣ_ΕΠΙΛΟΓΩΝ
      ΠΕΡΙΠΤΩΣΗ 'ΖΟΛΟΝ'
        ΓΡΑΨΕ 'ΖΟΛΟΝ: ντουν ντουν φτάσατε στον προορισμό σας'
    ΤΕΛΟΣ_ΕΠΙΛΟΓΩΝ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ