Πρακτικό Βγάλτε στυλό και χαρτί για να σχηματίσετε τον σκελετό και την λογική του προγράμματός σας πριν το περάσετε στην οθόνη.

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

1. Κατασκευάστε ένα διάνυσμα με στοιχεία τους ζυγούς αριθμούς μεταξύ του 31 και 75

pyramid_volume=length_of_base * Width_of_base * Height * 1/3;

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

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι (MATLAB) Ενότητα 4

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

11/23/2014. Στόχοι. Λογισμικό Υπολογιστή

ΠΛΗΡΟΦΟΡΙΚΗ Ι (MATLAB) Ενότητα 5

Προγραμματισμός με FORTRAN Συνοπτικός Οδηγός Α. Σπυρόπουλος Α. Μπουντουβής

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 22/11/07

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

Βρόχοι. Εντολή επανάληψης. Το άθροισμα των αριθμών 1 5 υπολογίζεται με την εντολή. Πρόβλημα. Πώς θα υπολογίσουμε το άθροισμα των ακέραιων ;

Σκοπός. Εργαστήριο 6 Εντολές Επανάληψης Τα Εργαστηριακά Προγράμματα. Η δομή Επιλογής στη PASCAL. H δομή Επανάληψης στη PASCAL. Η εντολή επανάληψης for

Διαδικασιακός Προγραμματισμός

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

3. Γράψτε μία εντολή που να εμφανίζει π.χ. «Πόσα είναι τα κορίτσια του;» και μία που να εμφανίζει: «Τα κορίτσια του Τζειμς Μποντ είναι 4»

Εργαστήριο 9 Συναρτήσεις στη PASCAL. Η έννοια του κατακερματισμού. Συναρτήσεις. Σκοπός

Προγραμματισμός και Χρήση Ηλεκτρονικών Υπολογιστών - Βασικά Εργαλεία Λογισμικού

Προγραμματισμός και Χρήση Ηλεκτρονικών Υπολογιστών - Βασικά Εργαλεία Λογισμικού

Συναρτήσεις. Εισαγωγή

Χρονικές σειρές 8 o μάθημα: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΣΤΗ MATLAB (2)

Λογικές εκφράσεις και μεταβλητές

Εργαστήριο 10 Πίνακες. Πίνακες. Η έννοια της δόμησης δεδομένων στη PASCAL. Σκοπός

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

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

Προγραμματισμός στο Matlab

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

Σημειώσεις του εργαστηριακού μαθήματος Πληροφορική ΙΙ. Εισαγωγή στην γλώσσα προγραμματισμού

Εργαστήριο Γραμμικής Άλγεβρας. H Matlab ως γλώσσα προγραμματισμού

Στη C++ υπάρχουν τρεις τύποι βρόχων: (a) while, (b) do while, και (c) for. Ακολουθεί η σύνταξη για κάθε μια:

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

ΤΡΙΩΡΗ ΓΡΑΠΤΗ ΔΟΚΙΜΑΣΙΑ

print( x is positive ) Στο διερμηνευτή Python, προσοχή στη στοίχιση, διότι γίνεται από το χρήστη:

Μαρία Λουκά. Εργαστήριο Matlab. Αριθμητικός υπολογισμός ιδιοτιμών και ιδιοδιανυσμάτων. Τμήμα Πληροφορικής και Τηλεπικοινωνιών.

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

Λογικά Διανύσματα. >>x = -3/2*pi : pi/100 : 3/2*pi; >>y = tan(x); >>plot(x, y)

Να γράψετε τα αποτελέσματα αυτού του αλγόριθμου για Χ=13, Χ=9 και Χ=22. Και στις 3 περιπτώσεις το αποτέλεσμα του αλγορίθμου είναι 1

Μ.Π.Σ. «ΠΡΟΗΓΜΕΝΕΣ ΜΕΘΟΔΟΙ ΚΑΤΑΣΚΕΥΗΣ ΠΡΟΙΟΝΤΩΝ ΑΠΟ ΞΥΛΟ» Μάθημα: Σχεδίαση και Εφαρμογές Διαδραστικών Συστημάτων. Διδάσκοντας: Α.

Ρητή μετατροπή αριθμητικής τιμής σε άλλο τύπο. Τι θα τυπωθεί στον παρακάτω κώδικα;

A A A B A ΦΥΛΛΑ ΙΟ ΘΕΜΑΤΩΝ 1/2. Μέϱος A. Πολλαπλές επιλογές (20%) Σειριακός αριθµός : 100 Πληροφορική Ι Εξέταση Φεβρουαρίου 2019

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

Στόχοι και αντικείμενο ενότητας. Πέρασμα Πίνακα σε Συνάρτηση (συν.) Πέρασμα Πίνακα σε Συνάρτηση. #8.. Ειδικά Θέματα Αλγορίθμων

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

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

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

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

Εργαστήρια Αριθμητικής Ανάλυσης Ι. 4 ο Εργαστήριο. Διανύσματα-Πίνακες 1 ο Μέρος

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

1 ο ΦΥΛΛΑΔΙΟ ΑΣΚΗΣΕΩΝ - ΑΛΓΟΡΙΘΜΟΙ

ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ PASCAL

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

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

ΑΡΙΘΜΗΤΙΚΕΣ ΜΕΘΟΔΟΙ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

Εργαστήρια Αριθμητικής Ανάλυσης Ι. 1 ο Εργαστήριο. Εισαγωγή στο Matlab

Σημείωση: Για τα θέματα που ακολουθούν ο παρακάτω πίνακας παρουσιάζει ισοδύναμα μεταξύ τους σύμβολα και εκφράσεις. := ή =

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

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

2. β. Συνθήκη ή επιλογή. 4. δ. Υποπρόγραμμα. 5. ε. ιαδικασία εισόδου ή εξόδου

Προσεγγιστική λύση Γραμμικών Συστημάτων με την μέθοδο Gauss-Seidel. Δημιουργία κώδικα στο Matlab

ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 4: Συναρτήσεις

11 ΣΥΝΗΘΕΙΣ ΔΙΑΦΟΡΙΚΕΣ ΕΞΙΣΩΣΕΙΣ

ΠΡΟΓΡΜΜΑΤΑ ΣΕ C. Γράψτε σε γλώσσα προγραμματισμού C τη συνάρτηση:

Προβλήματα, αλγόριθμοι, ψευδοκώδικας

Γιάννης Σαμωνάκης. 1 ο ΣΧΟΛΕΙΟ ΚΩΔΙΚΑ «Βασικά Θέματα Προγραμματισμού στην Ανάπτυξη Δυναμικών Διαδικτυακών Εφαρμογών» (Part 4 - PHP)

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

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

Εισαγωγικές σημειώσεις στο Matlab

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

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

4 η ΕΝΟΤΗΤΑ Μητρώα και συνθήκες στο MATLAB

ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ ΜΑΘΗΤΗ

Εισαγωγή στον Προγραμματισμό Python Μάθημα 4: Συναρτήσεις (functions) και δομοστοιχεία (modules) στην Python

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

Αριθμητικές Μέθοδοι σε Προγραμματιστικό Περιβάλλον

Εισαγωγή στη Matlab 2 Εισαγωγή στην Αριθμητική Ανάλυση Διδάσκων: Γεώργιος Ακρίβης Βοηθός: Δημήτριος Ζαβαντής

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

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

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

3. Να γραφεί πρόγραμμα που θα διαβάζει 100 ακεραίους αριθμούς από το πληκτρολόγιο και θα υπολογίζει το άθροισμά τους.

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

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

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

ax 2 + bx + c = 0, αλλίως θα αποκρίνεται ανάλογα.

Νέο υλικό. Matlab2.pdf - Παρουσίαση μαθήματος 2. Matlab-reference.pdf Σημειώσεις matlab στα ελληνικά (13 σελίδες).

Αριθμητικές Μέθοδοι σε Προγραμματιστικό Περιβάλλον (Εργαστήριο 6)

4. Επιλογή και Επανάληψη

διανύσματα - Πίνακες - Struct Στατικό διάνυσμα Είσοδος Έξοδος δεδομένων Συναρτήσεις Χειρισμός σφαλμάτων ΤΕΤΑΡΤΗ ΔΙΑΛΕΞΗ

Πως θα αποθηκεύσει τη λίστα με τα ψώνια του και θα την ανακτήσει στο Σ/Μ; και πως θα προσθέσει στη λίστα του επιπλέον προϊόντα;

2 ΟΥ και 8 ΟΥ ΚΕΦΑΛΑΙΟΥ

Ιστοσελίδα : Εργαστήριο 3 Απαντήσεις. Επίλυση Μη Γραμμικών Εξισώσεων και Συστημάτων

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

2. β. Συνθήκη ή επιλογή. 4. δ. Υποπρόγραμμα. 5. ε. ιαδικασία εισόδου ή εξόδου

ΠΡΟΤΕΙΝΟΜΕΝΑ ΘΕΜΑΤΑ-ΦΡΟΝΤΙΣΤΗΡΙΟ ΑΚΑΔΗΜΑΪΚΟ ΕΠΑΛ- ΚΑΝΙΓΓΟΣ 13- ΤΗΛ

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

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

ΣΥΝΗΘΕΙΣ ΔΙΑΦΟΡΙΚΕΣ ΕΞΙΣΩΣΕΙΣ ΣΤΗ MATLAB

Προσομοίωση (simulation) στο Matlab

ΚΕΝΤΡΙΚΗ ΟΡΓΑΝΩΤΙΚΗ ΕΠΙΤΡΟΠΗ 8 ου ΠΑΝΕΛΛΗΝΙΟΥ ΔΙΑΓΩΝΙΣΜΟΥ ΠΛΗΡΟΦΟΡΙΚΗΣ 1996 ΠΡΟΚΑΤΑΡΚΤΙΚΗ ΦΑΣΗ ΠΑΝΕΛΛΗΝΙΟΥ ΔΙΑΓΩΝΙΣΜΟΥ ΘΕΜΑΤΑ ΓΥΜΝΑΣΙΟΥ

8 FORTRAN 77/90/95/2003

Transcript:

Πρακτικό 4 0. Βγάλτε στυλό και χαρτί για να σχηματίσετε τον σκελετό και την λογική του προγράμματός σας πριν το περάσετε στην οθόνη. 1. Γράψτε προγράμματα script, που να τυπώνουν τους παρακάτω αριθμούς, σχηματίζοντας διαφορετικές εκδοχές χρησιμοποιώντας: a. Την εντολή disp για κάθε αριθμό χωριστά b. Την εντολή disp αφότου πληκτρολογήσετε όλα τα στοιχεία του διανύσματος c. Την εντολή disp αφότου σχηματίσετε το διάνυσμα με αυτοματοποιημένο τρόπο d. Την εντολή disp αφότου σχηματίσετε το διάνυσμα με επαναληπτική διαδικασία 0 50 100 150 200 disp(0) disp(50) disp(100) disp(150) disp(200) x=[0 50 100 150 200]'; x=[0; 50; 100; 150; 200]; x=[0:50:200]'; athroisma=0; x=athroisma; for i=1:4 athroisma=athroisma+50; x(i+1)=athroisma; disp(x') 2. Γράψτε πρόγραμμα script, που να ρωτάει τον χρήστη εάν δεν πρόσεχε στο προηγούμενο μάθημα και, εάν ναι, να εμφανίζει στην οθόνη I will pay more attention during lectures. 100 φορές. Χρησιμοποιήστε στην συνάρτηση strcmpi και δείτε από την βοήθεια του Matlab την διαφορά με την strcmp.

x=input('were you talking during class? Answer yes or no'); tf = strcmpi(x,'yes') if tf==1 for i=1:100 disp('i will pay more attention during lectures') else disp('keep up the good work, ALWAYS have questions!') 3. Μετατρέψτε το script της 2 ης άσκησης σε πρόγραμμα function, Είσοδος: το κείμενο YES ή NO (απάντηση στο ερώτημα: Were you talking during class?), ανάλογα με την απάντηση. Έξοδος: το κατάλληλο μήνυμα function answer = ex2function(attention) tf = strcmpi(attention,'yes') if tf==1 answer='i will pay more attention during lectures'; for i=1:100 disp('i will pay more attention during lectures') else answer='keep up the good work, ALWAYS have questions!'; Script που καλεί την ex2function ; clc; x = input('were you talking during class? Answer yes or no'); y = ex2function(x); 4. Να γράψετε ένα πρόγραμμα script, το οποίο θα διαβάζει από τον χρήστη 10 αριθμούς και θα καλεί ένα function, το οποίο θα αποθηκεύει σε 2 μεταβλητές τις αρνητικές και τις θετικές μεταβλητές αντίστοιχα και θα τις κατατάσσει σε αύξουσα σειρά. function [xpositive xnegative]=posnegsorter(x) sortedx=sort(x); xpositive=[]; xnegative=[]; for i=1:length(x) if x(i)>=0 xpositive=[xpositive x(i)]; else xnegative=[xnegative x(i)];

Script που καλεί την posnegsorter ; clc; x=input('please provide an array of 10 numbers'); [thetika arnhtika]=posnegsorter(x) 5. Να υπολογιστεί το παραγοντικό ενός θετικού ακέραιου αριθμού. Το παραγοντικό ενός θετικού ακέραιου αριθμού Ν 0 συμβολίζεται Ν! και ορίζεται ως το γινόμενο των αριθμών 1, 2, 3,..., (Ν 1), Ν. Αν Ν=0 τότε Ν! = 1. Παράδειγμα: 5! = 1 2 3 4 5 = 120 Ελέγξτε τα αποτελέσματα του κώδικά σας σύμφωνα με τον παρακάτω πίνακα (Πηγή: http://en.wikipedia.org/wiki/factorial) Λύση 1 (Με χρήση επανάληψης for) Ν Ν! 0 1 1 1 2 2 3 6 4 24 5 120 6 720 7 5 040 8 40 320 9 362 880 10 3 628 800 15 1 307 674 368 000 20 2 432 902 008 176 640 000 n=input('give the number for which you to calculate the factorial'); paragontiko=1; for i=1:n paragontiko=paragontiko*i; fprintf('the value of the factorial is: %d\n',paragontiko) Λύση 2 n=input('give the number for which you to calculate the factorial'); prod(1:n)

6. Μετατρέψτε τον παραπάνω κώδικα σε function, Είσοδος: o αριθμός για τον οποίο θέλουμε να υπολογίσουμε το παραγοντικό Έξοδος: η τιμή του παραγοντικού του αριθμού αυτού Λύση 1 function [y]=paragontiko(n) y=1; for i=1:n y=y*i; Λύση 2 function [y]=paragontiko(n) y=prod(1:n) Script που καλεί την paragontiko n=input('give the number for which you to calculate the factorial'); x=paragontiko(n); Για το σπίτι: 1. Ως βοηθός του Σερλοκ Χομς προσπαθείτε να διαλευκάνετε ένα φόνο μιας κοπέλας. Σας ζητείται να καταγράψετε για 10 πολίτες στο περιβάλλον του θύματος εάν είχαν τα τρία απαραίτητα στοιχεία: Μέσο, κίνητρο και ευκαιρία. Αποθηκεύεστε σε ξεχωριστές arrays τα στοιχεία που μαζέψατε από τις συνεντεύξεις σας και ξεχωρίστε συγκεντρώνουν και τα τρία στοιχεία για να διερευνηθούν περαιτέρω. Έπειτα τυπώστε ένα μήνυμα με τον αύξοντα αριθμό των πολιτών. https://en.wikipedia.org/wiki/means,_motive,_and_opportunity means= [1 0 0 1 0 1 1 1 0 0]; motive=[0 0 1 1 0 0 1 1 1 1]; oppty= [1 0 1 1 0 1 0 1 0 1]; citizens=means.*motive.*oppty; suspects=[]; for i=1:length(means) if citizens(i)==1 suspects=[suspects i]; disp('the suspect citizens are:') fprintf('%d\n',suspects)

2. H συνάρτηση sort του MATLB χρησιμοποιεί έναν αλγόριθμο με το όνομα Quick Sort για να ταξινομήσει Ν αριθμούς. Δίνονται Ν αριθμοί. Να φτιάξετε script στο MATLAB που να ταξινομεί σε αύξουσα τάξη μεγέθους του αριθμούς αυτούς σύμφωνα με την παρακάτω διαδικασία: Έστω ότι θέλετε να ταξινομήσετε Ν = 5 αριθμούς οι οποίοι είναι αποθηκευμένοι σε μια μονοδιάστατη array A. H διαδικασία που πρέπει να ακολουθήσετε είναι: Βήμα 1: Συγκρίνουμε το Α(1) με το Α(2) και εναλλάσσουμε τις τιμές τους μόνο αν Α(1) > Α(2) Συγκρίνουμε το Α(1) με το Α(3) και εναλλάσσουμε τις τιμές τους μόνο αν Α(1) > Α(3) Συγκρίνουμε το Α(1) με το Α(4) και εναλλάσσουμε τις τιμές τους μόνο αν Α(1) > Α(4) Συγκρίνουμε το Α(1) με το Α(5) και εναλλάσσουμε τις τιμές τους μόνο αν Α(1) > Α(5) Βήμα 2: Συγκρίνουμε το Α(2) με το Α(3) και εναλλάσσουμε τις τιμές τους μόνο αν Α(2) > Α(3) Συγκρίνουμε το Α(2) με το Α(4) και εναλλάσσουμε τις τιμές τους μόνο αν Α(2) > Α(4) Συγκρίνουμε το Α(2) με το Α(5) και εναλλάσσουμε τις τιμές τους μόνο αν Α(2) > Α(5) Βήμα 3: Συγκρίνουμε το Α(3) με το Α(4) και εναλλάσσουμε τις τιμές τους μόνο αν Α(3) > Α(4) Συγκρίνουμε το Α(3) με το Α(5) και εναλλάσσουμε τις τιμές τους μόνο αν Α(3) > Α(5) Βήμα 4: Συγκρίνουμε το Α(4) με το Α(5) και εναλλάσσουμε τις τιμές τους μόνο αν Α(4) > Α(5) ; clc; a=[-5 3 0-6 1]; disp('the input vector is:') disp(a) n=length(a); for i=1:n-1 for j=i+1:n if a(i)>a(j) k=a(i); a(i)=a(j); a(j)=k; disp('the sorted vector is:') disp(a)

3. Υπολογίστε την τετραγωνική ρίζα ενός θετικού πραγματικού αριθμού x σύμφωνα με την παρακάτω διαδικασία. Βήμα 1: Επιλογή των τιμών των: x, Ν, error Βήμα 2: Επιλογή μιας αρχικής τιμής του y = x/2 Βήμα 3: For i = 1, 2,..., N Βήμα 4: y_old = y Βήμα 5: Υπολόγισε το y = (x / y + y) / 2 Βήμα 6: Αν y y_old < error πήγαινε στο Βήμα 8 Βήμα 7: EndFor Βήμα 8: Τύπωσε το y Βήμα 9: End Η παραπάνω διαδικασία ονομάζεται αλγόριθμος για την εύρεση της τετραγωνικής ρίζας ενός πραγματικού αριθμού. Ο παραπάνω αλγόριθμος τερματίζεται σε δύο περιπτώσεις: αν τα βήματα 4, 5, 6 γίνουν Ν φορές (βλ. Βήμα 3) ή αν δύο διαδοχικές προσεγγίσεις διαφέρουν (κατ' απόλυτη τιμή βλ. Βήμα 6) λιγότερο από την επιθυμητή ακρίβεια error (accuracy) http://mathworld.wolfram.com/accuracy.html β) Συγκρίνετε τα αποτελέσματά σας με την εσωτερική συνάρτηση (intrinsic function) του MATLAB sqrt γ) Υπολογίστε την τετραγωνική ρίζα του 2 χρησιμοποιώντας Ν=10 και error=1.e 6. δ) Μετατρέψτε τον παραπάνω κώδικα σε function, Είσοδος: Οι επαναλήψεις Ν, το σφάλμα error, ο αριθμός x Εξοδος: η τετραγωνική ρίζα του x disp('this program computes the square root') disp('of a positive real number') x=input('give the positive real number: '); N=input('Give the number of iterations: ' ); error=input('give the accuracy: '); y=x/2; for i=1:n y_old=y; y=(x/y+y)/2; if (abs(y-y_old)<error);break; fprintf('the square root is: %.15f\n',y) y_intrinsic=sqrt(x); fprintf('use of matlab function sqrt: %.15f\n',y_intrinsic) difference = abs(y - y_intrinsic); fprintf('difference: %.15f\n',difference)

Συνάρτηση function [y] = mysqrt(x,n,error) % [y] = mysqrt(x,n,error) % This function computes the square root % of a positive real number % INPUT ARGUMENTS % x: positive real number % N: number of iterations % error: the accuracy % OUTPUT ARGUMENTS % y: The approximated square root of x y=x/2; for i=1:n y_old=y; y=(x/y+y)/2; if (abs(y-y_old)<error);break; Script που καλεί την mysqrt disp('this program calls the function mysqrt') disp('to compute the square root') disp('of a positive real number') x=input('give the positive real number: '); N=input('Give the number of iterations: ' ); error=input('give the accuracy: '); y=mysqrt(x,n,error); fprintf('the square root is: %.15f\n',y) y_intrinsic=sqrt(x); fprintf('use of matlab function sqrt: %.15f\n',y_intrinsic) difference = abs(y - y_intrinsic); fprintf('difference: %.15f\n',difference)