Εργαστήριο 5 Εντολές Επιλογής Λήψη αποφάσεων σ ένα πρόγραμμα με την εντολή επιλογής.. Κατανόηση της εντολής επιλογής στη Pascal. H έννοια και η μορφή μίας λογικής συνθήκης.. Σύνθετες λογικές συνθήκες. Χειρισμός πολλών εναλλακτικών συνθηκών. Σκοπός
5.1 Η ΕΝΤΟΛΗ ΕΠΙΛΟΓΗΣ Λήψη Αποφάσεων από το Πρόγραμμα Η πρόταση if (αν) της Pascal επιτρέπει στα προγράμματα σας να κάνουν έναν έλεγχο και στη συνέχεια να εκτελούν κάποιες προτάσεις με βάση το αποτέλεσμα του ελέγχου. Η μορφή της πρότασης if είναι η εξής: if (η_συνθήκη_είναι_αληθής) then πρόταση1 else πρόταση2; Η πρόταση if συνήθως εκτελεί έναν έλεγχο χρησιμοποιώντας ένα λογικό τελεστή της Pascal. Αν το αποτέλεσμα του ελέγχου είναι αληθές, το πρόγραμμα εκτελεί τις προτάσεις που ακολουθούν την πρόταση if. Διαφορετικά, εκτελεί τις προτάσεις που ακολουθούν το else
Τελεστής Έλεγχος Παράδειγμα = Αν δύο τιμές είναι ίσες (vathmos = 100) <> Αν δύο τιμές δεν είναι ίσες (palio <> neo) > Αν η πρώτη τιμή είναι μεγαλύτερη (kostos > 500) από τη δεύτερη < Αν η πρώτη τιμή είναι μικρότερη (kostos < 500) από τη δεύτερη >= Αν η πρώτη τιμή είναι μεγαλύτερη (xondriki_timi > = 300) ή ίση από τη δέυτερη <= Αν η πρώτη τιμή είναι μικρότερη ή ίση από τη δεύτερη (ilikia <= 21) Πίνακας 5.1 Οι συσχετιστικοί τελεστές της PASCAL. Εργαστήριο 5 Η ΕΝΤΟΛΗ ΕΠΙΛΟΓΗΣ Επτάρια Γράψτε ένα πρόγραμμα που να διαβάζει έναν διψήφιο ακέραιο αριθμό και να υπολογίζει και να εκτυπώνει πόσες φορές επαναλαμβάνεται το 7, σ αυτό τον αριθμό Πρόγραμμα program eptaria; var arithmos : integer; phliko, ypoloipo : integer; begin write('dwse enan dipsifio akeraio arithmo:'); readln(arithmos); phliko := arithmos div 10; ypoloipo := arithmos mod 10;
if (phliko = 7) and (ypoloipo = 7) then writeln('o arithmos exei dyo (2) eptaria') else if (phliko = 7) or (ypoloipo = 7) then writeln('o arithmos exei ena (1) eptari') else writeln('o arithmos den periexei kanena epta'); readln(); end. 5.2 Η Εντολή Πολλαπλών Επιλογών Case Συνήθως εξετάζουμε δύο περιπτώσεις, ανάλογα με το αν μία συνθήκη ισχύει ή όχι. Όμως, η if then else δε περιορίζεται σε δύο ενδεχόμενα. Εάν σ ένα υπολογισμό χρειάζεται να διακρίνουμε ανάμεσα σε τρείς περιπτώσεις, όπως για παράδειγμα κατά τον υπολογισμό των ριζών της δευτεροβάθμιας εξίσωσης, όπου εξετάζουμε εάν η διακρίνουσα Δ είναι μεγαλύτερη του μηδενός (2 ρίζες), ίση με μηδέν (διπλή ρίζα), ή μικρότερη του μηδενός (2 μιγαδικές ρίζες), τότε χρησιμοποιούμε δύο if then else με τη δεύτερη να εμπεριέχεται στη πρώτη. Ανάλογα, εαν θέλουμε να διακρίνουμε τέσσερις περιπτώσεις, χρησιμοποιούμε τρείς if then else, με καθεμία απο αυτές να εμπεριέχεται στη προηγούμενη, σε διαδοχικά επίπεδα nesting Ένας απλούστερος τρόπος να προγραμματίσουμε τη πολλαπλή επιλογή προσφέρεται απο την εντολή CASE. Έτσι, σε υπολογισμούς που χρειάζεται να διακρίνουμε ανάμεσα σε μεγάλο αριθμό περιπτώσεων (περισσότερες από τρείς) από τις οποίες μία μόνο μπορεί να ισχύει και αυτή μόνο θα εκτελεστεί κατά την εκτέλεση του προγράμματος με συγκεκριμμένα δεδομένα, τότε αντί των πολλαπλών if then else μπορούμε να χρησιμοποιήσουμε την εντολή CASE. Η εντολή CASE (PASCAL, σσ. 116 118) έχει τη σχηματική μορφή: CASE παράσταση ελέγχου OF
Εκτελείται μόνο εαν η τιμή της παράστασης στο CASE ανήκει στη λίστα τιμών 1 λίστα τιμών 1 :εντολή 1; Εκτελείται μόνο εαν η τιμή της παράστασης στο CASE ανήκει στη λίστα τιμών 2 λίστα τιμών 2 :εντολή 2;.... Εκτελείται μόνο εαν η τιμή της παράστασης στο CASE ανήκει στη λίστα τιμών Ν λίστα τιμών Ν :εντολή Ν Εκτελείται μόνο όταν η τιμή της παράστασης στο CASE δέν ανήκει σε καμμιά απο τις παραπάνω λίστες τιμών. ELSE END;
Εντολή Εισαγωγής («Ανάγνωσης») Δεδομένων στον Υπολογιστή Chapter 2. C++ Syntax and Semantics, and the Program Development Process. A LABORATORY COURSE IN C++, ISBN: 9780763778828
ΕΡΓΑΣΤΗΡΙΟ 5 Εισαγωγή στο Προγραμματισμό με τη PASCAL & τη MATLAB Ενότητα 1: Θεωρητικό Μέρος Όνομα: 1. Η λειτουργία της εντολής επιλογής σ ένα πρόγραμμα, είναι: (α) Να συγκρίνει τις τιμές δεδομένων. (β) Να ελέγχει εάν δεδομένα του προγράμματος εκπληρώνουν μία συνθήκη. (γ) Να διασφαλίζει ότι ένα πρόγραμμα απαραίτητα θα τελειώσει τη λειτουργία του. (δ) Να επιτρέπει στο πρόγραμμα να παίρνει αποφάσεις. 2. Η συνθήκη σε μία εντολή επιλογής (α) Μπορεί μόνον να είναι μία απλή συνθήκη που συγκρίνει δύο αριθμούς. (β) Μπορεί να εξετάζει σχέσεις ισότητας ή ανισότητας μόνο μεταξύ αριθμητικών τιμών. (γ) Μπορεί να συγκρίνει όχι μόνο αριθμητικές τιμές, αλλά χαρακτήρες και κείμενο. (δ) Μπορεί να συγκρίνει μόνο ακέραιες τιμές.. 3. Με την εντολή επιλογής if: (α) Μπορούμε μόνον να εξετάζουμε / ελέγχουμε ένα από δύο ενδεχόμενα. (β) Μπορούμε να ορίζουμε εναλλακτικές λειτουργίες, για καθένα από δύο μόνον διαφορετικά ενδεχόμενα.. (γ) Μπορούμε να ορίζουμε εναλλακτικές λειτουργίες, για οποιοδήποτε αριθμό διαφορετικών ενδεχομένων.. (δ) Μπορούμε να ορίζουμε λειτουργίες για οποιοδήποτε αριθμό εναλλακτικών ενδεχομένων, όμως θα πρέπει να χρησιμοποιήσουμε περισσότερες από μία if. 4. H παράσταση ελέγχου στην εντολή case: (α) Είναι μία απλή συνθήκη, όπως μία απλή συνθήκη στην if.
(β) Μπορεί να είναι μία σύνθετη συνθήκη, όπως μία σύνθετη συνθήκη στην if. (γ) Μπορεί να είναι οποιουδήποτε τύπου, δηλαδή INTEGER, CHAR ή BOOLEAN, εκτός από REAL. (δ) Μπορεί να είναι μόνον ενός βαθμωτού τύπου, ενός φάσματος δηλαδή διακριτών τιμών. 5. Εμφυτευμένη Επιλογή. Χρησιμοποιείστε την εντολή επιλογής if, για να γράψτε ένα μικρό πρόγραμμα που ελέγχει τη Διακρίνουσα (Δ) μίας δευτεροβάθμιας εξίσωσης, αν είναι μεγαλύτερη του 0 (Δ > 0), ίση με μηδέν (Δ = 0) ή μικρότερη του μηδενός (Δ < 0). 6. Επτάρια Γράψτε ένα πρόγραμμα που να διαβάζει έναν διψήφιο ακέραιο αριθμό και να υπολογίζει και να εκτυπώνει πόσες φορές επαναλαμβάνεται το 7, σ αυτό τον αριθμό 7. Κρυπτογράφηση / Αποκρυπτογράφηση. Η κρυπτογραφία είναι πάντα ένα πολύ ενδιαφέρον αντικείμενο και πρόσφατα, αρκετά επίκαιρο με τη ταινία Αίνιγμα και την αποκρυπτογράφηση των κωδικοποιημένων μηνυμάτων των Γερμανων, στο Β Παγκόσμιο Πόλεμο.
Πώς όμως, ποια είναι γενικά η διαδικασία για να κρυπτογραφούμε / αποκρυπτογραφούμε μηνύματα. Σ αυτή την άσκηση εξετάζουμε μία απλή μέθοδο έναν απλό κώδικα, όπου αντικαθιστούμε κάθε γράμμα του αλφαβήτου, από ένα άλλο, μετατοπίζοντας τα γράμματα του αλφαβήτου, κατά ένα σταθερό αριθμό θέσεων. Για παράδειγμα, μπορούμε να κωδικοποιήσουμε μηνύματα, μετατοπίζοντας κάθε γράμμα του αλφαβήτου, κατά 3 θέσεις, δημιουργώντας έτσι, την αντιστοιχία: A Δ Β Ε Γ Ζ Φ Ζ Χ Ω Υ Α Ζ Β Ω Γ Γράψτε ένα πρόγραμμα που να διαβάζει ένα κώδικα, για παράδειγμα το κώδικα Α R και να κωδικοποιεί μηνύματα τριών λέξεων, για παράδειγμα τη λέξη say, χρησιμοποιώντας αυτό το κώδικα. 8. Γράψτε ένα πρόγραμμα που να μετατρέπει τα γράμματα του λατινικού αλφαβήτου στο κώδικα Morse.