Πξνγξακκαηηζκόο Ι (ΗΥ120)

Σχετικά έγγραφα
Προγραμματισμός Ι (ΗΥ120)

Απαντήσεις θέματος 2. Παξαθάησ αθνινπζεί αλαιπηηθή επίιπζε ησλ εξσηεκάησλ.

ΓΗΑΓΩΝΗΣΜΑ ΣΤΑ ΜΑΘΖΜΑΤΗΚΑ. Ύλη: Μιγαδικοί-Σσναρηήζεις-Παράγωγοι Θεη.-Τετν. Καη Εήηημα 1 ο :

Constructors and Destructors in C++

Πξνγξακκαηηζκόο Ι (ΗΥ120)

Ενδεικτικά Θέματα Στατιστικής ΙΙ

Αιγόξηζκνη Γνκή επηινγήο. Πνιιαπιή Δπηινγή Δκθωιεπκέλεο Δπηινγέο. Δηζαγωγή ζηηο Αξρέο ηεο Δπηζηήκεο ηωλ Η/Υ. introcsprinciples.wordpress.

Κευάλαιο 8 Μονοπωλιακή Συμπεριφορά- Πολλαπλή Τιμολόγηση

iii. iv. γηα ηελ νπνία ηζρύνπλ: f (1) 2 θαη

Αζκήζεις ζτ.βιβλίοσ ζελίδας 13 14

x x x x tan(2 x) x 2 2x x 1

ΚΕΦ. 2.3 ΑΠΟΛΤΣΗ ΣΘΜΗ ΠΡΑΓΜΑΣΘΚΟΤ ΑΡΘΘΜΟΤ

Απνηειέζκαηα Εξσηεκαηνινγίνπ 2o ηεηξάκελν

Γ ΣΑΞΖ ΔΝΗΑΗΟΤ ΛΤΚΔΗΟΤ ΔΞΔΣΑΕΟΜΔΝΟ ΜΑΘΖΜΑ: ΜΑΘΖΜΑΣΗΚΑ ΘΔΣΗΚΩΝ ΚΑΗ ΟΗΚΟΝΟΜΗΚΩΝ ΠΟΤΓΩΝ ΤΝΑΡΣΖΔΗ ΟΡΗΑ ΤΝΔΥΔΗΑ (έως Θ.Bolzano) ΘΔΜΑ Α

ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ. Οξηδόληηα θαη θαηαθόξπθε κεηαηόπηζε παξαβνιήο

Σήκαηα Β Α Γ Γ Δ Λ Η Σ Ο Ι Κ Ο Ν Ο Μ Ο Υ Γ Ι Α Λ Δ Ξ Η - ( 2 ) ΕΙΣΑΓΨΓΗ ΣΤΙΣ ΤΗΛΕΠΙΚΟΙΝΨΝΙΕΣ

ΘΔΜΑ 1 ο Μονάδες 5,10,10

ΔΕΟ 13. Ποσοτικές Μέθοδοι. θαη λα ππνινγίζεηε ην θόζηνο γηα παξαγόκελα πξντόληα. Να ζρεδηαζηεί γηα εύξνο πξντόλησλ έσο

(Ενδεικηικές Απανηήζεις) ΘΔΜΑ Α. Α1. Βιέπε απόδεημε Σει. 262, ζρνιηθνύ βηβιίνπ. Α2. Βιέπε νξηζκό Σει. 141, ζρνιηθνύ βηβιίνπ

Δηζαγωγή ζηε γιώζζα C Παξνπζίαζε 3 ε : Δίζνδνο/ Έμνδνο - Σπλαξηήζεηο - Pointers

Βάσεις Δεδομέμωμ. Εξγαζηήξην V. Τκήκα Πιεξνθνξηθήο ΑΠΘ

ΑΠΛΟΠΟΙΗΗ ΛΟΓΙΚΩΝ ΤΝΑΡΣΗΕΩΝ ΜΕ ΠΙΝΑΚΕ KARNAUGH

f '(x)g(x)h(x) g'(x)f (x)h(x) h'(x) f (x)g(x)

ΑΛΛΑΓΗ ΟΝΟΜΑΣΟ ΚΑΙ ΟΜΑΔΑ ΕΡΓΑΙΑ, ΚΟΙΝΟΥΡΗΣΟΙ ΦΑΚΕΛΟΙ ΚΑΙ ΕΚΣΤΠΩΣΕ ΣΑ WINDOWS XP

Α. Εηζαγσγή ηεο έλλνηαο ηεο ηξηγσλνκεηξηθήο εμίζσζεο κε αξρηθό παξάδεηγκα ηελ εκx = 2

Μονοψϊνιο. Αγνξά κε ιίγνπο αγνξαζηέο. Δύναμη μονοψωνίος Η ηθαλόηεηα πνπ έρεη ν αγνξαζηήο λα επεξεάζεη ηελ ηηκή ηνπ αγαζνύ.

ΣΥΣΤΗΜΑΤΑ ΑΛΓΕΒΡΑ Α ΛΥΚΕΙΟΥ. 1. Να ιπζνύλ ηα ζπζηήκαηα. 1 0,3x 0,1y x 3 3x 4y 2 4x 2y ( x 1) 6( y 1) (i) (ii)

TOOLBOOK (μάθημα 2) Δεκηνπξγία βηβιίνπ θαη ζειίδσλ ΠΡΟΑΡΜΟΓΗ: ΒΑΛΚΑΝΙΩΣΗ ΔΗΜ. ΕΚΠΑΙΔΕΤΣΙΚΟ ΠΕ19 1 TOOLBOOK ΜΑΘΗΜΑ 2

ΟΠΤΙΚΗ Α. ΑΝΑΚΛΑΣΖ - ΓΗΑΘΛΑΣΖ

Άμεσοι Αλγόριθμοι: Προσπέλαση Λίστας (list access)

ΣΕΙ Δυτικήσ Μακεδονίασ, Παράρτημα Καςτοριάσ Τμήμα Πληροφορικήσ και Τεχνολογίασ Υπολογιςτών

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΔΣΑΙΡΔΙΑ ΠΑΓΚΤΠΡΙΟ ΓΙΑΓΩΝΙΜΟ Α ΛΤΚΔΙΟΤ. Ημεπομηνία: 10/12/11 Ώπα εξέτασηρ: 09:30-12:30 ΠΡΟΣΔΙΝΟΜΔΝΔ ΛΤΔΙ

H ΜΑΓΕΙΑ ΤΩΝ ΑΡΙΘΜΩΝ

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

ΠΑΝΔΛΛΑΓΗΚΔ ΔΞΔΣΑΔΗ Γ ΣΑΞΖ ΖΜΔΡΖΗΟΤ ΓΔΝΗΚΟΤ ΛΤΚΔΗΟΤ Γευηέρα 11 Ηουνίου 2018 ΔΞΔΣΑΕΟΜΔΝΟ ΜΑΘΖΜΑ: ΜΑΘΖΜΑΣΗΚΑ ΠΡΟΑΝΑΣΟΛΗΜΟΤ. (Ενδεικηικές Απανηήζεις)

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΕΣΑΙΡΕΙΑ ΜΑΘΗΜΑΣΙΚΗ ΚΤΣΑΛΟΓΡΟΜΙΑ 2007 ΓΙΑ ΣΟ ΓΤΜΝΑΙΟ Παπασκευή 26 Ιανουαπίου 2007 Σάξη: Α Γυμνασίου ΥΟΛΕΙΟ..

ΚΔΦ. 2.4 ΡΗΕΔ ΠΡΑΓΜΑΣΗΚΩΝ ΑΡΗΘΜΩΝ

Να ζρεδηάζεηο ηξόπνπο ζύλδεζεο κηαο κπαηαξίαο θαη ελόο ιακπηήξα ώζηε ν ιακπηήξαο λα θσηνβνιεί.

Ππογπαμμαηιζμόρ Ι (ΗΥ120)

ΑΠΑΝΤΗΣΔΙΣ ΓΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ II ΔΠΑΛ

ΗΥ-150 Πξνγξακκατησκόο Ταμηλόκεσε θαη Αλαδήτεσε

Αντισταθμιστική ανάλυση

Έλαο πίνακας σσμβόλων ππνζηεξίδεη δύν βαζηθέο ιεηηνπξγίεο:

ΠΑΡΑΡΣΗΜΑ Δ. ΔΤΡΔΗ ΣΟΤ ΜΔΣΑΥΗΜΑΣΙΜΟΤ FOURIER ΓΙΑΦΟΡΩΝ ΗΜΑΣΩΝ

Δξγαιεία Καηαζθεπέο 1 Σάμε Σ Δ.Κ.Φ.Δ. ΥΑΝΙΧΝ ΠΡΧΣΟΒΑΘΜΙΑ ΔΚΠΑΙΓΔΤΗ. ΔΝΟΣΗΣΑ 11 ε : ΦΧ ΔΡΓΑΛΔΙΑ ΚΑΣΑΚΔΤΔ. Καηαζθεπή 1: Φαθόο κε ζσιήλα.

x-1 x (x-1) x 5x 2. Να απινπνηεζνύλ ηα θιάζκαηα, έηζη ώζηε λα κελ ππάξρνπλ ξηδηθά ζηνπο 22, 55, 15, 42, 93, 10 5, 12

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΕΣΑΙΡΕΙΑ ΜΑΘΗΜΑΤΙΚΗ ΣΚΥΤΑΛΟΓΡΟΜΙΑ 2015 ΓΙΑ ΤΟ ΓΥΜΝΑΣΙΟ Τεηάπηη 28 Ιανουαπίου 2015 ΛΔΥΚΩΣΙΑ Τάξη: Α Γυμναζίου

Διαφορές μεταξύ αξιών και αναφορών #1

ΥΡΙΣΟΤΓΔΝΝΙΑΣΙΚΔ ΚΑΣΑΚΔΤΔ

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΕΣΑΙΡΕΙΑ ΜΑΘΗΜΑΣΙΚΗ ΚΤΣΑΛΟΓΡΟΜΙΑ 2007 ΓΙΑ ΣΟ ΓΤΜΝΑΙΟ Παπασκευή 26 Ιανουαπίου 2007 Σάξη: Α Γυμνασίου ΥΟΛΕΙΟ..

Επωηήζειρ Σωζηού Λάθοςρ ηων πανελλαδικών εξεηάζεων Σςναπηήζειρ

ΔΝΓΔΙΚΤΙΚΔΣ ΛΥΣΔΙΣ ΣΤΑ ΜΑΘΗΜΑΤΙΚΑ ΚΑΤΔΥΘΥΝΣΗΣ Γ ΛΥΚΔΙΟΥ ΓΔΥΤΔΡΑ 27 ΜΑΪΟΥ 2013

Έκδοζη /10/2014. Νέα λειηοσργικόηηηα - Βεληιώζεις

B-Δέλδξα. Τα B-δέλδξα ρξεζηκνπνηνύληαη γηα ηε αλαπαξάζηαζε πνιύ κεγάισλ ιεμηθώλ πνπ είλαη απνζεθεπκέλα ζην δίζθν.

Η/Υ A ΤΑΞΕΩΣ ΑΕ Συστήματα Αρίθμησης. Υποπλοίαρχος Ν. Πετράκος ΠΝ

ΠΑΝΔΛΛΑΓΗΚΔ ΔΞΔΣΑΔΗ Γ ΖΜΔΡΖΗΟΤ ΓΔΝΗΚΟΤ ΛΤΚΔΗΟΤ Γεσηέρα 10 Ηοσνίοσ 2019 ΔΞΔΣΑΕΟΜΔΝΟ ΜΑΘΖΜΑ: ΜΑΘΖΜΑΣΗΚΑ ΠΡΟΑΝΑΣΟΛΗΜΟΤ. (Ενδεικηικές Απανηήζεις)

ΘΔΚΑ ΡΖΠ ΑΛΑΓΛΩΟΗΠΖΠ

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

Ζαχαρίας Μ. Κοντοπόδης Εργαστήριο Λειτουργικών Συστημάτων ΙΙ

Εςθςή ζςζηήμαηα επισειπήζεων και αξιολόγηζη

ΔΙΑΓΩΝΙΣΜΑ ΠΡΟΣΟΜΟΙΩΣΗΣ ΕΚΦΩΝΗΣΕΙΣ. Διάρκεια: 3 ώρες Ημερομηνία: 12/5/2019 Έκδοση: 1 η. Τα sites blogs που συμμετέχουν (σε αλφαβητική σειρά):

Άσκηση 1 - Μοπυοποίηση Κειμένου

7. ΚΑΤΑΧΩΡΗΤΕΣ ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ. 3. Έλαο θαηαρσξεηήο SISO ησλ 4 bits έρεη: α) Μία είζνδν, β) Δύν εηζόδνπο, γ) Σέζζεξεηο εηζόδνπο.

Παιχνίδι γλωζζικής καηανόηζης με ζχήμαηα!

ΠΑΝΔΛΛΑΓΗΚΔ ΔΞΔΣΑΔΗ Γ ΣΑΞΖ ΖΜΔΡΖΗΟΤ ΓΔΝΗΚΟΤ ΛΤΚΔΗΟΤ ΚΑΗ ΔΠΑΛ ΣΔΣΑΡΣΖ 25 ΜΑΨΟΤ 2016 ΔΞΔΣΑΕΟΜΔΝΟ ΜΑΘΖΜΑ: ΑΡΥΔ ΟΗΚΟΝΟΜΗΚΖ ΘΔΧΡΗΑ ΠΡΟΑΝΑΣΟΛΗΜΟΤ - ΔΠΗΛΟΓΖ

Μηα ζπλάξηεζε κε πεδίν νξηζκνύ ην Α, ζα ιέκε όηη παξνπζηάδεη ηοπικό μέγιζηο ζην, αλ ππάξρεη δ>0, ηέηνην ώζηε:

Οργάνωση και Δομή Παρουσιάσεων

Αζθήζεηο 5 νπ θεθαιαίνπ Crash course Step by step training. Dipl.Biol.cand.med. Stylianos Kalaitzis

4) Να γξάςεηε δηαδηθαζία (πξόγξακκα) ζηε Logo κε όλνκα θύθινο πνπ ζα ζρεδηάδεη έλα θύθιν. Λύζε Γηα θύθινο ζηθ επαλάιαβε 360 [κπ 1 δε 1] ηέινο

Δξγαιεία Καηαζθεπέο 1 Σάμε Δ Δ.Κ.Φ.Δ. ΥΑΝΗΩΝ ΠΡΩΣΟΒΑΘΜΗΑ ΔΚΠΑΗΓΔΤΖ. ΔΝΟΣΖΣΑ 2 ε : ΤΛΗΚΑ ΩΜΑΣΑ ΔΡΓΑΛΔΗΑ ΚΑΣΑΚΔΤΔ. Καηαζθεπή 1: Ογθνκεηξηθό δνρείν

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

Q Η ζσνάρηηζη μέζοσ κόζηοσς μας δίνει ηο κόζηος ανά μονάδα παραγωγής. Q Η ζσνάρηηζη μέζοσ κόζηοσς μας δίνει ηο ζηαθερό κόζηος ανά μονάδα παραγωγής

Κεθάιαην 20. Ελαχιστοποίηση του κόστους

Σύνθεζη ηαλανηώζεων. Έζησ έλα ζώκα πνπ εθηειεί ηαπηόρξνλα δύν αξκνληθέο ηαιαληώζεηο ηεο ίδηαο ζπρλόηεηαο πνπ πεξηγξάθνληαη από ηηο παξαθάησ εμηζώζεηο:

ΓΔΧΜΔΣΡΙΑ ΓΙΑ ΟΛΤΜΠΙΑΓΔ

Ανάλσση παλινδρόμησης

Master Class 3. Ο Ν.Ζανταρίδης προτείνει θέματα Μαθηματικών Γ Λσκειοσ ΘΕΜΑ 1.

ΡΤΘΜΙΕΙ ΔΙΚΣΤΟΤ ΣΑ WINDOWS

ΔΡΓΑΙΑ 1. Γιαδικησακά πληροθοριακά σζηήμαηα. Ομάδα Δργαζίας: Μεηαπηστιακοί Φοιηηηές. ηέθανος Κονηοβάς ΑΔΜ :283. Πάζτος Βαζίλειος ΑΔΜ :288

5 η Δργαζηηριακή Άζκηζη Κσκλώμαηα Γσαδικού Αθροιζηή/Αθαιρέηη

Πολυεπίπεδα/Διασυμδεδεμέμα Δίκτυα

Μορθές Κακόβοσλοσ Κώδικα (Malicious Code)

ΔΙΑΚΡΙΤΑ ΜΑΘΗΜΑΤΙΚΑ. Αθροίσματα, Γινόμενα και Ασσμπτωτικές Εκτιμήσεις

ΔΠΙΣΡΟΠΗ ΓΙΑΓΩΝΙΜΩΝ 74 ος ΠΑΝΔΛΛΗΝΙΟ ΜΑΘΗΣΙΚΟ ΓΙΑΓΩΝΙΜΟ ΣΑ ΜΑΘΗΜΑΣΙΚΑ Ο ΘΑΛΗ 19 Οκηωβρίοσ Δνδεικηικές λύζεις

ΕΞΙΣΩΣΕΙΣ. (iv) (ii) (ii) (ii) 5. Γηα ηηο δηάθνξεο ηηκέο ηνπ ι λα ιπζνύλ νη εμηζώζεηο : x 6 3 9x

ΛΙΜΝΗ ΤΣΑΝΤ. Σρήκα 1. Σρήκα 2

ΤΑΞΙΝΟΜΗΣΗ ΤΩΝ ΤΔΡΗΓΟΝΙΚΩΝ ΒΛΑΒΩΝ ΚΑΤΑ ΤΑ ICDAS II ΚΡΙΤΗΡΙΑ ΜΔ ΒΑΣΗ ΤΗ ΚΛΙΝΙΚΗ ΔΞΔΤΑΣΗ

A. Αιιάδνληαο ηε θνξά ηνπ ξεύκαηνο πνπ δηαξξέεη ηνλ αγωγό.

ΕΞΙΣΩΣΕΙΣ. Α. Πρωτοβάθμιεσ Εξιςώςεισ. Β. Διερεφνηςη Εξιςώςεων. 1x είναι αδφνατθ. x 1 x 1. Άλγεβρα Α Λυκείου

Γοκή επαλάιευες Δληοιές Όζο & Μέτρης_όηοσ

ΣΧΕΣΕΙΣ ΚΑΙ ΣΥΝΑΡΤΗΣΕΙΣ

α) ηε κεηαηόπηζε x όηαλ ην ζώκα έρεη κέγηζην ξπζκό κεηαβνιήο ζέζεο δ) ην κέγηζην ξπζκό κεηαβνιήο ηεο ηαρύηεηαο

Πξνγξακκαηηζκόο Ι. Δείθηεο. Κσλζηαληίλνο Τζεξπέο. (βαζηζκέλν ζηηο δηαθάλεηεο ηνπ θ. Δεκήηξε Μηραήι)

1. Οδηγίερ εγκαηάζηαζηρ και σπήζηρ έξςπνυν καπηών και τηθιακών πιζηοποιηηικών με σπήζη ηος λογιζμικού Μοzilla Thunderbird

ΠΑΝΕΛΛΑΔΙΚΕ ΕΞΕΣΑΕΙ Γ ΣΑΞΗ ΗΜΕΡΗΙΟΤ ΓΕΝΙΚΟΤ ΛΤΚΕΙΟΤ & ΠΑΝΕΛΛΗΝΙΕ ΕΞΕΣΑΕΙ Γ ΣΑΞΗ ΗΜΕΡΗΙΟΤ ΕΠΑΛ (ΟΜΑΔΑ Β )

ΣΕΙ ΙΟΝΙΩΝ ΝΗΩΝ ΣΜΗΜΑ: ΣΕΥΝΟΛΟΓΙΑ ΠΛΗΡΟΦΟΡΙΚΗ ΚΑΙ ΣΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΥΕΙΜΕΡΙΝΟ ΕΞΑΜΗΝΟ Ρέππα Μαξγαξίηα

Διαςτήματα εμπιςτοςφνησ για την ευθεία παλινδρόμηςησ

Φςζική Πποζαναηολιζμού Γ Λςκείος. Αζκήζειρ Ταλανηώζειρ 1 ο Φςλλάδιο

ΓΙΑΓΩΝΙΣΜΑ ΣΤΑ ΜΑΘΗΜΑΤΙΚΑ 133. Ύλη: Σσναρηήζεις-Σηαηιζηική Θέμα 1

ΣΡΑΠΕΖΑ ΘΕΜΑΣΩΝ Α ΛΤΚΕΙΟΤ

Transcript:

Πξνγξακκαηηζκόο Ι (ΗΥ120) Δηάιεμε 13: Σπλαξηήζεηο & Δείθηεο

Αιιαγή ηνπ «εμσηεξηθνύ» πεξηβάιινληνο Αλ ζαλ παξάκεηξνο κηαο ζπλάξηεζεο δνζεί κηα κεηαβιεηή, ζαλ πξαγκαηηθή παξάκεηξνο ζα πεξαζηεί ε ηηκή ηεο. Τν πέξαζκα παξακέηξσλ είλαη θαζ απνηίκεζε. Οη πξαγκαηηθέο παξάκεηξνη (ηηκέο) απνζεθεύνληαη ζε ηνπηθή κλήκε πξνζσξηλέο κεηαβιεηέο κε ηα νλόκαηα ησλ αληίζηνηρσλ ηππηθώλ παξακέηξσλ. Αλ ν θώδηθαο ηεο ζπλάξηεζεο αιιάμεη ηελ ηηκή κηαο ηππηθήο παξακέηξνπ, ζηελ πξαγκαηηθόηεηα αιιάδεη ηελ ηηκή ηεο αληίζηνηρεο ηνπηθήο κεηαβιεηήο, όρη ηεο κεηαβιεηήο πνπ «πεξάζηεθε» ζαλ παξάκεηξνο. 2

#include <stdio.h> void inc0(int a) { a=a+1; νπνηαδήπνηε αιιαγή ζηελ a δελ επεξεάδεη ην «εμωηεξηθό» πεξηβάιινλ ηεο θιήζεο 3 int a; a=5; inc0(a); printf("a=%d\n", a); ζαλ πραγματική παξάκεηξνο (γηα ηελ ηππηθή παξάκεηξν a) πεξληέηαη ε τιμή 5 inc0(a); printf("a=%d\n", a);

Γείθηεο σο παξάκεηξνη ζπλαξηήζεσλ Αλ ζαλ παξάκεηξνο κηαο ζπλάξηεζεο δνζεί κηα δηεύζπλζε, ηόηε ε ζπλάξηεζε κπνξεί (πξνθαλώο) λα αιιάμεη ηα πεξηερόκελα ζε απηή ηελ ζέζε κλήκεο. Η αληίζηνηρε ηππηθή παξάκεηξνο πξέπεη λα δεισζεί σο δείθηεο-ζε-τ, θαη ν θώδηθαο ηεο ζπλάξηεζεο πξέπεη λα ρξεζηκνπνηεί απηή ηελ ηηκή αληίζηνηρα, όπσο αθξηβώο απαηηείηαη ζε κηα κεηαβιεηή δείθηε. Αληίζηνηρα, όηαλ θαιείηαη ε ζπλάξηεζε, ζαλ παξάκεηξνο πξέπεη λα δίλεηαη κηα δηεύζπλζε πνπ αληηζηνηρεί ζε έλα αληηθείκελν (κεηαβιεηή) ηύπνπ Τ. Πξνζνρή: έλα θιαζηθό ιάζνο είλαη ην πέξαζκα ηεο ηηκήο αληί ηεο δηεύζπλζεο ηεο κεηαβιεηήο. 4

#include <stdio.h> void inc0(int a) { a = a + 1; 5 void inc1(int *a_ptr) { *a_ptr = *a_ptr + 1; δείθηεο! int a1, a2; printf("enter int value: "); scanf("%d", &a1); a2=a1; δηεύζπλζε! inc0(a1); inc1(&a2); printf("a1=%d, a2=%d\n", a1, a2); inc0(a1); inc1(&a2); printf("a1=%d, a2=%d\n", a1, a2);

#include <stdio.h> void swap(int *a_ptr, int *b_ptr) { int tmp; 6 tmp=*a_ptr; *a_ptr=*b_ptr; *b_ptr=tmp; int i,j; printf("enter 2 int values: "); scanf("%d %d", &i, &j); printf("i=%d, j=%d\n", i, j); swap(&i,&j); printf("i=%d, j=%d\n", i, j);

Πίλαθεο σο παξάκεηξνη ζπλαξηήζεσλ 7 Η ηππηθή παξάκεηξνο δειώλεηαη σο πίλαθαο. Δελ είλαη ππνρξεσηηθό λα πξνζδηνξηζηεί ην κέγεζνο ηνπ πίλαθα κπνξεί λα δνζεί θαη σο παξάκεηξνο. Καηά ηελ θιήζε, ζαλ πξαγκαηηθή παξάκεηξνο πεξληέηαη (ζηελ ζηνίβα) ε δηεύζπλζε (ηνπ πξώηνπ ζηνηρείνπ) ηνπ πίλαθα, όρη ηα πεξηερόκελα ηνπ. Ο θώδηθαο ηεο ζπλάξηεζεο κπνξεί λα αιιάμεη ηηο ηηκέο ησλ ζηνηρείσλ ηνπ πίλαθα, θαη απηέο νη αιιαγέο ζα «παξακείλνπλ» αθνύ επηζηξέςεη ε ζπλάξηεζε. Παξαηήξεζε: κηα ηππηθή παξάκεηξνο ηύπνπ δείθηε-ζε-τ κπνξεί λα εξκελεπηεί σο ε αξρή ελόο πίλαθα από Τ.

/* αλλαγή σε κευαλαία */ #include <stdio.h> #define N 16 void smalltocapitals(char s[]) { int i; 8 for (i=0; s[i]!= '\0'; i++) { if ( (s[i] >= 'a') && (s[i] <= 'z') ) { s[i] = 'A' + s[i] - 'a'; char str[n]; scanf("%15s",str); printf("%s\n",str); smalltocapitals(str); printf("%s\n",str);

/* αλλαγή σε κευαλαία */ #include <stdio.h> #define N 16 void smalltocapitals(char *s) { int i; 9 for (i=0; s[i]!= '\0'; i++) { if ( (s[i] >= 'a') && (s[i] <= 'z') ) { s[i] = 'A' + s[i] - 'a'; char str[n]; scanf("%15s",str); printf("%s\n",str); smalltocapitals(str); printf("%s\n",str);

πάλσ κηζό Αο δνπιέςνπκε κόλν ζην /* αλλαγή σε κευαλαία */ #include <stdio.h> #define N 16 void smalltocapitals(char s[]) { int i; for (i=0; s[i]!= '\0'; i++) { if ( (s[i] >= 'a') && (s[i] <= 'z') ) { s[i] = 'A' + s[i] - 'a'; char str[n]; scanf("%7s",&str[8]); printf("%s\n",str); smalltocapitals(&str[8]); printf("%s\n",&str[8]); 10

/* ανάγνωση και ταξινόμηση ακεπαίων */ #include <stdio.h> #define N 10 void swap(int *a_ptr, int *b_ptr) { 11 void sort(int t[], int len) { int i, j; for (i=0; i<len; i++) for (j=i; j<len; j++) if (t[i]>t[j]) swap(&t[i],&t[j]); int buf[n], i; for (i=0; i<n; i++) scanf("%d", &buf[i]); sort(buf,n); for (i=0; i<n; i++) printf("%d ", buf[i]); printf("\n");

/* ανάγνωση και ταξινόμηση ακεπαίων */ #include <stdio.h> #define N 10 void swap(int *a_ptr, int *b_ptr) { 12 void sort(int *t, int len) { int i, j; for (i=0; i<len; i++) for (j=i; j<len; j++) if (t[i]>t[j]) swap(&t[i],&t[j]); int buf[n], i; for (i=0; i<n; i++) scanf("%d", &buf[i]); sort(buf,n); for (i=0; i<n; i++) printf("%d ", buf[i]); printf("\n");

Γελ είλαη ζσζηή ιύζε. Απιά ηαμηλνκείηαη ην θάησ κηζό θαη ην πάλσ κηζό ηνπ πίλαθα /* ανάγνωση και ταξινόμηση ακεπαίων */ #include <stdio.h> #define N 10 void swap(int *a_ptr, int *b_ptr) { void sort(int t[], int len) { int i, j; for (i=0; i<len; i++) for (j=i; j<len; j++) if (t[i]>t[j]) swap(&t[i],&t[j]); int buf[n],i; for (i=0; i<n; i++) scanf("%d", &buf[i]); sort(buf,n/2); sort(&buf[n/2],n/2); for (i=0; i<n; i++) printf("%d ", buf[i]); printf("\n"); 13

Σρόιην Η αιιαγή ηεο ηηκήο κηαο εμσηεξηθήο κεηαβιεηήο κέζα από ζπλάξηεζε, κέζσ δείθηε, κπνξεί λα ζεσξεζεί σο κηα κνξθή παξελέξγεηαο. Η δηαθνξά ζε ζρέζε κε ηελ αιιαγή θαζνιηθώλ κεηαβιεηώλ είλαη όηη γηα λα γίλεη απηό πξέπεη λα ππάξρεη ηππηθή παξάκεηξνο πνπ λα έρεη δεισζεί ζαλ δείθηεο, θαη όηαλ γίλεηαη ε θιήζε λα δίλεηαη ζαλ παξάκεηξνο ε δηεύζπλζε ηεο κεηαβιεηήο. Απηό είλαη νξαηό θαηά ηελ αλάγλσζε ηνπ θώδηθα, ζπλεπώο δελ απνηειεί «πξαγκαηηθή» παξελέξγεηα. Τν πξόζεκα const ζε κηα ηππηθή παξάκεηξν δείθηε, δειώλεη όηη ε ζπλάξηεζε δελ αιιάδεη ηα πεξηερόκελα πνπ βξίζθνληαη ζε απηή ηε δηεύζπλζε. 14

Γείθηεο σο απνηέιεζκα ζπλαξηήζεσλ 15 Μηα ζπλάξηεζε κπνξεί λα δεισζεί έηζη ώζηε λα επηζηξέθεη ζαλ απνηέιεζκα έλα δείθηε-ζε-τ. Χξεηάδεηαη πξνζνρή ώζηε ε ηηκή πνπ επηζηξέθεηαη λα αληηζηνηρεί ζε κεηαβιεηή (κλήκε) πνπ είλαη κόληκε. Η επηζηξνθή ηεο δηεύζπλζεο κηαο (ζπκβαηηθήο) πξνζσξηλήο ηνπηθήο κεηαβιεηήο κηαο ζπλάξηεζεο είλαη πξνγξακκαηηζηηθό ιάζνο, θαζώο απηή κπνξεί λα κελ πθίζηαηαη κεηά ηελ θιήζε ηεο ζπλάξηεζεο (θαηαζηξέθεηαη ην πιαίζην εθηέιεζεο). Απηό δελ εληνπίδεηαη από ην κεηαθξαζηή αιιά νδεγεί (αλ είκαζηε ηπρεξνί, θαη όρη πάληα) ζε ηεξκαηηζκό ηεο εθηέιεζεο ηνπ πξνγξάκκαηνο.

#include <stdio.h> int *add(int a, int b) { int c; c=a+b; return(&c); /* αςτό είναι λάθορ! */ 16 int f(int a, int b) { int c = 0; int a,b,*c; printf("enter 2 int values: "); scanf("%d %d", &a, &b); c=add(a,b); f(a,b); printf("the result is %d\n", *c);

Φξήζε ζπλαξηήζεσλ Χξεζηκνπνηνύκε ζπλαξηήζεηο: Όηαλ ην πξόγξακκα απνηειείηαη από κηα νκάδα εληνιώλ πνπ επαλαιακβάλεηαη πνιιέο θνξέο, θαη ε νπνία κπνξεί λα παξακεηξνπνηεζεί έηζη ώζηε λα γξάςνπκε ηνλ θώδηθα κηα κνλαδηθή θνξά. Όηαλ επηζπκνύκε, γηα ιόγνπο θαιύηεξεο δόκεζεο, λα ζπάζνπκε έλα κεγάιν ηκήκα θώδηθα ζε πεξηζζόηεξα, λνεκαηηθά αλεμάξηεηα, θνκκάηηα. Όηαλ επηζπκνύκε λα έρνπκε αλεμάξηεηα ηκήκαηα θώδηθα ζε δηαθνξεηηθά αξρεία ή/θαη κε δπλαηόηεηα μερσξηζηήο κεηάθξαζεο (π.ρ. βηβιηνζήθεο). 17

Φξήζε κεηαβιεηώλ Κάζε κεηαβιεηή εμππεξεηεί έλα ζπγθεθξηκέλν ζθνπό θαη νλνκάδεηαη αληίζηνηρα (ρσξίο ππεξβνιέο). Μεηαβιεηέο κε «εηδηθό» ξόιν ζρνιηάδνληαη ώζηε λα δηεπθνιύλνπλ ηελ αλάγλσζε ηνπ θώδηθα. Ιδαληθά, ε ιεηηνπξγία θάζε ζπλάξηεζεο πξέπεη λα είλαη θαηαλνεηή «από κόλε ηεο», ρσξίο λα γλσξίδνπκε ην ηη (αθξηβώο) θάλεη ν ππόινηπνο θώδηθαο ηνπ πξνγξάκκαηνο. Οη θαζνιηθέο κεηαβιεηέο πξέπεη λα ρξεζηκνπνηνύληαη κε ζύλεζε, κόλν όηαλ απινπζηεύνπλ ηνλ θώδηθα. 18

Σπλαξηήζεηο κε άγλσζην αξηζκό παξακέηξσλ Μπνξεί λα πινπνηεζνύλ ζπλαξηήζεηο κε άγλσζην (κεηαβιεηό) αξηζκό παξακέηξσλ, νξίδνληαο σο ηειεπηαία (αιιά όρη πξώηε) παξάκεηξν ην. Απηό είλαη βνιηθό ζε πεξηπηώζεηο πνπ ν αξηζκόο ησλ παξακέηξσλ δελ κπνξεί λα πξνζδηνξηζηεί εθ ησλ πξνηέξσλ ή είλαη επηζπκεηό ε ζπλάξηεζε λα κπνξεί λα θαιείηαη κε κεηαβιεηό αξηζκό παξακέηξσλ. Ο ζπλνιηθόο αξηζκόο ησλ παξακέηξσλ πξέπεη λα κπνξεί λα ππνινγίδεηαη κε βάζε ηηο ηηκέο ησλ (γλσζηώλ) παξακέηξσλ ηεο ζπλάξηεζεο. 19 Κιαζηθό παξάδεηγκα: printf θαη scanf.

Βαζηθέο ιεηηνπξγίεο βηβιηνζήθεο Γηα ηελ πξόζβαζε ζηηο παξακέηξνπο πνπ δόζεθαλ θαηά ηελ θιήζε, ρξεζηκνπνηνύληαη νη κάθξν-εληνιέο (από ηε βηβιηνζήθε stdarg): - va_list: ν ηύπνο ηεο ιίζηαο ησλ παξακέηξσλ - void va_start(va_list ap, last): αξρηθνπνηεί ηελ κεηαβιεηή ap ώζηε λα δείρλεη ζηελ πξώηε άγλσζηε παξάκεηξν κεηά ηελ ηειεπηαία γλσζηή παξάκεηξν ηεο ζπλάξηεζεο last - type va_arg(va_list ap, type): επηζηξέθεη ηελ ηηκή ηεο παξακέηξνπ ζηελ νπνία δείρλεη ε ap εξκελεύνληαο ηελ ζύκθσλα κε ηνλ ηύπν type θαη κεηαζέηεη ην ap ζηελ επόκελε ζέζε - void va_end(va_list ap): θαιείηαη πξηλ ηνλ ηεξκαηηζκό ηεο ζπλάξηεζεο 20

#include<stdio.h> #include<stdarg.h> 21 void sum(int nof_args,...) { int i,s; va_list ap; va_start(ap,nof_args); for(i=0,s=0; i<nof_args; i++) { s=s+va_arg(ap,int); va_end(ap); printf("sum of 1..7 is %d\n",sum(7,1,2,3,4,5,6,7)); printf("sum of 1..5 is %d\n",sum(5,5,7,9,11,13));