Poslední úprava: doc. RNDr. Helena Valentová, Ph.D. (22.06.2018)
Jednosemestrální základní kurs programování pro studenty 1. ročníku bakalářského studia fyziky. Studenti se na příkladech naučí řešit vybrané jednoduché problémy za použití dostupné implementace jazyka Pascal. Podmínkou pro zápočet je odevzdání zápočtové práce.
Poslední úprava: doc. RNDr. Helena Valentová, Ph.D. (22.06.2018)
One-semester basic course of programming for students of the 1st year of master and bachelor study of physics. Solution of selected simple problems is tought on examples, using accessible implementations of the Pascal language. Deliver of the credit thesis is a condition for obtaining a credit.
Cíl předmětu -
Poslední úprava: doc. Mgr. Tomáš Ledvinka, Ph.D. (03.05.2023)
Student schopný vyjádřit myšlenku pomocí programovacího jazyka (např. Pascal, C, Fortran).
Poslední úprava: doc. Mgr. Tomáš Ledvinka, Ph.D. (03.05.2023)
Students ready to express a thought in a programming language (like Pascal, C, Fortran).
Literatura -
Poslední úprava: doc. RNDr. Helena Valentová, Ph.D. (19.01.2018)
Poznámky k přednáškám:
http://utf.troja.mff.cuni.cz/~ledvinka
http://geo.mff.cuni.cz/~lh/NOFY056
a dále
N. Wirth: Algoritmy a datové struktury, Alfa, Bratislava 1988
J. Drózd, R. Kryl: Začínáme s programováním, Grada, Praha 1992
P. Töpfer: Základy programování v úlohách, Scientia, Praha 1997
P. Töpfer, D. Töpferová: Programování - Sbírka úloh, Fortuna, Praha 1998
P. Satrapa: Pascal pro zelenáče, Neokortex, Praha 2000
Příručky pro Turbo Pascal, Borland Pascal a Delphi, 1990-2003
Poslední úprava: doc. Mgr. Tomáš Ledvinka, Ph.D. (03.05.2023)
Lecture notes:
http://utf.troja.mff.cuni.cz/~ledvinka
http://geo.mff.cuni.cz/~lh/NOFY056
and also
N. Wirth: Algoritmy a datové struktury, Alfa, Bratislava 1988
J. Drózd, R. Kryl: Začínáme s programováním, Grada, Praha 1992
P. Töpfer: Základy programování v úlohách, Scientia, Praha 1997
P. Töpfer, D. Töpferová: Programování - Sbírka úloh, Fortuna, Praha 1998
P. Satrapa: Pascal pro zelenáče, Neokortex, Praha 2000
Příručky pro Turbo Pascal, Borland Pascal a Delphi, 1990-2003
Metody výuky -
Poslední úprava: HANYK/MFF.CUNI.CZ (12.04.2008)
Přednáška + praktická cvičení
Poslední úprava: HANYK/MFF.CUNI.CZ (12.04.2008)
Lecture + practicals
Sylabus -
Poslední úprava: doc. RNDr. Helena Valentová, Ph.D. (19.01.2018)
1. Problémy
Klasické elementární algoritmy (Eukleidův algoritmus, Eratosthenovo síto). Matematické výrazy (Hornerovo schema, chyby), příklady výpočtu a aproximace funkcí. Základní numerické algoritmy (hledání kořenů, kvadratura). Práce s poli, vybrané algoritmy lineární algebry. Složitost algoritmu. Vyhledávání a (vnitřní) třídění, asociativní pole. Fronta a zásobník. Vstup a výstup dat. Nástin 2D grafiky (gnuplot, postscript). Náhodná čísla. Modularita, příklady použití použití knihoven procedur a objektů.
2. Jazyk Pascal
Proměnné (a konstanty). Celočíselné typy, char, boolean, reálné typy. Výraz, operátory, priorita, standardní funkce. Přiřazení, vstup a výstup. Jednoduchý a složený příkaz. Podmínky, cykly. Program, procedura a funkce. Lokalita. Předávání parametrů hodnotou a odkazem, konstantní parametry. Strukturovaná data (pole, záznam, řetězce). Inicializované proměnné. Binární operace a zkrácené vyhodnocování logických výrazů. Textový vstup a výstup. Typované soubory. Parametr (a proměnná) typu procedura a fuknce. Modularita (unit), práce s dokumentací knihoven. Dynamické datové struktury, ukazatele. Objekty.
3. Základy práce s osobním počítačem
Programy a data. Standardní vstup a výstup, přesměrování, skripty. Základní nástroje.
Cvičení:
Studenti se na cvičeních detailně seznamují s vybranými algoritmy a průběžně vylepšují techniku konstrukce kódu. Podmínkou pro zápočet je odevzdání zápočtové práce.
Poslední úprava: doc. Mgr. Tomáš Ledvinka, Ph.D. (03.05.2023)
1. Problems
Classical elementary algorithms (Euclid, Eratosthenes Sieve). Mathematical expressions (Horner scheme, errors), examples of evaluation and approximation of functions. Fundamental numerical algorithms (root finding, integration). Array handling, selected algorithms of linear algebra. Complexity of the algorithm. Searching and sorting, associative arrays. Queue and stack. Data input and output. Outline of 2D graphics (gnuplot, PostScript). Random numbers. Modularity, examples of application of library procedures and objects.
2. Programming language Pascal
Variables (and constants). Integer types, char, boolean, floating-point types. Expressions, operators, priority, standard functions. Assignment, input and output. Simple and stuctured statement. Conditions, loops. Program, procedure and function. Scope. Argument passing by value and reference, constant arguments. Structured data (array, structure, string). Inicialized variables. Binary operations and shortened evaluation of logical expressions. Text input and output. Typed files. Procedures and functions as arguments and variables. Modules (units), working with documentation of libraries. Dynamical data structures, pointers. A few words on objects.
3. Getting started with personal computer
Programs and data. Standard input and output, redirection, scripts. Basic utilities.