Pazcal. Pazcal.

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

Download "Pazcal. Pazcal."

Transcript

1

2

3 Pazcal Pazcal

4

5 Pazcal

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++; Pazcal Pazcal Pazcal Pazcal = + <pazcal> <pazcal>

19 Pazcal WRITE printf int char bool REAL Pazcal double Pazcal novice.softlab. ntua.gr Pazcal.pzc edit hello.pzc hello.pzc Pazcal pzc hello.pzc -o hello hello -o hello a.out hello.exec hello

20 ./hello hello.exec run hello.exec Pazcal PROGRAM hello1a () WRITELN( hello world ); PROGRAM hello1c () WRITE( hello ); WRITELN( world ); PROC hello () WRITELN( hello world ); PROGRAM hello2 () hello(); hello(); hello(); hello(); const int n = 20; int i; PROC num_hello () WRITELN(i, hello world ); PROGRAM hello4 () FOR(i, 1 TO n) num_hello(); PROGRAM hello1b () WRITELN( hello, world ); PROGRAM hello1d () WRITE( hello, world ); WRITELN(); PROC hello () WRITELN( hello world ); PROGRAM hello3 () int i; FOR(i, 1 TO 20) hello(); PROC hello () WRITELN( hello world ); PROGRAM hello5 () int i, n; WRITE( Give number of greetings, then press <enter>: ); n = READ_INT(); FOR(i, 1 TO n) hello();

21 PROC hello () WRITELN( hello world ); PROGRAM hello6 () int i, n; 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();

22

23 Pazcal PROGRAM example1() REAL r, a; WRITE( Give the radius: ); r = READ_REAL(); a = * r * r; WRITELN( The area is:, a); Pazcal

24 // /* */ έντονη PROGRAM REAL WRITE int Pazcal r a REAL WRITE( Give the radius: ) Give the radius: r = READ_REAL(); r a = * r * r; r a a = πr 2 r a WRITELN( The area is:, a); The area is: a

25 program_header PROGRAM identifier ( ) PROGRAM george() PROGRAM programma1() PROGRAM to_programma_mou() block local_declaration statement

26 PROGRAM example1() REAL r, a; WRITE( Give the radius: ); r = READ_REAL(); a = * r * r; WRITELN( The area is:, a); r a r r = READ_REAL(); a a = * r * r; a r REAL r, a; r a

27 REAL Pazcal Pazcal 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 bool true false bool passed passed true passed false Pazcal ; Pazcal

28 // Pazcal

29 Pazcal program program_header block Pazcal Pazcal PROGRAM program PROGRAM int REAL WRITE while do return

30 _ a b z Χ bob ΑbF SKOYLIKOMYRMINGOTRYPA A98 M6_7L 2ND Μ.Α,Ι Ε+4 ΒΑ(3) int Pazcal

31 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;

32 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 := Pazcal int x, counter = 6, z; REAL pi = ; bool done = true; x z

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

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

35 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);

36 WRITE( x ); x x WRITE(x); x x 6 Pazcal 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

37 Pazcal PROGRAM example1() 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

38 PROGRAM operation() int first, second, result; char operator; first = READ_INT(); operator = getchar(); second = READ_INT(); 8+9 The result is: The result is: -99 6*7 The result is: 42 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); first = READ_INT(); 102 first operator = getchar(); - operator second = READ_INT(); 201 second READ_INT READ_REAL

39 \n Pazcal 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 addition1() 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

40 READ_INT First: READ_INT Second: WRITELN WRITELN First: Second: Second: Result: SKIP_LINE PROGRAM addition2() 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

41 stdin INPUT OUTPUT file-to-read-from.txt file-to-write-to.txt PROGRAM redirection () 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 + - *

42 Pazcal int REAL bool true false Pazcal int REAL Pazcal Pazcal + - * / % MOD int REAL % MOD int int REAL int REAL * * *

43 42 17 Pazcal / % 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

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

45 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)

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

47 x+2*y x+(2*y) (x+2)*y Pazcal * / % 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;

48 == < > <= >=!= ==!=! <> true false false < true if while do... while state = 5 > 1; recent = year >= 2010; 5 > state true recent year Pazcal 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

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

50 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 <= >=

51 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);

52 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>

53 int main () int first, second; 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;

54

55

56 i block local_declaration statement

57 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

58 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

59 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

60 : 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 NEXT switch_stmt switch ( expression ) case constant switch_clause default : switch_clause switch_clause statement break_stmt NEXT_stmt break_stmt NEXT_stmt break ; NEXT ;

61 switch if... else if... else if... 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; NEXT switch switch break switch day month remaining = 0; switch (month) case 1: remaining = remaining + 31; NEXT;

62 case 2: remaining = remaining + 28; NEXT; case 3: remaining = remaining + 31; NEXT; case 4: remaining = remaining + 30; NEXT; case 5: remaining = remaining + 31; NEXT;... case 11: remaining = remaining + 30; NEXT; case 12: remaining = remaining + 31; NEXT; remaining = remaining - day + 1; NEXT break switch Pazcal FOR while do... while FOR Pazcal FOR_stmt FOR ( identifier, range ) statement range expression TO DOWNTO expression STEP expression

63 PROGRAM counting () 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 powers_of_two () int i, p = 1; FOR (i, 0 TO 10) WRITELN(2, ^, i, =, p); p = p * 2; 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 Pazcal -10 TO = 10 ( 10) + 1 lower TO upper lower upper upper lower DOWNTO = upper DOWNTO lower lower upper upper lower TO 20 STEP

64 7 1, 4, 7, 10, 13, 16, DOWNTO 50 STEP , 95, 90, 85, 80, 75, 70, 65, 60, 55, 50 FOR TO DOWNTO TO DOWNTO STEP FOR FOR 5 TO 3 1 DOWNTO 10 n n 0! = 1 n! = n n n!

65 PROGRAM factorial () int n, p, i; WRITE( Give n: ); n = READ_INT(); Give n: 1 1! = 1 Give n: 4 4! = 24 p = 1; FOR (i, 2 TO n) p = p * i; WRITELN(n,! =, p); 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 Pazcal INT_MIN INT_MAX INT_MIN = 2 31 = INT_MAX = =

66 FOR (i, 1 TO 5) FOR (j, 1 TO 10) i j PROGRAM star_rectangle () int i, j; FOR (i, 1 TO 5) FOR (j, 1 TO 10) WRITE( * ); WRITELN(); ********** ********** ********** ********** ********** FOR (j, 1 TO 2*i) PROGRAM star_triangle () 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)

67 n n > 0 n = 3 n = 6 n = 17 n = 42 PROGRAM domino2 () 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

68 WRITELN(i, j); PROGRAM domino1 () 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

69 PROGRAM domino0 () int n, count; WRITE( Give n: ); n = READ_INT(); count = (n+2)*(n+1)/2; WRITELN( Total, count, pieces. ); Give n: 6 Total 28 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 + *

70 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(...)

71 while while while_stmt while ( expression ) statement while while FOR powers_of_two PROGRAM powers_of_two_2 () int i = 0, p = 1; while (p <= ) WRITELN(2, ^, i, =, p); p = p * 2; i = i + 1; 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 =

72 while FOR FOR Pazcal while PROGRAM line_punishment () 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 another_infinite_loop () int x = 17; while (x > 0) x = (x + 42) % 2012; x x 17 x (x + 42) % 2012 x x line_punishment another_infinite_loop Pazcal

73 while while FOR 1 PROGRAM primes () 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

74 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);

75 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 gcd () int a, b; WRITE( Give a: ); a = READ_INT(); WRITE( Give b: ); b = READ_INT(); WRITE( gcd(, a,,, b, ) = ); Give a: 42 Give b: 24 gcd(42, 24) = 6 Give a: Give b: gcd(14994, 51870) = 42 a = abs(a); b = abs(b); 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 (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

76 ... Pazcal 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,

77 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 fibonacci () int n, current, previous, next; 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: Give n: Break do... while (true) sum number sum symbol + symbol = while (symbol == + )

78 + = do symbol = getchar(); while (symbol!= + AND symbol!= = ); PROGRAM bigsum () 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)

79 p 10, 000 p (17p) 4217 = 42 1, 000 PROGRAM prime_conj () 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

80 FOR break Counterexample: , 443 = 2, 387, 531 = 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 ); 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 );

81 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) printf( fourth quadrant\n ); else 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;

82 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 i, j; for (i=1; i<=5; i++) for (j=1; j<=10; j++) printf( * ); printf( \n ); return 0; #include <stdio.h> int main () int i, j;

83 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); return 0; #include <stdio.h> int main () int n, count;

84 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; #include <stdio.h> int main () int p, t; printf( 2\n );

85 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> int main () int n, current, previous, next;

86 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) t = 3;

87 while (p % t!= 0) t += 2; if (p!= t) continue; if ((17 * p) % 4271 == 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 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) 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 )

88 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 begin writeln(2, ^, i, =, p); p := p * 2 end end. program star_rectangle (output); var i, j : integer;

89 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. 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

90 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 end. p := 1; i := 0; while p <= do begin writeln(2, ^, i, =, p); p := p * 2; i := i + 1; end program line_punishment (output); begin end. while true do writeln( I must not tell lies ) program another_infinite_loop () var x : integer; begin end. x := 17; while x > 0 do x := (x + 42) mod 2012 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)

91 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; writeln(a+b) end.... 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) 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.

92 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 4271 = 42) then begin writeln( Counterexample:, p); done := true end; p := p+2 end end.

93 Pazcal module const_def type_def declaration definition program

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

95 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 Pazcal int REAL char bool Pazcal sqrt

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

97 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 tree_postcard () 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 Pazcal line line border b

98 n inside n m outside m o line n + 2m + 2 line i Pazcal p42 proc_example a b c p42 y b

99 c b c p17 a 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; WRITELN(a, b, c, x); p42(b, x); WRITELN(a, b, c, x); PROGRAM proc_example () a = 1; b = 2; c = 3; p17(b, c); p42(c, a); a b c p17 a x b p42 y b c p42 y b c

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

101 return 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 gcd_func () int x, y; WRITE( Give x: ); x = READ_INT(); WRITE( Give y: ); y = READ_INT(); WRITELN( gcd(, x,,, y, ) =, gcd(x, y));

102

103 monthly_income incomebeforetaxes PROGRAM... PROC... FUNC... if... else while... FOR... do while...

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

105

106

107 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];

108 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]

109 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 linsearch () 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( Δεν το βρήκα );

110 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 linsearch () 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;

111 if (i < n) WRITELN( To βρήκα στη θέση, i); else WRITELN( Δεν το βρήκα ); n an + b a b n O(n) a 2 n + b O( n) n n x n 2 n n 2 n PROGRAM binsearch () 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( Δεν το βρήκα );

112 n = x = 37 x first last mid a[0] a[1] a[9] Το βρήκα στη θέση 6 x = 42 Δεν το βρήκα int a[10][16];

113 a[i][j] a[i, j] Pazcal FOR (i, 0 TO 9) FOR (j, 0 TO 15) a[i][j] = READ_INT(); 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 =

114 Pazcal 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]; n n n 2 1 n n 1, 2,... n 2 1

115 PROGRAM magic () int a[19][19], i, j, k, h, m, n; WRITE( Give an odd number (1-15), n = ); n = READ_INT(); 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_t appricot, apple, orange, pear, banana ; enum fruit_t fruit;... fruit = apple;... if (fruit == banana)... enum color white, red, blue, green, yellow, black, purple; enum sex male, female; enum day_t mon, tues, wednes, thurs, fri, satur, sun; enum operator plus, minus, times, divide; enum boolean my_false, my_true; enum

116 enum color c = green; enum day_t today = monday; enum typedef enum day_t day; day d = fri;

117 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

118 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 old, new = 1; do old = new; new = (old + x/old) / 2; while (NOT ( )); return new; n=0; n=n+1; while (n <= 20) new * new == x a = b a b = 0 a b < ϵ a b < ϵ fabs(new * new - x) < epsilon fabs(new * new - x) / new < epsilon fabs(new - old) < epsilon fabs(new - old) / new < epsilon

119 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;

120

121 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

122 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)

123 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)

124 Pazcal 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)

125 Pazcal

126 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;

127 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

128 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;

129 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 nest () 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

130

131 Pazcal Pazcal WRITE Pazcal Pazcal #include <stdio.h> int main () printf( Hello world!\n ); return 0; PROGRAM hello () WRITELN( Hello world! ); Pazcal Pazcal int REAL char bool int char

132 float double signed unsigned short long signed int 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 Pazcal PROGRAM PROC FUNC Pazcal FUNC int f (...)... FUNC int f (...)...

133 void void p (...)... PROC p (...)... main int int main ()... return 0; PROGRAM example ()... Pazcal Pazcal 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);

134 = 1 -= 1 i++; ++i; i--; --i; i = i+1; i = i-1; 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 Pazcal for while FOR Pazcal for for ( ; ; )

135 true for (;;)... while (true)... for FOR Pazcal 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 Pazcal n = 3; for (i=1; i<=n; i++) n++; n = 3; FOR (i, 1 TO n) n = n+1; for i n FOR Pazcal n, for for (i=1, s=0; i <= 10; i++) s += i; for (i=1, j=100; i <= j; i++, j--) printf( %d %d\n, i, j); for for (int i=0; i < 10; i++)... i printf #include <stdio.h>

136 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 printf printf( %c %d %c %d\n, a, 97, 97, a ); a 97 a 97 #include <iostream> using namespace std; << cout

137 cout << Hello\n ; cout << Hello << endl; cout << i+1; cout << i << << r; cout << c; WRITELN( Hello ); WRITE(i+1); WRITE(i, r); WRITE(c); scanf #include <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 Pazcal while (getchar()!= \n ); >> cin cin >> i; cin >> r; cin >> i >> r; i = READ_INT(); r = READ_REAL(); c = getchar(); c = cin.get(); c = getchar(); SKIP_LINE Pazcal cin.ignore(numeric_limits<streamsize>::max(), \n );

138 p *p int *p; *p = 42; WRITELN(*p + 1); NULL int *p;... p = NULL; WRITELN(*p); & int x = 17, *p; p = &x; * WRITELN(*p); *p = 42; WRITELN(x); PROGRAM example () 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);

139 Pazcal 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 simplify_fraction () 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

140 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; Pazcal int a[3] = 7, 6, 42; int *p; p a[0] p = &(a[0]); p = &a; p = a; a[i] *(a+i)

141 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, a); return 0;

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

143 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;

144 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

145 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 =

146 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;

147 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

148 merge b 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

149 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

150 x 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)

151

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

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

154

155

156

157 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;

158 READ_INT Pazcal 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

159 FUNC bool isletter (char c) return c >= a AND c <= z OR c >= A AND c <= Z ; 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);

160 FUNC char tolower (char ch) if (ch >= A AND ch <= Z ) return ch - A + a ; else return ch; 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 );

161 ... 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! );

162

163 \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 <string.h>

164 strlen(s) s n = strlen( ABCDEF ); strstr(s, key) NULL 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 ); <

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

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

167 complex 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_t int i; REAL r; ; union number_t n; r n.r = 1.2;

168 printf( %lf\n, n.r); i n.i = 42; printf( %d\n, n.i); r printf( %lf\n, n.r); FILE * FILE FILE

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

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

171 fclose(f); fclose(g); return 0; f g while f \n argc argv main #include <stdio.h> int main (int argc, char *argv[]) int i; for (i=1; i<argc; i++) FILE *f; int chars = 0, lines = 0, c; if ((f = fopen(argv[i], rt )) == NULL) return 1; while ((c = fgetc(f))!= EOF) chars++; if (c == \n ) lines++; fclose(f); printf( %d chars, %d lines, %s\n, chars, lines, argv[i]); return 0; fread fwrite

172 #include <stdio.h> int main (int argc, char * argv[]) FILE *fin, *fout; fin = fopen(argv[1], rb ); if (fin == NULL) return 1; fout = fopen(argv[2], wb ); if (fout == NULL) return 2; while (!feof(fin)) unsigned char buffer[1000]; unsigned int count; count = fread(buffer, 1, 1000, fin); fwrite(buffer, 1, count, fout); fclose(fin); fclose(fout); return 0;

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

PZhelp. PZhelp. https://courses.softlab.ntua.gr/progintro/ PZhelp PZhelp https://courses.softlab.ntua.gr/progintro/ ... 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 73 74

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

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

Εισαγωγή στον προγραμματισμό σε Pazcal Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Διδάσκοντες: Στάθης Ζάχος (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)

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

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

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

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

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

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

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

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

Διαφάνειες παρουσιάσεων ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ 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) Δώρα Σούλιου Πέτρος

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

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

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

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

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

Διαφάνειες παρουσιάσεων ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ 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)

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

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)

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

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

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

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

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

Διαφάνειες παρουσιάσεων ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ 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)

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

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

Διαφάνειες παρουσιάσεων ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ 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)

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

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)

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

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

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

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

#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 πίνακας

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

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

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

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

Προγραμματισμός Η/Υ (ΤΛ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) Νίκος Παπασπύρου

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ιαφάνειες παρουσίασης #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; } Προαπαιτούµενη Κάθε οµάδα θα πρέπει να εµπλουτίσει το ίδιο πρόγραµµα, που έκανε την προηγούµενη φορά, προσθέτοντας στην κλάση του έναν ή περισσότερους υπερφορτωµένους τελεστές (όπως , ++, +,-,+=..)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Η εντολή 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 Μαθηματικές συναρτήσεις Λέξεις κλειδιά στη

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

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

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

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

ΛΥΣΕΙΣ ΘΕΜΑΤΩΝ ΤΕΛΙΚΗΣ ΦΑΣΗΣ Οι παρακάτω λύσεις είναι απολύτως ενδεικτικές

ΛΥΣΕΙΣ ΘΕΜΑΤΩΝ ΤΕΛΙΚΗΣ ΦΑΣΗΣ Οι παρακάτω λύσεις είναι απολύτως ενδεικτικές 21 ος ΠΑΝΕΛΛΗΝΙΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΛΥΣΕΙΣ ΘΕΜΑΤΩΝ ΤΕΛΙΚΗΣ ΦΑΣΗΣ Οι παρακάτω λύσεις είναι απολύτως ενδεικτικές Θέμα 1 ο : HydroloGIS C++ Γαϊτανίδης Απόστολος Ιδ. ΓΕΛ Εκπ/τηρίων Μαντουλίδη LANG:

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

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

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

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

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

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

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

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

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

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

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');

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

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)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: ΕΠΛ 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 Είσοδος/ Έξοδος Σε σχεδόν όλα τα προγράµµατα πρέπει να πάρουµε κάποια δεδοµένα και να δώσουµε

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

Ενδεικτική περιγραφή μαθήματος

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

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

Κεφάλαιο 2.1-2.4: Εισαγωγή στην C: (Διαλέξεις 3-4)

Κεφάλαιο 2.1-2.4: Εισαγωγή στην C: (Διαλέξεις 3-4) Κεφάλαιο 2.1-2.4: Εισαγωγή στην C (Διαλέξεις 3-4) Περιεχόμενα Εισαγωγή στην C: Σύνταξη και Σημασιολογία σχόλια μεταβλητές και σταθερές τύποι δεδομένων Μετά αυτές τις δυο διαλέξεις θα μπορείτε να γράψετε

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

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

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

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

Προγραμματισμός σε C. Πράξεις με bits (bitwise operators)

Προγραμματισμός σε C. Πράξεις με bits (bitwise operators) Προγραμματισμός σε C Πράξεις με bits (bitwise operators) Όλοι οι τελεστές για πράξεις με bits Τελεστής Περιγραφή x & y x y AND bit-προς-bit OR bit-προς-bit x ^ y XOR bit-προς-bit ~ x Αντιστροφή των bits

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

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

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

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

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

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

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

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

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

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

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

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

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

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)

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

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

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

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

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

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

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

Περιεχόμενα. Πρόλογος... 17

Περιεχόμενα. Πρόλογος... 17 Περιεχόμενα Πρόλογος... 17 Κεφάλαιο 1: Εισαγωγή... 19 Πώς να διαβάσετε αυτό το βιβλίο... 20 Η γλώσσα C Ιστορική αναδρομή... 22 Τα χαρακτηριστικά της C... 23 C Μια δομημένη γλώσσα... 23 C Μια γλώσσα για

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

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

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

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

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

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

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

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

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

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

Προγραμματισμός Ι (ΗΥ120)

Προγραμματισμός Ι (ΗΥ120) Προγραμματισμός Ι (ΗΥ120) Διάλεξη 3: Είσοδος / Έξοδος, Βασικοί Τύποι, Δήλωση Μεταβλητών Βασικοί τύποι της C 2 Όνομα Τύπος / Κωδικοποίηση Μέγεθος (bytes) char Χαρακτήρας 1 int Ακέραιος 2 ή 4 (*) float Πραγματικός

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

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

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

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

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

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

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

Προγραμματισμός Υπολογιστών με C++

Προγραμματισμός Υπολογιστών με C++ Προγραμματισμός Υπολογιστών με C++ ( 2012-13 ) 19η διάλεξη Ίων Ανδρουτσόπουλος http://www.aueb.gr/users/ion/ 1 Τι θα ακούσετε σήμερα Βασικές διαφορές της C από τη C++. Απλά παραδείγματα προγραμμάτων C.

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