Pazcal. Pazcal.
|
|
- Ευρώπη Μελετόπουλος
- 7 χρόνια πριν
- Προβολές:
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/ ... 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
Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Διδάσκοντες: Στάθης Ζάχος (zachos@cs.ntua.gr) Νίκος Παπασπύρου (nickie@softlab.ntua.gr)
Διαβάστε περισσότεραΠροχωρημένες έννοιες προγραμματισμού σε Pazcal
Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Διδάσκοντες: Στάθης Ζάχος (zachos@cs.ntua.gr) Νίκος Παπασπύρου (nickie@softlab.ntua.gr)
Διαβάστε περισσότεραΠροχωρημένες έννοιες προγραμματισμού σε C
Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Διδάσκοντες: Στάθης Ζάχος (zachos@cs.ntua.gr) Νίκος Παπασπύρου (nickie@softlab.ntua.gr)
Διαβάστε περισσότεραΕπεξεργασία κειμένου και συμβολοσειρών σε C
Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Διδάσκοντες: Στάθης Ζάχος (zachos@cs.ntua.gr) Νίκος Παπασπύρου (nickie@softlab.ntua.gr)
Διαβάστε περισσότεραΔομές δεδομένων ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ. Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών
Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Δομές δεδομένων Διδάσκοντες: Στάθης Ζάχος (zachos@cs.ntua.gr) Νίκος Παπασπύρου
Διαβάστε περισσότερα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. Σκοπός του μαθήματος
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ 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 (β)
ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ 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. Σκοπός του μαθήματος
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ 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. Σκοπός του μαθήματος
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ 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. Σκοπός του μαθήματος
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ 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. Σκοπός του μαθήματος
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ 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. Σκοπός του μαθήματος
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ https://courses.softlab.ntua.gr/progintro/ Εισαγωγή Διδάσκοντες: Στάθης Ζάχος (zachos@cs.ntua.gr) Νίκος Παπασπύρου (nickie@softlab.ntua.gr) Δημήτρης Φωτάκης (fotakis@cs.ntua.gr)
Διαβάστε περισσότερα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
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ http://www.corelab.ece.ntua.gr/courses/programming/ ιδάσκοντες: Στάθης Ζάχος (zachos@cs.ntua.gr) Νίκος Παπασπύρου (nickie@softlab.ntua.gr) ιαφάνειες παρουσίασης
Διαβάστε περισσότεραΕισαγωγή. Διαφάνειες παρουσιάσεων /13. Σκοπός του μαθήματος
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ http://courses.softlab.ntua.gr/progintro/ Διδάσκοντες: Στάθης Ζάχος (zachos@cs.ntua.gr) Νίκος Παπασπύρου (nickie@softlab.ntua.gr) Δημήτρης Φωτάκης (fotakis@cs.ntua.gr)
Διαβάστε περισσότεραΕισαγωγή. Διαφάνειες παρουσιάσεων 18/1/13. Σκοπός του μαθήματος
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ http://courses.softlab.ntua.gr/progintro/ Διδάσκοντες: Στάθης Ζάχος (zachos@cs.ntua.gr) Νίκος Παπασπύρου (nickie@softlab.ntua.gr) Δημήτρης Φωτάκης (fotakis@cs.ntua.gr)
Διαβάστε περισσότεραΕισαγωγή. Διαφάνειες παρουσιάσεων /14. Σκοπός του μαθήματος
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ http://courses.softlab.ntua.gr/progintro/ Διδάσκοντες: Στάθης Ζάχος (zachos@cs.ntua.gr) Νίκος Παπασπύρου (nickie@softlab.ntua.gr) Δημήτρης Φωτάκης (fotakis@cs.ntua.gr)
Διαβάστε περισσότεραΕισαγωγή. Διαφάνειες παρουσιάσεων 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. Σκοπός του μαθήματος
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ 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
Ευρετήριο Η γλώσσα 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
ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ http://www.corelab.ece.ntua.gr/courses/programming/ ιδάσκοντες: Στάθης Ζάχος (zachos@cs.ntua.gr) Νίκος Παπασπύρου (nickie@softlab.ntua.gr) ιαφάνειες παρουσίασης #7!Πίνακες
Διαβάστε περισσότεραΠρογραμματισμός Η/Υ (ΤΛ2007 )
Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε.Ι. Κρήτης Προγραμματισμός Η/Υ (ΤΛ2007 ) Δρ. Μηχ. Νικόλαος Πετράκης (npet@chania.teicrete.gr) Πέμπτη (5 η ) τρίωρη διάλεξη. Ιστοσελίδα Μαθήματος: https://eclass.chania.teicrete.gr/
Διαβάστε περισσότεραιαφάνειες παρουσίασης #5
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ http://www.corelab.ece.ntua.gr/courses/programming/ ιδάσκοντες: Στάθης Ζάχος (zachos@cs.ntua.gr) Νίκος Παπασπύρου (nickie@softlab.ntua.gr) ιαφάνειες παρουσίασης
Διαβάστε περισσότεραΠροέλευση της Pazcal ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ. Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών
Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Προέλευση της Pazcal Διδάσκοντες: Στάθης Ζάχος (zachos@cs.ntua.gr) Νίκος Παπασπύρου
Διαβάστε περισσότεραΔομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων
Δομημένος Προγραμματισμός Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 2 Διαχείριση
Διαβάστε περισσότεραΠρογραμματισμός Ι. Είσοδος/Έξοδος. Δημήτρης Μιχαήλ. Ακ. Έτος 2009-2010. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο
Προγραμματισμός Ι Είσοδος/Έξοδος Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2009-2010 Είσοδος/Έξοδος Μέχρι τώρα όποτε θέλαμε να διαβάσουμε χρησιμοποιούσαμε πάντα
Διαβάστε περισσότεραΔομές ελέγχου. ομαδοποίηση εντολών εκτέλεση εντολών υπό συνθήκη επανάληψη εντολών
Δομές ελέγχου Τροποποιούν τη σειρά εκτέλεσης των εντολών του προγράμματος Οι εντολές φυσιολογικά εκτελούνται κατά σειρά από την αρχή μέχρι το τέλος Με τις δομές ελέγχου επιτυγχάνεται: ομαδοποίηση εντολών
Διαβάστε περισσότεραιαφάνειες παρουσίασης #8
ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ http://www.corelab.ece.ntua.gr/courses/programming/ ιδάσκοντες: Στάθης Ζάχος (zachos@cs.ntua.gr) Νίκος Παπασπύρου (nickie@softlab.ntua.gr) ιαφάνειες παρουσίασης #8!Ταξινόµηση!Τεχνολογία
Διαβάστε περισσότεραιαφάνειες παρουσίασης #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 Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: - Στοιχειώδης Προγραμματισμός - Προγραμματισμός με Συνθήκες - Προγραμματισμός με Βρόγχους
Διαβάστε περισσότεραΜεταγλωττιστές 2019 Θέμα εργασίας
Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Τομέας Τεχνολογίας Πληροφορικής & Υπολογιστών Εργαστήριο Τεχνολογίας Λογισμικού Μεταγλωττιστές 0 Θέμα εργασίας ( ) https://courses.softlab.ntua.gr/compilers/
Διαβάστε περισσότεραΕισαγωγή στον Προγραµµατισµό. Διάλεξη 2 η : Βασικές Έννοιες της γλώσσας προγραµµατισµού C Χειµερινό Εξάµηνο 2011
Εισαγωγή στον Προγραµµατισµό Διάλεξη 2 η : Βασικές Έννοιες της γλώσσας προγραµµατισµού C Χειµερινό Εξάµηνο 2011 Hello World /* Αρχείο hello.c * Εµφανίζει στην οθόνη το * µήνυµα hello world */ #include
Διαβάστε περισσότεραιαφάνειες παρουσίασης #4
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ http://www.corelab.ece.ntua.gr/courses/programming/ ιδάσκοντες: Στάθης Ζάχος (zachos@cs.ntua.gr) Νίκος Παπασπύρου (nickie@softlab.ntua.gr) ιαφάνειες παρουσίασης
Διαβάστε περισσότεραΠ. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7
Π. Σταθοπούλου pstath@ece.upatras.gr ή pstath@upatras.gr Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7 Φροντιστήριο : ευτέρα 11πµ-12πµ ΗΛ4 ❶ Προετοιµασία για το 1 ο Εργαστήριο
Διαβάστε περισσότεραΔιάλεξη 18η: Διαχείρηση Αρχείων
Διάλεξη 18η: Διαχείρηση Αρχείων Τμήμα Επιστήμης Υπολογιστών, Πανεπιστήμιο Κρήτης Εισαγωγή στην Επιστήμη Υπολογιστών Πρατικάκης (CSD) Αρχεία CS100, 2015-2016 1 / 24 Η βιβλιοθήκη Εισόδου/Εξόδου Στο stdioh
Διαβάστε περισσότεραΑρχεία & Ρεύματα ΑΡΧΕΙΑ & ΡΕΥΜΑΤΑ. Γεώργιος Παπαϊωάννου (2013-14) gepap@aueb.gr
ΑΡΧΕΙΑ & ΡΕΥΜΑΤΑ Γεώργιος Παπαϊωάννου (2013-14) gepap@aueb.gr Περιγραφή: Τύποι αρχείων Ρεύματα Άνοιγμα ρευμάτων Εγγραφή και ανάγνωση δεδομένων προς/από ένα ρεύμα Διαχείριση και κλείσιμο ρευμάτων Παραδείγματα
Διαβάστε περισσότεραΠρογραμματισμός Η/Υ (ΤΛ2007 )
Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε.Ι. Κρήτης Προγραμματισμός Η/Υ (ΤΛ2007 ) Δρ. Μηχ. Νικόλαος Πετράκης (npet@chania.teicrete.gr) Ιστοσελίδα Μαθήματος: https://eclass.chania.teicrete.gr/ Εξάμηνο: Εαρινό 2014-15
Διαβάστε περισσότεραιαφάνειες παρουσίασης #8
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ http://www.corelab.ece.ntua.gr/courses/programming/ ιδάσκοντες: Στάθης Ζάχος (zachos@cs.ntua.gr) Νίκος Παπασπύρου (nickie@softlab.ntua.gr) ιαφάνειες παρουσίασης
Διαβάστε περισσότεραΔομημένος Προγραμματισμός (ΤΛ1006)
Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κρήτης Σχολή Εφαρμοσμένων Επιστημών Τμήμα Ηλεκτρονικών Μηχανικών Τομέας Αυτοματισμού και Πληροφορικής Δομημένος Προγραμματισμός (ΤΛ1006) Δρ. Μηχ. Νικόλαος Πετράκης, Καθηγητής
Διαβάστε περισσότεραΑΝΑΛΥΤΙΚΟ ΠΡΟΓΡΑΜΜΑ ΚΑΙ ΕΞΕΤΑΣΤΕΑ ΥΛΗ. ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Με τις Γλώσσες Προγραμματισμού Pascal, C, C++, Java
ΑΝΑΛΥΤΙΚΟ ΠΡΟΓΡΑΜΜΑ ΚΑΙ ΕΞΕΤΑΣΤΕΑ ΥΛΗ ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Με τις Γλώσσες Προγραμματισμού Pascal, C, C++, Java 1 ο & 2 o ΕΠΙΠΕΔΟ Αναλυτικό Πρόγραμμα Εξετάσεων Σελίδα: 1/20 Απρίλιος 2011 Γλωσσών Προγραμματισμού
Διαβάστε περισσότεραΠρογραμματισμός Η/Υ (ΤΛ2007 )
Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε.Ι. Κρήτης Προγραμματισμός Η/Υ (ΤΛ2007 ) Δρ. Μηχ. Νικόλαος Πετράκης (npet@chania.teicrete.gr) Ιστοσελίδα Μαθήματος: https://eclass.chania.teicrete.gr/ Εξάμηνο: Εαρινό 2015-16
Διαβάστε περισσότεραιαφάνειες παρουσίασης #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; }
Προαπαιτούµενη Κάθε οµάδα θα πρέπει να εµπλουτίσει το ίδιο πρόγραµµα, που έκανε την προηγούµενη φορά, προσθέτοντας στην κλάση του έναν ή περισσότερους υπερφορτωµένους τελεστές (όπως , ++, +,-,+=..)
Διαβάστε περισσότεραιαφάνειες παρουσίασης #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)
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: Δημιουργία προγραμμάτων Παράδειγμα 1: Να γραφεί πρόγραμμα που να δέχεται ως είσοδο κείμενο, να απαριθμεί τις εμφανίσεις των ψηφίων 0-9, τα λευκά διαστήματα και τους υπόλοιπους χαρακτήρες
Διαβάστε περισσότεραΗ εντολή if-else. Η απλή μορφή της εντολής if είναι η ακόλουθη: if (συνθήκη) { Η γενική μορφή της εντολής ifelse. εντολή_1; εντολή_2;..
Επιλογή - Επανάληψη Η εντολή if-else Ο τελεστής παράστασης συνθήκης H εντολή switch Η εντολές for και while Η εντολή do-while Η εντολές break - continue - goto Μαθηματικές συναρτήσεις Λέξεις κλειδιά στη
Διαβάστε περισσότεραΣτην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: ΕΠΛ 131 Αρχές Προγραµµατισµού I 3-2
Εισαγωγή στην C Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Σύνταξη και Σηµασιολογία της C Σχολιασµός Μεταβλητές / Σταθερές Τύποι εδοµένων και Τελεστές Βιβλίο µαθήµατος: Chapter 2,, Sec.
Διαβάστε περισσότεραΛΥΣΕΙΣ ΘΕΜΑΤΩΝ ΤΕΛΙΚΗΣ ΦΑΣΗΣ Οι παρακάτω λύσεις είναι απολύτως ενδεικτικές
21 ος ΠΑΝΕΛΛΗΝΙΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΛΥΣΕΙΣ ΘΕΜΑΤΩΝ ΤΕΛΙΚΗΣ ΦΑΣΗΣ Οι παρακάτω λύσεις είναι απολύτως ενδεικτικές Θέμα 1 ο : HydroloGIS C++ Γαϊτανίδης Απόστολος Ιδ. ΓΕΛ Εκπ/τηρίων Μαντουλίδη LANG:
Διαβάστε περισσότεραΕισαγωγή στον Προγραμματισμό
Εισαγωγή στον Προγραμματισμό Συναρτήσεις Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Συναρτήσεις Ως τώρα γράφαμε όλα τα προγράμματα μας μέσα στην main..1
Διαβάστε περισσότεραΦροντιςτήριο. 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; 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 Άρης Παγουρτζής (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++ Το πρώτο πρόγραμμα //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 1 PASCAL Η PASCAL σχεδιάστηκε από τον Worth το 1968 στη Ζυρίχη, αρχικά σαν εργαλείο για τη διδασκαλία προγραμματισμού. Είναι γλώσσα για σειριακό προγραμματισμό. 2 Απλή και εύκολη
Διαβάστε περισσότεραΠίνακες. FORTRAN και Αντικειμενοστραφής Προγραμματισμός
Πίνακες (i) Δομημένη μεταβλητή: αποθηκεύει μια συλλογή από τιμές δεδομένων Πίνακας (array): δομημένη μεταβλητή που αποθηκεύει πολλές τιμές του ίδιου τύπου INTEGER:: pinakas(100)ή INTEGER, DIMENSION(100)::pinakas
Διαβάστε περισσότεραΕισαγωγή στην πληροφορική
Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Αγρονόμων Τοπογράφων Μηχανικών Εισαγωγή στην πληροφορική Βασίλειος Βεσκούκης Δρ. Ηλεκτρολόγος Μηχανικός & Μηχανικός Υπολογιστών ΕΜΠ v.vescoukis@cs.ntua.gr Η γλώσσα προγραμματισμού
Διαβάστε περισσότεραΕΡΓΑΣΤΗΡΙΟ 1 - ΣΗΜΕΙΩΣΕΙΣ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ 2017-2018 ΧΕΙΜΕΡΙΝΟ ΕΞΑΜΗΝΟ ΜΑΘΗΜΑ: ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ Εισαγωγή ΕΡΓΑΣΤΗΡΙΟ 1 - ΣΗΜΕΙΩΣΕΙΣ Ένα πρόγραμμα σε C περιλαμβάνει μια ή περισσότερες συναρτήσεις
Διαβάστε περισσότεραΣτην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: ΕΠΛ 131 Αρχές Προγραµµατισµού I 4-2
Είσοδος / Έξοδος Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Συνάρτηση εξόδου printf Συνάρτηση εισόδου scanf Βιβλίο µαθήµατος: Chapter 2,, Sec. 3 & 6 ΕΠΛ 131 Αρχές Προγραµµατισµού I 4-1 Είσοδος
Διαβάστε περισσότεραΚεφάλαιο 2.6: Είσοδος / Έξοδος εδοµένων, Μορφοποίηση εδοµένων Εξόδου. ( ιάλεξη 7) ιδάσκων: ηµήτρης Ζεϊναλιπούρ
Κεφάλαιο 2.6: Είσοδος / Έξοδος εδοµένων, Μορφοποίηση εδοµένων Εξόδου ( ιάλεξη 7) ιδάσκων: ηµήτρης Ζεϊναλιπούρ 1 Είσοδος/ Έξοδος Σε σχεδόν όλα τα προγράµµατα πρέπει να πάρουµε κάποια δεδοµένα και να δώσουµε
Διαβάστε περισσότεραΕνδεικτική περιγραφή μαθήματος
ΜΑΘΗΜΑ: ΔΙΔΑΣΚΩΝ: ΤΜΗΜΑ: Προγραμματισμός Η/Υ Συνδουκάς Δημήτριος Διοίκησης Επιχειρήσεων (Γρεβενά) Ενδεικτική περιγραφή μαθήματος 1. Εισαγωγή: Εισαγωγή στον προγραμματισμό, γλώσσες προγραμματισμού, μεταγλωτιστές.
Διαβάστε περισσότεραΚεφάλαιο 2.1-2.4: Εισαγωγή στην C: (Διαλέξεις 3-4)
Κεφάλαιο 2.1-2.4: Εισαγωγή στην C (Διαλέξεις 3-4) Περιεχόμενα Εισαγωγή στην C: Σύνταξη και Σημασιολογία σχόλια μεταβλητές και σταθερές τύποι δεδομένων Μετά αυτές τις δυο διαλέξεις θα μπορείτε να γράψετε
Διαβάστε περισσότεραΚεφάλαιο 2.6: Είσοδος / Έξοδος Δεδομένων, Μορφοποίηση Δεδομένων Εξόδου. (Διάλεξη 7) Είσοδος/ Έξοδος
Κεφάλαιο 2.6: Είσοδος / Έξοδος Δεδομένων, Μορφοποίηση Δεδομένων Εξόδου (Διάλεξη 7) 1 Είσοδος/ Έξοδος Σε σχεδόν όλα τα προγράμματα πρέπει να πάρουμε κάποια δεδομένα και να δώσουμε αποτέλεσμα Συνάρτηση εισόδου
Διαβάστε περισσότεραΠρογραμματισμός σε 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
Π. Σταθοπούλου pstath@ece.upatras.gr ή pstath@upatras.gr Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7 Φροντιστήριο : ευτέρα 11πµ-12πµ ΗΛ4 ΠΕΡΙΕΧΟΜΕΝΟ ΤΟΥ ΜΑΘΗΜΑΤΟΣ Αρχές
Διαβάστε περισσότεραΚεφάλαιο 2.6: Είσοδος / Έξοδος Δεδομένων, Μορφοποίηση Δεδομένων Εξόδου. (Διάλεξη 7)
Κεφάλαιο 2.6: Είσοδος / Έξοδος Δεδομένων, Μορφοποίηση Δεδομένων Εξόδου (Διάλεξη 7) 1 Είσοδος/Έξοδος Σε σχεδόν όλα τα προγράμματα πρέπει να πάρουμε κάποια δεδομένα και να δώσουμε αποτέλεσμα Συνάρτηση εισόδου
Διαβάστε περισσότεραΔομημένος Προγραμματισμός (ΤΛ1006)
Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κρήτης Σχολή Εφαρμοσμένων Επιστημών Τμήμα Ηλεκτρονικών Μηχανικών Τομέας Αυτοματισμού και Πληροφορικής Δομημένος Προγραμματισμός (ΤΛ1006) Δρ. Μηχ. Νικόλαος Πετράκης, Καθηγητής
Διαβάστε περισσότερα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 Κεφάλαιο 1: Εισαγωγή... 19 Πώς να διαβάσετε αυτό το βιβλίο... 20 Η γλώσσα C Ιστορική αναδρομή... 22 Τα χαρακτηριστικά της C... 23 C Μια δομημένη γλώσσα... 23 C Μια γλώσσα για
Διαβάστε περισσότεραΔιαφάνειες παρουσιάσεων Αρχικές Διαφάνειες σε Pascal: Σ.Ζάχος, Ν.Παπασπύρου Προσαρμογή σε Fortran: Α.Παγουρτζής, Δ.Σούλιου
Fortran και Αντικειμενοστραφής προγραμματισμός Διδάσκοντες: www.corelab.ntua.gr/courses/fortran_naval/naval Άρης Παγουρτζής (pagour@cs.ntua.gr) (Επίκουρος Καθηγητής ΣΗΜΜΥ ) Δώρα Σούλιου (dsouliou@mail.ntua.gr)
Διαβάστε περισσότεραΔομημένος Προγραμματισμός (ΤΛ1006)
Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κρήτης Σχολή Εφαρμοσμένων Επιστημών Τμήμα Ηλεκτρονικών Μηχανικών Τομέας Αυτοματισμού και Πληροφορικής Δομημένος Προγραμματισμός (ΤΛ1006) Δρ. Μηχ. Νικόλαος Πετράκης, Καθηγητής
Διαβάστε περισσότεραιαφάνειες παρουσίασης #5
ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ http://www.corelab.ece.ntua.gr/courses/programming/ ιδάσκοντες: Στάθης Ζάχος (zachos@cs.ntua.gr) Νίκος Παπασπύρου (nickie@softlab.ntua.gr) ιαφάνειες παρουσίασης #5!Παρουσίαση
Διαβάστε περισσότεραΠρογραμματισμός Ι (ΗΥ120)
Προγραμματισμός Ι (ΗΥ120) Διάλεξη 3: Είσοδος / Έξοδος, Βασικοί Τύποι, Δήλωση Μεταβλητών Βασικοί τύποι της C 2 Όνομα Τύπος / Κωδικοποίηση Μέγεθος (bytes) char Χαρακτήρας 1 int Ακέραιος 2 ή 4 (*) float Πραγματικός
Διαβάστε περισσότεραιαφάνειες παρουσίασης #3
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ http://www.corelab.ece.ntua.gr/courses/programming/ ιδάσκοντες: Στάθης Ζάχος (zachos@cs.ntua.gr) Νίκος Παπασπύρου (nickie@softlab.ntua.gr) ιαφάνειες παρουσίασης
Διαβάστε περισσότεραΣυµβολοσειρές - Strings
Συµβολοσειρές - Strings 1 Συµβολοσειρέςστην C/C++ 2 Χαρακτήρες 'a', 'z', '0', Χαρακτήρες σαν int 'z' επίσης αναπαριστά την ακεραία τιµή του χαρακτήρα z Strings-Συµβολοσειρές Σειρές από χαρακτήρες σαν µια
Διαβάστε περισσότεραΠρογραμματισμός Υπολογιστών με C++
Προγραμματισμός Υπολογιστών με C++ ( 2012-13 ) 19η διάλεξη Ίων Ανδρουτσόπουλος http://www.aueb.gr/users/ion/ 1 Τι θα ακούσετε σήμερα Βασικές διαφορές της C από τη C++. Απλά παραδείγματα προγραμμάτων C.
Διαβάστε περισσότερα