ΦΥΣ 145 Μαθηµατικές Μέθοδοι στη Φυσική. Πρόοδος 13 Μαρτίου 2010 Οµάδα

Σχετικά έγγραφα
ΦΥΣ 145 Μαθηµατικές Μέθοδοι στη Φυσική. Πρόοδος 28 Μαρτίου 2009 Οµάδα 1 η

ΦΥΣ 145 Μαθηµατικές Μέθοδοι στη Φυσική. Πρόοδος 20 Μαρτίου 2011 Οµάδα

ΦΥΣ 145 Υπολογιστικές Μέθοδοι στη Φυσική. Πρόοδος 26 Μαρτίου 2007 Ομάδα 1 η

ΦΥΣ 145 Υπολογιστικές Μέθοδοι στη Φυσική. Πρόοδος 26 Μαρτίου 2007 Ομάδα 1 η

ΦΥΣ 145 Μαθηµατικές Μέθοδοι στη Φυσική. 5 Μαίου 2012

ΦΥΣ 145 Μαθηματικές Μέθοδοι στη Φυσική. Γράψτε το ονοματεπώνυμο και αριθμό ταυτότητάς σας στο πάνω μέρος της αυτής της σελίδας.

ΦΥΣ 145 Μαθηματικές Μέθοδοι στη Φυσική. Γράψτε το ονοματεπώνυμο και αριθμό ταυτότητάς σας στο πάνω μέρος της αυτής της σελίδας.

ΦΥΣ 145 Μαθηµατικές Μέθοδοι στη Φυσική. Γράψτε το ονοµατεπώνυµο και αριθµό ταυτότητάς σας στο πάνω µέρος της αυτής της σελίδας.

ΦΥΣ-151. Ηλεκτρονικοί Υπολογιστές Ι (FORTRAN 77) (Άνοιξη 2004)

ΦΥΣ 145 Μαθηµατικές Μέθοδοι στη Φυσική. 21 Μαίου Γράψτε το ονοµατεπώνυµο και αριθµό ταυτότητάς σας στο πάνω µέρος της αυτής της σελίδας.

ΦΥΣ-151. Ηλεκτρονικοί Υπολογιστές Ι (FORTRAN 77) (Άνοιξη 2004)

ΦΥΣ 145 Μαθηµατικές Μέθοδοι στη Φυσική. 15 Μαίου 2013

8 FORTRAN 77/90/95/2003

Δομή προγράμματος στη Fortran

ΦΥΣ 145 Υπολογιστικές Μέθοδοι στη Φυσική. Τελική εξέταση 5 Μάη 2007 Ομάδα 1 η

Δομή προγράμματος στη Fortran

Τμήμα Φυσικής Πανεπιστημίου Κύπρου Εαρινό Εξάμηνο 2015/2016. ΦΥΣ145 Υπολογιστικές Μέθοδοι στην Φυσική

ΦΥΣ-151. Ηλεκτρονικοί Υπολογιστές Ι (FORTRAN 77) (Άνοιξη 2004)

Κεφάλαιο 5ο: Εντολές Επανάληψης

ΦΥΣ 145 Υπολογιστικές Μέθοδοι στη Φυσική. Τελική εξέταση 19 Μάη 2008 Οµάδα 2 η

ΦΥΣ 145 Μαθηµατικές Μέθοδοι στη Φυσική. 10 Μαίου 2010

Υπο-προγράμματα στη Fortran

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

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

ΥΠΟΛΟΓΙΣΤΕΣ Ι. Τι χρειάζεται η εντολή DO ; ΕΠΑΝΑΛΗΨΕΙΣ ΕΝΤΟΛΗ DO. Όταν απαιτείται να εκτελεστεί πολλές φορές το ίδιο τμήμα ενός προγράμματος.

Εισαγωγή στην Αριθμητική Ανάλυση

Ενότητα 1 Διάλεξη 3. Προγραμματισμός με Εφαρμογές στην Επιστήμη του Μηχανικού. Σιέττος Κωνσταντίνος

ΦΥΣ 145 Υπολογιστικές Μέθοδοι στη Φυσική. Τελική εξέταση 19 Μάη 2008 Οµάδα 1 η

ΦΥΣ 145 Μαθηματικές Μέθοδοι στη Φυσική. Γράψτε το ονοματεπώνυμο και αριθμό ταυτότητάς σας στο πάνω μέρος της αυτής της σελίδας.

Άσκηση 1. Α. Υπολογίστε χωρίς να εκτελέσετε κώδικα FORTRAN τα παρακάτω: Ποιά είναι η τελική τιμή του Z στα παρακάτω κομμάτια κώδικα FORTRAN:

Το πλήθος των δεικτών και οι µεγαλύτερες τιµές που µπορούν να πάρουν ορίζεται µε µία δηλωτική εντολή που λέγεται Dimension.

Κεφάλαιο 12 : ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ

ΦΥΣ 145 Μαθηµατικές Μέθοδοι στη Φυσική. 12 Μαίου 2011

ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ. Εισαγωγή στη Python

Σκοπός. Αλγεβρικοί και Λογικοί Υπολογισμοί στη PASCAL

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

ΣΕΤ ΑΣΚΗΣΕΩΝ 4. Προθεσµία: 8/1/12, 22:00

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

ΜΑΗΣ ΕΞΕΤΑΣΤΙΚΟ ΔΟΚΙΜΙΟ

TO ΥΠΟΠΡΟΓΡΑΜΜΑ ΣΥΝΑΡΤΗΣΗ

ΥΠΟΛΟΓΙΣΤΕΣ Ι. Τι είναι μια συνάρτηση; ΣΥΝΑΡΤΗΣΕΙΣ. Δήλωση συνάρτησης sq. Παράδειγμα συνάρτησης: υπολογισμός τετραγώνου

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Κεφάλαιο 8 : H γλώσσα προγραµµατισµού Pascal

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

Σκοπός. Εργαστήριο 6 Εντολές Επανάληψης

Χρονικές σειρές 1 ο μάθημα: Εισαγωγή στη MATLAB

Pascal. 15 Νοεμβρίου 2011

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

Προγραµµατισµός Ι ΕΡΓΑΣΤΗΡΙΟ 2 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ

ΦΥΣ 145 Υπολογιστικές Μέθοδοι στη Φυσική. Τελική εξέταση 25 Μάη 2006 Ομάδα 2 η

Γ' ΛΥΚΕΙΟΥ ΤΕΧΝΟΛΟΓΙΚΗ ΚΑΤΕΥΘΥΝΣΗ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΚΦΩΝΗΣΕΙΣ ÏÅÖÅ

Προγραµµατισµός στην Basic

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Κεφάλαιο 8 : H γλώσσα προγραµµατισµού Pascal 1 ο Μέρος σηµειώσεων (Ενότητες 8.1 & 8.2 σχολικού βιβλίου)

3ο σετ σημειώσεων - Πίνακες, συμβολοσειρές, συναρτήσεις

Ο τελεστής ανάθεσης και οι εντολές εισόδουεξόδου

ΥΠΟΛΟΓΙΣΤΕΣ Ι. Τύποι δεδομένων ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΠΡΑΞΕΙΣ. Παράδειγμα #1. Πράξεις μεταξύ ακεραίων αριθμών

ΚΕΦΑΛΑΙΟ 7 ο. Έτσι ο προγραµµατισµός µε τη ΓΛΩΣΣΑ εστιάζεται στην ανάπτυξη του αλγορίθµου και τη µετατροπή του σε σωστό πρόγραµµα.

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

Εισαγωγή στο Προγραμματισμό για Μηχανολόγους Οδηγός Προετοιμασίας για τη Τελική Εξέταση

Σχολικό Βιβλίο - Κεφάλαιο 7 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕ PASCAL ΠΑΡΟΥΣΙΑΣΗ 13

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

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

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

Υπολογιστές Ι. Άδειες Χρήσης. Συναρτήσεις. Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

Μονοδιάστατοι πίνακες

Αριθµητική Ολοκλήρωση

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

Oι εντολές COMMON και PARAMETER

- Αναπαράσταση ακέραιας τιµής : - Εύρος ακεραίων : - Ακέραιοι τύποι: - Πράξεις µε ακεραίους (DIV - MOD)

Επεξεργασία Αρχείων Κειµένου

int array[10]; double arr[5]; char pin[20]; Προγραµµατισµός Ι

Σύντομες εισαγωγικές σημειώσεις για την. Matlab

scanf() scanf() stdin scanf() printf() int float double %lf float

Εισαγωγή στην Επιστήμη της Πληροφορικής Εργαστήριο. Microsoft Excel Μέρος 2

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

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

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΔΙΑΓΩΝΙΣΜΑ ΠΡΟΣΟΜΟΙΩΣΗΣ 23/04/2012. Α. Να απαντήσετε με Σ ή Λ στις παρακάτω προτάσεις:

ΜΑΘΗΜΑ / ΤΑΞΗ : ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ / ΕΠΑΛ ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ:

Η ΔΟΜΗ ΕΠΑΝΑΛΗΨΗΣ Εντολές Επανάληψης REPEAT UNTIL, FOR, WHILE

ΣΕΤ ΑΣΚΗΣΕΩΝ 3. Προθεσµία: Πέµπτη 17/12/2015, 22:00

ΕΙΣΑΓΩΓΗ ΣΤΗΝ FORTRAN 77

ΚΕΦΑΛΑΙΟ 8 Η ΓΛΩΣΣΑ PASCAL

Άσκηση 1 (α) Να διατυπώσετε την πιο κάτω λογική έκφραση στη Visual Basic κάνοντας χρήση μεταβλητών:

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

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

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

Ενότητα 1: «Εισαγωγή στην Αλγοριθμική και τον Προγραμματισμό. Απλές ασκήσεις με γλώσσα Pascal»

ΕΠΛ 003: ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ. Εισαγωγή στο Unix

Δύο είναι οι κύριες αιτίες που μπορούμε να πάρουμε από τον υπολογιστή λανθασμένα αποτελέσματα εξαιτίας των σφαλμάτων στρογγυλοποίησης:

Pascal, απλοί τύποι, τελεστές και εκφράσεις

Αναφορά (1/2) Μπορούμε να ορίσουμε μια άλλη, ισοδύναμη αλλά ίσως πιο σύντομη, ονομασία για ποσότητα (μεταβλητή, σταθερή, συνάρτηση, κλπ.

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

Εισαγωγή στη χρήση Η/Υ. Αναγνωστοπούλου Χριστίνα Λέκτορας

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

Προβλήματα που αφορούν εντολές ελέγχου της ροής ενός προγράμματος.

7.1 Αλφάβητο. 7.2 Τύποι δεδομένων. 7.3 Σταθερές. 7.4 Μεταβλητές. 7.5 Αριθμητικοί τελεστές. 7.6 Συναρτήσεις. 7.7 Αριθμητικές εκφράσεις. 7.

ΕΞΕΤΑΣΗ ΙΑΝΟΥΑΡΙΟΥ (28/1/2011)

Ασκήσεις Γενικά Μαθηµατικά Ι Οµάδα 5 (λύσεις)

Κεφάλαιο 4ο: Εντολές επιλογής

Στοιχεία Προγραμματισμού Σε Γραφικό Περιβάλλον Φύλλο εργασίας 1 ο

Transcript:

ΦΥΣ 145 Μαθηµατικές Μέθοδοι στη Φυσική Πρόοδος 13 Μαρτίου 2010 Οµάδα Γράψτε το ονοµατεπώνυµο και αριθµό ταυτότητάς σας στο πάνω µέρος της αυτής της σελίδας. Πρέπει να απαντήσετε σε όλα τα προβλήµατα που σας δίνονται. Ο χρόνος εξέτασης είναι 150 λεπτά και χωρίζεται σε 2 µέρη. Στο πρώτο µέρος, διάρκειας 60 λεπτών, θα πρέπει να απαντήσετε στο γραπτό µέρος χωρίς τη χρήση υπολογιστών. Στο δεύτερο µέρος, διάρκειας 90 λεπτών, θα πρέπει να γράψετε τα προγράµµατα που περιγράφονται στις ασκήσεις. Το σύνολο των µονάδων από το Α µέρος της εξέτασης είναι 60 όπως και το σύνολο των µονάδων από το δεύτερο µέρος της εξέτασης. Από τη στιγµή αυτή δεν υπάρχει συνεργασία/συζήτηση ανταλλαγή αρχείων και e-mails µε κανένα και φυσικά κουδούνισµα κινητού που πρέπει να κλείσουν. Σηµειώσεις, χαρτάκια κλπ απαγορεύονται όπως και επισκέψεις σε ιστοσελίδες ή accounts που δεν αναφέρονται στην ιστοσελίδα του µαθήµατος. Καλή επιτυχία

Α Μέρος - ΑΣΚΗΣΕΙΣ χωρίς υπολογιστή 1. [10µ] Τα ακόλουθα ερωτήµατα είναι Αληθή ή Ψευδή. Σηµειώστε καθαρά στην αρχή κάθε ερωτήµατος ένα [Τ] αν αυτό που δηλώνεται στο ερώτηµα είναι αληθές ή ένα [F] αν είναι ψευδές. (1µ/ερώτηµα) (Α) Αν i1=2 και i2=2 τότε οι εντολές που βρίσκονται σε ένα DO loop το οποίο ξεκινά ως DO 100 I=i1, i2, -1 δεν θα εκτελεστούν (Β) Ο αριθµός 1.2345789x10 300 µπορεί να αναπαρασταθεί πλήρως σαν σταθερά DOUBLE PRECISION (Γ) Ο αριθµός -2,000,000,000 µπορεί να αποθηκευτεί σε µια INTEGER τύπου µεταβλητή (Δ) Αν σε µια µεταβλητή Α έχει δοθεί η τιµή 1 µέσω µιας εντολής PARAMETER, τότε µπορούµε να τη µεταβάλουµε κατά τη διάρκεια εκτέλεσης του προγράµµατος δίνοντας της τιµή από το πληκτρολόγιο (Ε) Όταν χρησιµοποιούµε IMPLICIT NONE, ο τύπος των δεδοµένων (REAL, INTEGER, ) θα πρέπει να δηλωθεί για όλα τα ονόµατα των FUNCTIONS (ΣΤ) Όταν χρησιµοποιούµε υποπρόγραµµα FUNCTION περνούµε µόνο τη τιµή του ορίσµατος αλλά όταν χρησιµοποιούµε υποπρόγραµµα SUBROUTINE περνούµε τη διεύθυνση µνήµης του υπολογιστή στο οποίο δείχνει το όρισµα. (Ζ) Όταν χρειάζεται να χρησιµοποιήσουµε πίνακες ενός κυρίου προγράµµατος σε κάποιους υπολογισµούς σε ένα υποπρόγραµµα θα πρέπει να χρησιµοποιήσουµε υποπρόγραµµα SUBROUTINE γιατί υποπρόγραµµα FUNCTION δεν µπορούν να χειριστούν κατάλληλα πίνακες όταν αυτοί υπάρχουν στη λίστα των ορισµάτων της συνάρτησης (Η) Αν Α=1.0, Β=2.0 και C=3.0 η ακόλουθη λογική έκφραση όταν υπολογίζεται είναι.false. LTEST = A.LT.0.0.OR. B.EQ.0.0.AND. C.LT.0.0 (Θ) Αν η µεταβλητή Ι=100 τότε η ακόλουθη εντολή WRITE(6,100) I όπου 100 αντιστοιχεί στην εντολή FORMAT(1x,Α3) θα τυπώσει b100 όπου b αντιστοιχεί σε ένα κενό. (Ι) Αν η µεταβλητή Β έχει δηλωθεί σαν τύπου INTEGER και περάσουµε στο πρόγραµµα τον αριθµό 99.1 σα τιµή της µέσω της εντολή READ(5,100) B όπου 100 αντιστοιχεί στην εντολή FORMAT(F3.1) τότε η τιµή της στο πρόγραµµα θα είναι 99

2. [5µ] Διαλέξτε τη σωστή απάντηση στις επόµενες ερωτήσεις που αναφέρονται σε εντολές Linux (1µ/ερώτηση) (A) Η εντολή cat χρησιµοποιείται για (α) Να σβήσουµε ένα file (b) Να δούµε το περιεχόµενο ενός file (c) Να πάρουµε ένα κατάλογο των files ενός directory (d) Να δούµε τις πρώτες σειρές ενός file (e) Δεν υπάρχει τέτοια εντολή (Β) Η εντολή cp ~/fotis/test.f test1.f θα (α) Αντιγράφει το file test.f από το home directory του χρήστη fotis στο directory που βρίσκεστε και του δίνει το όνοµα test1.f (b) Αντιγράφει το file test.f από το subdirectory fotis του home directory σας στο directory που βρίσκεστε και του δίνει το όνοµα test1.f (c) Μετονοµάζει το file test.f που βρίσκεται στο home directory του χρήστη fotis σε test1.f (d) Μετονοµάζει το file test.f που βρίσκεται στο subdirectory fotis του home directory σας σε test1.f (e) Δεν υπάρχει τέτοια εντολή (Γ) Αν θέλουµε να δούµε σε ποιο directory βρισκόµαστε θα πρέπει να δώσουµε την εντολή (a) show dir (b) chmod dir (c) ls al (d) ls (e) pwd (Δ) Δίνοντας την εντολή rm rf test (a) Θα σβήσει τα files rf και test (b) Θα σβήσει το περιεχόµενο του directory rf και test (c) Θα σβήσει όλα τα files και subdirectories του directory test (d) Θα µεταφέρει όλα τα files του subdirectory rf στο directory test και θα σβήσει τον directory rf (e) Δεν θα εκτελέσει τίποτα λόγω λάθους σύνταξης (Ε) Η εντολή head test.dat (a) Θα θέσει το file test.dat στη κορυφή της λίστας των files ενός directory (b) Θα δώσει τις πρώτες γραµµές του περιεχοµένου του file test.dat (c) Θα εκτυπώσει το περιεχόµενο του file test.dat ανα σελίδα (d) Θα εκτυπώσει όλο το περιεχόµενο του file test.dat (e) Θα µεταφέρει το file test.dat στο home directory σας 3. [10µ] Διαλέξτε την απάντηση στις επόµενες ερωτήσεις: (2µ/ερώτηση) (Α) Τι θα τυπωθεί στο ακόλουθο τµήµα ενός προγράµµατος FORTRAN; REAL A(20) DO 20 J = 1,9,3 A(J) = 3*J 1 20 CONTINUE PRINT *, J (a) 3 (b) 7 (c) 8 (d) 9 (e) 10

(B) Πόσα bytes χρησιµοποιούνται για να αποθηκεύσουµε ένα αριθµό DOUBLE PRECISION (a) 4 (b) 8 (c) 16 (d) 32 (e) 64 (Γ) Ποια θα είναι η τελική τιµή της µεταβλητής ANS στο ακόλουθο τµήµα κώδικα FORTRAN x=1.0 y=2.0 z=3.0 ans=0.0 if (z.gt. 2.0) then ans = 1.0 else if (z.ge. 3.0) then ans = 2.0 else if (y.eq. 2.0) then ans = 3.0 else ans = 4.0 endif (a) 0.0 (b) 1.0 (c) 2.0 (d) 3.0 (e) 4.0 (Δ) Ποιο θα είναι το αποτέλεσµα του ακόλουθου τµήµατος προγράµµατος FORTRAN integer ind(5) data ind/1,4,9,16,25/ do j = 2, 5 ind(j) = sqrt(ind(j-1)) end do print *, ind (a) 1-4-9-16-25 (b) 1-1-4-9-16 (c) 1-2-3-4-5 (d) 1-1-2-3-4 (e) Υπάρχει λάθος στο πρόγραµµα ( ) όπου f ( x) = x2 1. Αν η (Ε) Χρησιµοποιείτε τη µέθοδο Newton για να βρείτε µια λύση της f x αρχική σας υπόθεση για λύση ήταν η x 0 = 2.0 ποια θα είναι η πρόβλεψη της µεθόδου Newton για την επόµενη προσεγγιστική λύση; (a) 0.5 (b) 0.75 (c) 1.0 (d) 1.25 (e) 1.5

4. [5β] Το ακόλουθο πρόγραµµα χρησιµοποιεί µια συνάρτηση για να υπολογίζει το µισό της διαφοράς της τιµής ενός στοιχείου του πίνακα Α από τη τετραγωνική ρίζα της τιµής και το αποτέλεσµα το θέτει σα νέα τιµή στο στοιχείο του πίνακα. Ωστόσο έχει 2 λάθη. Βρείτε τα λάθη αυτά και κάνετε τις απαραίτητες διορθώσεις ώστε το πρόγραµµα να δουλεύει σωστά. Program test1 real a(5), func data a/9,64,25,16,81,100,121/ do j = 1, 5 a(j) = 2*func(a(j)) enddo print *, a end REAL FUNCTION FUNC(B(I)) INTEGER I REAL B, Test1 test1 = (B - sqrt(b))/2 If (test1.lt.10) then func = 10 endif Return End 5. [5β] Βρείτε τι θα τυπώσει το ακόλουθο πρόγραµµα: Program test2 integer IA(5) do 10 I = 5, 1, -1 10 IA(I) = 5 I write(6,2000) (IA(I), I=1, 5) 2000 Format ( IA=,3(I5)) end

6. [25µ] Στα ακόλουθα 5 ερωτήµατα συµπληρώστε τις απαραίτητες γραµµές κώδικα ανάλογα µε το ζητούµενο (5µ/ερώτηµα) (Α) Προσθέστε µια εντολή WRITE η οποία να περιέχει ένα έµµεσο DO loop και την κατάλληλη εντολή FORMAT ώστε να τυπώσετε στην οθόνη τα στοιχεία του πίνακα Α µε την ακόλουθη µορφή: (οι ακόλουθες 2 γραµµές δεν είναι µέρος του προγράµµατος. Χρησιµοποιούνται σαν ορόσηµα των στηλών στα οποία θα πρέπει να εµφανίζονται οι τιµές του πίνακα ώστε να µη µετράτε κενά) 1 2 3 4 12345678901234567890123456789012345678901234 n = 8 A = 2.10e+01 3.20e+01 4.30e+01 5.40e+01 6.50e+01 7.60e+01 8.70e+01 9.80e+01 PROGRAM OUTPUT real A(100) n=8 DO 10 i=1, n A(i) = 11*I + 10 10 continue end (Β) Γράψτε µια συνάρτηση για να προσοµοιώσετε την αύξηση του δυναµικού σε κάποιο κύκλωµα. Το όνοµα της συνάρτησης είναι VSMOOTH και πρέπει να έχει 3 ορίσµατα. Το πρώτο είναι time, το δεύτερο είναι t1 η χρονική στιγµή που το δυναµικό αρχίζει να αυξάνει από τη τιµή 0V και το τρίτο όρισµα είναι t2, η χρονική στιγµή όπου το δυναµικό αποκτά τη τιµή 1V και σταµατά να αυξάνει. Η συνάρτηση επιστρέφει µια πραγµατική τιµή η οποία είναι 0 αν time έχει τιµή µικρότερη της t1, 1 αν time έχει τιµή µεγαλύτερη της t2, ενώ για οποιαδήποτε άλλη τιµή της µεταβλητής time στο διάστηµα [t1,t2] η συνάρτηση επιστρέφει σα τιµή το αποτέλεσµα της σχέσης: 3w 2 2w 2 όπου w = t t1 ( ) ( t2 t1). Η συνάρτηση θα µπορούσε να χρησιµοποιηθεί µε τον ακόλουθο τρόπο volt1 = vsmooth(time, 1.0, 2.0) volt2 = vsmooth(t,tlow,thigh)

(Γ) Να προσθέσετε ένα DO loop και όποιες άλλες απαραίτητες εντολές στη συνάρτηση INTSUM έτσι ώστε να υπολογίζει το άθροισµα όλων των ακεραίων από το αριθµό Μ ως τον αριθµό N. Για παράδειγµα IS35 = INTSUM (3,5) δίνει το άθροισµα των αριθµών από το 3 ως το 5 και η µεταβλητή IS35 έχει τιµή 12 ενώ IS05 = INTSUM (0,5) έχει τιµή 15. (Δ) Γράψτε µια SUBROUTINE η οποία πραγµατοποιεί το πολλαπλασιασµό δυο δυσδυάστατων πινάκων Α και Β µεγέθους ΝxΝ και επιστρέφει το πίνακα C = A x B. H SUBROUTINE θα πρέπει να δέχεται σαν ορίσµατα τους πραγµατικούς πίνακες Α και Β, το µέγεθός τους Ν καθώς και το πίνακα C. (Ε) Έστω ένας ΝxΝ πίνακας Α ο οποίος βρίσκεται στη µνήµη του υπολογιστή. Γράψτε µια συνάρτηση η οποία αθροίζει τα στοιχεία του πίνακα Α που βρίσκονται πάνω από τη κύρια διαγώνιό του και επιστρέφει το άθροισµα αυτό.

ΟΝΟΜΑΤΕΠΩΝΥΜΟ: USENAME PASSWORD: Ασκήσεις για τον υπολογιστή Δηµιουργήστε ένα subdirectory midterm στον οποίο θα δουλέψετε τις παρακάτω δυο ασκήσεις. Θα πρέπει στο τέλος της εξέτασης να δηµιουργήσετε ένα tar file µε όλα τα f, pdf και dat files τα οποία δηµιουργήσατε ή χρησιµοποιήσατε. Το tar file θα πρέπει να βρίσκεται στο subdirectory midterm και να έχει όνοµα µε τη µορφή <username>_groupx.tgz όπου username ο e-mail account σας στο πανεπιστήµιο. Το file αυτό θα το πάρουµε από τους directories σας. Θα πρέπει να γράψετε το κωδικό εισόδου σας στο πάνω µέρος της σελίδας αυτής. Αν το password σας είναι διαφορετικό από αυτό που σας δώθηκε αρχικά και ξεχάσετε να το δώσετε δε θα βαθµολογηθείτε στις παρακάτω ασκήσεις Μην ξεχάσετε να γράψετε το ονοµατεπώνυµό σας και αριθµό ταυτότητας σε κάθε file που αντιστοιχεί στο πρόγραµµα που στέλνετε. 7. [20µ] H παραβολή y = x 2 + 1 έχει µια εφαπτόµενη σε κάποιο σηµείο µε συντεταγµένες (x o,y o ), όπου x 0 >0. H εφαπτόµενη αυτή περνά και από το σηµείο A µε συντεταγµένες (1,-3). To σηµείο Α δεν ανήκει στην παραβολή. (Α) Να βρεθεί αναλυτικά το σηµείο αυτό [5µ] (Β) Να βρεθούν αριθµητικά οι συντεταγµένες (x 0,y 0 ) µε ακρίβεια 10 ου δεκαδικού ψηφίου. Το πρόγραµµά σας θα πρέπει να τυπώνει στην οθόνη µε κατάλληλο Format τις συντεταγµένες [10µ]. (Γ) Να κάνετε την γραφική αναπαράσταση της παραβολής και της εφαπτοµένης στο σηµείο που βρήκατε και να την αποθηκεύσετε στο file askisi6_plot.pdf το οποίο θα πρέπει να στείλετε µε το πρόγραµµά σας [5µ] 8. [40µ] Στο πρόβληµα αυτό θα πρέπει να κάνετε τη κατανοµή της µάζας του σωµατιδίου Ζ 0 που είναι ένα από τους φορείς των ασθενών αλληλεπιδράσεων και µπορεί να παραχθεί σε υψηλείς ενέργειας συγκρούσεις δεσµών πρωτονίου αντιπρωτονίου ή πρωτονίου-πρωτονίου στους επιταχυντές Tevatron και LHC αντίστοιχα. Το σωµατίδιο αυτό διασπάται σε χρόνο 10-23 sec και εποµένως δεν µπορούµε να το ανιχνεύσουµε απ ευθείας. Μπορούµε όµως να το δούµε ανιχνεύοντας τα τελικά προϊόντα της διάσπασής του τα οποία είναι είτε σταθερά είτε ζουν µεγάλο χρονικό διάστηµα. Ένας από τους τρόπους διάσπασής του είναι σε ζεύγος ηλεκτρονίου ποζιτρονίου (το αντισωµατίδιο του ηλεκτρονίου), δηλαδή Z 0 e + e. Με κατάλληλους ανιχνευτές µετρούµε την ορµή και ενέργεια των ηλεκτρονίων και ποζιτρονίων και τις αποθηκεύουµε σε κάποιο αρχείο. Κάθε γραµµή των δεδοµένων του αρχείου περιέχει τις τιµές της ενέργειας, Ε, και των τριών συνιστωσών της ορµής, p x, p y, p z, του ηλεκτρονίου και ποζιτρονίου αντίστοιχα. Συνολικά σε κάθε γραµµή του file υπάρχουν 8 δεδοµένα και αντιστοιχούν στη παραγωγή και διάσπαση ενός σωµατιδίου Ζ 0, ένα γεγονός σύγκρουσης δηλαδή στο οποίο παράχθηκε το συγκεκριµένο σωµατίδιο. Από τα δεδοµένα της κάθε γραµµής µπορούµε να υπολογίσουµε την µάζα του σωµατιδίου Ζ ο µε βάση τη θεωρίας της ειδικής σχετικότητας ως εξής: 2 M Z 0 = E Z 0 p 2 Z 0 (1), όπου θεωρούµε µονάδες τέτοιες ώστε η ταχύτητατα του φωτός, c, να είναι c=1. Εφόσον η ενέργεια και ορµή διατηρούνται, µπορούµε να γράψουµε την ενέργεια και ορµή του

σωµατιδίου Ζ 0 βάση την ενέργεια και ορµή των προϊόντων διάσπασής του οπότε πέρνουµε τη σχέση: ( ) 2 x x ( p e + p e + ) 2 y y ( p e + p e + ) 2 z z ( p e + p e + ) 2 (2) M Z 0 = E e + E e + Τι θα πρέπει να κάνετε στο πρόγραµµά σας (Α)[1µ] Θα πρέπει να αντιγράψετε το αρχείο Zres.dat από http://www2.ucy.ac.cy/~phy145/zres.dat. Το αρχείο αυτό περιέχει τα δεδοµένα της ενέργειας και ορµής των ηλεκτρονίων και ποζιτρονίων στη µορφή που περιγράφηκε παραπάνω. Το αρχείο δεν έχει περισσότερο από 10,000 γεγονότα (γραµµές). (Β)[5µ] Θα πρέπει το πρόγραµµά σας να ανοίγει το αρχείο αυτό και να διαβάζει τα δεδοµένα της ενέργειας και ορµής για το ηλεκτρόνιο και ποζιτρόνιο και να τα αποθηκεύει σε κατάλληλους πίνακες. Θα χρειαστείτε συνολικά 8 πίνακες για το σκοπό αυτό κατάλληλα ορισµένους. 4 πίνακες (Ε, και τις 3 συνιστώσες της ορµής) για το ηλεκτρόνιο και τους αντίστοιχους για το ποζιτρόνιο. Το πρόγραµµά σας θα πρέπει να διαβάζει τα στοιχεία από το file και να σταµατά αν το file έχει εξαντληθεί. (Γ)[4µ] Θα πρέπει για κάθε γεγονός, δηλαδή ζεύγος του ηλεκτρονίου ποζιτρονίου της ίδιας γραµµής, να ελέγχει αν η εγκάρσια ορµή, p T = p x 2 + p y 2, και των δυό σωµατιδίων ξεχωριστά (ηλεκτρονίου ή ποζιτρονίου) είναι µεγαλύτερη από 20 GeV/c (µη δίνετε σηµασία στις µονάδες). Αν είναι να συνεχίζει για τον υπολογισµό της µάζας του Ζ 0, διαφορετικά να απορρίπτει το ζεύγος από περεταίρω υπολογισµούς (Δ)[5µ] Μια συνάρτηση, GET_MASS, η οποία να καλείται για κάθε ζεύγος e + e - που περνά την επιλογή και επιστρέφει τη µάζα του Ζ ο που υπολογίζεται σύµφωνα µε την εξίσωση (2). Κάθε τιµή της µάζας που βρίσκετε θα πρέπει να φυλάσεται σε κατάλληλο πίνακα. (Ε)[3µ] Το πρόγραµµά σας θα πρέπει µετά το τέλος αυτών των υπολογισµών να τυπώνει στην οθόνη τον αριθµό των γεγονότων που διάβασε και τον αριθµό των Ζ ο γεγονότων που επιλέχθηκαν µε βάση το αποτέλεσµα του ερωτήµατος (Γ). (ΣΤ)[12µ] Το πρόγραµµά σας θα πρέπει στο σηµείο αυτό να καλεί µια subroutine η οποία θα υπολογίσει τη συχνότητα µε την οποία εµφανίζονται οι διάφορες τιµές µαζών του Z o έτσι ώστε να βρείτε την κατανοµή της µάζας. Θα πρέπει µέσα στην υπορουτίνα να βρείτε τη µέγιστη και ελάχιστη τιµή της µάζας από όλες τις µετρήσεις που έχετε επιλέξει [5µ]. Κατόπιν θα πρέπει να χωρίσετε το εύρος αυτό των µαζών (Zmass max -Zmass min ) σε 40 επιµέρους υποδιαστήµατα του ίδιου εύρους (Δm). Κάθε τιµή της µάζας θα πρέπει να την αντιστοιχήσετε σε κάποιο από τα 40 υποδιαστήµατα [m, m+δm). Προσέξτε ότι το διάστηµα είναι κλειστό αριστερά και ανοικτό δεξιά. Κάθε φορά που βρίσκετε µια τιµή σε κάποιο υποδιάστηµα θα πρέπει να αυξάνετε το πλήθος των τιµών που βρίσκονται στο εν λόγω διάστηµα. Αυτό γίνεται εύκολα αν ορίσετε κατάλληλο πίνακα και θυµηθείτε την άσκηση 4 του LAB04. Ιδιαίτερη προσοχή θα πρέπει να δείξετε για την περίπτωση που η τιµή που εξετάζετε είναι ίση µε τη µέγιστη τιµή της µάζας που βρήκατε. Αυτό γιατί η τιµή αυτή θα αντιστοιχεί στο 41 ο υποδιάστηµα που δεν υπάρχει. Για τη περίπτωση αυτή θα πρέπει να αυξήσετε το πλήθος του προηγούµενο υποδιαστήµατος Η subroutine θα πρέπει να επιστρέφει το πίνακα συχνοτήτων των υποδιαστηµάτων, τη µέγιστη και ελάχιστη τιµή που βρήκατε και το εύρος του υποδιαστήµατος Δm. [7µ] (Ζ)[5µ] Το πρόγραµµά σας θα πρέπει µετά την κλίση της subroutine, να τυπώνει σε ένα file mass.dat, τη τιµή του µέσου του κάθε υποδιαστήµατος και το αντίστοιχο πλήθος τιµών που έχετε βρει από το προηγούµενο ερώτηµα. Δηλαδή το file θα πρέπει να έχει 2 στήλες και 40 γραµµές. (Η)[5µ] Χρησιµοποιώντας το λογισµικό gnuplot να κάνετε τη γραφική παράσταση της κατανοµής µάζας των σωµατιδίων Ζ 0 σε κατάλληλα ονοµατισµένους άξονες και να σώσετε τη γραφική παράσταση σε ένα file Zmass.pdf το οποίο θα πρέπει να επιστρέψετε µαζί µε το κώδικα του προγράµµατός σας.