Algorithmization and Programming
Code  Completion  Credits  Range  Language 

E012035  KZ  4  1+2 
 Lecturer:
 Marta Čertíková (guarantor)
 Tutor:
 Marta Čertíková (guarantor), Filip Šochman, David Trdlička, Ondřej Winter
 Supervisor:
 Department of Technical Mathematics
 Synopsis:

Students are acquainted with programming language C and exercised at basic problems of numerical mathematics.
 Requirements:
 Syllabus of lectures:

Illustration of a simple program, translation, loading and debugging program. Basic elements of C, variables and arrays. Expressions. Assignment expression and statement. Operators of incrementation and decrementation, if statement and conditional expression, switch statement. Go statement, loop statement. Input and output statements. Functions, call by reference and value. Solution of equations f(x) = 0. Numerical integration. Recursive function, pointers, dynamic allocation of memory. Sorting. Solution of system linear equations by finite and iterative methods. Type typedef, enumeration type, structures. Date structures in language C.
 Syllabus of tutorials:

Illustration of a simple program, translation, loading and debugging program. Basic elements of C, variables and arrays. Expressions. Assignment expression and statement. Operators of incrementation and decrementation, if statement and conditional expression, switch statement. Go statement, loop statement. Input and output statements. Functions, call by reference and value. Solution of equations f(x) = 0. Numerical integration. Recursive function, pointers, dynamic allocation of memory. Sorting. Solution of system linear equations by finite and iterative methods. Type typedef, enumeration type, structures. Date structures in language C.
 Study Objective:

1. Example of elementary program, program structure, programming process;, Algorithm statements; Building blocks of C language;, 2. Statements, assignment, priorities of operations; Mathematical functions, standard libraries; Flow control: Conditional statement, Switch, Goto;, 3. Cycles: For, While, Dowhile; Break; Continue;, 4. Formatted and unformatted intput/output; Input/output from data files;, 5. Functions  call by value, call by reference; Recursive functions;, 6. Pointers; Array as a parameter of function; function as a parameter of function; Data types typedef, enumeration, structure;, 7. Dynamic memory allocation: onedimensional arrays, multidimensional arrays;, 8. Sorting: direct selection, bubblesort, shakesort, quicksort;, 9. Numerical integration: trapezoidal method, Simpson's method;, 10. Equation f(x)=0: bisection method, iterative method, Newton's method;, 11. System of linear algebraic equations: Finite methods: Gaussian elimination, Gaussian elimination for tridiagonal system;, 12. System of linear algebraic equations: Iterative methods: Jacobi's method, GaussSeidel method;, 13. Cauchy problem for one ordinary differential equation
 Study materials:

Barclay,K.A.: ANSI C Problem Solving and Programming, Prentice Hall 1990;, www.cplusplus.com/doc/tutorial
 Note:
 Timetable for winter semester 2018/2019:

06:00–08:0008:00–10:0010:00–12:0012:00–14:0014:00–16:0016:00–18:0018:00–20:0020:00–22:0022:00–24:00
Mon Tue Fri Thu Fri  Timetable for summer semester 2018/2019:
 Timetable is not available yet
 The course is a part of the following study plans:

 12 74 79 00 BTZSI 2012 A  prezenční anglicky (compulsory course in the program)
 09 54 59 00 BSTR 2012 A  prezenční anglicky (compulsory course in the program)
 09 54 59 00 DSTR 2012 A  prezenční anglicky (compulsory course in the program)