Escolar Documentos
Profissional Documentos
Cultura Documentos
In todays session
What is programming?
Why should I learn programming? Course Outline Introduction to Programming Language Introduction to Pascal Hello world! Hello, <your name>! Variables
What is programming?
Process of writing, testing, debugging/troubleshooting,
and maintaining the source code of computer programs (From Wikipedia) To create a program (software) for usage of a particular sort, e.g. word processor (e.g. Microsoft Word, OpenOffice.org Writer) for word processing (duh)
Maths/Physics/Chemistry/ Understand more about computer / information systems Learn algorithms Learn how to type fast! Represent the school in HKOI/CCC
Course Outline
Introduction
Pascal Syntax I Pascal Syntax II Pascal Syntax III (depends on schedule) Algorithms I Algorithms II (depends on schedule) HTML CSS PHP
F#, J, J++, J#, K, L, L++, M, Q, R, R++, S, T, X++, Y, Z, VB, ActionScript, PHP, FORTRAN, Java, Javascript, Python, etc. For different purposes and with different syntax / ideology behind programming
Introduction to Pascal
Educational
Syntax are human-like, easy to understand Important in programming Have practical use despite criticisms
Hello, world!
Classic approach to any programming language
Objective: Print Hello, world! Code:
program hello; var a : integer; begin writeln(Hello, world!); end.
Hello, world!
Analysis
program hello;
; : to separate different statements program : a special keyword, to specify the name of the program hello: the name of the program * this statement can be ignored totally. * note any name cannot be special keywords or start with numbers. E.g. program 3x; or program program; is not valid, but program _3x; or program _program; is valid.
Hello, world!
Analysis (cont.)
var a : integer;
var : a special keyword, to notify the following statements are declaration of variables a: the name of the variable :: declare a is which type of variable integer: a type of variable, which is integers (with range -32768..32767) * this statement can be ignored totally since this program has no use of variables * note program hello; var a : integer; is valid. * note var a, b, c : integer; is valid.
Hello, world!
Analysis
begin writeln(Hello, world!); end.
begin : to specify the beginning of the program writeln : a function, to write the value then with a line break * Try this out: writeln(Hello); write(Hello); writeln(Hello);
(What is the difference between writeln() and write()?) writeln; is valid (what does this do?)
: to specify that the worlds Hello, world! is a string, i.e. a series of characters, but not a variable. * writeln(Hello); and writeln(Hello); end.: to specify the end of the program
string : a type of variable, which is the compilation of characters name: the name of variable of string * Variables come in different kinds, e.g. for integers, we have integer, longint, int64; for characters, we have char; for string, we have string, ANSIstring. * Each type of variables have different operations. * Variable can be assigned by :=. E.g. name := This is my name or a := 3; Note that is added to state that the values inside is a string! a := a + 1 is possible!
readln : to request input of variable to the user name: the name of variable of string * Try read(name); instead of readln(name);, Or guess whats the differences between readln and read.
, is used to separate strings and values in the variable name * writeln(H,e,l,l,o,,, ,); is equivalent to writeln(Hello,);
Variables
Integral types (0, 1, 2, 3, ) Shortint (-128..+127) Byte (0..255) Integer (-32768..+32767) Word0 (-65536..65535) Longint(-2146473648..+2146473647) Floating point types (0.1, 0.23, etc.) Real Double
Variables
Operations of Integral / Floating point types +, e.g. c := a+b; - e.g. c := a-b; * e.g. c := a*b; / e.g. c := a/b; div e.g. c := a div b; mod e.g. c := a mod b; () e.g. c := (a + b)*a;
Variables
Non-numerical Char (characters, e.g. a, A, !) String (an array of characters, usually max. at 255) Array (a collection of variable of specific types with index) <- covered later Operations chr(x); Convert ASCII code (x) into character ord(c); Convert character (c) into ASCII code length(str); Find the length of a string (str) copy(str, x, y); Copy, starting from the xth element, y elements of string (str) pos(substr, str); Find position of substr in str val(str, x, e); Convert a string (str) into an integer (x) str(x, str); Convert an integer (x) into a string (str) concat(str1, str2, ); Combine a string (str1) with another (str2, etc.) insert(str1, str2, x); Insert a string (str1) in the xth element of another (str2) delete(str, x, y); Delete, starting from xth element, y elements of string (str) fillchar(str, x, c); Fill the string (str) with a character (c) until string is (x-1) long