PZhelp. PZhelp.

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "PZhelp. PZhelp. https://courses.softlab.ntua.gr/progintro/"

Transcript

1

2

3 PZhelp PZhelp

4

5

6 ...

7

8 O Ω Θ

9

10

11

12

13 = + +

14 x := 3*y; while x>1 do x := x/2 x = 3*y; while (x>1) x = x/2;

15

16 BASIC Visual BASIC VB.NET FORTRAN I FORTRAN IV FORTRAN 77 FORTRAN 90 FORTRAN 2003 FORTRAN 2008 COBOL PL/I Modula-2 Oberon Modula-3 Component Pascal Algol-W Pascal Ada DELPHI Ada 95 Eiffel Scala Java C# D C++ C++11 Lua Managed C++ SIMULA I SIMULA 67 Smalltalk 80 Self Javascript Dart Objective C Ruby Algol 58 Algol 60 Algol 68 PHP Perl Python CPL BCPL C C99 Go APL Scheme Common LISP Clojure Mercury Prolog LISP Erlang Haskell Haskell 98 Haskell 2010 Miranda Clean F# Caml OCaml ML Standard ML

17 for

18 x = x++; PZhelp PZhelp PZhelp WRITE printf cout int char bool REAL PZhelp double PZhelp

19 PZhelp novice.softlab.ntua.gr.cpp edit hello.cpp hello.cpp c++ hello.cpp -o hello hello -o hello a.out hello.exec hello./hello hello.exec run hello.exec

20 #include pzhelp PROGRAM { WRITELN( hello world ); #include pzhelp PROGRAM { WRITE( hello ); WRITELN( world ); #include pzhelp PROC hello () { WRITELN( hello world ); PROGRAM { hello(); hello(); hello(); hello(); #include pzhelp const int n = 20; int i; PROC num_hello () { WRITELN(i, hello world ); PROGRAM { FOR(i, 1 TO n) num_hello(); #include pzhelp #include pzhelp PROGRAM { WRITELN( hello, world ); #include pzhelp PROGRAM { WRITE( hello, world ); WRITELN(); #include pzhelp PROC hello () { WRITELN( hello world ); PROGRAM { int i; FOR(i, 1 TO 20) hello(); #include pzhelp PROC hello () { WRITELN( hello world ); PROGRAM { int n, i; WRITE( Give number of greetings, then press <enter>: ); n = READ_INT(); FOR(i, 1 TO n) hello(); PROC hello () { WRITELN( hello world ); PROGRAM { int n, i; WRITE( Give number of greetings then press <enter>: ); n = READ_INT(); if (n < 0) WRITELN( The number, n, is negative ); else FOR(i, 1 TO n) hello();

21 #include pzhelp PROGRAM { REAL r, a; WRITE( Give the radius: ); r = READ_REAL(); a = * r * r; WRITELN( The area is:, a);

22 // /* */ example1 έντονη PROGRAM REAL WRITE int r a REAL WRITE( Give the radius: ) Give the radius: r = READ_REAL(); r a = * r * r; r a a = πr 2 r a

23 WRITELN( The area is:, a); The area is: a program program_header block program_header #include "pzhelp" (new line) PROGRAM (new-line) PROGRAM

24 #include pzhelp block local_declaration statement { PROGRAM { REAL r, a; WRITE( Give the radius: ); r = READ_REAL(); a = * r * r; WRITELN( The area is:, a);

25 r a r r = READ_REAL(); a a = * r * r; a r REAL r, a; r a REAL int REAL char bool true false REAL int i, j, k; REAL x, y; char ch; bool passed; int m; i j k int x y REAL ch char passed bool m int i j k

26 bool true false bool passed passed true passed false ; //

27

28 _ a b z PROGRAM program PROGRAM int REAL WRITE while do return Χ bob ΑbF SKOYLIKOMYRMINGOTRYPA A98 M6_7L 2ND Μ.Α,Ι Ε+4 ΒΑ(3) int

29 assignment_stmt variable = expression ; true false bool x = 2; pi = ; done = true; d = b ; z1 = (-b + sqrt(b * b - 4 * a * c)) / (2 * a); counter = counter + 1; int x, counter; REAL pi; bool done; char d; REAL z1, a, b, c;

30 z1 = (-b + sqrt(b * b - 4 * a * c)) / (2 * a); z1 a b c sqrt(x) x z1 az 2 + bz + c = 0 counter = counter + 1; counter = 7 counter 7 counter = counter = counter + 1 counter := int x, counter = 6, z; REAL pi = ; bool done = true; x z

31 x z int INT_MIN = 2 31 INT_MAX = INT_MAX: INT_MIN: WRITE WRITELN

32 string_constant character " " Hello world! Οι αριθμοί που μας ενδιαφέρουν είναι το 17 και το 42. ()()() :-) ()()() true false WRITE WRITELN WRITE WRITELN write_stmt, WRITE WRITELN ( expression ) ; WRITE WRITELN true false

33 WRITE WRITELN Hello world! H e! WRITE WRITELN WRITELN WRITE WRITE WRITELN WRITELN( Hello world! ); WRITELN( Hello, world! ); WRITELN( Hel, lo wo, rld! ); Hello world! Hello world! Hel lo wo rld! WRITE( Hel ); WRITELN( lo, world! ); Hello world! x = 6; WRITE( x ); WRITE( = ); WRITE(x); WRITELN(); WRITELN( 3*x-1 =, 3*x-1); WRITELN( x*(x+1) =, x*(x+1)); x = 6 3*x-1 = 17 x*(x+1) = 42 WRITE(4); WRITELN(2); WRITELN(4, 2); WRITE(6); WRITE(6); WRITELN(6); WRITE(6, 6); WRITELN(6);

34 WRITE( x ); x x WRITE(x); x x 6 WRITE WRITELN FORM FORM WRITELN( x =, FORM(42, 8)); WRITELN( y =, FORM(-324, 8)); WRITELN( z =, FORM(17, 8)); WRITELN( w =, FORM(0, 8)); x = 42 y = -324 z = 17 w = 0 42, 324, 17 0 FORM WRITELN(FORM( hello, 8)); WRITELN(FORM( what, 8)); WRITELN(FORM( do, 8)); WRITELN(FORM( you, 8)); WRITELN(FORM( think?, 8)); hello what do you think? FORM WRITELN( Temperatures ); WRITELN( ); WRITELN(FORM( Athens, 10), FORM(100.0/3, 6, 1)); WRITELN(FORM( Rome, 10), FORM(100.0/4, 6, 1)); WRITELN(FORM( Paris, 10), FORM(100.0/6, 6, 1)); WRITELN(FORM( London, 10), FORM(100.0/15, 6, 1)); WRITELN(FORM( Moscow, 10), FORM(100.0/-24, 6, 1)); Temperatures Athens 33.3 Rome 25.0 Paris 16.7 London 6.7 Moscow -4.2 READ_REAL

35 PROGRAM { REAL r, a; Give the radius: 10 The area is: WRITE( Give the radius: ); r = READ_REAL(); a = * r * r; WRITELN( The area is:, a); Give the radius: READ_REAL READ_REAL r READ_REAL READ_REAL READ_REAL READ_INT getchar switch

36 PROGRAM { int first, second, result; char operator; first = READ_INT(); operator = getchar(); second = READ_INT(); switch (operator) { case + : result = first + second; break; case - : result = first - second; break; case * : result = first * second; break; case / : result = first / second; break; WRITELN( The result is:, result); 8+9 The result is: The result is: -99 6*7 The result is: first = READ_INT(); 102 first operator = getchar(); - operator second = READ_INT(); 201 second READ_INT READ_REAL

37 \n READ_INT READ_INT READ_INT READ_INT READ_INT READ_INT operation READ_INT READ_INT first READ_INT -201 getchar - getchar READ_INT READ_REAL 201 READ_INT second getchar READ_INT operation PROGRAM { int first, second; WRITE( First: ); first = READ_INT(); WRITE( Second: ); second = READ_INT(); WRITELN( Result:, first + second); First: 8 Second: 9 Result: 17 First: Second: Result: 666 READ_INT

38 First: READ_INT Second: WRITELN WRITELN First: Second: Second: Result: SKIP_LINE PROGRAM { int first, second; WRITE( First: ); first = READ_INT(); SKIP_LINE(); WRITE( Second: ); second = READ_INT(); WRITELN( Result:, first + second); First: 8 Second: 9 Result: 17 First: Second: 111 Result: 333 SKIP_LINE(); READ_INT READ_INT 444 READ_INT = 333 SKIP_LINE SKIP_LINE stdout stdin

39 INPUT OUTPUT file-to-read-from.txt file-to-write-to.txt PROGRAM { int n, i, sum = 0; INPUT( file-to-read-from.txt ); OUTPUT( file-to-write-to.txt ); n = READ_INT(); FOR (i, 1 TO n) sum = sum + READ_INT(); WRITELN(sum); OUTPUT r passed sqrt + - * int REAL bool true false

40 int REAL * / % MOD int REAL % MOD int int REAL int REAL * * *

41 / % MOD 5 / / / 17 5 % 2-17 / 5-17 % 5 17 / % / % -5 3 / / /5 = (a/b) b + a%b = a unsigned_integer 0 non_zero_digit digit

42 int REAL 1.234Ε e E-19 E E Ε-6 25Ε Ε*2 42. E 10 x n xen En xe7

43 variable identifier variable [ expression ] variable. identifier postfix_expr > identifier ( variable ) * unary_expression ub40 a[i] dp[i+3][j-1] myself.age person[2].sex a2a[7+din[j]] x.a[7+z[8+i[3]]] myself.birthdate.year *(p+5)

44 arithmetic_expr arithmetic_expr + arithmetic_term arithmetic_term * arithmetic_term / % MOD arithmetic_factor arithmetic_factor + unsigned_number variable call ( arithmetic_expr )

45 x+2*y x+(2*y) (x+2)*y * / % MOD + - x-2+y (x-2)+y x-(2+y) x*2 + y*3 f(x, 3 + a[i].bc) 3 * a / 4 % n -5/3 * bla + 7 * (-5/3 * blu) / f(7, x) ((3 * a) / 4) % n x*2 y*3 true false bool bool bool state; state = true;

46 == < > <= >=!= ==!=! <> true false false < true if while do... while state = 5 > 1; recent = year >= 2010; 5 > state true recent year bool bool && AND p && q p q OR p q p q! NOT!p p p q p && q false false false false true false true false false true true true p q p q false false false false true true true false true true true true p!q false true true false

47 &&!!(a<b) a < b < c a < b && b < c x == y && z < a[i]!done && b 3/c == d+1 ((!done) && b) ((3/c) == (d+1)) && false && x == false true x == true x c!done && b true true &&

48 logical_expr logical_expr OR logical_term logical_term logical_term && AND logical_factor logical_factor! NOT true false variable call ==!= arithmetic_expr < > arithmetic_expr <= >=

49 program example1 (input, output); var r, a : real; begin write( Give the radius: ); read(r); a := * r * r; writeln( The area is:, a) end. program operation (input, output); var first, second, result : integer; operator : char; begin read(first, operator, second); case operator of + : result := first + second; - : result := first - second; * : result := first * second; / : result := first div second end; writeln( The result is:, result) end. program addition1 (input, output); var first, second : integer; begin write( First: ); read(first); write( Second: ); read(second); writeln( Result:, first + second) end. program addition2 (input, output); var first, second : integer; begin write( First: ); readln(first);

50 write( Second: ); read(second); writeln( Result:, first + second) end. #include <stdio.h> int main () { double r, a; printf( Give the radius: ); scanf( %lf, &r); a = * r * r; printf( The area is: %lf\n, a); return 0; #include <stdio.h> int main () { int first, second, result; char operator; scanf( %d%c%d, &first, &operator, &second); switch (operator) { case + : result = first + second; break; case - : result = first - second; break; case * : result = first * second; break; case / : result = first / second; break; printf( The result is: %d\n, result); return 0; #include <stdio.h> int main () { int first, second;

51 printf( First: ); scanf( %d, &first); printf( Second: ); scanf( %d, &second); printf( Result: %d\n, first + second); return 0; #include <stdio.h> int main () { int first, second; printf( First: ); scanf( %d, &first); while (getchar()!= \n ); _ printf( Second: ); scanf( %d, &second); printf( Result: %d\n, first + second); return 0;

52

53

54 i block local_declaration statement {

55 if switch x x if if_stmt if ( expression ) statement else statement else if if (amount >= x) amount = amount - x; if (amount >= ) WRITELN( Found a millionaire! ); amount >= x amount = amount - x; amount >= Found a millionaire! if

56 if (x*x + y*y == z*z) { WRITELN( Found a Pythagorian triple:, x, y, z); s = (z-x)*(z-y)/2; WRITELN( Did you know that, s, is a perfect square? ); if (a!= 0) { REAL d = b*b-4*a*c; if (d >= 0) { REAL x = (-b+sqrt(d))/(2*a); WRITELN( Found a solution:, x); if (year >= 1901 && year <= 2000) WRITELN( We re in the 20th century! ); if (year % 4 == 0 AND year % 100!= 0 OR year % 400 == 0 AND year % 4000!= 0) WRITELN( δίσεκτο έτος ); if else if (grade >= 5) WRITELN( You passed the exam. ); else WRITELN( I m sorry, you failed. ); if (x % 2 == 0) WRITELN( You have an even number:, x); else WRITELN( You have an odd number:, x); if (ch >= A && ch <= Z ) letter = ch; else WRITELN( Not a capital letter ); x % 2 == 0 x a % b == 0 a b if if if else

57 if (x > y) WRITELN( I win ); else if (x < y) WRITELN( You win ); else WRITELN( We re tied ); if if (x > y) WRITELN( I win ); if (x < y) WRITELN( You win ); if (x == y) WRITELN( We re tied ); if if if if (x>0) if (y>0) else if (y<0) else WRITELN( first quadrant ); WRITELN( fourth quadrant ); WRITELN( on the x-axis ); else if else if (x>0) { if (y>0) WRITELN( first quadrant ); else if (y<0) WRITELN( fourth quadrant ); else WRITELN( on the x-axis ); if (x>0) { if (y>0) WRITELN( first quadrant ); else if (y<0) WRITELN( fourth quadrant ); else WRITELN( on the x-axis ); else if

58 : if ( )... else if ( )... else... if (month == 1) WRITELN( Ιανουάριος ); else if (month == 2) WRITELN( Φεβρουάριος ); else if else if (month == 12) WRITELN( Δεκέμβριος ); else WRITELN( άκυρος μήνας! ); month switch break switch_stmt switch ( expression ) { case constant switch_clause default : switch_clause switch_clause break_stmt statement break_stmt break ; switch if... else if... else if...

59 switch (month) { case 1: WRITELN( Ιανουάριος ); break; case 2: WRITELN( Φεβρουάριος ); break; case 3: case 12: WRITELN( Δεκέμβριος ); break; default: WRITELN( άκυρος μήνας! ); break; switch month case case case default default switch break switch switch case switch (month) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: WRITELN( 31 days ); break; case 4: case 6: case 9: case 11: WRITELN( 30 days ); break; case 2: WRITELN( 28 or 29 days ); break; switch break switch break switch day month remaining = 0; switch (month) { case 1: remaining = remaining + 31; case 2: remaining = remaining + 28; case 3: remaining = remaining + 31; case 4: remaining = remaining + 30; case 5: remaining = remaining + 31;...

60 case 11: remaining = remaining + 30; case 12: remaining = remaining + 31; remaining = remaining - day + 1; break switch remaining month switch remaining break switch FOR for while do... while FOR PZhelp for FOR FOR_stmt FOR ( identifier, range ) statement range expression TO DOWNTO expression STEP expression

61 PROGRAM { int i; WRITELN( Look: I can count! ); FOR (i, 1 TO 10) WRITELN(i); Look: I can count! i 1 TO 10 WRITELN(i); i 2 10 PROGRAM { int i, p = 1; FOR (i, 0 TO 10) { WRITELN(2, ^, i, =, p); p = p * 2; WRITELN ^ 2^0 = 1 2^1 = 2 2^2 = 4 2^3 = 8 2^4 = 16 2^5 = 32 2^6 = 64 2^7 = 128 2^8 = 256 2^9 = 512 2^10 = 1024 p WRITELN p = 2 i -10 TO = 10 ( 10) + 1 lower TO upper lower upper upper lower DOWNTO = upper DOWNTO lower lower upper upper lower TO 20 STEP

62 7 1, 4, 7, 10, 13, 16, DOWNTO 50 STEP , 95, 90, 85, 80, 75, 70, 65, 60, 55, 50 FOR FOR(i, 1 TO 10) { if (i > 5) i = 20; WRITELN(i); n = 10; FOR(i, 1 TO n) { n--; WRITELN(i); FOR FOR 5 TO 3 1 DOWNTO 10 FOR PZhelp for for n n 0! = 1 n! = n

63 n n! PROGRAM { int n, p, i; WRITE( Give n: ); n = READ_INT(); p = 1; FOR (i, 2 TO n) p = p * i; WRITELN(n,! =, p); WRITELN! Give n: 1 1! = 1 Give n: 4 4! = 24 Give n: 7 7! = 5040 Give n: 12 12! = FOR (i, 2 TO n) p i p = i! = i FOR Give n: 17 17! = ! 17! = int INT_MIN INT_MAX INT_MIN = 2 31 = INT_MAX = =

64 FOR (i, 1 TO 5) FOR (j, 1 TO 10) i j PROGRAM { _ int i, j; FOR (i, 1 TO 5) { FOR (j, 1 TO 10) WRITE( * ); WRITELN(); ********** ********** ********** ********** ********** FOR (j, 1 TO 2*i) PROGRAM { _ int i, j; FOR (i, 1 TO 5) { FOR (j, 1 TO 2*i) WRITE( * ); WRITELN(); ** **** ****** ******** ********** i = = 2 i = = 4 i = = 10 (6, 6) (5, 6) (2, 4) (2, 4) (4, 2)

65 n n > 0 n = 3 n = 6 n = 17 n = 42 PROGRAM { int n, count, i, j; WRITE( Give n: ); n = READ_INT(); count = 0; FOR (i, 0 TO n) FOR (j, i TO n) { WRITELN(i, j); count = count + 1; WRITELN( Total, count, pieces. ); Give n: Total 10 pieces. Give n: Total 28 pieces. Give n: Total 171 pieces. Give n: Total 946 pieces. i n j i n i j

66 WRITELN(i, j); PROGRAM { int n, count, i; WRITE( Give n: ); n = READ_INT(); count = 0; FOR (i, 0 TO n) { WRITELN( In, i + 1, piece(s) the largest number is, i); count = count + i + 1; WRITELN( Total, count, pieces. ); i 0 n i + 1 i + 1 i 0 n Give n: 6 In 1 piece(s) the largest number is 0 In 2 piece(s) the largest number is 1 In 3 piece(s) the largest number is 2 In 4 piece(s) the largest number is 3 In 5 piece(s) the largest number is 4 In 6 piece(s) the largest number is 5 In 7 piece(s) the largest number is 6 Total 28 pieces. count = n n+1 (i + 1) = i = i=0 i=1 (n + 1)(n + 2) 2

67 PROGRAM { int n, count; Give n: 6 Total 28 pieces. WRITE( Give n: ); n = READ_INT(); count = (n+2)*(n+1)/2; WRITELN( Total, count, pieces. ); Give n: 17 Total 171 pieces. Give n: 42 Total 946 pieces. domino2 domino1 domino0 n count count = n n 1 = i=0 j=i n (i + 1) = i=0 (n + 1)(n + 2) 2 domino2 domino1 domino0 n n int n = 20, 000 domino2 n = 200, 000 domino2 domino1 domino0 n = 2, 000, 000 domino2 domino1 domino0 n = 200, 000, 000 domino2 domino1 domino0 n + *

68 domino2 i n i + 1 n n+1 (n i + 1) = i = i=0 i=1 (n + 1)(n + 2) 2 = 0.5n n count domino1 n 2 = 2(n + 1) = 2n + 2 i=0 domino0 f 2 (n) = 0.5n n + 2 f 1 (n) = 2n + 2 f 0 (n) = 3 n n n f 2 O(n 2 ) n f 1 O(n) n f 0 O(1) n domino2 domino1 domino0 O(n 2 ) O(n) O(1) O(...)

69 while while while_stmt while ( expression ) statement while while FOR powers_of_two PROGRAM { int i = 0, p = 1; while (p <= ) { WRITELN(2, ^, i, =, p); p = p * 2; i = i + 1; WRITELN ^ 2^0 = 2 2^1 = 2 2^2 = 4 2^3 = 8 2^4 = 16 2^5 = 32 2^6 = 64 2^7 = 128 2^8 = 256 2^9 = 512 2^10 = ^11 = ^12 = ^13 = ^14 = ^15 = ^16 = ^17 = ^18 = ^19 = ^20 = ^21 = ^22 = ^23 =

70 while FOR FOR PZhelp while PROGRAM { _ while (true) WRITELN( I must not tell lies ); I must not tell lies I must not tell lies I must not tell lies true Ctrl+C Ctrl+Break Break PROGRAM { int x = 17; while (x > 0) x = (x + 42) % 2012; x x 17 x (x + 42) % 2012 x x line_punishment another_infinite_loop

71 while while FOR 1 PROGRAM { int p, t; WRITELN(2); FOR (p, 3 TO 1000 STEP 2) { t = 3; while (p % t!= 0) t = t+2; if (p == t) WRITELN(p); FOR(p, 3 TO 1000 STEP 2) p t t = 3 t while (p % t!= 0) t while t = p p p t < p p p p t primes p t p t p t p t

72 a b MIN MAX z = MIN(a, b); while (a % z!= 0 OR b % z!= 0) z = z - 1; WRITELN(z); w > z a b MIN(a, b) a b MIN(a, b)/2 (a, b) = (a b, b) a > b b > a a = 54, b = 16 (54, 16) = (38, 16) = (22, 16) = (6, 16) = (6, 10) = (6, 4) = (2, 4) = (2, 2) = 2 while (a > 0 AND b > 0) if (a > b) a = a - b; else b = a - b; WRITELN(a+b);

73 a+b MAX(a, b) b = 1 (a, b) = (a b, b) a > b b > a a b w a b a > b w a b a = 54, b = 16 (54, 16) = (6, 16) = (6, 4) = (2, 4) = (2, 0) = 2 a = 282, b = 18 (282, 18) = (12, 18) = (12, 6) = (0, 6) = 6 abs PROGRAM { int a, b; WRITE( Give a: ); a = READ_INT(); WRITE( Give b: ); b = READ_INT(); WRITE( gcd(, a,,, b, ) = ); a = abs(a); b = abs(b); Give a: 42 Give b: 24 gcd(42, 24) = 6 Give a: Give b: gcd(14994, 51870) = 42 while (a > 0 AND b > 0) if (a > b) a = a % b; else b = b % a; WRITELN(a+b); Give a: Give b: gcd(83742, 17821) = 1 WRITELN (a + b) a b a b a = F 10 = 55 b = F 9 = 34 (55, 34) = (21, 34) = (21, 13) = (8, 13) = (8, 5) = (3, 5) = (3, 2) = (1, 2) = (1, 0) = 1

74 ... do...while while do_while_stmt do statement while ( expression ) ; do... while do... while do...while while 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181,

75 F 0 = 0, F 1 = 1 F n+2 = F n + F n+1, n n n F k F k n F k+1 > n previous current F k F k+1 F k+2 next next current current previous next n previous PROGRAM { int n, current, previous, next; Give n: WRITE( Give n: ); n = READ_INT(); if (n <= 1) WRITELN(n); else { previous = 0; current = 1; do { next = current + previous; previous = current; current = next; while (current <= n); WRITELN(previous); Give n: Give n: Give n: Break do... while (true) sum number sum symbol + symbol = while (symbol == + ) + = do symbol = getchar(); while (symbol!= + AND symbol!= = );

76 PROGRAM { int sum, number; char symbol; do { sum = 0; do { number = READ_INT(); sum = sum + number; do symbol = getchar(); while (symbol!= + && symbol!= = ); while (symbol == + ); WRITELN(sum); while (true); 8+ 9= = 42 Break while do... while symbol do... while break continue break_stmt continue_stmt break ; continue ; p (17p) p 10, 000

77 p (17p) 4217 = 42 1, 000 PROGRAM { _ int p, t; FOR (p, 3 TO STEP 2) { t = 3; while (p % t!= 0) t = t+2; if (p!= t) continue; if ((17 * p) % 4217 == 42) { WRITELN( Counterexample:, p); break; FOR p 1, 000, 000 FOR while if (p!= t) continue; t p p FOR continue p break; FOR break FOR FOR break

78 Counterexample: , 009 = 1, 615, 153 = FOR while do... while if (amount >= x) amount -= x; if (amount >= ) printf( Found a millionaire!\n ); if (x*x + y*y == z*z) { printf( Found a Pythagorian triple: %d %d %d\n, x, y, z); s = (z-x)*(z-y)/2; printf( Did you know that %d is a perfect square?\n, s); if (a!= 0) { double d = b*b-4*a*c; if (d >= 0) { double x = (-b+sqrt(d))/(2*a); printf( Found a solution: %d\n, x); if (year >= 1901 && year <= 2000) printf( We re in the 20th century!\n ); if (year % 4 == 0 && year % 100!= 0 year % 400 == 0 && year % 4000!= 0) printf( δίσεκτο έτος\n );

79 if (grade >= 5) printf( You passed the exam.\n ); else printf( I m sorry, you failed.\n ); if (x % 2 == 0) printf( You have an even number: %d\n, x); else printf( You have an odd number: %d\n, x); if (ch >= A && ch <= Z ) letter = ch; else printf( Not a capital letter\n ); if (x > y) printf( I win\n ); else if (x < y) printf( You win\n ); else if (x > y) if (x < y) printf( We re tied\n ); printf( I win\n ); printf( You win\n ); if (x == y) printf( We re tied\n ); if (x>0) if (y>0) printf( first quadrant\n ); else if (y<0) else printf( fourth quadrant\n ); printf( on the x-axis\n ); switch (month) { case 1: printf( Ιανουάριος\n ); break; case 2: printf( Φεβρουάριος\n ); break;... case 12: printf( Δεκέμβριος\n ); break; default: printf( άκυρος μήνας!\n ); break; switch (month) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: printf( 31 days\n ); break; case 4: case 6: case 9: case 11: printf( 30 days\n ); break; case 2: printf( 28 or 29 days\n ); break; remaining = 0; switch (month) { case 1: remaining += 31; case 2: remaining += 28; case 3: remaining += 31; case 4: remaining += 30; case 5: remaining += 31;... case 11: remaining += 30; case 12: remaining += 31;

80 remaining -= day - 1; #include <stdio.h> int main () { int i; printf( Look: I can count!\n ); for (i=1; i<=10; i++) printf( %d\n, i); return 0; #include <stdio.h> int main () { int i, p; for (p=1, i=0; i<=10; i++, p*=2) printf( 2^%d = %d\n, i, p); return 0; #include <stdio.h> int main () { int n, p, i; printf( Give n: ); scanf( %d, &n); for (p=1, i=2; i<=n; i++) p *= i; printf( %d! = %d\n, n, p); return 0; #include <stdio.h> int main () { int i, j; for (i=1; i<=5; i++) {

81 for (j=1; j<=10; j++) printf( * ); printf( \n ); return 0; #include <stdio.h> int main () { int i, j; for (i=1; i<=5; i++) { for (j=1; j<=2*i; j++) printf( * ); printf(); return 0; #include <stdio.h> int main () { int n, count, i, j; printf( Give n: ); scanf( %d, &n); for (count=0, i=0; i<=n; i++) for (j=i; j<=n; j++, count++) printf( %d %d\n, i, j); printf( Total %d pieces.\n, count); return 0; #include <stdio.h> int main () { int n, count, i; printf( Give n: ); scanf( %d, &n); for (count=0, i=0; i<=n; i++, count+=i+1) printf( In %d piece(s) the largest number is %d\n, i+1, i); printf( Total %d pieces.\n, count);

82 return 0; #include <stdio.h> int main () { int n, count; printf( Give n: ); scanf( %d, &n); count = (n+2)*(n+1)/2; printf( Total %d pieces.\n, count); return 0; #include <stdio.h> int main () { int i, p; for (p = 1, i = 0; p <= , p*=2, i++) printf( 2^%d = %d\n, i, p); return 0; #include <stdio.h> int main () { for (;;) printf( I must not tell lies\n ); return 0; int main () { int x = 17; while (x > 0) x = (x + 42) % 2012; return 0;

83 #include <stdio.h> int main () { int p, t; printf( 2\n ); for (p=3; p<=1000; p+=2) { t = 3; while (p % t!= 0) t += 2; if (p == t) printf( %d\n, p); return 0; z = a < b? a : b; while (a % z!= 0 b % z!= 0) z--; printf( %d\n, z); while (a > 0 && b > 0) if (a > b) a-=b; else b-=a; printf( %d\n, a+b); #include <stdio.h> int main () { int a, b; printf( Give a: ); scanf( %d, &a); printf( Give b: ); scanf( %d, &b); printf( gcd(%d, %d) =, a, b); if (a < 0) a = -a; if (b < 0) b = -b; while (a > 0 && b > 0) if (a > b) a %= b; else b %= a; printf( %d\n, a+b); return 0;... #include <stdio.h>

84 int main () { int n, current, previous, next; printf( Give n: ); scanf( %d, &n); if (n <= 1) printf( %d\n, n); else { previous = 0; current = 1; do { next = current + previous; previous = current; current = next; while (current <= n); printf( %d\n, previous); return 0; #include <stdio.h> int main () { int sum, number; char symbol; for (;;) { sum = 0; do { scanf( %d, &number); sum += number; do symbol = getchar(); while (symbol!= + && symbol!= = ); while (symbol == + ); printf( %d\n, sum); return 0; #include <stdio.h> int main () { int p, t; for (p=3; p<=1000; p+=2) {

85 t = 3; while (p % t!= 0) t += 2; if (p!= t) continue; if ((17 * p) % 4217 == 42) { printf( Counterexample: %d\n, p); break; return 0; if amount >= x then amount := amount - x if amount >= then writeln( Found a millionaire! ) if x*x + y*y = z*z then begin end writeln( Found a Pythagorian triple:, x,, y,, z); s := (z-x)*(z-y) div 2; writeln( Did you know that, s, is a perfect square? ) { if a <> 0 then begin end d := b*b-4*a*c; if d >= 0 then begin end x = (-b+sqrt(d))/(2*a); writeln( Found a solution:, x) if (year >= 1901) and (year <= 2000) then writeln( We re in the 20th century! ) if year mod 4 = 0 and year mod 100 <> 0 or year mod 400 = 0 and year mod 4000 <> 0 then writeln( δίσεκτο έτος ) if grade >= 5 then writeln( You passed the exam. ) else writeln( I m sorry, you failed. ) if x mod 2 = 0 then writeln( You have an even number:, x) else writeln( You have an odd number:, x)

86 if (ch >= A ) and (ch <= Z ) then letter := ch else writeln( Not a capital letter ) if x > y then writeln( I win ) else if x < y then writeln( You win ) else writeln( We re tied ) if x > y then writeln( I win ); if x < y then writeln( You win ); if x = y then writeln( We re tied ) if x>0 then if y>0 then writeln( first quadrant ) else if y<0 then writeln( fourth quadrant ) else writeln( on the x-axis ) case month of 1: writeln( Ιανουάριος ); 2: writeln( Φεβρουάριος );... 12: writeln( Δεκέμβριος ) { case month of 1, 3, 5, 7, 8, 10, 12: writeln( 31 days ); end 4, 6, 9, 11: writeln( 30 days ); 2: writeln( 28 or 29 days ) { program counting (output) var i : integer; begin writeln( Look: I can count! ); for i := 1 to 10 do writeln(i) end. program powers_of_two (output); var i, p : integer; begin p := 1; for i := 0 to 10 do

87 end. begin writeln(2, ^, i, =, p); p := p * 2 end program factorial (output); var n, p, i : integer; begin write( Give n: ); read(n); p := 1; for i := 2 to n do p := p * i; writeln(n,! =, p) end. program star_rectangle (output); var i, j : integer; begin for i := 1 to 5 do begin for j := 1 to 10 do write( * ); writeln end end. program star_triangle (output); var i, j : integer; begin for i := 1 to 5 do begin for j := 1 to 2*i do write( * ); writeln end end. program domino2 (input, output) var n, count, i, j : integer; begin write( Give n: ); read(n); count := 0; for i := 0 to n do for j := 1 to n do begin writeln(i,, j); count := count + 1 end; writeln( Total, count, pieces. ) end.

88 program domino1 (input, output); var n, count, i : integer; begin write( Give n: ); read(n); count := 0; for i := 0 to n do begin writeln( In, i + 1, piece(s) the largest number is, i); count := count + i + 1 end; writeln( Total, count, pieces. ) end. program domino0 (input, output); var n, count : integer; begin write( Give n: ); read(n); count := (n+2)*(n+1) div 2; writeln( Total, count, pieces. ) end. program powers_of_two_2 (output); var i, p : integer; begin p := 1; i := 0; while p <= do begin writeln(2, ^, i, =, p); p := p * 2; i := i + 1; end end. program line_punishment (output); begin while true do writeln( I must not tell lies ) end. program another_infinite_loop () var x : integer; begin x := 17; while x > 0 do x := (x + 42) mod 2012 end.

89 program primes (output); var p, t : integer begin writeln(2); p := 3; while p <= 1000 do begin end end. t := 3; while p mod t <> 0 do t := t+2; if p = t then writeln(p); p := p + 2 if a < b then z := a else z := b; while (a mod z <> 0) or (b mod z <> 0) do z := z - 1; writeln(z) while (a > 0) and (b > 0) do if a > b then a := a - b else b := b - a; writeln(a+b) program gcd (input, output); var a, b : integer; begin write( Give a: ); read(a); write( Give b: ); read(b); write( gcd(, a,,, b, ) = ); a := abs(a); b := abs(b); while (a > 0) and (b > 0) do if a > b then a := a mod b; else b := b mod a; end. writeln(a+b)... program fibonacci (input, output) var n, current, previous, next : integer; begin write( Give n: ); read(n); if n <= 1 then writeln(n) else begin previous := 0; current := 1; repeat next := current + previous; previous := current; current := next; until current > n; writeln(previous)

90 end end. program bigsum (input, output) var sum, number : integer; symbol : char; begin repeat sum := 0; repeat read(number); sum := sum + number; repeat read(symbol) until (symbol = + ) or (symbol = = ); until symbol <> + ; writeln(sum); until false end. program prime_conj (output); var p, t : integer; done : boolean; { begin p := 3; done := false; while not done and (p <= ) do begin t := 3; while p mod t <> 0 do t := t+2; if (p = t) and ((17 * p) mod 4217 = 42) then begin writeln( Counterexample:, p); done := true end; p := p+2 end end.

91 module const_def type_def declaration definition program PROGRAM

92 const const_def, const type declarator = value ; const int N = 10000; const REAL pi = , e = ; const char space = ; N pi e space INT_MIN INT_MAX typedef

93 type_def, typedef type declarator ; enum_def struct_def union_def typedef int number; typedef bool bit; number bit int bool number n; bit b; n number int b bit bool int bool char PZhelp REAL sqrt

94 call, expression identifier ( ) PROC proc_def proc_header block proc_header, type declarator PROC identifier ( )

95 line PROC line (char border, int n, char inside, int m, char outside) { int i; WRITE(border); FOR (i, 1 TO m) WRITE(outside); FOR (i, 1 TO n) WRITE(inside); FOR (i, 1 TO m) WRITE(outside); WRITELN(border); PROGRAM { int i; _ line( +, 15, -, 0, ); line(, 15,, 0, ); FOR (i, 1 TO 13 STEP 2) line(, (15-i)/2, ); FOR (i, 1 TO 3) line(, 3, #, 6, ); line(, 15,, 0, ); line( +, 15, -, 0, @@@@@@@@@ ### ### ### line line line line border b n

96 inside n m outside m o line n + 2m + 2 line i p42 proc_example a b c p42 y b c b c p17 a

97 x b a b a = a + b; p42 a int a, b, c; PROC p42 (int y, int b) { int c = 42; WRITELN(a, b, c, y); a = a + b; c = c + 1; b = c + b; y = y-1; WRITELN(a, b, c, y); PROC p17 (int a, int x) { int b = 17; a b c p17 a x b p42 y b c WRITELN(a, b, c, x); p42(b, x); WRITELN(a, b, c, x); p42 y b c PROGRAM { _ a = 1; b = 2; c = 3; p17(b, c); p42(c, a);

98 p17 b c a x p17 FUNC func_def func_header block func_header, type declarator FUNC type identifier ( ) return return_stmt expression return ; return

99 FUNC int gcd (int a, int b) { a = abs(a); b = abs(b); while (a > 0 AND b > 0) if (a > b) a = a % b; else b = b % a; return a+b; Give x: 42 Give y: 17 gcd(42, 17) = 1 PROGRAM { _ int x, y; WRITE( Give x: ); x = READ_INT(); WRITE( Give y: ); y = READ_INT(); WRITELN( gcd(, x,,, y, ) =, gcd(x, y)); WRITELN

100

101 monthly_income incomebeforetaxes PROGRAM { PROC... { FUNC... { if... else while... FOR... do while...

102 if... { else { do { while... while... { switch... { case 1 : 1 case 2 : 2... case n : n default : n+1 FOR... { { else

103

104

105 int char bool REAL a0 a1 a2 a3 a4 int a[5]; a[3] a[i] a[i+1] a[i-k] a[0] a[1] a[2] a[3] a[4] a[5] int char bool REAL REAL a[10], x[100]; int b[20]; char c[30];

106 a[1] = 4.2; a[2] = x/2; a[3] = READ_REAL(); a[9] = a[1]; b[2] = b[2]+1; c[26] = t ; int a[100]; FOR (i, 0 TO 9) a[i] = READ_INT(); n n = READ_INT(); FOR (i, 0 TO n-1) a[i] = READ_INT(); x = 0 x = READ_INT(); i=0; while (x!= 0) { a[i] = x; i = i+1; x = READ_INT(); a[k] = a[k]+1; a[k] k a[k] = a[0]+a[n]; a[k] n FOR (i, 0 TO 99) WRITELN(a[i]); WRITELN(a[i]) a[0] a[99]

107 FOR (i, 0 TO 99) a[i] = READ_INT(); a[i] = READ_INT(); a[0] a[99] a[k] > a[k+1] k a FOR (i, 0 TO 9) a[i] = 0; x = a[0]; FOR (i, 1 TO 9) if (a[i] < x) x = a[i]; PROGRAM { int x, n, a[100]; x = READ_INT(); n = READ_INT(); FOR (i, 0 TO n-1) a[i] = READ_INT(); i=0; while (i < n AND a[i]!= x) i=i+1; if (i < n) WRITELN( To βρήκα στη θέση, i); else WRITELN( Δεν το βρήκα );

108 i = 0; do if (a[i] == x) break; else i = i+1; while (i < n); if (i < n) WRITELN( To βρήκα στη θέση, i); else WRITELN( Δεν το βρήκα ); i = 0; do if (a[i] == x) found = true; else { found = false; i = i+1; while (NOT found AND i < n); if (found) WRITELN( To βρήκα στη θέση, i); else WRITELN( Δεν το βρήκα ); i = 0; found = false; do if (a[i] == x) found = true; else i = i+1; while (NOT found AND i < n); if (found) WRITELN( To βρήκα στη θέση, i); else WRITELN( Δεν το βρήκα ); i = 0; do { found = a[i] == x; i = i+1; while (NOT found AND i < n); if (found) WRITELN( To βρήκα στη θέση, i-1); else WRITELN( Δεν το βρήκα ); PROGRAM { int x, n, a[100]; int i; WRITE( Δώσε τον αριθμό που θέλεις να βρεις: ); WRITE( Δώσε το πλήθος των στοιχείων του πίνακα: ); WRITELN( Δώσε τα, n, στοιχεία του πίνακα: ); FOR (i, 0 TO n-1) a[i] = READ_INT(); x = READ_INT(); n = READ_INT(); i=0; while (i < n AND a[i]!= x) i=i+1; if (i < n) WRITELN( To βρήκα στη θέση, i); else WRITELN( Δεν το βρήκα ); n an + b a b n O(n)

109 a 2 n + b O( n) n n x n 2 n n 2 n PROGRAM { int x, n, a[100], i, first, last; WRITE( Δώσε τον αριθμό που θέλεις να βρεις: ); x = READ_INT(); WRITE( Δώσε το πλήθος των στοιχείων του πίνακα: ); n = READ_INT(); WRITELN( Δώσε τα, n, στοιχεία του πίνακα σε αύξουσα σειρά: ); FOR (i, 0 TO n-1) a[i] = READ_INT(); first = 0; last = n-1; while (first <= last) { mid = (first + last) / 2; if (x < a[mid]) last = mid-1; else if (x > a[mid]) first = mid+1; else break; if (first <= last) WRITELN( To βρήκα στη θέση, mid); else WRITELN( Δεν το βρήκα ); n = x = 37 x first last mid a[0] a[1] a[9]

110 Το βρήκα στη θέση 6 x = 42 Δεν το βρήκα int a[10][16]; a[i][j] a[i, j] FOR (i, 0 TO 9) FOR (j, 0 TO 15) a[i][j] = READ_INT();

111 a[k][m] = a[k][m] + 1; a[k][k] = a[i][k] + a[n][k]; FOR (i, 0 TO 99) FOR (j, 0 TO 99) a[i][j] = READ_INT(); FOR (i, 0 TO 99) { FOR (j, 0 TO 99) WRITE(FORM(a[i][j], 4)); WRITELN(); a m n b n q c m q c ij c ij = n a ik b kj k=1 = REAL a[m][n], b[n][q], c[m][q];... FOR (i, 0 TO m-1) FOR (j, 0 TO q-1) { c[i][j] = 0; FOR (k, 0 TO n-1) c[i][j] = c[i][j] + a[i][k]*b[k][j];

112 n n n n n 1, 2,... n 2 1 n n n PROGRAM { int a[19][19], i, j, k, h, m, n; WRITE( Give an odd number (1-19), n = ); n = READ_INT();

113 i = n/2; j = n; k = 0; FOR (h, 1 TO n) { j = j-1; a[i][j] = k; k = k+1; FOR (m, 2 TO n) { j = (j+1) % n; i = (i+1) % n; a[i][j] = k; k = k+1; FOR (i, 0 TO n-1) { FOR (j, 0 TO n-1) WRITE(FORM(a[i][j], 4)); WRITELN(); enum fruit { appricot, apple, orange, pear, banana ;... fruit f = apple;... if (f == banana)... if (f >= apple AND f <= pear)... enum color {white, red, blue, green, yellow, black, purple; enum sex {male, female; enum day {mon, tues, wednes, thurs, fri, satur, sun; enum operator {plus, minus, times, divide; enum boolean {my_false, my_true; color c = green; day today = mon;

114

115 REAL E M M 10 E = round(x) trunc(x) x floor(x) ceil(x) x x floor(x) trunc(x) x x sqrt y x y x x y x x x y x y x x y 1 (y + x) 2 y

116 y i y 0 = 1 y i+1 = 1 2 (y i + x y i ) 37 = y i f(x) = 0 f f(y) = y 2 x x FUNC REAL sqroot (REAL x) { const REAL epsilon = ; REAL older, newer = 1; do { older = newer; newer = (older + x/older) / 2; while (NOT ( )); return newer; n=0; n=n+1; while (n <= 20) newer * newer == x a = b a b = 0 a b < ϵ a b < ϵ fabs(newer * newer - x) < epsilon fabs(newer * newer - x) / newer < epsilon fabs(newer - older) < epsilon fabs(newer - older) / newer < epsilon

117 abs fabs int REAL sin cos exp log sqrt atan REAL REAL trunc round REAL REAL floor ceil (x) = i=0 ( 1) i x2i (2i)! i = i + 1 ( 1) i+1 x 2i+2 n = n + 2; (2i + 2)! = [( 1)i x2i (2i)! ] x 2 (2i + 1)(2i + 2) = x 2 n (n + 1) FUNC REAL mycos (REAL x) { const REAL epsilon = 1E-5; REAL sqx = x * x, term = 1, sum = 1; int n = 1; do { n = n + 2; term = -term * sqx / (n*(n+1)); sum = sum + term; while (abs(term/sum) >= epsilon); return sum;

118

119 n n! n! = n (n 1) (n 2) 2 1 0! = 1 (n + 1)! = (n + 1) n!, n FUNC int fact (int n) { if (n==0) return 1; else return fact(n-1) * n; if (n>=0) result = fact(n); fact fact

120 F 0 = 1, F 1 = 1 F n+2 = F n + F n+1, n FUNC int fib (int n) { if (n==0 OR n==1) return n; else return fib(n-1) + fib(n-2); if (n>=0) result = fib(n); fib(5) fib(1)

121 FUNC int gcd (int i, int j) { if (i==0 OR j==0) return i+j; else if (i > j) return gcd(i%j, j); else return gcd(i, j%i); z(i, j, 0) = j + 1, z(i, 0, 1) = i, z(i, 0, 2) = 0, z(i, 0, n + 3) = 1 z(i, j + 1, n + 1) = z(i, z(i, j, n + 1), n), i, j, n FUNC int z (int i, int j, int n) { if (n==0) return j+1; else if (j==0) if (n==1) return i; else if (n==2) return 0; else return 1; else return z(i, z(i,j-1,n), n-1); if (i>=0 AND j>=0 AND n>=0) result = z(i,j,n); z(2,3,4)

122 FUNC int f2 (int n); FUNC int f1 (int n) { if (n==0) return 5; else return f1(n-1) * f2(n-1); FUNC int f2 (int n) { if (n==0) return 3; else return f1(n-1) + 2*f2(n-1); f2(3)

123

124 FUNC int mult (int x, int y) { int i, z = 0; FOR (i, 1 TO x) z = z+y; return z; mult FUNC int mult (int x, int y) { int i, z = 0; FOR (i, 1 TO x) z = z+y ; return z;

125 z 0 z z for z 1 z o + y z 2 z 1 + y z 3 z 2 + y... z n z n 1 + y z i = z o + y i z i = y i z 0 = 0 x 0 y 0 x 0 y 0 z = 0 x 0 y 0 z = y (i 1) i x x 0 y 0 z = y i x 0 y 0 z = y x x y z 2 3 x, y, z i = 1 i 1 = 0 z = 0 i = 1 x 2 5 x = 0 x, y, z z = x y 0 = 0 y 3 4 x, y z =z + y z =z y z(i 1) y zy(i 1) y z i y 4 3 i i i z i y z i 1) y i x 4 5 i = x z = i y z = x y

126 y 6 = (y 3 ) 2 = (y 2 y) 2 = y 4 y 2 y 11 = y 10 y = (y 5 ) 2 y = (y 4 y) 2 y = ((y 2 ) 2 y) 2 y = y 8 y 2 y 1 FUNC REAL power (REAL y, int j) { REAL x=y, z; int i=j; if (i<0) { x=1/x; i=abs(i); z=1; while (i>0) { if (i%2!= 0) z=z*x; x=x*x; i=i/2; return z;

127 x = y i = j i < 0 y j = x i i 0 y j = z x i i > 0 y j = z x i y j = z x i 1 y j = z x i w k = (w 2 ) k/2 = (w 2 ) k 2 = w k 2 y j = z PROGRAM { int a, b, k = 0; FOR (a, 1 TO 100) FOR (b, 1 TO 100) k = k+1 ; WRITELN(k); k = 0 a 100 k = 100 (a 1) b 100 k = 100 (a 1) + (b 1) k = 100 (a 1) + b k = = 10000

128

129 PZhelp PZhelp WRITE PZhelp PZhelp #include <iostream> using namespace std; int main () { cout << Hello world! << endl; PROGRAM { WRITELN( Hello world! ); int REAL char bool int char float double signed unsigned short long signed int

130 char signed char unsigned char signed short int unsigned short int signed int unsigned int signed long int unsigned long int float double long double c char c = a ; c = 97 ; unsigned char = 255 signed char 128 = = int 2, 147, 483, 648 = , 147, 483, 647 = float double long double PROGRAM PROC FUNC FUNC int f (...) {... FUNC int f (...) {... void void p (...) {... PROC p (...) {... main int

131 int main () {... return 0; PROGRAM {... y = (x = 17) + 25; x = y = z = 0; x = 17; y = x + 25; x = 0; y = 0; z = 0; x y x y z x = y = z = 0 x = (y = (z = 0)) x += 42; i %= n+1; x = x + 42; i = i % (n+1); = 1 -= 1 i++; ++i; i--; --i; i = i+1; i = i-1;

132 i = 3; x = i++; i = 3; x = ++i; i = 3; x = i; i = i+1; i = 3; i = i+1; x = i; i x i x i i = i++; while do... while for while FOR PZhelp for for ( ; ; ) true for (;;)... while (true)... for FOR PZhelp

133 for (i=1; i<=10; i++)... for (i=8; i>=1; i--)... for (i=1; i<=10; i+=2)... FOR (i, 1 TO 10)... FOR (i, 8 DOWNTO 1)... FOR (i, 1 TO 10 STEP 2)... for PZhelp n = 100; s = 1; FOR (i, 1 TO n STEP s) { n = n - i; s = s + 1; if (i + s > n) i = 1; n = 100; s = 1; for (i = 1; i <= n; i += s) { n -= i; s++; if (i + s > n) i = 1;, for for (i=1, s=0; i <= 10; i++) s += i; for (i=1, j=100; i <= j; i++, j--) cout << i << << j << endl; for for (int i=0; i < 10; i++)... i #include <iostream> using namespace std; << cout

134 cout << Hello\n ; cout << Hello << endl; cout << i+1; cout << i << << r; cout << c; WRITELN( Hello ); WRITE(i+1); WRITE(i, r); WRITE(c); stdio.h printf #include <cstdio> using namespace std; printf \n % %d printf %c printf %lf printf double %s printf % printf printf( Hello\n ); printf( %d, i+1); printf( %d %lf, i, r); printf( %c, c); WRITELN( Hello ); WRITE(i+1); WRITE(i, r); WRITE(c); printf printf( %5d, i); printf( %5.3lf, r); WRITE(FORM(i,5)); WRITE(FORM(r,5,3)); printf

135 printf printf( %c %d %c %d\n, a, 97, 97, a ); a 97 a 97 >> cin cin >> i; cin >> r; cin >> i >> r; c = getchar(); c = cin.get(); i = READ_INT(); r = READ_REAL(); c = getchar(); SKIP_LINE PZhelp cin.ignore(numeric_limits<streamsize>::max(), \n ); scanf stdio.h scanf printf scanf scanf( %d, &i); scanf( %lf, &r); i = READ_INT(); r = READ_REAL(); getchar c = getchar(); scanf( %c, &c); c = getchar(); SKIP_LINE while (getchar()!= \n ); SKIP_LINE();

136 p *p int *p; *p = 42; WRITELN(*p + 1); nullptr NULL int *p;... p = nullptr; WRITELN(*p); & int x = 17, *p; p = &x; * WRITELN(*p); *p = 42; WRITELN(x); PROGRAM { int x = 42, y = 17; int *p, *q; p = &x; q = &y; *p = *p - *q; *q = *p *y; q = p; (*q)++; *p -= 3; WRITELN(x, y);

137 x y normalize gcd FUNC int gcd (int a, int b); PROC normalize (int &p, int &q) { int g = gcd(p, q); p /= g; q /= g; PROGRAM { _ int x = READ_INT(); int y = READ_INT(); normalize(x, y); WRITELN(x, y); normalize & normalize pq p q x y p q normalize main x y normalize p q & normalize main

138 int gcd (int a, int b); void normalize (int *p, int *q) { int g = gcd(*p, *q); *p /= g; *q /= g; int main () { int x, y; scanf( %d %d, &x, &y); normalize(&x, &y); printf( %d %d\n, x, y); return 0; int a[3] = {7, 6, 42; int *p; p a[0] p = &(a[0]); p = &a; p = a; a[i] *(a+i)

139 int a[3] = {7, 6, 42; int *p = &a; int x; p = &x; a = &x; WRITELN(*p); WRITELN(*(p+1)); p = p+2; WRITELN(*p); \0 char a[15] = Hello world!, b[15]; \ void strcpy (char *t, char *s) { while ((*t++ = *s++)!= \0 ); int main () { strcpy(b, a); printf( %s\n, b);

140 void putchar (char c); void puts (char *p) { while (*p!= \0 ) putchar(*p++); int main () { char s[] = Hello world!\n ; puts(s);

141 x y swap PROC swap (int &x, int &y) { int save; save = x; x = y; y = save; PROC swap (int &x, int &y) { x = x + y; y = x - y; x = x - y;

142 swap FOR (i, 0 TO n-2) { int minj = i; FOR (j, i+1 TO n-1) if (a[j] < a[minj]) minj = j; swap(a[i], a[minj]); i a[i] i + 1 O(n 2 ) i FOR (i, 1 TO n-1) { int x = a[i], j = i; while (j > 0 AND a[j-1] > x) { a[j] = a[j-1]; j = j-1; a[j] = x; i a[i] O(n 2 ) n

143 FOR (i, 0 TO n-2) FOR (j, n-2 DOWNTO i) if (a[j] > a[j+1]) swap(a[j], a[j+1]); n(n 1) (n 1) + (n 2) = = O(n 2 ) 2 O(f(n)) f(n) n =

144 i = 0 i = 1 i = 2 i = 3 i = 4 i = 5 O(n 2 ) O(n) O(n 2 ) FOR (i, 0 TO n-2) { bool swaps = false; FOR (j, n-2 DOWNTO i) if (a[j] > a[j+1]) { swaps = true; swap(a[j], a[j+1]); if (NOT swaps) break;

145 O(n n) PROC mergesort (int a[], int first, int last) { int mid; if (first >= last) return; mid = (first + last) / 2; mergesort(a, first, mid); merge(a, first, mid, last); mergesort(a, mid+1, last); PROC merge (int a[], int first, int mid, int last) { int b[last-first+1]; int i = first, j = mid+1, k = 0; while (i <= mid AND j <= last) if (a[i] < a[j]) b[k++] = a[i++]; else b[k++] = a[j++]; while (i <= mid) while (j <= last) b[k++] = a[i++]; b[k++] = a[j++]; FOR (i, 0 TO k-1) a[first+i] = b[i]; mergesort a first last first mid mid+1 last merge b

146 b b FOR b a merge b last-first+1 mergesort n n/2 O( n) merge i 2 i 2 i 1 merge merge n O(n n) O(n n) n O(n n) x 1 x 2 x 3 n! n! (n/4) n = O(n n) n > 4 x 1 < x 2 x 2 < x 3 x 2 < x 3 x 1, x 2, x 3 x 1 < x 3 x 1 < x 3 x 3, x 2, x 1 x 1, x 3, x 2 x 3, x 1, x 2 x 2, x 1, x 3 x 2, x 3, x 1 merge mergesort

147 PROC mergesort (int n, int *a) { int mid; if (n <= 1) return; mid = n/2; mergesort(mid, a); mergesort(n-mid, a+mid); merge(a, a+mid, a+n); PROC merge (int *first, int *mid, int *last) { int b[last-first]; int *i = first, *j = mid, *k = b; while (i < mid AND j < last) if (*i < *j) *k++ = *i++; else *k++ = *j++; while (i < mid) *k++ = *i++; while (j < last) *k++ = *j++; i = first; j = b; while (j < k) *i++ = *j++; partition quicksort PROC quicksort (int a[], int first, int last) { int i; if (first >= last) return; i = partition(a, first, last); quicksort(a, first, i); quicksort(a, i+1, last); partition x

148 x a[i] >= x a[j] <= x i>=j j x i x FUNC int partition (int a[], int first, int last) { int x = a[(first + last)/2]; int i = first, j = last; while (true) { while (a[i] < x) i++; while (x < a[j]) j--; if (i >= j) break; swap(a[i], a[j]); i++; j--; return j; O(n 2 ) O(n n) O(n n)

149

150 Ã ËÔ ÔÈ È ÂflÒÈÛÁÚ (Management methods) Ò Ùı) (Standards) ÃÂËÔ ÔÎÔ flâú (Methodologies) Â ÌÈÍ Ú Ï ËÔ ÔÈ (Technical methods) Ò ÎÂfl (Tools) ÃÔÌÙ Î Í ÍÎÔı Ê fiú (Life cycle models)

151 ÈÙfiÛÂÈÚ ÙÔ Û ÛÙÁÏ I ÈÍ Ò ÛÁ ÈÙfiÛÂÈÚ ÙÔ ÎÔ ÈÛÏÈÍ II ÈÍ Ò ÛÁ ÒÔÍ Ù ÒÍÙÈÍfi Û Â fl ÛÁ III ÎfiËÂıÛÁ ÀÂÙÔÏÂÒfiÚ Û Â fl ÛÁ IV ÎfiËÂıÛÁ ÈÍÔÔflÁÛÁ Í È ÂÍÍ Ë ÒÈÛÁ Î Ë Ì V ÎÂ ÔÚ ÏÔÌ Ú ıì Ì ÛÁ VI ÎfiËÂıÛÁ ÎÂ ÔÚ È ÒÔÎÂÈÙÔıÒ fl VII ÎÂ ÔÚ ÛıÛÙfiÏ ÙÔÚ ÀÂÈÙÔıÒ fl Í È ÛıÌÙfiÒÁÛÁ VIII ÌÂÈÍ Ò ÛÁ

152

153

154

155 getchar EOF <> <> <> int n = 0; while (getchar()!= EOF) n++; printf( %d characters were read.\n, n); c int EOF char while (true) { int c = getchar(); if (c == EOF) break; putchar(c); int c; while ((c = getchar())!= EOF) putchar(c); i int i, sum = 0; while (true) { if (scanf( %d, &i)!= 1) break; sum += i;

156 READ_INT PZhelp scanf i int i, sum = 0; while (scanf( %d, &i) == 1) sum += i; int lines = 0, chars = 0; while (true) { int c = getchar(); if (c == EOF) break; if (c == \n ) lines++; else chars++; printf( %d lines were read\n, lines); if (lines > 0) printf( %0.3lf characters per line\n, 1.0 * chars / lines); 1.0 * chars / lines 1.0 chars (double) chars / lines FUNC bool isletter (char c) { return c >= a AND c <= z OR c >= A AND c <= Z ;

157 int c, lines = 0, chars = 0, words = 0; c = getchar(); while (c!= EOF) if (isletter(c)) { words++; do { chars++; c = getchar(); while (isletter(c)); else { chars++; if (c == \n ) lines++; c = getchar(); while c c EOF int i, c, freq[21]; FOR (i, 1 TO 20) freq[i] = 0; c = getchar(); while (c!= EOF) if (isletter(c)) { int n = 0; do { n++; c = getchar(); while (isletter(c)); if (n <= 20) freq[n]++; else c = getchar(); FOR (i, 1 TO 20) printf( %4d words of length %2d\n, freq[i], i); FUNC char tolower (char ch) { if (ch >= A AND ch <= Z ) return ch - A + a ; else return ch;

158 FUNC char toupper (char ch) { if (ch >= a AND ch <= z ) return ch - a + A ; else return ch; MAX const int MAX = 80; int i, c, line[max]; while ((c = getchar())!= EOF) { int n = 0; while (c!= \n ) { line[n++] = c; c = getchar(); FOR (i, n-1 DOWNTO 0) putchar(line[i]); putchar( \n );... FOR (j, 0 TO 2) key[j] = getchar();... FOR (k, 0 TO i-3) if (line[k] == key[0] AND line[k+1] == key[1] AND line[k+2] == key[2]) WRITELN( keyword found! );

159 string \0 \0 char name[30], address[80]; name address printf( What s your name?\n ); scanf( %s, name); printf( Hi %s, how are you?\n, name); #include <cstring>

160 strlen(s) s n = strlen( ABCDEF ); strstr(s, key) nullptr key s key s char s[] = It is raining today ; char key[] = aining ; char *p = strstr(s, key); strcat(t, s) s t char a[10] = abc ; strcat(a, def ); strcpy(t, s) s t char a[10]; strcpy(a, ding ); a[1] = o ; printf( %s\n, a); strcmp(s1, s2) 0 s1 s2 s1 s2 if (strcmp(name, John ) == 0) printf( Hi John, how s Mary?\n ); n = strcmp( ding, dong ); <

161 struct_def, ; declarator type struct identifier { ; struct student { char firstname[20]; char lastname[30]; int class, room; int grade[15]; ; student s;. s WRITELN(s.firstName, s.lastname); s.class = 3;

162 s FUNC REAL average (student s) { REAL sum = 0.0; int i; FOR (i, 0 TO 14) sum += s.grade[i]; return sum / 15; student struct date { int day, month, year; ; student struct student { char firstname[20]; char lastname[30]; int class, room; int grade[15]; date birthdate; ; s WRITELN(s.birthDate.day, /, s.birthdate.month, /, s.birthdate.year); s.birthdate s.birthdate.day complex struct complex { REAL re, im; ; complex

163 FUNC complex cmult (complex x, complex y) { complex result; result.re = x.re * y.re - x.im * y.im; result.im = x.re * y.im + x.im * y.re; return result; FUNC REAL cnorm (complex x) { return sqrt(x.re * x.re + x.im * x.im); union_def, ; declarator type union identifier { ; int REAL union number { int i; REAL r; ; r number n; n.r = 1.2; WRITELN(n.r); i n.i = 42; WRITELN(n.i); r WRITELN(n.r);

164 cout cin FILE FILE * FILE FILE #include <cstdio> using namespace std;... FILE *f; fopen

165 r w a t b fopen FILE * fopen nullptr fclose #include <cstdio> using namespace std;... FILE *f, *g; f = fopen( some-input-text-file.txt, rt ); g = fopen( some-output-binary-file.txt, wb ); if (f == nullptr OR g == nullptr) { printf( Some of the files could not be opened!\n ); return;... fclose(f); fclose(g);

166 fputc fgetc fputs fgets fprintf fscanf printf scanf fwrite fread feof f g f g toupper cctype #include <cstdio> #include <cctype> using namespace std; int main () { FILE *f, *g; int c; if ((f = fopen( some-input-file.txt, rt )) == nullptr) { printf( The input file could not be opened!\n ); return 1; if ((g = fopen( some-output-file.txt, wt )) == nullptr) { printf( The output file could not be opened!\n ); return 1; while ((c = fgetc(f))!= EOF) fputc(c, g); fclose(f); fclose(g); f g while f

Pazcal. Pazcal.

Pazcal. Pazcal. Pazcal Pazcal http://courses.softlab.ntua.gr/progintro/ Pazcal ... O Ω Θ = + + x := 3*y; while x>1 do x := x/2 x = 3*y; while (x>1) x = x/2; 1957 58 59 1960 61 62 63 64 65 66 67 68 69 1970 71 72

Διαβάστε περισσότερα

Εισαγωγή στον προγραμματισμό σε Pazcal

Εισαγωγή στον προγραμματισμό σε Pazcal Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Διδάσκοντες: Στάθης Ζάχος (zachos@cs.ntua.gr) Νίκος Παπασπύρου (nickie@softlab.ntua.gr)

Διαβάστε περισσότερα

Προχωρημένες έννοιες προγραμματισμού σε C

Προχωρημένες έννοιες προγραμματισμού σε C Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Διδάσκοντες: Στάθης Ζάχος (zachos@cs.ntua.gr) Νίκος Παπασπύρου (nickie@softlab.ntua.gr)

Διαβάστε περισσότερα

Προχωρημένες έννοιες προγραμματισμού σε Pazcal

Προχωρημένες έννοιες προγραμματισμού σε Pazcal Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Διδάσκοντες: Στάθης Ζάχος (zachos@cs.ntua.gr) Νίκος Παπασπύρου (nickie@softlab.ntua.gr)

Διαβάστε περισσότερα

Επεξεργασία κειμένου και συμβολοσειρών σε C

Επεξεργασία κειμένου και συμβολοσειρών σε C Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Διδάσκοντες: Στάθης Ζάχος (zachos@cs.ntua.gr) Νίκος Παπασπύρου (nickie@softlab.ntua.gr)

Διαβάστε περισσότερα

25/11/2015. Εισαγωγή. Διαφάνειες παρουσιάσεων 23/11/15. Σκοπός του μαθήματος

25/11/2015. Εισαγωγή. Διαφάνειες παρουσιάσεων 23/11/15. Σκοπός του μαθήματος ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ http://courses.softlab.ntua.gr/progintro/ Διδάσκοντες: Στάθης Ζάχος (zachos@cs.ntua.gr) Δημήτρης Φωτάκης (fotakis@cs.ntua.gr) Δώρα Σούλιου (dsouliou@mail.ntua.gr)

Διαβάστε περισσότερα

3/2/2017. Εισαγωγή. Διαφάνειες παρουσιάσεων 27/1/17. Σκοπός του μαθήματος

3/2/2017. Εισαγωγή. Διαφάνειες παρουσιάσεων 27/1/17. Σκοπός του μαθήματος ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ http://courses.softlab.ntua.gr/progintro/ Εισαγωγή Διδάσκοντες: Στάθης Ζάχος (zachos@cs.ntua.gr) Νίκος Παπασπύρου (nickie@softlab.ntua.gr) Δημήτρης Φωτάκης (fotakis@cs.ntua.gr)

Διαβάστε περισσότερα

30/9/2018. Εισαγωγή. Διαφάνειες παρουσιάσεων 28/9/18. Σκοπός του μαθήματος

30/9/2018. Εισαγωγή. Διαφάνειες παρουσιάσεων 28/9/18. Σκοπός του μαθήματος ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ https://courses.softlab.ntua.gr/progintro/ Εισαγωγή Διδάσκοντες: Στάθης Ζάχος (zachos@cs.ntua.gr) Νίκος Παπασπύρου (nickie@softlab.ntua.gr) Δημήτρης Φωτάκης (fotakis@cs.ntua.gr)

Διαβάστε περισσότερα

8/12/2017. Εισαγωγή. Διαφάνειες παρουσιάσεων 8/12/17. Σκοπός του μαθήματος

8/12/2017. Εισαγωγή. Διαφάνειες παρουσιάσεων 8/12/17. Σκοπός του μαθήματος ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ https://courses.softlab.ntua.gr/progintro/ Εισαγωγή Διδάσκοντες: Στάθης Ζάχος (zachos@cs.ntua.gr) Νίκος Παπασπύρου (nickie@softlab.ntua.gr) Βηρένα Καντερέ (verena@dblab.ece.ntua.gr)

Διαβάστε περισσότερα

Διαφάνειες παρουσιάσεων

Διαφάνειες παρουσιάσεων ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ https://courses.softlab.ntua.gr/progintro/ Διδάσκοντες: Στάθης Ζάχος (zachos@cs.ntua.gr) Νίκος Παπασπύρου Δημήτρης Φωτάκης (fotakis@cs.ntua.gr) Πέτρος Ποτίκας (ppotik@cs.ntua.gr)

Διαβάστε περισσότερα

28/10/2018. Εισαγωγή. Διαφάνειες παρουσιάσεων 28/10/18. Σκοπός του μαθήματος

28/10/2018. Εισαγωγή. Διαφάνειες παρουσιάσεων 28/10/18. Σκοπός του μαθήματος ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ https://courses.softlab.ntua.gr/progintro/ Εισαγωγή Διδάσκοντες: Στάθης Ζάχος (zachos@cs.ntua.gr) Νίκος Παπασπύρου (nickie@softlab.ntua.gr) Δημήτρης Φωτάκης (fotakis@cs.ntua.gr)

Διαβάστε περισσότερα

Διαφάνειες παρουσιάσεων

Διαφάνειες παρουσιάσεων ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ https://courses.softlab.ntua.gr/progintro/ Διδάσκοντες: Στάθης Ζάχος (zachos@cs.ntua.gr) Νίκος Παπασπύρου Δημήτρης Φωτάκης (fotakis@cs.ntua.gr) Πέτρος Ποτίκας (ppotik@cs.ntua.gr)

Διαβάστε περισσότερα

Διαφάνειες παρουσιάσεων

Διαφάνειες παρουσιάσεων ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ https://courses.softlab.ntua.gr/progintro/ Διδάσκοντες: Στάθης Ζάχος (zachos@cs.ntua.gr) Νίκος Παπασπύρου Βηρένα Καντερέ Πέτρος Ποτίκας (ppotik@cs.ntua.gr) (nickie@softlab.ntua.gr)

Διαβάστε περισσότερα

Διαφάνειες παρουσιάσεων

Διαφάνειες παρουσιάσεων ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ http://courses.softlab.ntua.gr/progintro/ Διδάσκοντες: Στάθης Ζάχος Δημήτρης Φωτάκης (fotakis@cs.ntua.gr) Δώρα Σούλιου Πέτρος Ποτίκας (ppotik@cs.ntua.gr) (zachos@cs.ntua.gr)

Διαβάστε περισσότερα

Διαφάνειες παρουσιάσεων

Διαφάνειες παρουσιάσεων ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ http://courses.softlab.ntua.gr/progintro/ Διδάσκοντες: Στάθης Ζάχος (zachos@cs.ntua.gr) Νίκος Παπασπύρου Δημήτρης Φωτάκης (fotakis@cs.ntua.gr) Δώρα Σούλιου Πέτρος

Διαβάστε περισσότερα

23/11/2017. Εισαγωγή. Διαφάνειες παρουσιάσεων 25/11/17. Σκοπός του μαθήματος

23/11/2017. Εισαγωγή. Διαφάνειες παρουσιάσεων 25/11/17. Σκοπός του μαθήματος ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ https://courses.softlab.ntua.gr/progintro/ Εισαγωγή Διδάσκοντες: Στάθης Ζάχος (zachos@cs.ntua.gr) Νίκος Παπασπύρου (nickie@softlab.ntua.gr) Βηρένα Καντερέ (verena@dblab.ece.ntua.gr)

Διαβάστε περισσότερα

ιαφάνειες παρουσίασης #7

ιαφάνειες παρουσίασης #7 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ http://www.corelab.ece.ntua.gr/courses/programming/ ιδάσκοντες: Στάθης Ζάχος (zachos@cs.ntua.gr) Νίκος Παπασπύρου (nickie@softlab.ntua.gr) ιαφάνειες παρουσίασης

Διαβάστε περισσότερα

Διαφάνειες παρουσιάσεων

Διαφάνειες παρουσιάσεων ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ https://courses.softlab.ntua.gr/progintro/ Διδάσκοντες: Στάθης Ζάχος (zachos@cs.ntua.gr) Νίκος Παπασπύρου Βηρένα Καντερέ Πέτρος Ποτίκας (ppotik@cs.ntua.gr) (nickie@softlab.ntua.gr)

Διαβάστε περισσότερα

27/10/2017. Εισαγωγή. Διαφάνειες παρουσιάσεων 27/10/17. Σκοπός του μαθήματος

27/10/2017. Εισαγωγή. Διαφάνειες παρουσιάσεων 27/10/17. Σκοπός του μαθήματος ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ https://courses.softlab.ntua.gr/progintro/ Διδάσκοντες: Στάθης Ζάχος (zachos@cs.ntua.gr) Νίκος Παπασπύρου (nickie@softlab.ntua.gr) Βηρένα Καντερέ (verena@dblab.ece.ntua.gr)

Διαβάστε περισσότερα

Διαφάνειες παρουσιάσεων

Διαφάνειες παρουσιάσεων ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ https://courses.softlab.ntua.gr/progintro/ Διδάσκοντες: Στάθης Ζάχος (zachos@cs.ntua.gr) Νίκος Παπασπύρου Βηρένα Καντερέ Πέτρος Ποτίκας (ppotik@cs.ntua.gr) (nickie@softlab.ntua.gr)

Διαβάστε περισσότερα

Διαφάνειες παρουσιάσεων

Διαφάνειες παρουσιάσεων ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ https://courses.softlab.ntua.gr/progintro/ Διδάσκοντες: Στάθης Ζάχος (zachos@cs.ntua.gr) Νίκος Παπασπύρου Βηρένα Καντερέ Πέτρος Ποτίκας (ppotik@cs.ntua.gr) (nickie@softlab.ntua.gr)

Διαβάστε περισσότερα

7/10/2017. Εισαγωγή. Διαφάνειες παρουσιάσεων 6/10/17. Σκοπός του μαθήματος

7/10/2017. Εισαγωγή. Διαφάνειες παρουσιάσεων 6/10/17. Σκοπός του μαθήματος ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ https://courses.softlab.ntua.gr/progintro/ Διδάσκοντες: Στάθης Ζάχος (zachos@cs.ntua.gr) Νίκος Παπασπύρου (nickie@softlab.ntua.gr) Βηρένα Καντερέ (verena@dblab.ece.ntua.gr)

Διαβάστε περισσότερα

Διαφάνειες παρουσιάσεων

Διαφάνειες παρουσιάσεων ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ http://courses.softlab.ntua.gr/progintro/ Διδάσκοντες: Στάθης Ζάχος (zachos@cs.ntua.gr) Νίκος Παπασπύρου (nickie@softlab.ntua.gr) Δημήτρης Φωτάκης (fotakis@cs.ntua.gr)

Διαβάστε περισσότερα

Εισαγωγή. Διαφάνειες παρουσιάσεων /13. Σκοπός του μαθήματος

Εισαγωγή. Διαφάνειες παρουσιάσεων /13. Σκοπός του μαθήματος ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ http://courses.softlab.ntua.gr/progintro/ Διδάσκοντες: Στάθης Ζάχος (zachos@cs.ntua.gr) Νίκος Παπασπύρου (nickie@softlab.ntua.gr) Δημήτρης Φωτάκης (fotakis@cs.ntua.gr)

Διαβάστε περισσότερα

Εισαγωγή. Διαφάνειες παρουσιάσεων 18/1/13. Σκοπός του μαθήματος

Εισαγωγή. Διαφάνειες παρουσιάσεων 18/1/13. Σκοπός του μαθήματος ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ http://courses.softlab.ntua.gr/progintro/ Διδάσκοντες: Στάθης Ζάχος (zachos@cs.ntua.gr) Νίκος Παπασπύρου (nickie@softlab.ntua.gr) Δημήτρης Φωτάκης (fotakis@cs.ntua.gr)

Διαβάστε περισσότερα

Εισαγωγή. Διαφάνειες παρουσιάσεων /14. Σκοπός του μαθήματος

Εισαγωγή. Διαφάνειες παρουσιάσεων /14. Σκοπός του μαθήματος ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ http://courses.softlab.ntua.gr/progintro/ Διδάσκοντες: Στάθης Ζάχος (zachos@cs.ntua.gr) Νίκος Παπασπύρου (nickie@softlab.ntua.gr) Δημήτρης Φωτάκης (fotakis@cs.ntua.gr)

Διαβάστε περισσότερα

Εισαγωγή. Διαφάνειες παρουσιάσεων 28/2/14. Σκοπός του μαθήματος

Εισαγωγή. Διαφάνειες παρουσιάσεων 28/2/14. Σκοπός του μαθήματος ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ http://courses.softlab.ntua.gr/progintro/ Διδάσκοντες: Στάθης Ζάχος (zachos@cs.ntua.gr) Νίκος Παπασπύρου (nickie@softlab.ntua.gr) Δημήτρης Φωτάκης (fotakis@cs.ntua.gr)

Διαβάστε περισσότερα

Εισαγωγή. Διαφάνειες παρουσιάσεων. Σκοπός του μαθήματος

Εισαγωγή. Διαφάνειες παρουσιάσεων. Σκοπός του μαθήματος ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ http://courses.softlab.ntua.gr/progintro/ Διδάσκοντες: Στάθης Ζάχος (zachos@cs.ntua.gr) Νίκος Παπασπύρου (nickie@softlab.ntua.gr) Δημήτρης Φωτάκης (fotakis@cs.ntua.gr)

Διαβάστε περισσότερα

Εισαγωγή. Διαφάνειες παρουσιάσεων 10/10/14. Σκοπός του μαθήματος

Εισαγωγή. Διαφάνειες παρουσιάσεων 10/10/14. Σκοπός του μαθήματος ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ http://courses.softlab.ntua.gr/progintro/ Διδάσκοντες: Στάθης Ζάχος (zachos@cs.ntua.gr) Νίκος Παπασπύρου (nickie@softlab.ntua.gr) Δημήτρης Φωτάκης (fotakis@cs.ntua.gr)

Διαβάστε περισσότερα

Δομές δεδομένων ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ. Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

Δομές δεδομένων ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ. Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Δομές δεδομένων Διδάσκοντες: Στάθης Ζάχος (zachos@cs.ntua.gr) Νίκος Παπασπύρου

Διαβάστε περισσότερα

ιαφάνειες παρουσίασης #7

ιαφάνειες παρουσίασης #7 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ http://www.corelab.ece.ntua.gr/courses/programming/ ιδάσκοντες: Στάθης Ζάχος (zachos@cs.ntua.gr) Νίκος Παπασπύρου (nickie@softlab.ntua.gr) ιαφάνειες παρουσίασης #7!Πίνακες

Διαβάστε περισσότερα

#define, 70, 575 #elif, 580 #else, 580 #endif, 580 #error, 584 #if, 580 #ifdef, 583 #ifndef, 580, 583 #include, 70, 227, 574 #undef, 579

#define, 70, 575 #elif, 580 #else, 580 #endif, 580 #error, 584 #if, 580 #ifdef, 583 #ifndef, 580, 583 #include, 70, 227, 574 #undef, 579 Ευρετήριο Η γλώσσα C σε βάθος # #define, 70, 575 #elif, 580 #else, 580 #endif, 580 #error, 584 #if, 580 #ifdef, 583 #ifndef, 580, 583 #include, 70, 227, 574 #undef, 579 A abs(), 625 AND, 64 ASCII πίνακας

Διαβάστε περισσότερα

Προγραμματισμός Η/Υ (ΤΛ2007 )

Προγραμματισμός Η/Υ (ΤΛ2007 ) Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε.Ι. Κρήτης Προγραμματισμός Η/Υ (ΤΛ2007 ) Δρ. Μηχ. Νικόλαος Πετράκης (npet@chania.teicrete.gr) Πέμπτη (5 η ) τρίωρη διάλεξη. Ιστοσελίδα Μαθήματος: https://eclass.chania.teicrete.gr/

Διαβάστε περισσότερα

ιαφάνειες παρουσίασης #5

ιαφάνειες παρουσίασης #5 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ http://www.corelab.ece.ntua.gr/courses/programming/ ιδάσκοντες: Στάθης Ζάχος (zachos@cs.ntua.gr) Νίκος Παπασπύρου (nickie@softlab.ntua.gr) ιαφάνειες παρουσίασης

Διαβάστε περισσότερα

Προέλευση της Pazcal ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ. Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

Προέλευση της Pazcal ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ. Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Προέλευση της Pazcal Διδάσκοντες: Στάθης Ζάχος (zachos@cs.ntua.gr) Νίκος Παπασπύρου

Διαβάστε περισσότερα

Προγραμματισμός Ι. Είσοδος/Έξοδος. Δημήτρης Μιχαήλ. Ακ. Έτος 2009-2010. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Προγραμματισμός Ι. Είσοδος/Έξοδος. Δημήτρης Μιχαήλ. Ακ. Έτος 2009-2010. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Προγραμματισμός Ι Είσοδος/Έξοδος Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2009-2010 Είσοδος/Έξοδος Μέχρι τώρα όποτε θέλαμε να διαβάσουμε χρησιμοποιούσαμε πάντα

Διαβάστε περισσότερα

ιαφάνειες παρουσίασης #6 (β)

ιαφάνειες παρουσίασης #6 (β) ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ http://www.softlab.ntua.gr/~nickie/courses/progtech/ ιδάσκοντες: Γιάννης Μαΐστρος (maistros@cs.ntua.gr) Στάθης Ζάχος (zachos@cs.ntua.gr) (nickie@softlab.ntua.gr) ιαφάνειες παρουσίασης

Διαβάστε περισσότερα

ιαφάνειες παρουσίασης #8

ιαφάνειες παρουσίασης #8 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ http://www.corelab.ece.ntua.gr/courses/programming/ ιδάσκοντες: Στάθης Ζάχος (zachos@cs.ntua.gr) Νίκος Παπασπύρου (nickie@softlab.ntua.gr) ιαφάνειες παρουσίασης #8!Ταξινόµηση!Τεχνολογία

Διαβάστε περισσότερα

Διάλεξη 3: Προγραμματισμός σε JAVA I. Διδάσκων: Παναγιώτης Ανδρέου

Διάλεξη 3: Προγραμματισμός σε JAVA I. Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 3: Προγραμματισμός σε JAVA I Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: - Στοιχειώδης Προγραμματισμός - Προγραμματισμός με Συνθήκες - Προγραμματισμός με Βρόγχους

Διαβάστε περισσότερα

Δομές ελέγχου. ομαδοποίηση εντολών εκτέλεση εντολών υπό συνθήκη επανάληψη εντολών

Δομές ελέγχου. ομαδοποίηση εντολών εκτέλεση εντολών υπό συνθήκη επανάληψη εντολών Δομές ελέγχου Τροποποιούν τη σειρά εκτέλεσης των εντολών του προγράμματος Οι εντολές φυσιολογικά εκτελούνται κατά σειρά από την αρχή μέχρι το τέλος Με τις δομές ελέγχου επιτυγχάνεται: ομαδοποίηση εντολών

Διαβάστε περισσότερα

ιαφάνειες παρουσίασης #9

ιαφάνειες παρουσίασης #9 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ http://www.corelab.ece.ntua.gr/courses/programming/ ιδάσκοντες: Στάθης Ζάχος (zachos@cs.ntua.gr) Νίκος Παπασπύρου (nickie@softlab.ntua.gr) ιαφάνειες παρουσίασης #9!Εγγραφές!Σύνολα!Αρχεία

Διαβάστε περισσότερα

Εισαγωγή στον Προγραμματισμό

Εισαγωγή στον Προγραμματισμό Εισαγωγή στον Προγραμματισμό Έλεγχος Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Σχεσιακοί Τελεστές και Ισότητας Ένα πρόγραμμα εκτός από αριθμητικές πράξεις

Διαβάστε περισσότερα

Μεταγλωττιστές 2019 Θέμα εργασίας

Μεταγλωττιστές 2019 Θέμα εργασίας Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Τομέας Τεχνολογίας Πληροφορικής & Υπολογιστών Εργαστήριο Τεχνολογίας Λογισμικού Μεταγλωττιστές 0 Θέμα εργασίας ( ) https://courses.softlab.ntua.gr/compilers/

Διαβάστε περισσότερα

Αρχεία & Ρεύματα ΑΡΧΕΙΑ & ΡΕΥΜΑΤΑ. Γεώργιος Παπαϊωάννου (2013-14) gepap@aueb.gr

Αρχεία & Ρεύματα ΑΡΧΕΙΑ & ΡΕΥΜΑΤΑ. Γεώργιος Παπαϊωάννου (2013-14) gepap@aueb.gr ΑΡΧΕΙΑ & ΡΕΥΜΑΤΑ Γεώργιος Παπαϊωάννου (2013-14) gepap@aueb.gr Περιγραφή: Τύποι αρχείων Ρεύματα Άνοιγμα ρευμάτων Εγγραφή και ανάγνωση δεδομένων προς/από ένα ρεύμα Διαχείριση και κλείσιμο ρευμάτων Παραδείγματα

Διαβάστε περισσότερα

ΑΝΑΛΥΤΙΚΟ ΠΡΟΓΡΑΜΜΑ ΚΑΙ ΕΞΕΤΑΣΤΕΑ ΥΛΗ. ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Με τις Γλώσσες Προγραμματισμού Pascal, C, C++, Java

ΑΝΑΛΥΤΙΚΟ ΠΡΟΓΡΑΜΜΑ ΚΑΙ ΕΞΕΤΑΣΤΕΑ ΥΛΗ. ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Με τις Γλώσσες Προγραμματισμού Pascal, C, C++, Java ΑΝΑΛΥΤΙΚΟ ΠΡΟΓΡΑΜΜΑ ΚΑΙ ΕΞΕΤΑΣΤΕΑ ΥΛΗ ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Με τις Γλώσσες Προγραμματισμού Pascal, C, C++, Java 1 ο & 2 o ΕΠΙΠΕΔΟ Αναλυτικό Πρόγραμμα Εξετάσεων Σελίδα: 1/20 Απρίλιος 2011 Γλωσσών Προγραμματισμού

Διαβάστε περισσότερα

ιαφάνειες παρουσίασης #4

ιαφάνειες παρουσίασης #4 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ http://www.corelab.ece.ntua.gr/courses/programming/ ιδάσκοντες: Στάθης Ζάχος (zachos@cs.ntua.gr) Νίκος Παπασπύρου (nickie@softlab.ntua.gr) ιαφάνειες παρουσίασης

Διαβάστε περισσότερα

Εισαγωγή στον Προγραµµατισµό. Διάλεξη 2 η : Βασικές Έννοιες της γλώσσας προγραµµατισµού C Χειµερινό Εξάµηνο 2011

Εισαγωγή στον Προγραµµατισµό. Διάλεξη 2 η : Βασικές Έννοιες της γλώσσας προγραµµατισµού C Χειµερινό Εξάµηνο 2011 Εισαγωγή στον Προγραµµατισµό Διάλεξη 2 η : Βασικές Έννοιες της γλώσσας προγραµµατισµού C Χειµερινό Εξάµηνο 2011 Hello World /* Αρχείο hello.c * Εµφανίζει στην οθόνη το * µήνυµα hello world */ #include

Διαβάστε περισσότερα

ιαφάνειες παρουσίασης #8

ιαφάνειες παρουσίασης #8 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ http://www.corelab.ece.ntua.gr/courses/programming/ ιδάσκοντες: Στάθης Ζάχος (zachos@cs.ntua.gr) Νίκος Παπασπύρου (nickie@softlab.ntua.gr) ιαφάνειες παρουσίασης

Διαβάστε περισσότερα

Προγραμματισμός Η/Υ (ΤΛ2007 )

Προγραμματισμός Η/Υ (ΤΛ2007 ) Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε.Ι. Κρήτης Προγραμματισμός Η/Υ (ΤΛ2007 ) Δρ. Μηχ. Νικόλαος Πετράκης (npet@chania.teicrete.gr) Ιστοσελίδα Μαθήματος: https://eclass.chania.teicrete.gr/ Εξάμηνο: Εαρινό 2014-15

Διαβάστε περισσότερα

Συναρτήσεις και Πίνακες

Συναρτήσεις και Πίνακες Συναρτήσεις και Πίνακες Συναρτήσεις καθιερωμένης βιβλιοθήκης της C++ Συναρτήσεις οριζόμενες από τον χρήστη Μεταβίβαση κατ αξία Συναρτήσεις void και λογικές συναρτήσεις Μεταβίβαση κατ αναφορά Επιστροφή

Διαβάστε περισσότερα

ιαφάνειες παρουσίασης #4

ιαφάνειες παρουσίασης #4 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ http://www.corelab.ece.ntua.gr/courses/programming/ ιδάσκοντες: Στάθης Ζάχος (zachos@cs.ntua.gr) Νίκος Παπασπύρου (nickie@softlab.ntua.gr) ιαφάνειες παρουσίασης #4!Λοιπές εντολές!

Διαβάστε περισσότερα

17TimeThis.h function returns reference pointer to same object { return *this; }

17TimeThis.h function returns reference pointer to same object { return *this; } Προαπαιτούµενη Κάθε οµάδα θα πρέπει να εµπλουτίσει το ίδιο πρόγραµµα, που έκανε την προηγούµενη φορά, προσθέτοντας στην κλάση του έναν ή περισσότερους υπερφορτωµένους τελεστές (όπως , ++, +,-,+=..)

Διαβάστε περισσότερα

Δομημένος Προγραμματισμός (ΤΛ1006)

Δομημένος Προγραμματισμός (ΤΛ1006) Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κρήτης Σχολή Εφαρμοσμένων Επιστημών Τμήμα Ηλεκτρονικών Μηχανικών Τομέας Αυτοματισμού και Πληροφορικής Δομημένος Προγραμματισμός (ΤΛ1006) Δρ. Μηχ. Νικόλαος Πετράκης, Καθηγητής

Διαβάστε περισσότερα

Προγραμματισμός Η/Υ (ΤΛ2007 )

Προγραμματισμός Η/Υ (ΤΛ2007 ) Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε.Ι. Κρήτης Προγραμματισμός Η/Υ (ΤΛ2007 ) Δρ. Μηχ. Νικόλαος Πετράκης (npet@chania.teicrete.gr) Ιστοσελίδα Μαθήματος: https://eclass.chania.teicrete.gr/ Εξάμηνο: Εαρινό 2015-16

Διαβάστε περισσότερα

Η εντολή if-else. Η απλή μορφή της εντολής if είναι η ακόλουθη: if (συνθήκη) { Η γενική μορφή της εντολής ifelse. εντολή_1; εντολή_2;..

Η εντολή if-else. Η απλή μορφή της εντολής if είναι η ακόλουθη: if (συνθήκη) { Η γενική μορφή της εντολής ifelse. εντολή_1; εντολή_2;.. Επιλογή - Επανάληψη Η εντολή if-else Ο τελεστής παράστασης συνθήκης H εντολή switch Η εντολές for και while Η εντολή do-while Η εντολές break - continue - goto Μαθηματικές συναρτήσεις Λέξεις κλειδιά στη

Διαβάστε περισσότερα

Διαφάνειες παρουσιάσεων

Διαφάνειες παρουσιάσεων ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ https://courses.softlab.ntua.gr/progintro/ Διδάσκοντες: Στάθης Ζάχος (zachos@cs.ntua.gr) Νίκος Παπασπύρου Βηρένα Καντερέ (vkante@cs.ntua.gr) Πέτρος Ποτίκας (ppotik@cs.ntua.gr)

Διαβάστε περισσότερα

A ΜΕΡΟΣ. 1 program Puppy_Dog; 2 3 begin 4 end. 5 6 { Result of execution 7 8 (There is no output from this program ) 9 10 }

A ΜΕΡΟΣ. 1 program Puppy_Dog; 2 3 begin 4 end. 5 6 { Result of execution 7 8 (There is no output from this program ) 9 10 } A ΜΕΡΟΣ 1 program Puppy_Dog; begin 4 end. 5 6 { Result of execution 7 (There is no output from this program ) 10 } (* Κεφάλαιο - Πρόγραµµα EX0_.pas *) 1 program Kitty_Cat; begin 4 Writeln('This program');

Διαβάστε περισσότερα

Εντολές εισόδου - εξόδου. Εισαγωγή στη C++

Εντολές εισόδου - εξόδου. Εισαγωγή στη C++ Εντολές εισόδου - εξόδου Εισαγωγή στη C++ Το πρώτο πρόγραμμα //my first program #include using namespace std; int main(){ cout

Διαβάστε περισσότερα

Προγραμματισμός Ι. Θεματική ενότητα 8: Δημιουργία προγραμμάτων

Προγραμματισμός Ι. Θεματική ενότητα 8: Δημιουργία προγραμμάτων Θεματική ενότητα 8: Δημιουργία προγραμμάτων Παράδειγμα 1: Να γραφεί πρόγραμμα που να δέχεται ως είσοδο κείμενο, να απαριθμεί τις εμφανίσεις των ψηφίων 0-9, τα λευκά διαστήματα και τους υπόλοιπους χαρακτήρες

Διαβάστε περισσότερα

ιαφάνειες παρουσίασης #6

ιαφάνειες παρουσίασης #6 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ http://www.corelab.ece.ntua.gr/courses/programming/ ιδάσκοντες: Στάθης Ζάχος (zachos@cs.ntua.gr) Νίκος Παπασπύρου (nickie@softlab.ntua.gr) ιαφάνειες παρουσίασης

Διαβάστε περισσότερα

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

Εισαγωγή στην πληροφορική Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Αγρονόµων Τοπογράφων Μηχανικών Εισαγωγή στην πληροφορική Βασίλειος Βεσκούκης ρ. Ηλεκτρολόγος Μηχανικός & Μηχανικός Υπολογιστών ΕΜΠ v.vescoukis@cs.ntua.gr Η γλώσσα προγραµµατισµού

Διαβάστε περισσότερα

Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: ΕΠΛ 131 Αρχές Προγραµµατισµού I 3-2

Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: ΕΠΛ 131 Αρχές Προγραµµατισµού I 3-2 Εισαγωγή στην C Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Σύνταξη και Σηµασιολογία της C Σχολιασµός Μεταβλητές / Σταθερές Τύποι εδοµένων και Τελεστές Βιβλίο µαθήµατος: Chapter 2,, Sec.

Διαβάστε περισσότερα

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

ΚΥΡΙΑ ΜΟΝΤΕΛΑ ΓΛΩΣΣΩΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΚΥΡΙΑ ΜΟΝΤΕΛΑ ΓΛΩΣΣΩΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ 27 Κύρια προγραμματιστικά μοντέλα (1) Προστακτικός προγραμματισμός (imperative programming) FORTRAN, Algol, COBOL, BASIC, C, Pascal, Modula-2, Ada Συναρτησιακός προγραμματισμός

Διαβάστε περισσότερα

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

Εισαγωγή στην πληροφορική Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Αγρονόμων Τοπογράφων Μηχανικών Εισαγωγή στην πληροφορική Βασίλειος Βεσκούκης Δρ. Ηλεκτρολόγος Μηχανικός & Μηχανικός Υπολογιστών ΕΜΠ v.vescoukis@cs.ntua.gr Η γλώσσα προγραμματισμού

Διαβάστε περισσότερα

Υπολογισμός - Εντολές Ελέγχου

Υπολογισμός - Εντολές Ελέγχου Προγραμματισμός Η/Υ Ι Υπολογισμός - Εντολές Ελέγχου ΕΛΕΥΘΕΡΙΟΣ ΚΟΣΜΑΣ ΕΑΡΙΝΟ ΕΞΑΜΗΝΟ 2018-2019 ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ Τ.Ε. 1 Περίληψη Σήμερα... θα συνεχίσουμε τη συζήτησή μας για τα βασικά στοιχεία

Διαβάστε περισσότερα

Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7

Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7 Π. Σταθοπούλου pstath@ece.upatras.gr ή pstath@upatras.gr Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7 Φροντιστήριο : ευτέρα 11πµ-12πµ ΗΛ4 ❶ Προετοιµασία για το 1 ο Εργαστήριο

Διαβάστε περισσότερα

Οντοκεντρικός Προγραμματισμός

Οντοκεντρικός Προγραμματισμός Οντοκεντρικός Προγραμματισμός Ενότητα 5: H ΓΛΩΣΣΑ C++ Δομές Ελέγχου ΔΙΔΑΣΚΟΝΤΕΣ: Ιωάννης Χατζηλυγερούδης, Χρήστος Μακρής Πολυτεχνική Σχολή Τμήμα Μηχανικών Η/Υ & Πληροφορικής Δομές Ελέγχου Εισαγωγή Πριν

Διαβάστε περισσότερα

Fortran και Αντικειμενοστραφής προγραμματισμός. www.corelab.ntua.gr/courses/fortran_naval/naval

Fortran και Αντικειμενοστραφής προγραμματισμός. www.corelab.ntua.gr/courses/fortran_naval/naval Fortran και Αντικειμενοστραφής προγραμματισμός Διδάσκοντες: www.corelab.ntua.gr/courses/fortran_naval/naval Άρης Παγουρτζής (pagour@cs.ntua.gr) (Επίκουρος Καθηγητής ΣΗΜΜΥ ) Δώρα Σούλιου (dsouliou@mail.ntua.gr)

Διαβάστε περισσότερα

Συµβολοσειρές - Strings

Συµβολοσειρές - Strings Συµβολοσειρές - Strings 1 Συµβολοσειρέςστην C/C++ 2 Χαρακτήρες 'a', 'z', '0', Χαρακτήρες σαν int 'z' επίσης αναπαριστά την ακεραία τιµή του χαρακτήρα z Strings-Συµβολοσειρές Σειρές από χαρακτήρες σαν µια

Διαβάστε περισσότερα

ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κεφάλαιο 2 Επιμέλεια: Βασίλης Παλιουράς, Αναπληρωτής Καθηγητής Ευάγγελος Δερματάς, Αναπληρωτής Καθηγητής Σταύρος Νούσιας, Βοηθός Ερευνητή Πολυτεχνική Σχολή Τμήμα Ηλεκτρολόγων Μηχανικών

Διαβάστε περισσότερα

Διάλεξη 18η: Διαχείρηση Αρχείων

Διάλεξη 18η: Διαχείρηση Αρχείων Διάλεξη 18η: Διαχείρηση Αρχείων Τμήμα Επιστήμης Υπολογιστών, Πανεπιστήμιο Κρήτης Εισαγωγή στην Επιστήμη Υπολογιστών Πρατικάκης (CSD) Αρχεία CS100, 2015-2016 1 / 24 Η βιβλιοθήκη Εισόδου/Εξόδου Στο stdioh

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Εισαγωγή στον Προγραμματισμό

Εισαγωγή στον Προγραμματισμό Εισαγωγή στον Προγραμματισμό Συναρτήσεις Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Συναρτήσεις Ως τώρα γράφαμε όλα τα προγράμματα μας μέσα στην main..1

Διαβάστε περισσότερα

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

Προγραμματισμός PASCAL Προγραμματισμός PASCAL 1 PASCAL Η PASCAL σχεδιάστηκε από τον Worth το 1968 στη Ζυρίχη, αρχικά σαν εργαλείο για τη διδασκαλία προγραμματισμού. Είναι γλώσσα για σειριακό προγραμματισμό. 2 Απλή και εύκολη

Διαβάστε περισσότερα

Μορφοποίηση της εξόδου

Μορφοποίηση της εξόδου Μορφοποίηση της εξόδου (i) Όταν θέλουμε τα αποτελέσματα μιάς εντολής WRITE(*, *) να εμφανίζονται με συγκεκριμένο τρόπο τροποποιούμε τον δεύτερο αστερίσκο. 2 τρόποι μορφοποίησης WRITE(*, '(format εξόδου)')

Διαβάστε περισσότερα

Γ7.1 Επανάληψη ύλης Β Λυκείου. Γ Λυκείου Κατεύθυνσης

Γ7.1 Επανάληψη ύλης Β Λυκείου. Γ Λυκείου Κατεύθυνσης Γ7.1 Επανάληψη ύλης Β Λυκείου Γ Λυκείου Κατεύθυνσης Απλά προγράμματα Ένα πρόγραμμα στη C++ που υπολογίζει το άθροισμα 2 ακέραιων αριθμών. // simple program #include using namespace std; int main(){

Διαβάστε περισσότερα

Κεφάλαιο 2.6: Είσοδος / Έξοδος εδοµένων, Μορφοποίηση εδοµένων Εξόδου. ( ιάλεξη 7) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

Κεφάλαιο 2.6: Είσοδος / Έξοδος εδοµένων, Μορφοποίηση εδοµένων Εξόδου. ( ιάλεξη 7) ιδάσκων: ηµήτρης Ζεϊναλιπούρ Κεφάλαιο 2.6: Είσοδος / Έξοδος εδοµένων, Μορφοποίηση εδοµένων Εξόδου ( ιάλεξη 7) ιδάσκων: ηµήτρης Ζεϊναλιπούρ 1 Είσοδος/ Έξοδος Σε σχεδόν όλα τα προγράµµατα πρέπει να πάρουµε κάποια δεδοµένα και να δώσουµε

Διαβάστε περισσότερα

Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: ΕΠΛ 131 Αρχές Προγραµµατισµού I 4-2

Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: ΕΠΛ 131 Αρχές Προγραµµατισµού I 4-2 Είσοδος / Έξοδος Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Συνάρτηση εξόδου printf Συνάρτηση εισόδου scanf Βιβλίο µαθήµατος: Chapter 2,, Sec. 3 & 6 ΕΠΛ 131 Αρχές Προγραµµατισµού I 4-1 Είσοδος

Διαβάστε περισσότερα

Κεφάλαιο 2.6: Είσοδος / Έξοδος Δεδομένων, Μορφοποίηση Δεδομένων Εξόδου. (Διάλεξη 7) Είσοδος/ Έξοδος

Κεφάλαιο 2.6: Είσοδος / Έξοδος Δεδομένων, Μορφοποίηση Δεδομένων Εξόδου. (Διάλεξη 7) Είσοδος/ Έξοδος Κεφάλαιο 2.6: Είσοδος / Έξοδος Δεδομένων, Μορφοποίηση Δεδομένων Εξόδου (Διάλεξη 7) 1 Είσοδος/ Έξοδος Σε σχεδόν όλα τα προγράμματα πρέπει να πάρουμε κάποια δεδομένα και να δώσουμε αποτέλεσμα Συνάρτηση εισόδου

Διαβάστε περισσότερα

Κεφάλαιο 2.6: Είσοδος / Έξοδος Δεδομένων, Μορφοποίηση Δεδομένων Εξόδου. (Διάλεξη 7)

Κεφάλαιο 2.6: Είσοδος / Έξοδος Δεδομένων, Μορφοποίηση Δεδομένων Εξόδου. (Διάλεξη 7) Κεφάλαιο 2.6: Είσοδος / Έξοδος Δεδομένων, Μορφοποίηση Δεδομένων Εξόδου (Διάλεξη 7) 1 Είσοδος/Έξοδος Σε σχεδόν όλα τα προγράμματα πρέπει να πάρουμε κάποια δεδομένα και να δώσουμε αποτέλεσμα Συνάρτηση εισόδου

Διαβάστε περισσότερα

Δήλωση ακέραιων μεταβλητών. ροής με την στάνταρ είσοδο

Δήλωση ακέραιων μεταβλητών. ροής με την στάνταρ είσοδο Πανεπιστήμιο Πατρών Τμήμα Μηχανικών Ηλεκτρονικών Υπολογιστών και Πληροφορικής ΟΝΤΟΚΕΝΤΡΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΙΙ (C++) Δομημένος Προγραμματισμός και Δομές Ελέγχου 1 Εισαγωγή Είσοδος/έξοδος Hello world: #include

Διαβάστε περισσότερα

Προγραμματισμό για ΗΜΥ

Προγραμματισμό για ΗΜΥ ΕΠΛ 034: Εισαγωγή στον Προγραμματισμό για ΗΜΥ Αχιλλέας Αχιλλέως, Τμήμα Πληροφορικής, Πανεπιστήμιο Κύπρου Email: achilleas@cs.ucy.ac.cy Κεφάλαιο 3 Εισαγωγή στην C Θέματα ιάλεξης Σύνταξη και Σημασιολογία

Διαβάστε περισσότερα

ΕΡΓΑΣΤΗΡΙΟ 1 - ΣΗΜΕΙΩΣΕΙΣ

ΕΡΓΑΣΤΗΡΙΟ 1 - ΣΗΜΕΙΩΣΕΙΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ 2017-2018 ΧΕΙΜΕΡΙΝΟ ΕΞΑΜΗΝΟ ΜΑΘΗΜΑ: ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ Εισαγωγή ΕΡΓΑΣΤΗΡΙΟ 1 - ΣΗΜΕΙΩΣΕΙΣ Ένα πρόγραμμα σε C περιλαμβάνει μια ή περισσότερες συναρτήσεις

Διαβάστε περισσότερα

Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7

Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7 Π. Σταθοπούλου pstath@ece.upatras.gr ή pstath@upatras.gr Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7 Φροντιστήριο : ευτέρα 11πµ-12πµ ΗΛ4 ΠΕΡΙΕΧΟΜΕΝΟ ΤΟΥ ΜΑΘΗΜΑΤΟΣ Αρχές

Διαβάστε περισσότερα

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

ΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ Έλεγχος ροής Δομή επιλογής (if, switch) Δομές επανάληψης (while, do-while, for) Διακλάδωση

Διαβάστε περισσότερα

Φροντιςτήριο. Linked-List

Φροντιςτήριο. Linked-List Φροντιςτήριο Linked-List 1 Linked List Μια linked list είναι μια ακολουθία από ςυνδεδεμένουσ κόμβουσ Κάθε κόμβοσ περιέχει τουλάχιςτον Μια πληροφορία (ή ένα struct) Δείκτη ςτον επόμενο κόμβο τησ λίςτασ

Διαβάστε περισσότερα

2 η Διάλεξη C++ Δρ. Χρήστος Δρόσος ΑΕΙ ΠΕΙΡΑΙΑ ΤΤ ΤΜΗΜΑ ΑΥΤΟΜΑΤΙΣΜΟΥ

2 η Διάλεξη C++ Δρ. Χρήστος Δρόσος ΑΕΙ ΠΕΙΡΑΙΑ ΤΤ ΤΜΗΜΑ ΑΥΤΟΜΑΤΙΣΜΟΥ 2 η Διάλεξη C++ Δρ. Χρήστος Δρόσος ΑΕΙ ΠΕΙΡΑΙΑ ΤΤ ΤΜΗΜΑ ΑΥΤΟΜΑΤΙΣΜΟΥ Τι μάθαμε μέχρι τώρα Κάθε πρόγραμμα της c++ περιέχει υποχρεωτικά μια συνάρτηση main() η οποία είναι εκείνη που εκτελείται πρώτη. Κάθε

Διαβάστε περισσότερα

Διαφάνειες παρουσιάσεων Αρχικές Διαφάνειες σε Pascal: Σ.Ζάχος, Ν.Παπασπύρου Προσαρμογή σε Fortran: Α.Παγουρτζής, Δ.Σούλιου

Διαφάνειες παρουσιάσεων Αρχικές Διαφάνειες σε Pascal: Σ.Ζάχος, Ν.Παπασπύρου Προσαρμογή σε Fortran: Α.Παγουρτζής, Δ.Σούλιου Fortran και Αντικειμενοστραφής προγραμματισμός Διδάσκοντες: www.corelab.ntua.gr/courses/fortran_naval/naval Άρης Παγουρτζής (pagour@cs.ntua.gr) (Επίκουρος Καθηγητής ΣΗΜΜΥ ) Δώρα Σούλιου (dsouliou@mail.ntua.gr)

Διαβάστε περισσότερα

ιαφάνειες παρουσίασης #3

ιαφάνειες παρουσίασης #3 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ http://www.corelab.ece.ntua.gr/courses/programming/ ιδάσκοντες: Στάθης Ζάχος (zachos@cs.ntua.gr) Νίκος Παπασπύρου (nickie@softlab.ntua.gr) ιαφάνειες παρουσίασης

Διαβάστε περισσότερα

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

Προγραμματισμός PASCAL Προγραμματισμός PASCAL 1 Εντολές Διακλάδωσης Εντολή IF/THEN Eντολή IF/THEN/ELSE Ένθετη Διακλάδωση Πολλαπλή Διακλάδωση 2 Εντολή IF-THEN (2) READLN (X,Y); IF X>Y THEN WRITELN( Η MΕΤΑΒΛΗΤΗ Χ ΕΙΝΑΙ ΜΕΓΑΛΥΤΕΡΗ

Διαβάστε περισσότερα

i M-1 1. ij f(i, j) N-1. (pixel) 2. M N (x, y) (x, y ) = 256. R(x, y), G(x, y), B(x, y)

i M-1 1. ij f(i, j) N-1. (pixel) 2. M N (x, y) (x, y ) = 256. R(x, y), G(x, y), B(x, y) D4 2 2. (pixel) 2 ( ) M N (x, y) (x, y ) ( )f(x, y) j N- i j i f(i, j) M-. ij f(i, j) 8 2 8 = 256, 2 2 f(x, y) 3,, R(x, y), G(x, y), B(x, y) 256 2 2.2 ( ) JPEG (Joint Photographic Experts Group), GIF (Graphics

Διαβάστε περισσότερα

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

print( x is positive ) Στο διερμηνευτή Python, προσοχή στη στοίχιση, διότι γίνεται από το χρήστη: 37 ΛΑΜΒΑΝΟΝΤΑΣ ΑΠΟΦΑΣΕΙΣ 1. Εκτέλεση υπό συνθήκη if x >0: print('x is positive') x > = 0 print( x is positive ) Σχήμα: Η λογική του if then Στο διερμηνευτή Python, προσοχή στη στοίχιση, διότι γίνεται από

Διαβάστε περισσότερα

Γλώσσα Προγραμματισμού C

Γλώσσα Προγραμματισμού C Προγραμματισμός ΗΥ: Γλώσσα Προγραμματισμού C Δρ. Ηλίας Κ. Σάββας, Αναπληρωτής Καθηγητής, Τμήμα Μηχανικών Πληροφορικής Τ.Ε., T.E.I. Θεσσαλίας Email: savvas@teilar.gr URL: http://teilar.academia.edu/iliassavvas

Διαβάστε περισσότερα

29/9/2017. Εισαγωγή. Διαφάνειες παρουσιάσεων 29/9/17. Σκοπός του μαθήματος

29/9/2017. Εισαγωγή. Διαφάνειες παρουσιάσεων 29/9/17. Σκοπός του μαθήματος ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ https://courses.softlab.ntua.gr/progintro/ Διδάσκοντες: Στάθης Ζάχος (zachos@cs.ntua.gr) Νίκος Παπασπύρου (nickie@softlab.ntua.gr) Βηρένα Καντερέ (vkante@cs.ntua.gr)

Διαβάστε περισσότερα

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

Πίνακες. FORTRAN και Αντικειμενοστραφής Προγραμματισμός Πίνακες (i) Δομημένη μεταβλητή: αποθηκεύει μια συλλογή από τιμές δεδομένων Πίνακας (array): δομημένη μεταβλητή που αποθηκεύει πολλές τιμές του ίδιου τύπου INTEGER:: pinakas(100)ή INTEGER, DIMENSION(100)::pinakas

Διαβάστε περισσότερα

ΣΥΝΟΠΤΙΚΟΣ ΟΔΗΓΟΣ ΓΛΩΣΣΑΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ C

ΣΥΝΟΠΤΙΚΟΣ ΟΔΗΓΟΣ ΓΛΩΣΣΑΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ C ΣΥΝΟΠΤΙΚΟΣ ΟΔΗΓΟΣ ΓΛΩΣΣΑΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ C 1 Εισαγωγή Ο προγραμματισμός είναι μια διαδικασία επίλυσης προβλημάτων με χρήση Η/Υ. Ένα πρόγραμμα είναι ένα σύνολο εντολών κάποιας γλώσσας προγραμματισμού,

Διαβάστε περισσότερα

Προγραμματιστικές Τεχνικές

Προγραμματιστικές Τεχνικές Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Αγρονόμων Τοπογράφων Μηχανικών Προγραμματιστικές Τεχνικές Βασίλειος Βεσκούκης Δρ. Ηλεκτρολόγος Μηχανικός & Μηχανικός Υπολογιστών ΕΜΠ v.vescoukis@cs.ntua.gr Ρωμύλος Κορακίτης

Διαβάστε περισσότερα

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Προγραμματισμός Η/Υ

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Προγραμματισμός Η/Υ ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Προγραμματισμός Η/Υ Ενότητα 2 η : Η Γλώσσα Προγραμματισμού VB.NET (1 ο Μέρος) Ι. Ψαρομήλιγκος Χ. Κυτάγιας Τμήμα Λογιστικής & Χρηματοοικονομικής

Διαβάστε περισσότερα

Δομημένος Προγραμματισμός (ΤΛ1006)

Δομημένος Προγραμματισμός (ΤΛ1006) Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κρήτης Σχολή Εφαρμοσμένων Επιστημών Τμήμα Ηλεκτρονικών Μηχανικών Τομέας Αυτοματισμού και Πληροφορικής Δομημένος Προγραμματισμός (ΤΛ1006) Δρ. Μηχ. Νικόλαος Πετράκης, Καθηγητής

Διαβάστε περισσότερα

ιαφάνειες παρουσίασης #5

ιαφάνειες παρουσίασης #5 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ http://www.corelab.ece.ntua.gr/courses/programming/ ιδάσκοντες: Στάθης Ζάχος (zachos@cs.ntua.gr) Νίκος Παπασπύρου (nickie@softlab.ntua.gr) ιαφάνειες παρουσίασης #5!Παρουσίαση

Διαβάστε περισσότερα