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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΕΦΑΡΜΟΣΜΕΝΗ ΗΘΙΚΗ. Ενότητα 9: Σχέση Ηθικής και Δικαιοσύνης. Παρούσης Μιχαήλ. Τμήμα Φιλοσοφίας

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

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

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

Πληροφοριακά Συστήματα Διοίκησης (ΜΒΑ) Ενότητα 5: Διαχείριση Έργων υπό συνθήκες αβεβαιότητας

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

ΗΛΕΚΤΡΟΝΙΚΗ ΙIΙ Ενότητα 6

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

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

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

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

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

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

Διαφήμιση και Δημόσιες Σχέσεις Ενότητα 9: Σχέσεις διαφημιστή-διαφημιζόμενου

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

Στατιστική. 6 ο Μάθημα: Διαστήματα Εμπιστοσύνης και Έλεγχοι Υποθέσεων. Γεώργιος Μενεξές Τμήμα Γεωπονίας ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ

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

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

Μηχανολογικό Σχέδιο Ι

Τίτλος Μαθήματος. Ενότητα 1η: Εισαγωγή. Δημήτριος Σκούρας Σχολή Διοίκησης Επιχειρήσεων Τμήμα Οικονομικών Επιστημών

Θεωρία Λήψης Αποφάσεων

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

Διδακτική των εικαστικών τεχνών Ενότητα 1

Διδακτική των εικαστικών τεχνών Ενότητα 3

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

PRESENTATION TITLE PRESENTATION SUBTITLE

Έλεγχος Ποιότητας Φαρμάκων

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

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

Διδακτική των εικαστικών τεχνών Ενότητα 2

Διδακτική των εικαστικών τεχνών Ενότητα 2

Διδακτική των εικαστικών τεχνών Ενότητα 2

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

Διδακτική των εικαστικών τεχνών Ενότητα 2

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

Διοίκηση Εξωτερικής Εμπορικής Δραστηριότητας

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

Διοίκηση Ολικής Ποιότητας & Επιχειρηματική Αριστεία Ενότητα 1.3.2: Παραδοσιακή VS νέα προσέγγιση της ΔΟΠ

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

Λογιστική Κόστους Ενότητα 10: Ασκήσεις Προτύπου Κόστους Αποκλίσεων.

Διδακτική Πληροφορικής

Τίτλος Μαθήματος: Εργαστήριο Φυσικής Ι

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

Transcript:

για Χημικούς Μηχανικούς Παρουσίαση Διαλέξεων: 8. Διαδικασίες Καθηγητής Δημήτρης Ματαράς 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/

'11 IΧ 2039. Από το αvοιχτό παράθυρο άκουσα ένα από κείνα τα ανόητα λαϊκά τραγούδια: Δεν έχουμε γονείς Δεν έχουμε ονόματα Είμαστε αυτόματα Είμαστε αυτόματα'

Κυρίως Πρόγραμμα Το κυρίως πρόγραμμα [PROGRAM [όνομα προγράμματος]]! δηλώσεις:! αρχή: [CONTAINS] [FUNCTION όνομα(όρισμα) END FUNCTION όνομα] [SUBROUTINE όνομα(όρισμα) END SUBROUTINE όνομα] Εσωτερικές Διαδικασίες END [PROGRAM [όνομα προγράμματος]]

Τι είναι οι διαδικασίες; program test real:: a = 2, b b = f(a) call testsub(a,b) function f(x) real:: f, x f = x * x end function f print *, a, b end program test subroutine testsub(x, y) real:: x, y x = y y = x + y end subroutine testsub

Τι είναι οι διαδικασίες; program test real:: a = 2, b b = f(a) call testsub(a,b) function f(x) real:: f, x f = x * x end function f print *, a, b end program test subroutine testsub(x, y) real:: x, y x = y y = x + y end subroutine testsub

Τι είναι οι διαδικασίες; program test real::a = 2 real::b b = f(a) f = x * x call testsub(a,b) print *, a, b x = y y = x + y end program test

Μονάδες προγράμματος PROGRAM όνομα USE όνομα2 CALL όνομα3( ) y=f( ) CONTAINS εσωτερικές διαδικασίες FUNCTION f( ) END FUNCTION f SUBROUTINE όνομα3( ) END SUBROUTINE όνομα3 ΕΝD PROGRAM όνομα εξωτερικές διαδικασίες για να πάρουμε μια ιδέα MODULE όνομα2 δηλώσεις CONTAINS διαδικασίες αρθρώματος ΕΝD MODULE όνομα2 εξωτερική διαδικασία CONTAINS εσωτερικές διαδικασίες ΕΝD FUNCTION ή END SUBROUTINE

Εξωτερική Διαδικασία SUBROUTINE Εξωτερική διαδικασία SUBROUTINE για να πάρουμε μια ιδέα SUBROUTINE όνoμα [([όρισμα])]! δηλώσεις:! αρχή: [CONTAINS] [FUNCTION όνομα(όρισμα) END FUNCTION όνομα] [SUBROUTINE όνομα(όρισμα) END SUBROUTINE όνομα] Εσωτερικές Διαδικασίες END [SUBROUTINE [όνομα]]

Εξωτερική Διαδικασία FUNCTION Εξωτερική διαδικασία FUNCTION για να πάρουμε μια ιδέα [τύπος]function όνομα ([όρισμα])[result (όνομα2)]! δηλώσεις:! αρχή:!περιέχει υποχρεωτικά την έκφραση: όνομα =!ή όvoμα2= εφόσον χρησιμοποιείται RESULT [CONTAINS] [FUNCTION όνομα(όρισμα) END FUNCTION όνομα] [SUBROUTINE όνομα(όρισμα) END SUBROUTINE όνομα] END [FUNCTION [όνομα διαδικασίας]] Εσωτερικές Διαδικασίες

Άρθρωμα (MODULE) Το άρθρωμα MODULE όνομα αρθρώματος! δηλώσεις: για να πάρουμε μια ιδέα [CONTAINS] [FUNCTION όνομα(όρισμα) END FUNCTION όνομα] [SUBROUTINE όνομα(όρισμα) END SUBROUTINE όνομα] Διαδικασίες Αρθρώματος (MODULE PROCEDURES) END [MODULE [όνoμα]]

Διαλέγουμε function ή subroutine ; Γενικά και οι δύο μπορούν να κάνουν τα ίδια ακριβώς πράγματα, απλά καλούνται διαφορετικά Ωστόσο αποφασίζουμε (και διατάσσουμε ) τα εξής: FUNCTION όταν θέλουμε να μας επιστρέφει μια μοναδική τιμή (όπως ακριβώς οι εγγενείς συναρτήσεις) SUBROUTINE όταν θέλουμε να επιστρέφονται περισσότερες από μια τιμές Εξωτερικές ή Εσωτερικές διαδικασίες; Εσωτερικές: μόνο για απλούς υπολογισμούς (ορισμούς συναρτήσεων κλπ) που χρησιμοποιούνται στον ξενιστή Εξωτερικές: για σοβαρότερους, επαναχρησιμοποιήσιμους υπολογισμούς.

Διαδικασία FUNCTION [τύπoς]function όνομα ([όρισμα])[result (όνομα2)]! δηλώσεις:! εκφράσεις:! περιέχει υποχρεωτικά την έκφραση: όνομα =!ή όvoμα2= εφόσον χρησιμοποιείται RESULT ΕΝD [FUNCTION [όνομα]] R= name ( A, B, C ) CONTAINS FUNCTION name (X, Y, Z) εικονικές μεταβλητές

Διαδικασία SUBROUTINE SUBROUTINE όνoμα [([όρισμα])]! δηλώσεις:! εκφράσεις: ΕΝD [SUBROUTINE [όνομα]] CONTAINS CALL name( A, B, C ) SUBROUTINE name ( X, Y, Z ) εικονικές μεταβλητές

Ιδιότητα INTENT το είδος δήλωση τύπου,intent(είδος)::λίστα μεταβλητών : μπορεί να είναι: για να αποφύγουμε τις παρενέργειες IΝ : για εικονική μεταβλητή εισόδου. Η τιμή της δεν μπορεί να αλλάξει στην έκταση της διαδικασίας. Δηλαδή δεν μπορεί να εμφανίζεται στο αριστερό σκέλος έκφρασης, στην έκταση της διαδικασίας. ΟUT : για εικονική μεταβλητή εξόδου. Πρέπει να λάβει τιμή, δηλαδή πρέπει υποχρεωτικά να εμφανίζεται στο αριστερό σκέλος έκφρασης, στην έκταση της διαδικασίας. IΝΟUT : για εικονική μεταβλητή εισόδου-εξόδου. Μπορεί να αλλάξει τιμή στην έκταση της διαδικασίας (είναι το προκαθορισμένο είδος). PURE FUNCTION όνομα(όρισμα)! υποχρεωτική δήλωση ΙΝΤΕΝΤ(ΙΝ). PURE SUBROUTINE όνομα(όρισμα)! Υποχρεωτική δήλωση INTENT(IN,OUT ή INOUT).

Σφάλμα αποκοπής program truncation implicit none real::x; integer::i integer,parameter::max_power=10 do i=0, max_power x = 10.0**i print'(f15.1,2f15.12)', x, f(x), g(x) enddo contains real function f(x) real,intent(in)::x integer,parameter::max_kind=selected_real_kind(max_power+1) f = (1 + 1/real(x,max_kind))**x end function f real function g(x) real,intent(in)::x g = (1 + 1/x)**x end function g end program truncation f x = 1 + 1 x selected_real_kind Συσχέτιση μέσω ξενιστή (Host Association) Συσχέτιση μέσω ορίσματος (call association) x

Σφάλμα αποκοπής f x = 1 + 1 x x 1.0 2.000000000000 2.000000000000 10.0 2.593742370605 2.593743085861 100.0 2.704813718796 2.704811334610 1000.0 2.716923952103 2.717050790787 10000.0 2.718145847321 2.718596935272 100000.0 2.718268156052 2.721962213516 1000000.0 2.718280553818 2.595226764679 10000000.0 2.718281745911 3.293967723846 100000000.0 2.718281745911 1.000000000000 1000000000.0 2.718281984329 1.000000000000 10000000000.0 2.718281984329 1.000000000000

Σειρά 4 Άσκηση 1 (2012) program lab4_ask1 implicit none! δηλώσεις: integer, parameter :: n = 297 real :: x(n) integer :: i Εικονικοί Πίνακες Ρητής Μορφής 1 call execute_command_line('chcp 1253')! α) διάβασμα και εκτύπωση πίνακα open(1, file = 'data.dat') read(1,*) x!διαβάζω όλο τον πίνακα close(1) print *,(x(i), i = 1, n)!τυπώνω με υπονοούμενη επανάληψη! β) διάταξη και στατιστική x = f(x, n) call stats(x, n)

Σειρά 4 Άσκηση 1 (2012) Εικονικοί Πίνακες Ρητής Μορφής 2 contains function f(x, n) integer, intent(in) ::n real, intent(in) ::x(n) integer ::i, j, minp real ::temp, f(n) f = x do i = 1, n - 1 minp = i! βρές το στοιχείο με την μικρότερη τιμή do j = i, n if(f(j) < f(minp)) minp = j end do! αντιμετάθεσε με το στοιχείο με ενδείκτη i if(f(minp) /= f(i)) then temp = f(i); f(i) = f(minp); f(minp) = temp end if end do end function f

Σειρά 4 Άσκηση 1 (2012) end program lab4_ask1 Εικονικοί Πίνακες Ρητής Μορφής 3 subroutine stats(x, n)!εξωτερική διαδικασία integer, intent(in) :: n real, intent(in) :: x(n) real :: median, sdev, average average = sum(x) / n sdev = sqrt((sum(x * x)- sum(x)**2 / n) / (n + 1)) median = x(n / 2 + 1) print *, 'ο μέσος όρος είναι :', average print *, 'η τυπική απόκλιση είναι:', sdev print *, 'η διάμεσος τιμή είναι :', median end subroutine stats

Γεννήτρια ψευδοτυχαίων σχεδόν σωστά program randomizer!n τυχαίοι αριθμοί στο διάστημα [a,b] implicit none! δηλώσεις: integer :: i, n; real:: a, b, harvest! αρχή: print *,'How many numbers'; read *, n print *,'Give the range of numbers: [a,b]'; read *, a, b open(1, file='random_numbers.dat') call init_random_seed()!αρχικοποίηση της γεννήτριας do i = 1, n call random_number(harvest) harvest = a + harvest * (b - a)![0,1] -> [a,b] write (1, *) harvest enddo close(1) contains

Γεννήτρια ψευδοτυχαίων contains σχεδόν σωστά subroutine init_random_seed()! αρχικοποίηση γεννήτριας integer :: i, n = 12, clock integer :: seed(12) = 0 call system_clock(count = clock) seed = [(clock + 37 * i - 1, i = 1, n)] call random_seed(put = seed)! χρήση τυχαίου σπόρου end subroutine end program randomizer

Σημείωμα Αναφοράς 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/ Ως Μη Εμπορική ορίζεται η χρήση: που δεν περιλαμβάνει άμεσο ή έμμεσο οικονομικό όφελος από την χρήση του έργου, για το διανομέα του έργου και αδειοδόχο που δεν περιλαμβάνει οικονομική συναλλαγή ως προϋπόθεση για τη χρήση ή πρόσβαση στο έργο που δεν προσπορίζει στο διανομέα του έργου και αδειοδόχο έμμεσο οικονομικό όφελος (π.χ. διαφημίσεις) από την προβολή του έργου σε διαδικτυακό τόπο Ο δικαιούχος μπορεί να παρέχει στον αδειοδόχο ξεχωριστή άδεια να χρησιμοποιεί το έργο για εμπορική χρήση, εφόσον αυτό του ζητηθεί.