Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
H C
6:
.
1.
2.
1.
2.
3.
1.
2. !
4.
3. " # $
1. %
2. & &
3. &
B. '
1.
2. '
1. ( # # $
2. )
3. # ) '
!
.
1. ) # ) '
2. & * !...
A.
1.
$!
;
& ! $ , $ $ & $
$ ! + .
. . $ % ! # , $ # $ !
! " , " %
' $ , & & $
! & , " !
$ $ $ $ # $. . " , #
$ !!& & # & ...
A.
2. %
2. ) % $
'!
4) $ $ main $ % $ % % $ # .
) $ % $ # $ % %
$ ( $ ! ). ) # :
5$% :
$ $ $ # ginomeno: $
$ # & +! & % # ...
A.
2. %
3. ) " (. )
("!
) " $ ! # $ % !" $ ! # .
# 1) main !& + #
1 # +" # $ % $ ( !! & % )
-$ & $ % :
$ & +! & $ $ .
/ ! ...
A.
2. %
4. /!
(%!
/* orismata.c: Anadeikniei pos pairname orismata se sinartiseis */
#include <stdio.h>
int square(int x);...
A.
3. %
1. 3"
(!
/ ! # ! return y. # $ & main!
!& $ (25) $ +!
b.
1# $ " f,
$ ! " $ # $ # $ !!
:
int f(int x);
main()
{
int...
0.
2. &
$!
. ' & !
# $ ! C, $! ! &
!
' $ " ! # , * '
.
# # $ ! , #% *
$ $ #* !
& $ :
) $ n #* % :
$. . & . . .
) $ #* % % ...
0.
2. &
1. 7$ !
'!
$ # & ! $ # $ # $ $
! #* !# , .
$ $ $ ! $ &!
" :
int fact (int n)
{
int y;
if (n==1) return 1;
else{
y=...
.
1 4 ( : ! # FIbonacci)
""!
! # fibonacci #* % :
Fn=Fn-1+Fn-2, n>2
F2=1
F1=1
$ & F1=1,F2=1,F3=2,F4=3,F5=5,F6=8 . . .
. # ...
Upcoming SlideShare
Loading in …5
×

ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 6

5,391 views

Published on

ΠΕΡΙΕΧΟΜΕΝΑ ΜΑΘΗΜΑΤΟΣ
Α) Συναρτήσεις
Α.1) Πότε Γράφουμε Συναρτήσεις
Α.2) Πως Γράφουμε Συναρτήσεις
Α.2.1) Γενικό Σχήμα
Α.2.2) Το Πρωτότυπο Συνάρτησης
Α.2.3) Το Σώμα Συνάρτησης
Α.2.3.1) Ορισμός
Α.2.3.2) Καθολικές και Τοπικές Μεταβλητές
Α.2.4) Κλήση Συνάρτησης
Α.3) Πως Λειτουργούν οι Συναρτήσεις
Α.3.1) Συναρτήσεις και Χώρος στη Μνήμη
Α.3.2) Περίπλοκα Ορίσματα
Α.3.3) Παραπάνω του ενός Ορίσματα
B) Αναδρομή
Β.1) Κλήση Συνάρτησης από Συνάρτηση
Β.2) Αναδρομικές Συναρτήσεις
Β.2.1) Υπολογισμός Παραγοντικού
Β.2.2) Τρόπος Εκτέλεσης
Β.2.3) Καταγραφή Εκτέλεσης Αναδρομικής Συνάρτησης
Γ) Ασκήσεις
Γ.1) Συναρτήσεις Ελέγχου Εισόδου
Γ.2) Μια Βιβλιοθήκη Μελέτης Αριθμών
Γ.3) Πρώτοι Αριθμοί
Γ.4) Αναδρομή: Η Ακολουθία Fibonacci
Γ.5) Αναδρομή: ΜΚΔ με τον Αλγόριθμο του Ευκλείδη

Published in: Education
  • Be the first to comment

ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 6

  1. 1. H C 6: . 1. 2. 1. 2. 3. 1. 2. ! 4. 3. " # $ 1. % 2. & & 3. & B. ' 1. 2. ' 1. ( # # $ 2. ) 3. # ) ' ! . 1. ) # ) ' 2. & * ! 3. & 4. ' : + & Fibonacci 5. ' : , # ) &' A. 1. "! !" C # $ % &% $ «' ' » !% . # ! # (' ' & )! ' !" # ! A. 1. #! # C # # . ( % $ ) # ) ) # )" $% $ . . . , ! ( C !& « ») $ ! #* : ( C !& « ») . . , ! ( C !& « !" ») $ ! #* ( C !& « $ & »)
  2. 2. A. 1. $! ; & ! $ , $ $ & $ $ ! + . . . $ % ! # , $ # $ ! ! " , " % ' $ , & & $ ! & , " ! $ $ $ $ # $. . " , # $ !!& & # & . - $ , $ ! + & % – $. . " & $ # $ # . A. 1. ! . # $ $ # : # &' # &' ' . . . $ # $% $ !!& & , # $. . print() ! $ &! $" $# . / &! $! $ $ . )& ' -« », ! main $ $ $ !! $ ! $ " & ! # $ ! $ & . A. 2. % %! ) , , # 2 «0 # $ C» 1# # 2 # : $ ($ main) 2 , $ $ ! # # $! $ % $% % & % % % $ & $ . & % main, #* , $ $ & $ ! # $ $ & # & #% $ ! # , & # , $ $ & " . # + ! & # !& . $ ! , $ &2 $ &! ! A. 2. % 1. &! $ ! + $ $ &$ & $ 3 $ $ $ ! $! $ & % # # $ & . ..... int ginomeno(int x, int y); <- main() { .... c=ginomeno(a,b); <- main, .... } int ginomeno(int x, int y) <- { return (x*y); }
  3. 3. A. 2. % 2. ) % $ '! 4) $ $ main $ % $ % % $ # . ) $ % $ # $ % % $ ( $ ! ). ) # : 5$% : $ $ $ # ginomeno: $ $ # & +! & % # $ & & +! . _ _ _ ( 1, 2,...); int ginomeno (int x, int y); A. 2. % 2. ) % $ ()! # $ ! $ % $ & : $ # # $ $ $ & % $ 3 ($. . int, float, double .!$.) $ " $ $ , $ &+ ! # $ # 3 ($. . $ # , ) ) # % #* . / & 5$ ) # $ & % # . _ _ _ ( 1, 2,...); _ _ _ ( 1, 2,...) _ A. 2. % 2. ) % $ ((! # : 1# square $ $ # & & $ & & & 1# mesos_oros $ $ # % # $! #+ $ & & $! #+ . 1# $ $ # & & ' & . !&, $ !" $ & #$ 1# $ $ # # $ & #$ ! ( ! # & " ! int square(int x); double mesos_oros(double x,double y); void typose_minima(int elegxos); void void ektyposi_plaisiou(); A. 2. % 2. ) % $ (! ! : • 3 $ , " & ! #! • 1$# $ $ $ % % $ & ! • 5 !" $ % $ , + ! % &! !% !
  4. 4. A. 2. % 3. ) " (. ) ("! ) " $ ! # $ % !" $ ! # . # 1) main !& + # 1 # +" # $ % $ ( !! & % ) -$ & $ % : $ & +! & $ $ . / ! !& $ !& . !& &, ( $% main) % : 1# ! # , 1# ! return! _ _ _ ( 1, 2,...) { // ! "# # ! $ // % $& ! # ! $ } #% : • 1 !! C # 2 $ # " $ main #. ! $ & & " . A. 2. % 3. ) " () $ & / ! & +! & ) (#! ! : 1# +! & $ !" $ # «+!&$ » (& $ + ) .4.4 ( ! !! main() ! / & & +! & , & $. . $ & +! & # . / «+!&$ » & +! & . ! : 1# +! & $ !" $ $ main $ # +!&$ . 1 ( main). # $ $ $ # & +! & &$ !% # !& $ $ . + ! : • ( % # # $ ! . ( $ &$ % #* $% ! , !! $ $ ! A. 2. % 3. ) " () $ & / ! & +! & ) ($! /* variables.c: Deixnei ton diaxorismo katholikwn-topikwn metablitwn*/ #include <stdio.h> void f1(); void f2(); int x; /* Katholiki metavliti: Tin vlepoun oloi */ main() { int a=0; /*Topiki metabliti stin main */ x=5; printf("nmain: a=%d,x=%d",a,x); f1(); printf("nmain: a=%d,x=%d",a,x); f2(); printf("nmain: a=%d,x=%d",a,x); } void f1() { int a=2, x=0; /*Topikes metavlites tis f1 */ /* Exoyme diplo onoma stin x. Epikratei to topiko onoma */ printf("nf1: a=%d,x=%d",a,x); } void f2() { int a=8; /*Topikes metavlites tis f2 */ x=7; /* Anaferetai stin katholiki x */ printf("nf2: a=%d,x=%d",a,x); } A. 2. % 4. /! (! 2 , & #% !& $ $ & $ . !& : !! ! # $ # : 1# $ # & & & . 1# +! " $ $ $ . ! $! % +! " % # $ & % 1# $ ! * $ ( $% # 2 $ ! ! " ) # $ $ $# ! % % , « » # # , # +! & $ $ # « ! »
  5. 5. A. 2. % 4. /! (%! /* orismata.c: Anadeikniei pos pairname orismata se sinartiseis */ #include <stdio.h> int square(int x); main() { int a=5; int b=10; int teta,tetb,sum; teta=square(a); tetb=square(b); sum=teta+tetb; printf("%d^2 + %d^2 = %d",a,b,sum); } int square(int x) { int y; y=x*x; return y; } A. 2. % 4. /! (&! 5$% # $ $ , $ # ! return: H & !&, return ! # $ , $ # $ # # $ $ $ ! * $ ( , +! , $ ! , ) : &! ! return $ $ &! , $ ! #* $ & ! . 6 $# $ $ & void, $ &! ! : return ; return; A. 3. % 1. 3" ('! 1# ! + & « " » , $ # $ +! & . $ & % " $ # , 5 , ! # " $ " $ main! -$ ! # ! $ # a=5, # : int f(int x); main() { int a=5,b; b=f(a); } int f(int x) { int y; y=x*x; return y; } a b … % main a b … % main 5 A. 3. % 1. 3" )! -$ ! # f a. ! # , # " $ f. / " $ f, +! x $ # $ + ! , x $ 5. 1# ! + $ " $& x & # & a. - " #* f. !& " f, ! # ! y=x*x y $ # 25 int f(int x); main() { int a=5,b; b=f(a); } int f(int x) { int y; y=x*x; return y; } a b … % main 5 % f x y 5 a b … % main 5 % f x y 5 25
  6. 6. A. 3. % 1. 3" (! / ! # ! return y. # $ & main! !& $ (25) $ +! b. 1# $ " f, $ ! " $ # $ # $ !! : int f(int x); main() { int a=5,b; b=f(a); } int f(int x) { int y; y=x*x; return y; } a b … % main 5 25 • ) $ & ! • / ! # " ! • . # ! $ % # ! # # ( ) $ ( &! ) A. 3. % 2. #$! . # ! $ & # : # $! , $ # # $ # $ ! ! - & #% & % # $ $ $ C ) $! & $ ! # # , &$ +! # $ !! ! . $ " : 7$ ! #* $ " ( # 10) -$ ! # f 10 1 " f # $ # $ & % & #% 2 , : 5$ $ ! #* $ " % f(a) ( $ ! #* 25) $ ! #* f(25) $ b 625. int a=5; int b; b=f(2*a); int a=5; int b; b=f(f(a)); A. 3. % 3. $ % # "! # # & $ & $ !! # . . & # : / !& % , : ) $ & $ " $ +! 1 # ( ! x $ # 1) $ & $ +! 2 # ( ! y $ # 5) $ & # $ +! 3 # ( ! z $ # 10) void func(int x, int y, int z) func(1,5,10) 0. 1. /! & #! 5$% # # $ !& $ $ " . ' $ !& $ & # & !! ! . . # $ $ ! #* f(x)=2x2 $ # g(x)=2x2+x+1 % , : int f(int x) { int y; y=2*x*x; return y; } int g(int x) { int y; y=f(x)+x+1; return y; }
  7. 7. 0. 2. & $! . ' & ! # $ ! C, $! ! & ! ' $ " ! # , * ' . # # $ ! , #% * $ $ #* ! & $ : ) $ n #* % : $. . & . . . ) $ #* % % , : , 0. 2. & 1. 7$ ! ! /* factorial.c: Ypologizei to paragontiko enos fysikoy */ #include <stdio.h> int factorial(int n); main() { int x; int res; printf("Dwste ton fysiko: "); scanf("%d",&x); res=factorial(x); printf("%d!=%d",x,res); } int factorial(int n) { int y; if (n==1) return 1; else { y=factorial(n-1); return n*y; } } 0. 2. & 1. 7$ ! %! $ ! # , ! & " . $% & ! factorial(3): / ! # factorial(2): / ! # factorial(1): int fact (int n) { int y; if (n==1) return 1; else{ y=factorial(n-1); return n*y; } } n … % fact(3) 3 y n % fact(3) 3 y % fact(2) n y 2 n % fact(3) 3 y % fact(2) n y 2 % fact(1) n y 1 0. 2. & 1. 7$ ! &! H factorial(1) $ & 1: factorial(2) $ 1 y &$ $ & 2*1. factorial(2) $ 1 y &$ $ & 3*2 int fact (int n) { int y; if (n==1) return 1; else{ y=factorial(n-1); return n*y; } } n % fact(3) 3 y % fact(2) n y 2 % fact(1) n y 1 1 1 n % fact(3) 3 y % fact(2) n y 2 2 1 n % fact(3) 3 y 6 2 main
  8. 8. 0. 2. & 1. 7$ ! '! $ # & ! $ # $ # $ $ ! #* !# , . $ $ $ ! $ &! " : int fact (int n) { int y; if (n==1) return 1; else{ y=factorial(n-1); return n*y; } } '( fact(3) (3==1) )* y=fact(2) '( fact(2) (2==1) )* y=fact(1) '( fact(1) (1==1) * return 1 y=1 return 2*1=2 y=2 return 3*2=6 . 1 1 ( 1!& 1 ) ")! . # : int get_integer(int start, int finish): ( ! + % # & " #% [start…finish] + * & & . ( $ & $ + . . # main + * & a,b 1..10 & & n 2..5 $ ! #* $ n*(a-b) $ # $ # . . 1 2 ( 0 +! !& " ) "(! . #* : int is_even(int n): ( $ & 0 1 ! # int is_odd(int n): ( $ & 0 1 ! # $ int is_square(int n): ( $ & 0 1 ! # % int is_cube(int n): ( $ & 0 1 ! # + . #* main $ * $ # & , * & $ $ & . 1 &! : Eisagete ton arithmo: 8 Einai Artios Einai Kivos Arithmou Eisagete ton arithmo: 9 Einai Perittos Einai Tetragono Arithmou . 1 3 ( " #) "! - !& # $ " # ( +" ) . ) 1 % # # $ " . / & $ $ # : ( #* # isprime() $ # & % & & , , * # $ " $ & 1 # $ " 0 # . main + * ( !& # # >0) $ #* &! ! ($. . a=5, b=8) $" $ # $ " . &! * $ : Eisagete tin arxi tou diastimatos: 5 Eisagete to peras tou diastimatos: 15 To 5 einai prwtos To 7 einai prwtos To 11 einai prwtos To 13 einai prwtos
  9. 9. . 1 4 ( : ! # FIbonacci) ""! ! # fibonacci #* % : Fn=Fn-1+Fn-2, n>2 F2=1 F1=1 $ & F1=1,F2=1,F3=2,F4=3,F5=5,F6=8 . . . . # int fibonacci(int n) $ & % & $ & n- fibonacci. -$ # main $ + * $ & & $ ! #* $ & fibonacci $ . . 1 5 ( : / ! 1 ! # ) "#! O ! 1 ! # & / & ( " ) " : 8 & * " #* & & * $ ! . # $ ! + % # # # . . # / % " " . / (a,b) $ a,b # #: 1# # a, a=b 1# # / (a,b-a), a<b 1# # / (a-b,b), !! " / & $ !" C $ ! $ # # $ ! / # main $ * $ , !! ! ! $" / % " .

×