Εισαγωγή στον Προγραμματισμό Η/Υ για Χημικούς Μηχανικούς

Σχετικά έγγραφα
Εισαγωγή στον Προγραμματισμό Η/Υ για Χημικούς Μηχανικούς

Εισαγωγή στον Προγραμματισμό Η/Υ για Χημικούς Μηχανικούς

Προγραμματισμός Η/Υ. Βασικές Προγραμματιστικές Δομές. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος

Εισαγωγή στον Προγραμματισμό Η/Υ για Χημικούς Μηχανικούς

1 η Διάλεξη. Ενδεικτικές λύσεις ασκήσεων

Εισαγωγή στους Υπολογιστές

Μαθηματικά Διοικητικών & Οικονομικών Επιστημών

Ενδεικτικές λύσεις ασκήσεων διαχείρισης έργου υπό συνθήκες αβεβαιότητας

Μαθηματικά Διοικητικών & Οικονομικών Επιστημών

Εισαγωγή στους Αλγορίθμους

Εισαγωγή στους Αλγορίθμους

Εισαγωγή στους Η/Υ. Ενότητα 2β: Αντίστροφο Πρόβλημα. Δημήτρης Σαραβάνος, Καθηγητής Πολυτεχνική Σχολή Τμήμα Μηχανολόγων & Αεροναυπηγών Μηχανικών

Διοικητική Λογιστική

Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας. Βιοστατιστική (Ε) Ενότητα 3: Έλεγχοι στατιστικών υποθέσεων

Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας. Βιοστατιστική (Ε) Ενότητα 1: Καταχώρηση δεδομένων

Θερμοδυναμική. Ανοικτά Ακαδημαϊκά Μαθήματα. Πίνακες Νερού σε κατάσταση Κορεσμού. Γεώργιος Κ. Χατζηκωνσταντής Επίκουρος Καθηγητής

Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας. Βιοστατιστική (Ε) Ενότητα 2: Περιγραφική στατιστική

Εισαγωγή στους Υπολογιστές

Τίτλος Μαθήματος: Μαθηματική Ανάλυση Ενότητα Γ. Ολοκληρωτικός Λογισμός

Μαθηματικά Διοικητικών & Οικονομικών Επιστημών

Εισαγωγή στους Αλγορίθμους

ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ

ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ

ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ

Μαθηματικά Διοικητικών & Οικονομικών Επιστημών

Κβαντική Επεξεργασία Πληροφορίας

Λογιστική Κόστους Ενότητα 12: Λογισμός Κόστους (2)

Εισαγωγή στον Προγραμματισμό Η/Υ για Χημικούς Μηχανικούς

ΘΕΡΜΟΔΥΝΑΜΙΚΗ Ι. Ενότητα 2: Θερμοδυναμικές συναρτήσεις. Σογομών Μπογοσιάν Πολυτεχνική Σχολή Τμήμα Χημικών Μηχανικών

Πληροφορική ΙΙ Θεματική Ενότητα 5

Μαθηματικά Διοικητικών & Οικονομικών Επιστημών

Βέλτιστος Έλεγχος Συστημάτων

Προγραμματισμός Η/Υ. 8 η ενότητα: Περιβαλλοντικά και μαθηματικά προβλήματα. Τμήμα. Τεχνολόγων Περιβάλλοντος. ΤΕΙ Ιονίων Νήσων

Προγραμματισμός H/Y Ενότητα 2: Εντολές ελέγχου ροής. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Κβαντική Επεξεργασία Πληροφορίας

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

Μαθηματικά Διοικητικών & Οικονομικών Επιστημών

Μαθηματικά Διοικητικών & Οικονομικών Επιστημών

Ενδεικτικές λύσεις ασκήσεων διαγραμμάτων περίπτωσης χρήσης (1ο Μέρος)

Αριθμητική Ανάλυση. Ενότητα 1: Εισαγωγή Βασικές Έννοιες. Φραγκίσκος Κουτελιέρης Πολυτεχνική Σχολή Τμήμα Χημικών Μηχανικών

Πληροφοριακά Συστήματα Διοίκησης (ΜΒΑ) Ενότητα 2: Εφαρμογές Δικτυωτής Ανάλυσης (1 ο Μέρος)

ΦΥΣΙΚΟΧΗΜΕΙΑ I Ασκήσεις

Εισαγωγή στους Αλγορίθμους Ενότητα 9η Άσκηση - Αλγόριθμος Prim

Αρχές Γλωσσών Προγραμματισμού και Μεταφραστών

Λογιστική Κόστους Ενότητα 8: Κοστολογική διάρθρωση Κύρια / Βοηθητικά Κέντρα Κόστους.

Προγραμματισμός Η/Υ. 3 η ενότητα. Τμήμα. Τεχνολόγων Περιβάλλοντος. ΤΕΙ Ιονίων Νήσων. Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων

Δομημένος Προγραμματισμός

Βάσεις Περιβαλλοντικών Δεδομένων

Εκπαιδευτική Διαδικασία και Μάθηση στο Νηπιαγωγείο Ενότητα 1: Εισαγωγή

Εισαγωγή στους Αλγορίθμους Ενότητα 10η Άσκηση Αλγόριθμος Dijkstra

Αλγόριθμοι και πολυπλοκότητα Δυναμικός Προγραμματισμός

Πληροφοριακά Συστήματα Διοίκησης (ΜΒΑ) Ενότητα 3: Εφαρμογές Δικτυωτής Ανάλυσης (2 ο Μέρος)

Μάρκετινγκ Αγροτικών Προϊόντων

Διοικητική Λογιστική

Αερισμός. Ενότητα 1: Αερισμός και αιμάτωση. Κωνσταντίνος Σπυρόπουλος, Καθηγητής Σχολή Επιστημών Υγείας Τμήμα Ιατρικής

Εισαγωγή στους Η/Υ και τις Εφαρμογές Ενότητα 5: Επεξεργασία δεδομένων με τη γλώσσα προγραμματισμού python Υπο-ενότητα 5.2: Συμβολοσειρές-Έλεγχος Ροής

Θερμοδυναμική. Ανοικτά Ακαδημαϊκά Μαθήματα. Πίνακες Νερού Υπέρθερμου Ατμού. Γεώργιος Κ. Χατζηκωνσταντής Επίκουρος Καθηγητής

Προσχολική Παιδαγωγική Ενότητα 2: Οργάνωση χρόνου και χώρου στα νηπιαγωγεία

Διεθνείς Οικονομικές Σχέσεις και Ανάπτυξη

Τίτλος Μαθήματος: Μαθηματική Ανάλυση Ενότητα Γ. Ολοκληρωτικός Λογισμός

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Εισαγωγή στους Αλγορίθμους Φροντιστήριο 1

Μυελού των Οστών Ενότητα #1: Ερωτήσεις κατανόησης και αυτόαξιολόγησης

Μαθηματικά Διοικητικών & Οικονομικών Επιστημών

Έλεγχος και Διασφάλιση Ποιότητας Ενότητα 4: Μελέτη ISO Κουππάρης Μιχαήλ Τμήμα Χημείας Εργαστήριο Αναλυτικής Χημείας

Ενότητα. Εισαγωγή στις βάσεις δεδομένων

Προγραμματισμός Η/Υ. Ενότητα 4: Εντολές Επιλογής

Εισαγωγή στους Αλγορίθμους Ενότητα 11η Άσκηση - Σταθμισμένος Χρονοπρογραμματισμός Διαστημάτων

6 η Διάλεξη. Ενδεικτικές λύσεις ασκήσεων

Κβαντική Φυσική Ι. Ενότητα 12: Ασκήσεις. Ανδρέας Τερζής Σχολή Θετικών Επιστημών Τμήμα Φυσικής

Εφαρμογές των Τεχνολογιών της Πληροφορίας και των Επικοινωνιών στη διδασκαλία και τη μάθηση

Φυσική ΙΙΙ. Ενότητα 4: Ηλεκτρικά Κυκλώματα. Γεώργιος Βούλγαρης Σχολή Θετικών Επιστημών Τμήμα Φυσικής

Βέλτιστος Έλεγχος Συστημάτων

Εισαγωγή στους Υπολογιστές

Μαθηματικά Διοικητικών & Οικονομικών Επιστημών

ΟΙΚΟΝΟΜΙΚΑ ΜΑΘΗΜΑΤΙΚΑ

Ψηφιακή Επεξεργασία Εικόνων

Εφαρμοσμένη Βελτιστοποίηση

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική

Εισαγωγή στην Διοίκηση Επιχειρήσεων

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

Κβαντική Επεξεργασία Πληροφορίας

Διοίκηση Ολικής Ποιότητας & Επιχειρηματική Αριστεία Ενότητα 1.3.3: Μεθοδολογία εφαρμογής προγράμματος Ολικής Ποιότητας

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Πληροφοριακά Συστήματα Διοίκησης Ενότητα 10: Διαχείριση Έργων (2ο Μέρος)

Μαθηματικά Διοικητικών & Οικονομικών Επιστημών

Δομημένος Προγραμματισμός

Τεχνικό Σχέδιο - CAD

Μαθηματικά Διοικητικών & Οικονομικών Επιστημών

Ευφυής Προγραμματισμός

Διαχείριση Έργων. Ενότητα 10: Χρονοπρογραμματισμός έργων (υπό συνθήκες αβεβαιότητας)

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Εισαγωγή στην Πληροφορική

Τεχνικές Προγραμματισμού και Χρήση Λογισμικού Η/Υ στις Κατασκευές

ΠΛΗΡΟΦΟΡΙΚΗ ΙI Ενότητα 3: Έλεγχος ροής προγράμματος

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

Αρχές Προγραμματισμού

ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 7: Αλγόριθμοι γραμμικής άλγεβρας

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

Εισαγωγή στους Υπολογιστές

Transcript:

για Χημικούς Μηχανικούς Παρουσίαση Διαλέξεων: 4. Επανάληψη Καθηγητής Δημήτρης Ματαράς Copyright 2014 by Prof. D. S. Mataras (mataras@upatras.gr). This work is made available under the terms of the Creative Commons Attribution-Noncommercial- NoDerivs 3.0 license, http://creativecommons.org/licenses/by-nc-nd/3.0/

Δομή DO υπό συνθήκη: [όvoμα δoμής:]do WHILE(συνθήκη)... εκφράσεις... END DO[όvoμα δoμής] a) Δομή DO WHILE!αρχική πρόταση!τελική πρόταση [όvoμα δoμής] : πρoαιρετική ovoμασία της δoμής συνθήκη : λογική μεταβλητή ή έκφραση με λογικό αποτέλεσμα εκφράσεις : εκφράσεις, προτάσεις, δομές a=0 a=0 DO WHILE (a<=5) my:do WHILE (a<=5) a=a+1 a=a+1 PRINT*,a PRINT*,a END DO END DO my

Δομή DO υπό συνθήκη: [όvoμα δoμής:]do... εκφράσεις IF(συνθήκη)EXIT[όvoμα δoμής] END DO[όvoμα δoμής] b) Δομή DO UNTILL!αρχική πρόταση!πρόταση ελέγχου!τελική πρόταση [όvoμα δoμής] : πρoαιρετική ovoμασία της δoμής συνθήκη : λογική μεταβλητή ή έκφραση με λογικό αποτέλεσμα εκφράσεις : εκφράσεις, προτάσεις, δομές a = 0 a = 0 DO my:do a = a + 1 a = a + 1 PRINT*, a PRINT*,a IF(a > 5)EXIT IF(a > 5)EXIT my END DO END DO my

Λειτουργία δομών επανάληψης υπό συνθήκη $ Στις δομες DO υπό συνθήκη: a) DO WHILE: Για να ξεκινήσει η επανάληψη πρέπει να ισχύει αρχικά η συνθήκη Κάθε φορά πριν ξεκινήσει η επανάληψη ελέγχεται η συνθήκη Αν ισχύει εκτελείται η επανάληψη Αν δεν ισχύει ο έλεγχος μεταφέρεται ακριβώς μετά από το END DO b) DO UNTILL: Η επανάληψη ξεκινάει ανεξαρτήτως του αν ισχύει η συνθήκη Κάθε φορά εκτελείται η επανάληψη μέχρι την πρόταση ελέγχου και εξετάζεται η συνθήκη Αν ισχύει ο έλεγχος μεταφέρεται ακριβώς μετά από το END DO Αν δεν ισχύει εκτελείται η επανάληψη $ Είναι προφανές ότι, για το ίδιο πρόβλημα, η συνθήκη του DO WHILE πρέπει να είναι αντίθετη από εκείνη του DO UNTILL. Πχ. Αν το για DO WHILE η συνθήκη είναι a>0 τότε είναι a<=0 για το DO UNTILL.

Λειτουργία δομών επανάληψης υπό συνθήκη DO WHILE DO UNTILL συνθήκη.true. εκφράσεις.false..false. εκφράσεις συνθήκη.true.

Ένας υπολογισμός του π (Leibniz 1646-1716) integer::i = 1, sign = -1 real(8)::pi, pid = 0,s = 0 end pi = 4 * atan(1.) do sign = -sign if(abs(pi - pid) < 1e-14)exit s enddo = s + sign / real(i) pid = 4 * s i = i + 2 print*, pid, (i - 1) / 2 1 1 3 + 1 5 1 7 + 1 9 = π 4 3.14159274101258 71895645 Press any key to continue...

Ένας υπολογισμός του π ξανά (Leibniz) integer::n = 0 real(8)::pi, pid = 0, s = 0 pi = 4 * atan(1.d0) end do if(abs(pi - pid) < 1e-14)exit s = s + ((-1)**n / (2*n+1.)) pid = 4 * s n = n + 1 enddo print*, pid, n n=0 1 n 2n + 1 = π 4

ΠΑΡΑΔΕΙΓΜΑ: Η εξίσωση του μοχλού είναι F a = B b. Να φτιάξετε πρόγραμμα που υπολογίζει το μήκος του μοχλού που απαιτείται για να ανυψώσει βάρος που δίνεται από τον χρήστη με δύναμη που είναι μόνο 25 Kg, αν το υπομόχλιο βρίσκεται σε απόσταση 0.5 μέτρων από το βάρος. program lever!εξετάσεις Φεβ. 2011 Υ&Α άσκηση 4 implicit none!δηλώσεις: real::f, a = 0, ba, b = 0.5!αρχή: call execute_command_line('chcp 1253') print*, 'βάρος?'; read*, ba F a b B do a = a + 1!αυξάνουμε διαδοχικά το μήκος του μοχλού f = ba * b / a!υπολογίζουμε τη δύναμη που απαιτείται print*, 'με μήκος μοχλού', a + b,'m' print*, 'απαιτείται δύναμη', f, 'Kg' if(f <= 25)exit; enddo end program lever

Δομή DO με αρίθμηση: [όvoμα δoμής:]do αριθμητής=τιμή 1,τιμή 2 [,βήμα]!αρχική πρόταση... εκφράσεις... END DO[όvoμα δoμής]!τελική πρόταση [όvoμα δoμής] : πρoαιρετική ovoμασία της δoμής αριθμητής : ακέραια μεταβλητή. Στο τέλος κάθε επαvάληψης: αριθμητής=αριθμητής+βήμα τιμή 1 : η αρχική τιμή τoυ αριθμητή τιμή 2 : η τελική τιμή τoυ αριθμητή [,βήμα] : το ακέραιo βήμα αύξησης ή μείωσης τoυ αριθμητή. Υποχρεωτικό μόνον όταν: βήμα 1 a = 0 DO i = 1, 5 a = a + 1; PRINT*, a END DO a = 0 myfirst:do i = 1, 5 a = a + 1; PRINT*, a END DO myfirst

Πως λειτουργεί η δομή DO με αρίθμηση: Υπολογισμός αριθμού επαναλήψεων Ν : Ν =MAX(INT( (τιμή 2 - τιμή 1 + βήμα)/βήμα),0) Ν=0, αv τιμή 1 > τιμή 2 και βήμα >0, π.χ DO i=5,1 ή Ν=0, αv τιμή 1 < τιμή 2 και βήμα <0, π.χ DO i=1,5,-1 Μια επανάληψη εκτελείται όσο ισχύει η συνθήκη : αριθμητής * βήμα τιμή 2 * βήμα $ Στο DO με αρίθμηση: υπολογίζεται ο αριθμός των επαναλήψεων Ν=MAX(INT((τιμή 2 -τιμή 1 +βήμα)/βήμα),0) 1. Στην αρχή της πρώτης επανάληψης: αριθμητής=τιμή 1 2. Στο τέλος κάθε επανάληψης: Ν=Ν-1 και αριθμητής=αριθμητής+βήμα 3. Στην αρχή της επόμενης επανάληψης ελέγχεται η συνθήκη: Ν/=0 a. Αν είναι αληθής γίνεται η επανάληψη b. Αν είναι ψευδής ο έλεγχος μεταφέρεται ακριβώς μετά από το END DO 4. Επομένως μετά το τέλος της επανάληψης: αριθμητής=τιμή 2 +βήμα

Πως λειτουργεί η δομή DO με αρίθμηση: αριθμητής= τιμή 1,τιμή 2,βήμα Ν =MAX(INT( (τιμή 2 - τιμή 1 + βήμα)/βήμα),0) αριθμητής=τιμή 1 N/=0 εκφράσεις.false..true. εκφράσεις N=N-1 αριθμητής=αριθμητής +βήμα

Αθροίσματα S = 0 DO i = 0, 9 S = S + i ENDDO S = 0; i = 1 DO WHILE(i<10) S = S + i i = i + 1 ENDDO των 10 πρώτων φυσικών αριθμών S = 0; i = 0 DO i = i + 1 IF(i > 9)EXIT S = S + i ENDDO S = 0; i = 1 DO S = S + i i = i + 1 IF(i == 10)EXIT; ENDDO

Γινόμενα P = 1; n = 9 DO i = 1, n P = P * i ENDDO P = 1; i = 1; n = 9 DO WHILE(i<=n) P = P * i i = i + 1 ENDDO το παραγοντικό του 9 P = 1; i = 0; n = 9 DO i = i + 1 IF(i == n + 1)EXIT P = P * i ENDDO P = 1; i = 1; n = 9 DO P = P * i i = i + 1 IF(i > n)exit; ENDDO

Η ενδιάμεση συνθήκη CYCLE [όνoμα δoμής:]do!συνήθως με αρίθμηση-αρχική πρόταση... εκφράσεις1! έκταση1... IF(συνθήκη)CYCLE[όνομα δομής]... εκφράσεις2... END DO[όνoμα δoμής]! έκταση2!πρόταση ελέγχου!τελική πρόταση $ Στις δομες DO υπό συνθήκη με CYCLE: Αν ισχύει η συνθήκη εκτελείται μόνο η έκταση1 Αν δεν ισχύει εκτελούνται όλα

Η ενδιάμεση συνθήκη EXIT [όνομα δομής:]do... εκφράσεις1... IF(συνθήκη)EXIT[όνομα δομής]... εκφράσεις2... END DO[όνoμα δoμής]! έκταση1! έκταση2!αρχική πρόταση!πρόταση ελέγχου!τελική πρόταση $ Στις δομες DO υπό συνθήκη με ΕΧΙΤ: Αν ισχύσει η συνθήκη ο έλεγχος μεταφέρεται ακριβώς μετά από το END DO Όσο δεν ισχύει εκτελούνται όλα

Πως λειτουργούν CYCLE EXIT αριθμητής= τιμή 1,τιμή 2, βήμα αριθμητής= τιμή 1,τιμή 2, βήμα εκφράσεις1 εκφράσεις1 συνθήκη.true..true. συνθήκη.false..false. εκφράσεις2 εκφράσεις2

Η προπαίδεια integer::a, i, j do i = 2, 10 do j = 1, 10 a = j * i print '($,i5)', a enddo print* 2 4 6 8 10 12 14 16 18 20 enddo 3 6 9 12 15 18 21 24 27 30 end 4 8 12 16 20 24 28 32 36 40 5 10 15 20 25 30 35 40 45 50 6 12 18 24 30 36 42 48 54 60 7 14 21 28 35 42 49 56 63 70 8 16 24 32 40 48 56 64 72 80 9 18 27 36 45 54 63 72 81 90 10 20 30 40 50 60 70 80 90 100

Παραγοντικό των αριθμών 1-10 integer::a, i, j do i = 1, 10 a = 1 do j = 1, i a = a * j print '($,i8)', a enddo print* enddo end

Παραγοντικό των αριθμών 1-10 1 1 2 1 2 6 1 2 6 24 1 2 6 24 120 1 2 6 24 120 720 1 2 6 24 120 720 5040 1 2 6 24 120 720 5040 40320 1 2 6 24 120 720 5040 40320 362880 1 2 6 24 120 720 5040 40320 362880 3628800

ΠΑΡΑΔΕΙΓΜΑ: Να φτιάξετε πρόγραμμα που ζητά επαναληπτικά από τον χρήστη την τιμή μιας ακεραίας μεταβλητής μέχρις ότου το άθροισμα των τιμών να γίνει μεγαλύτερο ή ίσο του 100 και τυπώνει το πλήθος των τιμών, τον μέσο όρο, την ελάχιστη τιμή και την μέγιστη τιμή. Χρησιμοποιήστε επανάληψη τύπου: όσο επανάλαβε. program sumto100!εξετάσεις Φεβ. 2011 Υ&Α άσκηση 1 implicit none integer::x, s, n, min, max call execute_command_line('chcp 1253') print*,'δώσε ένα αριθμό'; read*,x s = x; min = x; max = x; n = 1 do; print*,'δώσε ένα αριθμό'; read*,x if (s + x <= 100)then!για να μην υπερβούμε το 100 s = s + x!άθροισμα n = n + 1!πλήθος if(x > max) max = x!μέγιστος if(x < min) min = x!ελάχιστος else; exit endif enddo print*,'ο μέσος όρος των',n,'αριθμών είναι:',real(s)/n print*,'ο ελάχιστος είναι:',min print*,'ο μέγιστος είναι :',max end program sumto100

ΠΑΡΑΔΕΙΓΜΑ: Να φτιάξετε πρόγραμμα που ζητά από τον χρήστη επαναληπτικά δύο ακέραιους αριθμούς και υπολογίζει και τυπώνει το γινόμενο τους χρησιμοποιώντας τον αλγόριθμο του Ρωσικού πολλαπλασιασμού. Ο αλγόριθμος λειτουργεί ως εξής: Για δυο δεδομένους ακέραιους αριθμούς ο πρώτος πολλαπλασιάζεται επί 2 και ο δεύτερος διαιρείται δια 2 επαναληπτικά. Σε κάθε βήμα αθροίζεται ο πρώτος αριθμός μόνο εφόσον ο δεύτερος είναι περιττός. Η επανάληψη σταματά όταν ο δεύτερος αριθμός γίνει 1. Η τιμή του αθροίσματος μας δίνει το γινόμενο των 2 αριθμών. program russian!εξετάσεις Φεβ. 2011 Υ&Α άσκηση 2 implicit none integer::first, second, s call execute_command_line('chcp 1253') do print*,'δωσε ΔΥΟ ΑΚΕΡΑΙΟΥΣ ΑΡΙΘΜΟΥΣ read*,first, second s = 0 do while(second > 0) if(mod(second,2) /= 0)s = s + first first = first * 2 second = second / 2 enddo print*,'το ΓΙΝΟΜΕΝΟ ΕΙΝΑΙ:', s enddo end program russian

Η μέθοδος του τραπεζίου f(x) f(b) S = a b f a + f b f a b a (x a) dx S = (b a) f a + f(b) 2 f(a) a b x h = b a n S = h f x 0 + f(x 1 ) 2 + h f x 1 + f(x 2 ) 2 + + h f x n 1 + f(x n ) 2 n 1 S = h 2 f x 0 + 2 f x i i=1 + f x n

Η μέθοδος του τραπεζίου αριθμητικός υπολογισμός του ορισμένου ολοκληρώματος μιας συνάρτησης program trapezoid!έστω για τη συνάρτηση sin(x) implicit none real(8) ::a = 0, b = 4 * atan(1._8) integer ::n = 1000 real(8) ::h, s, area integer ::i h = (b - a) / real(n,8) s = (sin(a) + sin(b))/2 do i = 1, n-1 s = s + sin(a + i * h) end do area = h * s f x 0 n 1 print *,'for n=', n print *,'the integral of the function is:', area i=1 + f x n 2 f x i S = h f x 0 + f x n 2 + n 1 i=1 f x i end Εισαγωγή program στον Προγραμματισμό trapezoid Η/Υ

Η μέθοδος του τραπεζίου δυο στιγμιότυπα for n= 1000 the integral of the function is: 1.9999983550656624 Process returned 0 (0x0) execution time : 0.039 s for n= 100000000 the integral of the function is: 2.0000000000003761 Process returned 0 (0x0) execution time : 6.397 s

Βρίσκω μια ρίζα της εξίσωσης y = x 3 x 2 2 χωρίς μαθηματικά! program greedy implicit none! δηλώσεις: real::xa = 1., xb = 2.!όρια real::step = 1e-7!βήμα real::x, y f(x)! αρχή: x = xa - step do while (x < xb) x = x + step!ανεξάρτητη μεταβλητή y = x**3 - x**2-2!εξαρτημένη μεταβλητή if(abs(y)<1e-6)exit!κριτήριο enddo print *, 'y=', y, 'at x=', x end program greedy y= -6.46507317E-07 at x= 1.69562066 Process returned 0 (0x0) execution time : 0.080 s

Πρώτοι αριθμοί program primes implicit none! δηλώσεις: integer:: n, p! αρχή: endless: do print *, 'give an integer greater than 2' read *, n; if(n <= 2) exit; p = 2 in: do test: if (mod(n,p)==0) then print *, n, 'is NOT a prime =', p, ' print *; exit in elseif (p * p > n) then test print *, n, 'is a prime number' print *; exit in endif test p = p + 1 enddo in enddo endless end Εισαγωγή program στον Προγραμματισμό primes Η/Υ x', n/p

Σημείωμα Αναφοράς Copyright Πανεπιστήμιο Πατρών, Όνομα μέλους ή μελών ΔΕΠ 2014: Δημήτριος Ματαράς.. Έκδοση: 1.0. Πάτρα 2014. Διαθέσιμο από τη δικτυακή διεύθυνση: https://eclass.upatras.gr/courses/cmng2178.

Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στo πλαίσιo του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα στο Πανεπιστήμιο Αθηνών» έχει χρηματοδοτήσει μόνο την αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους.

Σημείωμα Αδειοδότησης Το παρόν υλικό διατίθεται με τους όρους της άδειας χρήσης Creative Commons Αναφορά, Μη Εμπορική Χρήση Παρόμοια Διανομή 4.0 [1] ή μεταγενέστερη, Διεθνής Έκδοση. Εξαιρούνται τα αυτοτελή έργα τρίτων π.χ. φωτογραφίες, διαγράμματα κ.λ.π., τα οποία εμπεριέχονται σε αυτό και τα οποία αναφέρονται μαζί με τους όρους χρήσης τους στο «Σημείωμα Χρήσης Έργων Τρίτων». [1] http://creativecommons.org/licenses/by-nc-sa/4.0/ Ως Μη Εμπορική ορίζεται η χρήση: που δεν περιλαμβάνει άμεσο ή έμμεσο οικονομικό όφελος από την χρήση του έργου, για το διανομέα του έργου και αδειοδόχο που δεν περιλαμβάνει οικονομική συναλλαγή ως προϋπόθεση για τη χρήση ή πρόσβαση στο έργο που δεν προσπορίζει στο διανομέα του έργου και αδειοδόχο έμμεσο οικονομικό όφελος (π.χ. διαφημίσεις) από την προβολή του έργου σε διαδικτυακό τόπο Ο δικαιούχος μπορεί να παρέχει στον αδειοδόχο ξεχωριστή άδεια να χρησιμοποιεί το έργο για εμπορική χρήση, εφόσον αυτό του ζητηθεί.