Α) Αντικείμενο των εργαστηριακών εξετάσεων



Σχετικά έγγραφα
ΑΣΚΗΣΕΙΣ Ακολουθίας. Πίνακας τιµών µεταβλητών Χ Α Β α β γ

ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ Γ ΤΑΞΗ

Κεφάλαιο Πέµπτο: Η Εξάσκηση

ΑΣΚΗΣΗ 2: ΔΟΜΗ ΠΡΟΓΡΑΜΜΑΤΟΣ C, ΧΕΙΡΙΣΜΟΣ ΜΕΤΑΒΛΗΤΩΝ ΚΑΙ ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ ΚΑΙ ΕΞΟΔΟΥ

επιµέλεια Θοδωρής Πιερράτος

ΑΣΚΗΣΗ 5: ΠΙΝΑΚΕΣ. Σχήµα 1: H έννοια των πινάκων

Εντολή ΓΡΑΨΕ. Εντολή ιάβασε

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ

επιστρέφει αριθµό που προκύπτει µε αντιστροφή των στοιχείων του πρώτου

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ

Σηµείωση : Θεωρούµε ότι όλα τα ονόµατα µαθητών που ανήκουν στο ίδιο σχολείο είναι διαφορετικά µεταξύ τους, ενώ σε διαφορετικά σχολεία µπορεί να

ώστε επιλογή: Στη συνέχεια θα διαβάζει την επιλογή του χρήστη και την ακτίνα ενός κύκλου και θα εκτυπώνει το αντίστοιχο αποτέλεσµα.

Αναφέρατε τις ιδιότητες που πρέπει να διακρίνουν τα υποπρογράμματα. Μονάδες 3

ΔΙΑΓΩΝΙΣΜΑ ΠΡΟΣΟΜΟΙΩΣΗΣ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

Ινστιτούτο Επαγγελµατική Κατάρτιση Κορυδαλλού "ΤΕΧΝΙΚΟΣ ΣΥΣΤΗΜΑΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ" (Ερωτήσεις Πιστοποίησης στην γλώσσα προγραµµατισµού C)

ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ ΚΕΦΑΛΑΙΟ 2 ο ΚΕΦΑΛΑΙΟ 7 ο - ΑΣΚΗΣΕΙΣ - ΠΡΟΒΛΗΜΑΤΑ ΔΟΜΗ ΕΠΙΛΟΓΗΣ

Βαθµολογία Χαρακτηρισµός

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

Άσκηση 1 (κλιμακωτή χρέωση) Ένα γραφείο ενοικίασης αυτοκινήτων εφαρμόζει την παρακάτω τιμολογιακή πολιτική: Πάγιο 30 ευρώ

Α2. Να γράψετε στο τετράδιο απαντήσεών σας το κατάλληλο τμήμα κώδικα, κάνοντας τις απαραίτητες αλλαγές σύμφωνα με την εκάστοτε εκφώνηση:

ΦΡΟΝΤΙΣΤΗΡΙΑ ΠΡΟΟΔΟΣ

Καθηγητής Ε. Χ. ΖΙΟΥΛΑΣ

ΑΣΚΗΣΕΙΣ ΣΤΗ ΟΜΗ ΕΠΙΛΟΓΗΣ (ΑΝΑΦΕΡΟΝΤΑΙ ΟΣΑ ΠΡΟΕΡΧΟΝΤΑΙ ΑΠΟ ΤΗΝ ΤΡΑΠΕΖΑ ΘΕΜΑΤΩΝ)

Παλλατίδειο ΓΕΛ Σιδηροκάστρου

ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ Γ ΤΑΞΗ

Μονάδες 10. Μονάδες 9 5 PROLOG. Μονάδες 5

Να το ξαναγράψετε χρησιμοποιώντας αντί για την εντολή Για Τέλος_επανάληψης: α. την εντολή Όσο Τέλος_επανάληψης

οµή Επιλογής Α. Κατηγορία προβληµάτων Β. Κριτήριο Αλγορίθµου Γ. Τρόπος αναπαράστασης αλγορίθµων . Είδος σταθεράς Ε. Λογική τιµή

ΘΕΜΑ Α. Μονάδες 10 Α2.

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ

Α1. Χαρακτηρίστε τις παρακάτω προτάσεις ως σωστές ή λανθασμένες.

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

Ασκήσεις στη δομή επιλογής

Γ ΤΑΞΗ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ÑÏÌÂÏÓ

% % % >1000 0%

α. Προσπέλαση β. Αντιγραφή γ. ιαγραφή δ. Αναζήτηση ε. Εισαγωγή στ. Ταξινόµηση

8.4. Δραστηριότητες - ασκήσεις

ΘΕΜΑ 1 ο. Στήλη Β Προτάσεις. β. Ο βρόχος επανάληψης τερµατίζεται, όταν η συνθήκη είναι αληθής. όταν η συνθήκη είναι ψευδής.

Προγραμματισμός Η/Υ Ι (Χρήση της C) 6 η Θεωρία ΜΟΝΟΔΙΑΣΤΑΤΟΙ ΠΙΝΑΚΕΣ

Εισαγωγή στην C. Μορφή Προγράµµατος σε γλώσσα C

ΘΕΜΑ 1ο Α. ίνεται η παρακάτω αλληλουχία εντολών: ιάβασε α, β Αν α > β τότε c α / (β - 2) Τέλος_αν Εκτύπωσε c

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #4

ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΑΛΓΟΡΙΘΜΟΙ ΚΕΦΑΛΑΙΟ 3 ο (ΜΟΝΟΔΙΑΣΤΑΣΤΟΙ ΠΙΝΑΚΕΣ)

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ

ΘΕΜΑ 1ο. Μονάδες 10. Β. ίνεται το παρακάτω τμήμα αλγορίθμου: Όσο Ι < 10 επανάλαβε Εμφάνισε Ι Ι Ι + 3 Τέλος_επανάληψης ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

8. Η δημιουργία του εκτελέσιμου προγράμματος γίνεται μόνο όταν το πηγαίο πρόγραμμα δεν περιέχει συντακτικά λάθη.

Δομή Προγράμματος C++, Χειρισμός Μεταβλητών και Συναρτήσεις Εισόδου - Εξόδου

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 1 Εισαγωγή στη C. Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr

Στήλη Β Προτάσεις α. Ο βρόχος επανάληψης τερµατίζεται, όταν η συνθήκη είναι αληθής β. Ο βρόχος επανάληψης

ΑΣΚΗΣΕΙΣ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΟΜΕΣ Ε ΟΜΕΝΩΝ (ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΑΣΚΗΣΕΙΣ 2)

Στήλη Β Προτάσεις. 1. Όσο συνθήκη επανάλαβε εντολές Τέλος_επανάληψης 2. Αρχή_επανάληψης εντολές Μέχρις_ότου συνθήκη

ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ Γ ΗΜΕΡΗΣΙΩΝ

ΚΕΦΑΛΑΙΟ 2 Παράδειγμα 3 Παράδειγμα 5 Παράδειγμα 6 ΔΤ3 ΔΤ4 151

C Programming EPL032 Maria Stavrinou Ioannou Εισαγωγή στη Γλώσσα C

Βαθμός Σχόλια. lab5 PASS PASS PASS PASS PASS. Οριακά PASS - Καλή δουλειά

ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ Γ ΤΑΞΗ

Δομή Επιλογής Απαντήσεις Ασκήσεων

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Γ ΛΥΚΕΙΟΥ ΟΜΑΔΑ ΠΡΟΣΑΝΑΤΟΛΙΣΜΟΥ ΣΠΟΥΔΩΝ ΟΙΚΟΝΟΜΙΑΣ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ

Στήλες:

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΣΧΟΛΙΚΟΥ ΕΤΟΥΣ

ΟΜΟΣΠΟΝΔΙΑ ΕΚΠΑΙΔΕΥΤΙΚΩΝ ΦΡΟΝΤΙΣΤΩΝ ΕΛΛΑΔΟΣ (Ο.Ε.Φ.Ε.) ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ 2019 Β ΦΑΣΗ Γ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ

παραπάνω αλληλουχία εντολών ικανοποιεί όλα τα

ΓΥΜΝΑΣΙΟ Λ.Τ. ΒΙΛΙΩΝ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡ. ΠΕΡΙΒΑΛΛΟΝ ΣΧ. ΕΤΟΣ

A. Να γράψετε τον αριθμό της κάθε μιας από τις παρακάτω προτάσεις και δίπλα. το γράμμα Σ, εάν είναι σωστή, ή το γράμμα Λ, εάν είναι λανθασμένη.

Ακρότατα πίνακα, χωρίς min, max, μόνο με pos

ΟΜΟΣΠΟΝ ΙΑ ΕΚΠΑΙ ΕΥΤΙΚΩΝ ΦΡΟΝΤΙΣΤΩΝ ΕΛΛΑ ΟΣ (Ο.Ε.Φ.Ε.) ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ 2017 A ΦΑΣΗ

ΘΕΜΑ 1ο. Μονάδες 10. Β. ίνεται το παρακάτω τμήμα αλγορίθμου: Όσο Ι < 10 επανάλαβε Εμφάνισε Ι Ι Ι + 3 Τέλος_επανάληψης ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ

Αντικείμενα 2 ου εργαστηρίου

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

ΕΡΓΑΣΤΗΡΙΟ 1 ΕΙΣΑΓΩΓΗ ΣΤΗ C. Τµήµα Πληροφορικής και Τηλεπικοινωνιών

Τρίτη, 1 Ιουνίου 2004 ΤΕΧΝΟΛΟΓΙΚΗ ΚΑΤΕΥΘΥΝΣΗ Γ ΛΥΚΕΙΟΥ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ

ΘΕΜΑ Α. Μονάδες 10 Α2.

ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΑΞΗ : Γ ΛΥΚΕΙΟΥ ΣΠΟΥΔΕΣ ΟΙΚΟΝΟΜΙΑΣ & ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΜΗΜΑ: Γ2

ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΑΡΧΕΣ ΤΗΣ ΕΠΙΣΤΗΜΗΣ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C

Εντολή Δεδομένα Περιεχόμενα μετά την εκτέλεση 1 read(x) 122 x= 2 read(a,b,c) a= b= c= 3 read(d,e)

5. ΒΡΟΧΟΙ ΕΠΑΝΑΛΗΨΗΣ (Β' μέρος: while - do..while)

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Τελικό επαναληπτικό διαγώνισμα Επιμέλεια: Δρεμούσης Παντελής

6. Αφού δημιουργήσετε ένα πίνακα 50 θέσεων με ονόματα μαθητών να τον ταξινομήσετε αλφαβητικά με την μέθοδο της φυσαλίδας


ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΠΡΟΣΑΝΑΤΟΛΙΣΜΟΥ 12 ΙΟΥΝΙΟΥ 2017 ΕΚΦΩΝΗΣΕΙΣ

Α1. (α). ώστε τον ορισµό του προβλήµατος (Μονάδες 3)

Ασκήσεις Προγραμματισμού για το Μάθημα : Εφαρμογές Πληροφορικής. Π=3.14 Μεταβλητές Πραγματικές: X,A,B,Y Αρχή

Μιχάλης Αρταβάνης κλάδου Πληροφορικής ΠΕ19

ΟΜΟΣΠΟΝΔΙΑ ΕΚΠΑΙΔΕΥΤΙΚΩΝ ΦΡΟΝΤΙΣΤΩΝ ΕΛΛΑΔΟΣ (Ο.Ε.Φ.Ε.) ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ 2018 Β ΦΑΣΗ

ΚΕΦΑΛΑΙΟ 10 Ο ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ

6. ΠΙΝΑΚΕΣ & ΑΛΦΑΡΙΘΜΗΤΙΚΑ

4. Ποιος είναι ο τύπος και ποια η τιμή της μεταβλητής που χρησιμοποιείται παρακάτω;

Λυµένες Ασκήσεις Μ ß Χ DIV K Ρ ß Χ MOD Κ. ΓΡΑΨΕ Μ, 'µολύβια' ΓΡΑΨΕ Ρ, ' ' ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ Μ ß A_M(Χ / K) Ρ ßX M*K ΓΡΑΨΕ Ρ, ' '

Δομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων

ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ Γ ΗΜΕΡΗΣΙΩΝ

Παρακάτω δίνεται o σκελετός προγράμματος σε γλώσσα C. Σχολιάστε κάθε γραμμή του κώδικα.

ΣΕΤ ΑΣΚΗΣΕΩΝ 2. Προθεσµία: 15/11/09, 23:59

ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ Γ ΤΑΞΗ

5 ΕΙΣΑΓΩΓΗ ΣΤΗ ΘΕΩΡΙΑ ΑΛΓΟΡΙΘΜΩΝ

ΔΙΑΦΟΡΑ ΘΕΜΑΤΑ. Ως «γειτονικά» ορίζονται τα κελιά που συγγενεύουν οριζόντια, κάθετα και διαγώνια. Για παράδειγμα γειτονικά του Α[3,3] είναι τα:

Transcript:

ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Ι ΕΡΓΑΣΤΗΡΙΑΚΕΣ ΑΣΚΗΣΕΙΣ ΣΤΟ ΜΑΘΗΜΑ «Προγραμματισμός Ι» Για το Α Εξάμηνο Σπουδών Υπεύθυνος Εργαστηρίου : Γιώργος Κατσαούνος Α) Αντικείμενο των εργαστηριακών εξετάσεων Αντικείµενο των εργαστηριακών ασκήσεων που ακολουθούν είναι η σε βάθος κατανόηση βασικών αρχών προγραµµατισµού και η υλοποίησή τους σε προγραµµατιστικό περιβάλλον. Οι ασκήσεις που θα εκπονηθούν περιλαµβάνουν διάφορα θέµατα προγραµµατισµού, σύµφωνα µε την ύλη της διδασκόµενης θεωρίας. Για την υλοποίηση των παρακάτω ασκήσεων, απαιτείται η µελέτη της θεωρίας του µαθήµατος «Προγραµµατισµός Ι Η γλώσσα προγραµµατισµού C» του A εξαµήνου. Για την υλοποίηση των ασκήσεων θα χρησιµοποιηθεί η γλώσσα προγραµµατισµού C. Για την εύρυθµη λειτουργία του εργαστηρίου, οι σπουδαστές θα πρέπει να χωριστούν σε οµάδες των τριών το πολύ ατόµων. Οι ασκήσεις θα εκπονούνται από κάθε οµάδα και θα παραδίδονται (κώδικας, σχόλια και αποτελέσµατα σε έντυπη και σε ηλεκτρονική µορφή) στον υπεύθυνο εργαστηρίου, στις ηµεροµηνίες που θα καθορίζονται. Η ηµεροµηνία παράδοσης του τελευταίου πακέτου ασκήσεων θα είναι το αργότερο η εβδοµάδα πριν την προφορική εξέταση του εργαστηρίου. Η βαθµολόγηση των ασκήσεων αυτών θα αποτελέσει το 50% του τελικού βαθµού. To υπόλοιπο 50% θα προκύψει από την προφορική εξέταση του κάθε µέλους της οµάδας ξεχωριστά, στο εργαστήριο. Κάθε οµάδα θα κληθεί να παρουσιάσει τα προγράµµατά της αναλυτικά στην προφορική εξέταση. Β) Γενικές παρατηρήσεις - υποδείξεις Καλείστε να ασχοληθείτε µε όλες τις ζητούµενες ασκήσεις Στην βαθµολόγηση των ασκήσεων ιδιαίτερη βαρύτητα θα δοθεί στην επαρκή τεκµηρίωση και παρουσίαση του κώδικα (Πλήρη και αναλυτικά σχόλια, Χειρισµός λαθών και µηνύµατα, ευαναγνωσιµότητα, κατάλληλη επιλογή ονοµάτων µεταβλητών κλπ) Για την εκπόνηση των ασκήσεων θα χρησιµοποιήσετε το περιβάλλον του εργαστηρίου σας, τις υποδείξεις και συµβουλές των καθηγητών σας αλλά κυρίως την οργάνωση και σωστή αξιοποίηση του προσωπικού χρόνου σας και την προετοιµασία σας από το σπίτι. Υπεύθυνος Εργαστηρίου: Γιώργος Κατσαούνος 1/19

Μην ξεκινήσετε να ασχολείστε µε τις ασκήσεις αν δεν έχετε διαβάσει πολύ καλά τι σας ζητάνε και αν δεν έχετε καταλήξει στον τρόπο και την διαδικασία που θα ακολουθήσετε. Για κάθε άσκηση ακολουθήστε τα εξής βήµατα : α) διαβάστε καλά την άσκηση β) εντοπίστε το κεφάλαιο της θεωρίας που αναφέρεται ή άσκηση γ) µελετήστε τον τρόπο επίλυσης δ) κατασκευάστε τον αλγόριθµο και ε) στο τέλος προχωρήστε στην προγραµµατιστική υλοποίηση. Μην ξεχνάτε να «αρχικοποιείτε» τους πίνακές σας. Όπου επίσης χρειάζεται να γεµίσετε τους πίνακές σας, χρησιµοποιήστε συναρτήσεις παραγωγής ψευδοτυχαίων αριθµών. Κάποια από τα σετ ασκήσεων δεν παραδίδονται. Αυτό δεν µειώνει την σπουδαιότητά τους για την εκπαιδευτική διαδικασία. Οι ασκήσεις των σετ που δεν παραδίδονται πρέπει απαραιτήτως να εκπονηθούν στο σπίτι προκειµένου να κατανοήσετε κάποιες από τις βασικές αρχές λειτουργίας του προγραµµατισµού και της συµπεριφοράς των προγραµµάτων σας. Οι αρχές αυτές, καθώς και η εµπειρία που θα αποκοµίσετε από την εκπόνησή τους, θα είναι βασικά και προαπαιτούµενα εργαλεία για την εκπόνηση των ασκήσεων που θα παραδώσετε. Αν αγνοήσετε τις προπαρασκευαστικές ασκήσεις, θα δυσκολευτείτε στην εκπόνηση των ασκήσεων προς παράδοση. Υπεύθυνος Εργαστηρίου: Γιώργος Κατσαούνος 2/19

Γ) Τρόπος παράδοσης ασκήσεων και µορφή Για κάθε σετ ασκήσεων, θα παραδίδετε στον υπεύθυνο του εργαστηρίου µια δισκέτα, η οποία θα περιέχει τα εξής : Τον πηγαίο κώδικα κάθε προγράµµατος (αρχεία τύπου *.c). Η ονοµατολογία των αρχείων θα πρέπει να ακολουθεί την µορφή : ASK<ΣΕΤ><Νο άσκησης>.c, χωρίς κενά διαστήµατα και µε όνοµα αρχείου το πολύ οκτώ χαρακτήρες. Για παράδειγµα το αρχείο της 5 ης άσκησης του 4 ου Σετ ασκήσεων θα ονοµάζεται ASK45.c ενώ η 11 η άσκηση του 3 ου σετ ασκήσεων ASK311.c Προσοχή στον τύπο του αρχείου. Το αρχείο ASK31.c.bak δεν θα γίνεται αντιληπτό από την Turbo C του εργαστηρίου, οπότε δεν θα γίνεται και δεκτό. Ο τύπος του αρχείου πρέπει να είναι απαραιτήτως <.c >. Μέσα στην δισκέτα µπορείτε να συµπεριλάβετε και αρχεία κειµένου µε τα ονόµατα της οµάδας και τις παρατηρήσεις για κάθε άσκηση, ή τα αποτελέσµατα της. Παρακάτω δίδεται µια ενδεικτική εικόνα από µια δισκέτα προς παράδοση : Υπεύθυνος Εργαστηρίου: Γιώργος Κατσαούνος 3/19

) Παραδείγµατα κώδικα Προσέξτε ώστε τα προγράµµατά σας να πληρούν τις παρακάτω προδιαγραφές : Να είναι ευανάγνωστα Να χρησιµοποιούν ονόµατα µεταβλητών ενδεικτικά των λειτουργιών τους. Να είναι επαρκώς τεκµηριωµένα µε σχόλια όπου θεωρείτε αναγκαίο είτε το παρακάτω παράδειγµα : /* TO PROGRAMMA AYTO THA ZHTHSEI APO TO XRHSTH NA EISAGEI DYO AKERAIOYS GIA NA BREI POIOS EINAI O MEGISTOS. THA PREPEI NA PROSEXOYME NA MH DEX8OYME ARI8MOYS EKTOS ORIWN TWN APLWN AKERAIWN DHLADH -32000 <ARI8MOS < 32000 */ #include<stdio.h> /* ORISMOS LIBRARIES */ #define UPINTLIM 32000 /* ORISMOS STA8ERWN ORIA AKERAIWN */ #define BOTINTLIM -32000 int integer1=0,integer2=0, max=0; /* ORISMOS METABLHTWN KAI ARXIKOPOIHSH */ main() /* KYRIWS PROGRAMMA */ { clrscr(); /* KA8ARISMOS O8ONHS */ do /* EISAGWGH 1OY ARIT8MOU. H DIADIKASIA EPANALAMBANETAI AN*/ { /* DW8EI ARI8MOS EKTOS ORIWN */ printf("dwste TON PRWTO AKERAIO"); scanf("%d",&integer1); } while((integer1<botintlim) (integer1>upintlim)); do /* EISAGWGH 2OY ARIT8MOU. H DIADIKASIA EPANALAMBANETAI AN*/ { /* DW8EI ARI8MOS EKTOS ORIWN */ printf("dwste TON DEYTERO AKERAIO"); scanf("%d",&integer2); } while((integer2<botintlim) (integer2>upintlim)); max = integer1; /* ORIZW AY8AIRETA TON 1o ARI8MO WS MEGALYTERO */ if (max < integer2) max = integer2; /* AN O 2os MEGALYTEROS TOTE BAZW AYTON WS MAX */ printf (" \n O MEGALYTEROS EINAI O %d", max); getch(); /* PERIMENEI NA DIABASW TA APOTELESMATA. ME OPOIΟDHPOTE PLHKTRO PROXWRA */ } Υπεύθυνος Εργαστηρίου: Γιώργος Κατσαούνος 4/19

1η Προπαρασκευαστική Σειρά Ασκήσεων Γνωριµία µε το περιβάλλον εργασίας ρυθµίσεις Εκπόνηση : 1 η εβδοµάδα µαθηµάτων Παράδοση : εν παραδίδεται Η 1 η σειρά ασκήσεων έχει σκοπό να σας εξοικειώσει µε το περιβάλλον εργασίας και να σας βοηθήσει να κάνετε τις απαιτούµενες ρυθµίσεις. Η σειρά αυτή δεν θα παραδοθεί, αλλά πρέπει οπωσδήποτε να εκπονηθεί στο σπίτι προκειµένου να µπορέσετε να προχωρήσετε στις επόµενες ασκήσεις. Π1.1 Αντιγράψτε τον φάκελο TC από το CD που περιέχει την γλώσσα, µέσα στο φάκελο C:\PROGRAM FILES του υπολογιστή σας. Π1.2 Εντοπίστε το αρχείο TCCONFIG.TC και αφαιρέστε την ιδιότητα «Μόνο για ανάγνωση» (Read only). Π1.3 ηµιουργήστε ένα φάκελο µε όνοµα ASKHSEIS (µε λατινικά γράµµατα) µέσα στο φάκελο TC. Π1.4 Μέσα στο φάκελο TC εντοπίστε το αρχείο TC.EXE Αυτή είναι η εφαρµογή που θα χρησιµοποιήσετε για την συγγραφή των ασκήσεών σας. Εκτελέστε την εφαρµογή. (Μπορείτε να δηµιουργήσετε µια συντόµευση για αυτή στην Επιφάνεια Εργασίας). Π1.5 Πειραµατιστείτε µε τη χρήση του µενού επιλογών. Το πλήκτρο <ALT> θα είναι ο απαραίτητος βοηθός σας. (π.χ. <ALT> + <F> ενεργοποιεί το µενού FILE.) είτε όλες τις διαθέσιµες επιλογές. Πατώντας <F1> ενεργοποιείτε την βοήθεια σε κάθε σηµείο. Π1.6 Από την επιλογή Options -> Directories ορίστε τα µονοπάτια των φακέλων LIB και INCLUDE. (.\LIB και.\include). Επίσης το µονοπάτι του φακέλου που θα αποθηκεύονται τα εκτελέσιµα αρχεία σας (.\ASKHSEIS). Π1.7 Αποθηκεύστε τις ρυθµίσεις σας. (Options -> Save options). Π1.8 ηµιουργήστε ένα νέο αρχείο µε όνοµα Shell.c για να το χρησιµοποιείτε ως πρότυπο για τα προγράµµατά σας. Το αρχείο αυτό θα περιέχει τις εξής εντολές : #include <stdio.h> main() { printf( \n\n Telos ektelesis programmatos ); getch(); } Π1.9 Μεταγλωττίστε το πρόγραµµά σας (Alt + C). Αν υπάρχουν συντακτικά λάθη διορθώστε τα και επαναλάβετε. Π1.10 Εκτελέστε το πρόγραµµά σας (Alt + R) Π1.11 Μεταβείτε στην οθόνη εκτέλεσης και δείτε το αποτέλεσµα (Alt + F5) Π1.12 Επιστρέψτε στην οθόνη σύνταξης και αποθηκεύστε το πρόγραµµά σας. Π1.13 Κλείστε την εφαρµογή Παρατήρηση : Στους υπολογιστές του εργαστηρίου, αν δεν έχετε δικαίωµα πρόσβασης στο φάκελο Program Files, τότε αντί για τον φάκελο ASKHSEIS µπορείτε να χρησιµοποιείτε µία δισκέτα στον οδηγό ή τον δίσκο δικτύου (Η:) Υπεύθυνος Εργαστηρίου: Γιώργος Κατσαούνος 5/19

2η Προπαρασκευαστική Σειρά Ασκήσεων Απλές εντολές Εκπόνηση : 1 η εβδοµάδα µαθηµάτων Παράδοση : εν παραδίδεται Παρατήρηση : Μην ξεχνάτε να προσθέτετε σχόλια στα προγράµµατά σας ώστε να είναι πιο ευανάγνωστα αλλά και πιο κατανοητά. Π2.1 ηµιουργήστε ένα πρόγραµµα που να τυπώνει στην οθόνη την φράση «TEI PLIROFORIKHS LAMIAS. Εκτελέστε το πρόγραµµά σας 3 φορές. Τι παρατηρείτε; Π2.2 Τροποποιήστε το πρόγραµµά σας ώστε να τυπώνει τη φράση σε νέα γραµµή κάθε φορά. Π2.3 Τροποποιήστε το πρόγραµµά σας ώστε να αφήνει ένα χαρακτήρα tab ανάµεσα σε κάθε λέξη. Π2.4 Αναζητήστε στο βιβλίο σας τους εκτυπώσιµους χαρακτήρες ελέγχου και τυπώστε τους µε το ανάλογο σχόλιο (π.χ. printf( \nκενή γραµµή πριν και µετά\n»);) Π2.5 Ορίστε δύο ακέραιες µεταβλητές και εισάγετε τις τιµές τους από το πληκτρολόγιο. Κατόπιν κάντε όλες τις δυνατές πράξεις µεταξύ τους (+,-,*,/,%) και εκτυπώστε στο τέλος τόσο τις αρχικές τιµές όσο και τα αποτελέσµατα των πράξεων µε σχετικά µηνύµατα. Π2.6 Στο προηγούµενο πρόγραµµα, εισάγετε ως τιµή τον αριθµό 10000000. Τι παρατηρείτε; Γιατί; Πως µπορούµε να διορθώσουµε το πρόγραµµά µας; Π2.7 Τροποποιήστε το πρόγραµµά σας ώστε εκτός από ακεραίους να µπορεί να δεχθεί και πραγµατικούς αριθµούς. Τι παρατηρείτε; Π2.8 Εισάγετε από το πληκτρολόγιο ένα χαρακτήρα και εκτυπώστε τον στην οθόνη. Ανατρέξτε στο βιβλίο σας στην µετατροπή τύπων µεταβλητών. Κάντε πράξεις µεταξύ διαφορετικών τύπων µεταβλητών. Για παράδειγµα αν int a = 2; char c; float x = 17.1, y = 8.95, z; τι αποτέλεσµα θα έχουν οι παρακάτω πράξεις : c = (char)a + (char)x; c = (char)(a + (int)x); c = (char)(a + x); c = a + x; Υπεύθυνος Εργαστηρίου: Γιώργος Κατσαούνος 6/19

z = (float)((int)x * (int)y); z = (float)((int)(x * y)); z = x * y; Π2.9 Εκτυπώστε στην οθόνη σας ένα δένδρο από *. Η οθόνη σας θα δείχνει κάπως έτσι: * *** ****** ********* Π2.10 Τυπώστε τη φράση ΤΕΙ PLHROFORIKHS LAMIAS µέσα σε πλαίσιο ΤΕΙ PLHROFORIKHS LAMIAS Π2.11 ηµιουργήστε ένα πρόγραµµα που θα υπολογίζει το εµβαδό ενός κύκλου του οποίου την ακτίνα θα εισάγουµε από το πληκτρολόγιο. Ορίστε το π ως σταθερά. Π2.12 ηµιουργήστε ένα πρόγραµµα µε τις παρακάτω µεταβλητές : int x = 0,y = 2,z = 1025; float a = 0.0,b = 3.14159,c = -37.234; Κατόπιν εκτελέστε µία µία τις παρακάτω πράξεις τυπώνοντας το αποτέλεσµα. Από το αποτέλεσµα θα καταλάβετε τι ακριβώς κάνει κάθε εντολή, ώστε να προσθέσετε το ανάλογο σχόλιο στο πρόγραµµά σας x = x + 1; x++; ++x; z = y++; z = ++y; y = y - 1; y--; --y; y = 3; z = y--; z = --y; a = a + 12; a += 12; a *= 3.2; a -= b; a /= 10.0; Υπεύθυνος Εργαστηρίου: Γιώργος Κατσαούνος 7/19

1η Σειρά Ασκήσεων Παράδοση : 2 η εβδοµάδα µαθηµάτων Ασκηση 1_1. ηµιουργήστε ένα πρόγραµµα που θα δέχεται από το πληκτρολόγιο τους βαθµούς ενός φοιτητή σε 3 µαθήµατα και θα βγάζει τον µέσο όρο, δεχόµενοι ότι το 3ο µάθηµα έχει διπλάσια βαρύτητα από τα άλλα. Οι βαθµοί, όπως και ο µέσος όρος, µπορεί να είναι δεκαδικοί έως 1 δεκαδικό ψηφίο. Ασκηση 1_2. ηµιουργήστε ένα πρόγραµµα για το ταµείο µιας τράπεζας, το οποίο θα διαβάζει από το πληκτρολόγιο ένα ποσό εκταµίευσης και θα υπολογίζει πόσα χαρτονοµίσµατα και πόσα κέρµατα (ευρώ) κάθε τύπου θα πρέπει να δώσει ο ταµίας. Ασκηση 1_3. ηµιουργήστε ένα πρόγραµµα που θα δέχεται από το πληκτρολόγιο την φετινή και την περσινή τιµή του πετρελαίου ανά λίτρο και θα υπολογίζει την ποσοστιαία µεταβολή του. Ασκηση 1_4. ηµιουργήστε ένα πρόγραµµα που θα δέχεται από το πληκτρολόγιο το κόστος ενός προϊόντος και θα υπολογίζει την τελική τιµή πώλησης αν το ποσοστό κέρδος του καταστήµατος είναι 15% και ο ΦΠΑ 18%. Ασκηση 1_5. ηµιουργήστε ένα πρόγραµµα που θα δέχεται από το πληκτρολόγιο τον αριθµό των δευτερολέπτων οµιλίας ενός συνδροµητή κινητής τηλεφωνίας. Κατόπιν θα υπολογίζει το συνολικό πληρωτέο ποσό υπολογίζοντας ότι : Το κόστος κάθε δευτερολέπτου είναι 0,01 Το πάγιο του συµβολαίου είναι 10 Στη συνολική χρέωση προστίθεται ΦΠΑ 18% Υπεύθυνος Εργαστηρίου: Γιώργος Κατσαούνος 8/19

3η Προπαρασκευαστική Σειρά Ασκήσεων οµή επιλογής Εκπόνηση : 3 η εβδοµάδα µαθηµάτων Παράδοση : εν παραδίδεται Π3.1 ηµιουργήστε ένα πρόγραµµα που να βρίσκει τον µεγαλύτερο από δύο αριθµούς που θα δίνονται από το πληκτρολόγιο. Π3.2 Τροποποιήστε το παραπάνω πρόγραµµα ώστε να κάνει χρήση του τελεστή? Π3.3 Συµπληρώστε στον παρακάτω πίνακα τι τιµές θα έχουν οι µεταβλητές x και y µετά την εκτέλεση των αντίστοιχων σε κάθε περίπτωση εντολών: Πριν την Μετά την εντολή εντολή A/A x y Εντολή x y 1 5 10 x = y; 2 5 10 x = y%2; 3 5 10 x = ++y; 4 5 10 x = y++; 5 3 3 y *= x+1; 6 3 14 x = x>y?x:y; 7 3 14 y = ((x>2)&&(y>12)) (!(x==3)); 8 3 14 y = (x>2)+(y>12); 9 10 4 x = x/2.0; 10 10.0 4.0 x = x/y; Για τις περιπτώσεις 1-9 θεωρήστε ότι οι µεταβλητές x, y έχουν δηλωθεί τύπου int και για την 10 τύπου float. Π3.4 ηµιουργήστε πρόγραµµα το οποίο να δέχεται τιµές για δύο µεταβλητές α και b από το πληκτρολόγιο και κατόπιν να αντιµεταθέτει τις τιµές των µεταβλητών αν α>b. Π3.5 ηµιουργήστε ένα πρόγραµµα το οποίο θα διαβάζει έναν ακέραιο αριθµό από το 1 έως το 12 (να γίνεται έλεγχος) και να τον αντιστοιχίζει σε ένα µήνα του χρόνου τυπώνοντας το λεκτικό του αλλά και την εποχή την οποία ανήκει (π.χ. 3 Μάρτιος Άνοιξη). Να γράψετε τρεις εκδόσεις του προγράµµατος οι οποίες θα χρησιµοποιούν α)εντολές απλής επιλογής β)εντολές σύνθετης επιλογής γ)εντολές πολλαπλής επιλογής. Π3.6 ηµιουργήστε ένα πρόγραµµα το οποίο να δέχεται µια απάντηση Ναι ή Όχι διαβάζοντας ένα χαρακτήρα από το πληκτρολόγιο (π.χ Απαντήστε Ναι(Ν)/Όχι(Ο)?). Υπεύθυνος Εργαστηρίου: Γιώργος Κατσαούνος 9/19

Σε περίπτωση που ο χρήστης πατήσει κάποιο άλλο πλήκτρο να εµφανίζει σχετικό µήνυµα λάθους. (Ποια γράµµατα θα ελέγχετε ; Ν ν Υ υ Ο ο κλπ.) Π3.7 ηµιουργήστε ένα πρόγραµµα επίλυσης εξισώσεων του τύπου αχ+β=0 εισάγοντας από το πληκτρολόγιο τα α,β Π3.8 ηµιουργήστε ένα πρόγραµµα επίλυσης εξισώσεων 2ου βαθµού εισάγοντας από το πληκτρολόγιο τα α,β,γ Π3.9 Μια εταιρία κινητής τηλεφωνίας υπολογίζει το τιµολόγιο χρέωσης των πελατών της σύµφωνα µε τον παρακάτω κανόνα: Αν ο πελάτης έχει µέχρι 1000 δευτερόλεπτα οµιλίας µε 10 λεπτά/δευτ. Αν έχει από 1001 µέχρι 2000 δευτερόλεπτα τα πρώτα 1000 µε 10 λεπτά /δευτ. και τα επιπλέον των χιλίων µε 7 λεπτά /δευτ. και αν έχει περισσότερα από 2000, τα πρώτα 1000 µε 10 λεπτά /δευτ., τα επόµενα 1000 µε 7 λεπτά /δευτ. και τα υπόλοιπα µε 5 λεπτά /δευτ.. Επιπλέον προσθέτει 10 πάγιο και 18% ΦΠΑ στο τελικό ποσό. Να φτιάξετε πρόγραµµα που να διαβάζει το χρόνο οµιλίας ενός συνδροµητή της εταιρείας και να υπολογίζει το τελικό ποσό του λογαριασµού σε. Π3.10 Να φτιάξετε πρόγραµµα που να διαβάζει ένα έτος και βρίσκει αν είναι δίσεκτο ή όχι τυπώνοντας κατάλληλο µήνυµα. Σηµείωση: ένα έτος είναι δίσεκτο αν διαιρείται µε το 4. Ωστόσο οι εκατονταετίες αν και διαιρούνται µε το 4 δεν είναι όλες δίσεκτα έτη(π.χ. 1800,1900 δεν είναι δίσεκτα). ίσεκτα έτη είναι οι εκατονταετίες που διαιρούνται µε το 400(π.χ.400,800,..είναι δίσεκτα). Υπεύθυνος Εργαστηρίου: Γιώργος Κατσαούνος 10/19

2η Σειρά Ασκήσεων (παράδοση : 4 η εβδοµάδα µαθηµάτων) Ασκηση 2_1. Κάντε ένα πρόγραµµα το οποίο θα διαβάζει τα δευτερόλεπτα οµιλίας ενός συνδροµητή µιας εταιρίας κινητής τηλεφωνίας και θα εµφανίζει το τελικό ποσό πληρωµής, σύµφωνα µε τα παρακάτω δεδοµένα : Το συµβόλαιο χρεώνει πάγιο 10 και προσφέρει 10 λεπτά δωρεάν χρόνο οµιλίας. Η χρέωση γίνεται κλιµακωτά: για τα πρώτα 100 δευτερόλεπτα (πέραν του δωρεάν χρόνου οµιλίας), η χρέωση είναι 2 λεπτά / δευτ., για τα επόµενα 200 η χρέωση είναι 1,5 λεπτά / δευτ. και από εκεί και πάνω η χρέωση είναι 1 λεπτό / δευτ. Το τέλος συνδροµητών κινητής τηλεφωνίας είναι 1,5 αν το ποσό του λογαριασµού προ ΦΠΑ είναι έως 15, αλλιώς είναι 3 Στο τέλος προστίθεται ΦΠΑ 18%. Ασκηση 2_2. Να γραφεί αλγόριθµος ο οποίος θα δέχεται το πλήθος των ψηφίων ενός ακεραίου θετικού αριθµού. Κατόπιν θα ζητά να διαβάσει έναν ακέραιο θετικό αριθµό και θα ελέγχει αν όντως ο αριθµός αυτός έχει το ίδιο πλήθος ψηφίων µε αυτό που δόθηκε στην αρχή (π.χ για πλήθος ψηφίων = 3 πρέπει να ισχύει 100<=αριθµός<1000) Ασκηση 2_3. Να αναπτυχθεί αλγόριθµος που θα διαβάζει έναν πενταψήφιο αριθµό και θα ελέγχει αν είναι καρκινικός (π.χ. 81518), αν δηλαδή τα συµµετρικά ψηφία του είναι ίσα. Ασκηση 2_4. Έστω ότι ένα βιντεοκλάµπ χρεώνει κασέτες µε την παρακάτω λογική: 2 Ευρώ το τριήµερο και 0,5 Ευρώ για κάθε µέρα καθυστέρησης. Το ανώτερο ποσό που κάποιος µπορεί να πληρώσει για µια καθυστερηµένη βιντεοκασέτα είναι 50 Ευρώ. Να γραφεί αλγόριθµος που θα χρεώνει τις κασέτες στο βιντεοκλάµπ σύµφωνα µε τα παραπάνω. Ασκηση 2_5. Από το Υπουργείο Οικονοµικών εκδόθηκε ο παρακάτω πίνακας για τον υπολογισµό του φόρου εισοδήµατος των µισθωτών. Να γραφεί πρόγραµµα που να υπολογίζει το φόρο που θα πρέπει να καταβάλει ένας µισθωτός ανάλογα µε τα συνολικά έσοδα που είχε τη χρονιά που πέρασε. Να υπολογίσετε επίσης το πληρωτέο ποσό α)σε τρεις ισόποσες δόσεις β)µια έκπτωση 2% σε περίπτωση εφάπαξ εξόφλησης Παρατήρηση: η φορολόγηση γίνεται κλιµακωτά π.χ για εισόδηµα 25000 ο φόρος θα είναι 0%*8400 + 15%*5000 + 30%*10000 + 40%*1600. Κλιµάκιο Εισοδήµατος Φορολογικός Συντελεστής Φόρος Κλιµακίου Σύνολο Εισοδήµατος Σύνολο Φόρου 8.400 0% 0 8.400 0 5.000 15% 750 13.400 750 10.000 30% 3.000 23.400 3.750 Υπερβάλλον 40% Υπεύθυνος Εργαστηρίου: Γιώργος Κατσαούνος 11/19

4η Προπαρασκευαστική Σειρά Ασκήσεων οµή επανάληψης Εκπόνηση : 5 η εβδοµάδα µαθηµάτων Παράδοση : εν παραδίδεται Π4.1 ηµιουργήστε ένα πρόγραµµα που να τυπώνει την προπαίδεια ενός ακεραίου αριθµού (από το 1 έως το 10) που θα δίνεται από το πληκτρολόγιο. Σε περίπτωση λάθος εισαγωγής αριθµού το πρόγραµµα να µην τερµατίζεται αλλά να εµφανίζει µήνυµα λάθους και να ξαναζητά εισαγωγή (χρήση επαναληπτικής διαδικασίας). Π4.2 ηµιουργήστε ένα πρόγραµµα που να δέχεται από το πληκτρολόγιο τους βαθµούς ενός φοιτητή σε ένα πλήθος µαθηµάτων µέχρι να πατηθεί ο βαθµός 0. Κατόπιν να υπολογίζει και να τυπώνει τον µέσο όρο των µαθηµάτων, τον µέγιστο και τον ελάχιστο βαθµό και ανάλογα να τυπώνει Κακώς αν ΜΟ<=3, Καλώς αν 3<ΜΟ<=5, Λίαν Καλώς αν 5<ΜΟ<=8,5 και Άριστα αν ΜΟ>8,5. Π4.3 ηµιουργήστε πρόγραµµα που να διαβάζει ένα αριθµό Ν και να υπολογίζει το άθροισµα Σ=1 + 22 + 33 +.. + ΝΝ Π4.4 Ένας επιχειρηµατίας, θέλοντας να ανταµείψει έναν υπάλληλό του για την εξαιρετική απόδοση και την τιµιότητά του, συµφώνησε να του δίνει ως bonus για ένα µήνα, κάθε µέρα τόσα λεπτά του ευρώ, διπλασιάζοντας όσα του έδωσε την προηγούµενη. Την πρώτη µέρα θα του έδινε 1 λεπτό (0,01 ), την δεύτερη 2*1=2, την Τρίτη 2*2=4 κλπ. Ήταν καλή συµφωνία; Π4.5 Ένα µπαλάκι αφήνεται να πέσει από ύψος Υ cm και αρχίζει να αναπηδά. Λόγω της ενέργειας που χάνεται µε την πρόσκρουση στο έδαφος, µετά από κάθε αναπήδηση, το µπαλάκι φτάνει σε ύψος ίσο µε το 80% του ύψους που είχε φτάσει στην προηγούµενη αναπήδηση. Να γραφεί πρόγραµµα το οποίο θα δέχεται ως είσοδο το αρχικό ύψος Υ και να υπολογίζει (και εµφανίζει) τον αριθµό των αναπηδήσεων αλλά και το ύψος της κάθε αναπήδησης. Θεωρείστε ότι οι αναπηδήσεις σταµατούν όταν το ύψος αναπήδησης φτάσει το 1 cm. Π4.6 Τροποποιήστε το πρόγραµµα της άσκησης Π2.5 ώστε µετά την εισαγωγή δύο αριθµών, να εµφανίζει ένα µενού επιλογών όπου ο χρήστης θα επιλέγει την πράξη που επιθυµεί. Το πρόγραµµά σας θα επιστρέφει στο µενού επιλογών ύστερα από την εκτέλεση κάθε πράξης και θα τερµατίζεται µόνο αν ο χρήστης επιλέξει την επιλογή εξόδου. Το ίδιο θα ισχύει και σε περίπτωση λανθασµένης επιλογής. (Να κάνετε τον απαραίτητο έλεγχο και στην περίπτωση διαίρεσης µε το µηδέν) Υπεύθυνος Εργαστηρίου: Γιώργος Κατσαούνος 12/19

3η Σειρά Ασκήσεων (παράδοση : 6 η εβδοµάδα µαθηµάτων) Ασκηση 3_1. Να αναπτυχθεί αλγόριθµος που θα διάβαζει έναν αριθµό Ν > 0 και θα υπολογίζει τη σειρά Ασκηση 3_2. Να γραφεί αλγόριθµος ο οποίος θα διαβάζει µια ακολουθία ακεραίων µέχρι να διαβάσει αρνητικό αριθµό και: θα εµφανίζει το 0 κάθε φορά που θα διαβάζει τον αριθµό 0 θα εµφανίζει τόσα «*» όσα παριστάνει ο αριθµός που διάβασε. Ασκηση 3_3. Να γραφεί αλγόριθµος ο οποίος θα ζητά την εισαγωγή του ΡΙΝ (ακέραιος αριθµός) για ένα κινητό τηλέφωνο. Κατόπιν θα το συγκρίνει µε το σωστό ΡΙΝ (π.χ 12345) και αν ο αριθµός που δόθηκε δεν είναι σωστός, θα εµφανίζει µήνυµα λάθους και θα ζαναζητά εισαγωγή του ΡΙΝ. Η διαδικασία εισαγωγής, σε περίπτωση λανθασµένου ΡΙΝ, θα επαναλαµβάνεται το πολύ µέχρι τρεις φορές. Αν ο χρήστης του τηλεφώνου, δώσει 3 φορές λάθος κωδικό, θα εµφανίζεται το µήνυµα «η συσκευή κλειδώθηκε», διαφορετικά θα εµφανίζεται ένα µήνυµα καλωσορίσµατος. Ασκηση 3_4. Κάποιος καταθέτει στην τράπεζα 30.000 µε σταθερό ετήσιο επιτόκιο 2%. Εάν αυτό το ποσό ανατοκίζεται ετησίως, να γραφεί αλγόριθµος που υπολογίζει και εµφανίζει πόσο θα είναι το κεφάλαιο µετά από 15 έτη. Να λάβετε υπόψη σας ότι στο τέλος κάθε έτους, οι τόκοι κεφαλοποιούνται. Ασκηση 3_5. ύο φίλοι παίζουν τάβλι. Κάθε ένας από αυτούς µπορεί να πάρει ένα παιχνίδι µονό ή διπλό. Κάντε ένα πρόγραµµα που θα διαβάζει ποιος νίκησε σε κάθε παιχνίδι, θα καταλαβαίνει πότε τελείωσαν (παίζουν στα 7) και θα εµφανίζει τον τελικό νικητή. Προσοχή να γίνεται έλεγχος για λάθος δεδοµένα. Υπεύθυνος Εργαστηρίου: Γιώργος Κατσαούνος 13/19

5η Προπαρασκευαστική Σειρά Ασκήσεων Πίνακες Εκπόνηση : 7 η εβδοµάδα µαθηµάτων Παράδοση : εν παραδίδεται Π5.1 Να δηµιουργήσετε πρόγραµµα που να δέχεται από το πληκτρολόγιο ακέραιες τιµές και να γεµίζει έναν µονοδιάστατο πίνακα ακεραίων 10 θέσεων. Κατόπιν να τον εµφανίζει στην οθόνη και να υπολογίζει τον µέσο όρο, τον µέγιστο και τον ελάχιστο όρο. Π5.2 Τροποποιήστε το παραπάνω πρόγραµµα, ώστε µετά την εισαγωγή των στοιχείων, να ζητείται από το χρήστη ένας αριθµός προς εύρεση. Κατόπιν να αναζητείται ο αριθµός αυτός, ψάχνοντας σειριακά στον πίνακα. Αν βρεθεί, να τυπώνεται αντίστοιχο µήνυµα και η θέση του πίνακα διαφορετικά να τυπώνεται ανάλογο µήνυµα. Π5.3 Χρησιµοποιώντας το πρόγραµµα της άσκησης 5.1, δηµιουργήστε πρόγραµµα που θα ταξινοµεί τον πίνακα µε χρήση της µεθόδου της φυσαλίδας. Π5.4 Προσπαθείστε να τροποποιήσετε το παραπάνω πρόγραµµα, ώστε να παραµετροποιεί το µήκος του πίνακα. ( ηµιουργήστε µία σταθερά length=10, ώστε τροποποιώντας την σταθερά, το πρόγραµµά σας να δουλεύει για πίνακα length θέσεων). Π5.5 Να δηµιουργήσετε πρόγραµµα που να δέχεται τιµές από το πληκτρολόγιο και να γεµίζει ένα τετραγωνικό πίνακα 5Χ5 µε ακεραίους. Κατόπιν να υπολογίζει το άθροισµα των στοιχείων των διαγωνίων του (ξεχωριστά για τη κάθε µια). Π5.6 Να φτιάξετε ένα πρόγραµµα που να διαβάζει µια φράση-λέξη µέχρι 80 γράµµατα και να εµφανίζει αν είναι καρκινική ή όχι. Καρκινικές είναι οι φράσεις που είναι οι ίδιες αν διαβαστούν και από το τέλος προς την αρχή. Π.χ. αννα ή radar. Π5.7 Στους ολυµπιακούς αγώνες, διαγωνίστηκαν στον τελικό του τριπλούν, 10 αθλητές. Κάθε αθλητής είχε δικαίωµα 6 προσπαθειών. Αν η προσπάθεια ήταν άκυρη, η επίδοση του θεωρείται 0. Για την τελική κατάταξη, λαµβάνεται υπόψη η καλύτερη επίδοση από τις 6 προσπάθειες. ηµιουργήστε ένα πρόγραµµα το οποίο: Θα εισάγει από το πληκτρολόγιο τα ονόµατα και τις επιδόσεις των προσπαθειών των αθλητών. Θα υπολογίζει την καλύτερη επίδοση κάθε αθλητή Θα εµφανίζει τους αθλητές του χρυσού, αργυρού και χάλκινου µεταλλίου. Υπεύθυνος Εργαστηρίου: Γιώργος Κατσαούνος 14/19

4η Σειρά Ασκήσεων (παράδοση : 8 η εβδοµάδα µαθηµάτων) Ασκηση 4_1. ίνονται 2 πίνακες ακεραίων Α[10] και Β[10]. Να αντιγραφούν τα στοιχεία του Α στον Β µε αντίστροφη σειρά και να εµφανιστούν και οι δύο πίνακες στην οθόνη. (Σηµ : Β[10] := Α[1], Β[9] := Α[2],, Β[1] := Α[10]. Γεµίστε τον πίνακα Α µε ψευδοτυχαίους πριν προχωρήσετε στην αντιγραφή. Προσοχή στο αισθητικό αποτέλεσµα στην εµφάνιση) Ασκηση 4_2. ηµιουργήστε ένα πρόγραµµα το οποίο θα γεµίζει δύο πίνακες ακεραίων Α[10] και Β[10] µε ψευδοτυχαίους αριθµούς και θα τους εµφανίζει στην οθόνη. Κατόπιν θα εµφανίζει ένα µενού µε επιλογές α) Πρόσθεση και β) Αφαίρεση. Ανάλογα µε την πράξη που θα επιλέγεται θα γεµίζει και θα εµφανίζει ένα πίνακα C[10] µε το αποτέλεσµα της πράξης µεταξύ των αντίστοιχων στοιχείων των Α και Β. (Προσοχή στο αισθητικό αποτέλεσµα στην εµφάνιση) Ασκηση 4_3. ηµιουργήστε ένα πρόγραµµα το οποίο για έναν µονοδιάστατο πίνακα ακεραίων 10 θέσεων, θα εµφανίζει ένα µενού µε τις ακόλουθες λειτουργίες : 1. Γέµισµα πίνακα µε ψευδοτυχαίους 2. Εµφάνιση πίνακα 3. Ταξινόµηση πίνακα (Ταξινοµεί τον πίνακα µε όποια µέθοδο θέλετε) 4. Εύρεση στοιχείου (Θα ζητά ένα αριθµό και θα ψάχνει αν υπάρχει και την θέση) 5. ιαγραφή στοιχείου (Θα ζητά τη θέση του στοιχείου και θα βάζει 0) 6. Εξοδος Ανάλογα µε τη λειτουργία που θα επιλέγει ο χρήστης, το πρόγραµµά σας θα εκτελεί την ανάλογη διαδικασία, θα εµφανίζει τον τροποποιηµένο πίνακα και θα επιστρέφει στο µενού λειτουργιών. Προνοήστε ώστε το πρόγραµµά σας να τερµατίζεται µόνο αν ο χρήστης επιλέξει την επιλογή εξόδου. Επίσης θα πρέπει να κάνετε ελέγχους για λάθος επιλογές. Σε αυτήν την περίπτωση θα εµφανίζεται µήνυµα «λάθος επιλογή» και θα επιστρέφει στο µενού λειτουργιών. Ασκηση 4_4. Να γραφεί πρόγραµµα που να κρατά για τα 20 διαµερίσµατα µιας πολυκατοικίας τον αριθµό διαµερίσµατος και τα τετραγωνικά µέτρα του (θεωρήστε ότι δεν αλλάζουν και µην τα κάνετε εισαγωγή από το πληκτρολόγιο αλλά ορίστε τα ως αρχικές τιµές στον πίνακά σας στην αρχή του προγράµµατος). Το πρόγραµµά σας θα δέχεται ως είσοδο τα συνολικά ποσά θέρµανσης και των κοινόχρηστων της πολυκατοικίας και θα υπολογίζει και εµφανίζει τη δαπάνη που αντιστοιχεί σε κάθε διαµέρισµα για θέρµανση και κοινόχρηστα ανάλογα µε τον αριθµό των τ.µ. που έχει. Ασκηση 4_5. Να τροποποιηθεί το πρόγραµµα της άσκησης 4_2, ώστε να δουλεύει και για δισδιάστατους πίνακες ΝΧΝ (ορίστε το Ν ως σταθερά στην αρχή του προγράµµατός σας και παραµετροποιήστε το ώστε να δουλεύει για οποιαδήποτε τιµή θέσουµε στην σταθερά Ν. οκιµάστε το για Ν=3 και Ν=5. Υπεύθυνος Εργαστηρίου: Γιώργος Κατσαούνος 15/19

6η Προπαρασκευαστική Σειρά Ασκήσεων Strings, Συναρτήσεις, οµές, είκτες Εκπόνηση :9 η εβδοµάδα µαθηµάτων Παράδοση : εν παραδίδεται Π6.1 ηµιουργήστε πρόγραµµα το οποίο να δέχεται από το πληκτρολόγιο ένα αλφαριθµητικό (string) (Προσοχή στον τρόπο εισαγωγής) και να βρίσκει τον αριθµό χαρακτήρων του. Π6.2 ηµιουργήστε πρόγραµµα το οποίο να δέχεται από το πληκτρολόγιο ένα αλφαριθµητικό (string) και να το εµφανίζει ανάποδα. Π6.3 ηµιουργήστε πρόγραµµα το οποίο να δέχεται από το πληκτρολόγιο δύο αλφαριθµητικά που παριστάνουν το όνοµα και το επίθετο ενός σπουδαστή και να τα συνενώνει σε ένα, µε ένα κενό ανάµεσά τους. Π6.4 ηµιουργήστε πρόγραµµα το οποίο να κάνει αντιµετάθεση δύο αριθµών µε χρήση δεικτών. Π6.5 ηµιουργήστε πρόγραµµα το οποίο να κάνει προσπέλαση σε ένα πίνακα ακεραίων ΝΧΜ, µε χρήση δεικτών. Π6.6 ηµιουργήστε πρόγραµµα το οποίο να δέχεται από το πληκτρολόγιο ένα αλφαριθµητικό και να µετατρέπει τα γράµµατα από κεφαλαία σε πεζά ή αντίστροφα. Π6.7 ηµιουργήστε πρόγραµµα το οποίο να δέχεται από το πληκτρολόγιο ένα αλφαριθµητικό και να το κρυπτογραφεί σε ένα νέο αλφαριθµητικό, σύµφωνα µε κάποια µέθοδο της επιλογής σας (π.χ το α να γίνεται κ, το β να γίνεται λ κλπ). Π6.8 ηµιουργήστε πρόγραµµα το οποίο θα ταξινοµεί σε φθίνουσα σειρά ένα πίνακα ακεραίων Ν θέσεων, µε χρήση δεικτών. Π6.9 ηµιουργήστε ένα πίνακα 10 θέσεων ο οποίος θα δέχεται 10 ονόµατα. Κατόπιν δηµιουργήστε πρόγραµµα το οποίο θα ταξινοµεί σε φθίνουσα σειρά αλφαβητικά τα ονόµατα και θα τα εκτυπώνει στην οθόνη. Π6.10 ηµιουργήστε µια συνάρτηση η οποία όταν καλείται να κάνει εισαγωγή χαρακτήρων από το πληκτρολόγιο σε ένα αλφαριθµητικό, το οποίο θα πρέπει να περνά ως παράµετρος στην συνάρτηση. Π6.11 Να δηµιουργήσετε δύο συναρτήσεις µε τα εξής πρωτότυπα : int SumN(int n) η οποία θα υπολογίζει και επιστρέφει το άθροισµα 1+2+3+ +n (προσοχή στον έλεγχο του n ) int Paragontiko(int n) η οποία θα υπολογίζει το γινόµενο 1*2*3* *n Υπεύθυνος Εργαστηρίου: Γιώργος Κατσαούνος 16/19

Π6.12 Να δηµιουργήσετε συνάρτηση µε πρωτότυπο int times(char protasi[],char x), που θα επιστρέφει το πλήθος των εµφανίσεων του χαρακτήρα χ στο αλφαριθµητικό που βρίσκεται στον πίνακα χαρακτήρων protasi. Αν ο χ δεν υπάρχει στον protasi θα επιστρέφει 0. Στη συνέχεια να φτιάξετε την συνάρτηση main() που θα διαβάζει µία πρόταση το πολύ 80 χαρακτήρων και τον ζητούµενο χαρακτήρα και κάνοντας χρήση της συνάρτησης times θα τυπώνει το πλήθος εµφανίσεων του χαρακτήρα στη πρόταση. Π6.13 ηµιουργήστε µία δοµή που θα κρατά για τους εργαζοµένους µιας επιχείρησης το επώνυµο (έως 20 χαρακτήρες), το όνοµα (έως 10 χαρακτήρες), τον αριθµό παιδιών και τον µισθό τους. Κατόπιν δηµιουργήστε το πρόγραµµα που θα εισάγει τα στοιχεία για 5 εργαζόµενους και θα τυπώνει στην οθόνη τους εργαζοµένους και τους µισθούς τους λαµβάνοντας υπόψη ότι κάθε εργαζόµενος δικαιούται για κάθε παιδί επιπλέον 40. (Προσοχή στους αναγκαίους ελέγχους στην εισαγωγή δεδοµένων για «περίεργες τιµές» π.χ. 45 παιδιά). Υπεύθυνος Εργαστηρίου: Γιώργος Κατσαούνος 17/19

5η Σειρά Ασκήσεων (παράδοση : 10 η εβδοµάδα µαθηµάτων) Ασκηση 5_1. Να δηµιουργήσετε συνάρτηση µε πρωτότυπο longint powerxy(int x, int y), η οποία θα επιστρέφει την δύναµη του αριθµού χ εις την y. Ασκηση 5_2. Να δηµιουργήσετε συνάρτηση µε πρωτότυπο void bubllesort(int array[], int stoixeia) η οποία θα δέχεται ως παραµέτρους ένα πίνακα ακεραίων (array[]) και το πλήθος των στοιχείων του (stoixeia) και θα ταξινοµεί τον πίνακα µε χρήση δεικτών. Το βασικό σας πρόγραµµα (main()), θα πρέπει να εµφανίζει τον αρχικό πίνακα (γεµίστε τον µε ψευδοτυχαίους ), να ζητά επιβεβαίωση ταξινόµησης, να καλεί την συνάρτηση, και να εµφανίζει τον ταξινοµηµένο πίνακα. Ασκηση 5_3. Να δηµιουργήσετε συνάρτηση µε πρωτότυπο int findelement(int array[], int stoixeia, int element) η οποία θα δέχεται ως παραµέτρους ένα πίνακα ακεραίων (array[]), το πλήθος των στοιχείων του (stoixeia) και ένα στοιχείο προς εύρεση (element) και θα επιστρέφει την θέση του στοιχείου στον πίνακα (αν υπάρχει), διαφορετικά -1. Το βασικό σας πρόγραµµα (main()), θα πρέπει να εµφανίζει τον αρχικό πίνακα (γεµίστε τον µε ψευδοτυχαίους), να ζητά το προς εύρεση στοιχείο, να καλεί την συνάρτηση, και να εµφανίζει το αποτέλεσµα της εύρεσης. Ασκηση 5_4. Να δηµιουργήσετε µια συνάρτηση µε πρωτότυπο void pyramis(int startline, int lines, char c)η οποία θα κατασκευάζει µία «πυραµίδα» από τον χαρακτήρα c, ξεκινώντας από το κέντρο της γραµµής startline και µε ύψος πυραµίδας lines. Π.χ. για startline =1, lines = 4 και c = ^ να τυπώνει : ^ ^^^ ^^^^^ ^^^^^^^ Ασκηση 5_5. Να δηµιουργήσετε µια συνάρτηση µε πρωτότυπο void plaisio(int upx, int upy, int rows, int cols, char c)η οποία, όταν καλείται, θα κατασκευάζει ένα «παράθυρο». Θεωρήστε ότι η οθόνη σας αποτελείται από 24 γραµµές και 80 στήλες χαρακτήρων. Οι παράµετροί της συνάρτησης αφορούν τα εξής : upx Γραµµή που ξεκινά η σχεδίαση του πλαισίου upy στήλη που ξεκινά η σχεδίαση του πλαισίου rows αριθµός γραµµών (µέγεθος) πλαισίου cols αριθµός στηλών (µέγεθος) πλαισίου c χαρακτήρας από τον οποίο δηµιουργείται το πλαίσιο (Προσοχή στους ελέγχους για σωστές τιµές) Υπεύθυνος Εργαστηρίου: Γιώργος Κατσαούνος 18/19

6η Σειρά Ασκήσεων (παράδοση : 12 η εβδοµάδα µαθηµάτων) Ασκηση 6_1. Να δηµιουργήσετε ένα πρόγραµµα που θα δηµιουργεί και θα διαχειρίζεται µία δοµή point{ int x; int y} στην οποία θα αποθηκεύονται σηµεία για την γραφική παράσταση µιας συνάρτησης. Η συνάρτηση που θα χρησιµοποιήσετε είναι η y=2x+3 µε πεδίο τιµών όλους τους ακέραιους στο διάστηµα [1,10]. Θα πρέπει να χρησιµοποιήσετε ένα πίνακα της δοµής τόσων θέσεων όσες και οι διαφορετικές τιµές της συνάρτησης στο πεδίο ορισµού της. Το πρόγραµµά σας θα πρέπει, αφού γεµίσει την δοµή µε τα σηµεία που προκύπτουν από τη συνάρτηση, να εµφανίζει στην οθόνη, τη γραφική της παράσταση µε * για κάθε σηµείο. (Θεωρήστε ότι η οθόνη σας περιλαµβάνει 24 γραµµές και 80 στήλες) Ασκηση 6_2. ηµιουργήστε ένα πρόγραµµα το οποίο θα χρησιµοποιεί µια κατάλληλη δοµή για να αποθηκεύει τα παρακάτω στοιχεία για τους Ν πωλητές µιας εταιρείας : Ονοµατεπώνυµο µήκους 40 το πολύ χαρακτήρων Βασικός µισθός Έτη στην εταιρεία Αριθµός παιδιών Πωλήσεις µηνός (για καθένα από τους δώδεκα µήνες του χρόνου Το πρόγραµµά σας, µέσα από ένα καλαίσθητο µενού επιλογών, θα πρέπει να εκτελεί τις παρακάτω λειτουργίες : 1. Εισαγωγή στοιχείων πωλητών 2. Εµφάνιση στοιχείων πωλητών 3. Εύρεση συνόλου πωλήσεων εταιρείας (όλοι οι πωλητές, όλοι οι µήνες) 4. Εύρεση του πωλητή της χρονιάς (πωλητής µε τις µεγαλύτερες ετήσιες πωλήσεις) 5. Υπολογισµός µηνιαίας µισθοδοσίας (Βασικός µισθός + έτη στην εταιρία*10 + αρ. Παιδιών * 30 ) 6. Υπολογισµός Bonus έτους ( 1500 για τον πωλητή της χρονιάς και από 150 κάθε µήνα του έτους για τον πωλητή µήνα) Υπεύθυνος Εργαστηρίου: Γιώργος Κατσαούνος 19/19