CS 150 Assignment 2. Assignment 2 Overview Opening Files Arrays ( and a little bit of pointers ) Strings and Comparison Q/A

Σχετικά έγγραφα
ΗY335: Δίκτυα Υπολογιστών Χειμερινό Εξάμηνο Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης Διδάσκουσα: Μαρία Παπαδοπούλη

HY150a Φροντιστήριο 3 24/11/2017

ΗΥ-150 Programming. Assignment 3. HY150 Programming, University of Crete

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 19/5/2007

Εισαγωγή στην Γλώσσα Προγραμματισμού Python. 12/10/16 1

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

ΧΑΡΟΚΟΠΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ

ΤΕΜ-101 Εισαγωγή στους Η/Υ Εξεταστική Ιανουαρίου 2011 Θέματα Β

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 6/5/2006

άσκηση Hide UI Elements 7.2 Try and Catch

ΑΡΧΗ 1ης ΣΕΛΙΔΑΣ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΤΑΞΗ / ΤΜΗΜΑ : Γ ΛΥΚΕΙΟΥ ΔΙΑΓΩΝΙΣΜΑ ΠΕΡΙΟΔΟΥ : ΜΑΡΤΙΟΣ 2018 ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ : 6 (ΕΞΙ)

Μηχανοτρονική. Τμήμα Μηχανικών Παραγωγής και Διοίκησης 7 ο Εξάμηνο,

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

Τμήμα Εφαρμοσμένης Πληροφορικής

Η γλώσσα προγραμματισμού C

FORTRAN & Αντικειμενοστραφής Προγραμματισμός ΣΝΜΜ 2017

Διάλεξη 18η: Διαχείρηση Αρχείων

Διάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος

ΛΥΚΕΙΟ ΣΟΛΕΑΣ Σχολική χρονιά

Αντικειμενοστρεφής Προγραμματισμός

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

Διάλεξη 12η: Δείκτες, μέρος 2

Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών H/Y Department of Electrical and Computer Engineering. Εργαστήριο 1. Χειμερινό Εξάμηνο

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 24/3/2007

Χρησιμοποιείται για να αποφασίσει το πρόγραμμα αν θα κάνει κάτι σε ένα σημείο της εκτέλεσής του, εξετάζοντας αν ισχύει ή όχι μια συνθήκη.

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

Γ7.2 Συμβολοσειρές (Strings) Γ Λυκείου Κατεύθυνσης

(C) 2010 Pearson Education, Inc. All rights reserved.

Εργαστήριο 2ο. Περίγραμμα Εργαστηριακής Άσκησης

The Simply Typed Lambda Calculus

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

ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ: ΕΞΙ (6)

Εισαγωγή στην Επιστήμη Υπολογιστών. Εισαγωγή στην Python

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 11/3/2006

ΤΕΛΟΣ 1ΗΣ ΑΠΟ 5 ΣΕΛΙ ΕΣ

Εισαγωγή στην Επιστήμη Υπολογιστών. Εισαγωγή στην Python

Phys460.nb Solution for the t-dependent Schrodinger s equation How did we find the solution? (not required)

Αρχεία Ένα αρχείο αποτελείται από μία σειρά ομοειδών δεδομένων που ονομάζονται λογικές εγγραφές (logical record)

Ο πιο κάτω πίνακας περιγράφει σε ποιες περιπτώσεις χρησιμοποιούμε τους τρεις πιο πάνω τρόπους:

Γλώσσα Προγραμματισμού C++ Εισαγωγή - Μια πρώτη ματιά

$./jms console -w <jms in> -r <jms out> -o <operations file> namedpipe. (standard input).

O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control)

ΤΕΛΟΣ 1ΗΣ ΑΠΟ 5 ΣΕΛΙΔΕΣ

[1] P Q. Fig. 3.1

ΓΡΑΠΤΕΣ ΠΡΟΑΓΩΓΙΚΕΣ ΕΞΕΤΑΣΕΙΣ ΜΑΪΟΥ-ΙΟΥΝΙΟΥ 2015

Κεφάλαιο Πίνακες Ι. (Διάλεξη 16)

Main source: "Discrete-time systems and computer control" by Α. ΣΚΟΔΡΑΣ ΨΗΦΙΑΚΟΣ ΕΛΕΓΧΟΣ ΔΙΑΛΕΞΗ 4 ΔΙΑΦΑΝΕΙΑ 1

lab7 PASS -Δεν έχεις καθόλου σχόλια! Διάβασε το φυλλάδιο. PASS -Πολύ καλή εργασία µε σωστά και επεξηγηµατικά σχόλια. -Πρόσεξε την στοίχισή σου!

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ

ΚΕΦΑΛΑΙΟ 9 ΒΑΣΙΚΕΣ ΕΝΤΟΛΕΣ

Ενότητα: Δυαδική Αναζήτηση Σχέδιο Δραστηριότητας: Παιχνίδι: Βρες τον αριθμό

Ει αγωγή η Fortran.

ΕΡΓΑΣΤΗΡΙΟ 1 - ΣΗΜΕΙΩΣΕΙΣ

Προαπαιτούμενες Ασκήσεις 5 ου Εργαστηρίου. Dose stoixeio (integer) : 25 Found stoixeio in position 7 Dose stoixeio (integer) :94 Value not found

HOMEWORK 4 = G. In order to plot the stress versus the stretch we define a normalized stretch:

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Πίνακες Κλάσεις και Αντικείμενα

Ανάπτυξη Μεγάλων Εφαρµογών στη Γλώσσα C (2)

ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ ΘΕΜΑ Α

Διδάσκων: Παναγιώτης Ανδρέου

Εργαστήριο Java. Διδάσκουσα: Εργαστηριακοί Συνεργάτες:

Streams Input / Output in C++ George Kastrinis

Θέματα Προγραμματισμού Διαδικτύου ~ PHP ~

Πίνακες: μια σύντομη εισαγωγή. Πίνακες χαρακτήρων: τα "Αλφαριθμητικά"

Εισαγωγή στον Προγραμματισμό

ΑΡΧΗ 1ης ΣΕΛΙΔΑΣ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΤΑΞΗ / ΤΜΗΜΑ : Γ ΛΥΚΕΙΟΥ ΔΙΑΓΩΝΙΣΜΑ ΠΕΡΙΟΔΟΥ : ΑΠΡΙΛΙΟΣ 2018 ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ : 7 (ΕΠΤΑ)

Πρόγραμμα όρασης. Στη συνέχεια θα περιγράψουμε πώς δουλεύει το ρομπότ.

ΜΑΘΗΜΑ / ΤΑΞΗ : ΑΕΠΠ / Γ ΛΥΚΕΙΟΥ-ΘΕΡΙΝΑ ΣΕΙΡΑ: 1 η ΗΜΕΡΟΜΗΝΙΑ: 09/09/2012

Σχηματίζοντας Γραφικές Παραστάσεις για Ημίτονο και Συνημίτονο και Ελέγχοντας Περιορισμούς σε Συστάδες Καρτών Τόμπολας

ÁÎÉÁ ÅÊÐÁÉÄÅÕÔÉÊÏÓ ÏÌÉËÏÓ

ΠΕΡΙΕΧΟΜΕΝΑ. Μονοδιάστατοι πίνακες Πότε πρέπει να χρησιμοποιούνται πίνακες Πολυδιάστατοι πίνακες Τυπικές επεξεργασίες πινάκων

EE512: Error Control Coding

Εισαγωγή στον Προγραμματισμό (με. τη C)

Instruction Execution Times

Διάλεξη 9η: Πίνακες (arrays)

Λειτουργικά. Συστήματα Ι. Φ ρ ο ν τ ι σ τ ή ρ ι ο. Αριστείδης Ηλίας. Εργαστήριο Ηλεκτρονικών Υπολογιστών

lab2 -Στην printf να βάζεις \n έτσι ώστε να αλλάζει γραµµή όποτε σου εµφανίζει κάποιο µήνυµα.

Μεθόδων Επίλυσης Προβλημάτων

Τύποι Δεδομένων Είσοδος/Έξοδος

Εισαγωγή στη Βιοπληροφορική

O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control)

Σημειωματάαριο Δευτέρας 16 Οκτ. 2017

Εργαστήριο 2. Εαρινό Εξάμηνο Εντολές για είσοδο ακεραίων αριθμών από την κονσόλα:

Συστήματα Διαχείρισης Βάσεων Δεδομένων

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ. Εξετάσεις Προσομοίωσης 10/04/2018

ΕΚΠΑΙΔΕΥΤΗΡΙΑ ΝΕΑ ΠΑΙΔΕΙΑ ΑΡΧΗ ΣΕΛΙΔΑΣ 1

Λειτουργικά Συστήματα Ι. Καθηγήτρια Παπαδάκη Αναστασία

Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο Κάθε δομή μπορεί να χρησιμοποιηθεί σε οποιοδήποτε πρόβλημα ή εφαρμογή

Ενδεικτικές λύσεις και στατιστικά

Συντακτικές λειτουργίες

ECON 381 SC ASSIGNMENT 2

i 1 Όσο i <> 100 επανάλαβε i i + 2 Γράψε A[i] Τέλος_επανάληψης

Α' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

Τεχνολογία και Προγραμματισμός Υπολογιστών. Η γλώσσα προγραμματισμού C

Παράδειγμα για διαχείριση strings

Εικονική Μνήμη (Virtual Μemory)

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

Εξοικείωση με το πρόγραμμα DEV C++ Επικοινωνία Χρήστη - Υπολογιστή

Κεφάλαιο Πίνακες Ι. ( ιάλεξη 15) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

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

Transcript:

CS 150 Assignment 2 Assignment 2 Overview Opening Files Arrays ( and a little bit of pointers ) Strings and Comparison Q/A

CS 150 Assignment 2 Overview Ζητείται ένα πρόγραμμα το διαβάζει από ένα αρχείο ένα κατάλογο ΑΜ, βαθμών και ονομάτων μαθητών, διαχωρισμένα με ένα κενό το κάθε ένα. Συγκεκριμένα, κάθε του γραμμή περιέχει τα εξής στοιχεία: [ΑΜ] [Όνομα] [Επώνυμο] [διεύθυνση ηλεκτρονικού ταχυδρομείου] [Βαθμός 1] [Βαθμός 2] [Βαθμός 3].

CS 150 Assignment 2 Overview Κατά την εκτέλεση του, το πρόγραμμα ζητείται να τοποθετεί στην κύρια μνήμη τον κατάλογο που περιέχεται στο αρχείο και να εμφανίζει μια γραμμή εντολών (command prompt) με την οποία ο χρήστης θα μπορεί να δίνει εντολές για τη διαχείριση του καταλόγου. Οι ζητούμενες εντολές που μπορούν να δοθούν στη γραμμή εντολών είναι:

CS 150 Assignment 2 Overview >pa εκτύπωση των καταχωρήσεων με αλφαβητική σειρά, με βάση το επώνυμο. >ps τα ονόματα των μαθητών και τα υπόλοιπα στοιχεία τους, ταξινομημένα με φθίνουσα σειρά με βάση τον τελικό βαθμό των φοιτητών. > f georgiou εκτύπωση των καταχωρήσεων που το όνομα ή το επώνυμο περιέχουν το αλφαριθμητικό georgiou σε μικρά ή κεφαλαία, > d Nikos Georgiou διαγραφή της καταχώρησης που αφορά τον φοιτητή με όνομα και επώνυμο την πρώτη και δεύτερη λέξη της εντολής, αντίστοιχα, > m Εκτύπωση του (α) Τελικού βαθμού του κάθε φοιτητή. Ο τελικός βαθμός του κάθε μαθητή ορίζεται ως ο μέσος όρος των τριών βαθμών του, (β) Τον μέσο όρο κάθε άσκησης για όλους τους φοιτητές, (γ) Τον μέσο όρο βαθμολογίας όλης της τάξης (δ) τον διάμεσο βαθμολογίας όλης της τάξης. >i Giorgos Nikolaou gnik@example.address.gr 6 9 10 εισαγωγή καταχώρησης, όνομα, επώνυμο, διεύθυνση ηλεκτρονικού ταχυδρομείου, και βαθμοί. >q τερματισμός προγράμματος.

CS 150 Assignment 2 Overview Το πρόγραμμα θα πρέπει να τυπώνει σχετικά μηνύματα λάθους σε περίπτωση λανθασμένης εισόδου του χρήστη και να μην επιτρέπει την εκτέλεση των αντίστοιχων εντολών (π.χ. εντολή d χωρίς όνομα, λάθος αριθμός ορισμάτων, συντακτικά λανθασμένη διεύθυνση ηλεκτρονικού ταχυδρομείου). Εάν θέλετε μπορείτε να υποθέσετε πως ισχύουν τα παρακάτω. Τα ονόματα και διεύθυνση ηλεκτρονικού ταχυδρομείου δεν είναι παραπάνω από 50 χαρακτήρες. Όλοι οι χαρακτήρες είναι λατινικοί. Σε οποιαδήποτε στιγμή, ο κατάλογος δεν περιέχει παραπάνω από 100 καταχωρήσεις. Συνωνυμίες μπορούν να υπάρχουν στα επώνυμα και στα ονόματα αλλά όχι και στα δύο ταυτόχρονα. Βοήθεια 1: Διάμεσος (Median) είναι η τιμή εκείνη της μεταβλητής που χωρίζει το σύνολο των τιμών σε δυο ίσα μέρη, ώστε ο αριθμός των παρατηρήσεων που είναι μικρότερες από το Μ, να είναι ίσος με τον αριθμό αυτών που είναι μεγαλύτερες από το Μ. Περισσότερα εδώ: http://goo.gl/jzbov1

CS 150 Assignment 2 Overview Πώς σας φαίνεται?

CS 150 Assignment 2 Overview Χρειαζόμαστε : Ένα απλό commandline interface Να ανοίγουμε αρχεία και να τα διαβάζουμε γραμμή γραμμή Η κάθε γραμμή να χωρίζεται και αποθηκεύεται σε κάποια arrays Να μπορούμε να τα ταξινομήσουμε ( όλους τους πίνακες με βάση 1 ) Να μπορούμε να ψάξουμε κάποια συγκεκριμένη καταχώρηση Να μπορούμε να προσθέσουμε κάποια καταχώρηση Να μπορούμε να σβήσουμε κάποια καταχώρηση Να μπορούμε να αθροίσουμε βαθμούς σε καταχωρήσεις Να γράφουμε αρχεία για να μην χάνονται τα δεδομένα μας

CS 150 Arrays Γενικά τα arrays και κατα συνέπεια ( πιο γενικευμένα pointers / memory management ) είναι από τα πιο σημαντικά topics τα οποία οδηγούν σε πολύ μεγάλα και αόρατα προβλήματα. https://en.wikipedia.org/wiki/list_of_software_bugs

CS 150 Arrays http://www.around.com/ariane.html This shutdown occurred 36.7 seconds after launch, when the guidance system's own computer tried to convert one piece of data -- the sideways velocity of the rocket -- from a 64-bit format to a 16-bit format. The number was too big, and an overflow error resulted. When the guidance system shut down, it passed control to an identical, redundant unit, which was there to provide backup in case of just such a failure. But the second unit had failed in the identical manner a few milliseconds before. And why not? It was running the same software.

CS 150 Arrays

CS 150 Arrays

CS 150 Arrays

CS 150 Arrays int namei[100]; What happens if we : namei[110] = 0;? Is there a difference between? int IA, int IB[1];

CS 150 Arrays Ex 4. cpp

CS 150 File I/O Πώς παίρνουμε file Input?

CS 150 File I/O Πώς γράφουμε file Output?

CS 150 Arrays Ex 2. cpp

CS 150 File I/O Πώς ταξινομούμε? Προσοχή synchronization πινάκων Προσοχή case insensitive..! Ex2.cpp & Ex3.cpp & Ex5.cpp

CS 150 Arrays 2 Ερωτήσεις? Παρασκευή δεν θα γίνει αναπλήρωση Μην αφήσετε την εργασία τελευταία στιγμή Comments / Indentation / Style etc matter Error checking matters