Введение в программирование • Этапы автоматизации программирования – – – – Машинные коды Ассемблер Алгоритмические языки Объектно-ориентированное программирование – Визуальное программирование Алгоритмические языки • • • • • • • • • • • 1957г. – Fortran ( Бэкус ) 1960г. – Algol-60 ( Бэкус, Наур ) 1959г. – Cobol (правительство США) 1964г. – PL/1 (IBM) 1964 г Basic (Beginner All-purpose Symbolic Instruction Code) 1967г. – Симула 67 1968г. - Algol-68 ( университеты) 1969г. – Pascal ( Вирт ) 1972г. – С ( Ритчи ) 1979г.- Ada ( Мин.обороны США ) 1995г.- Java-Oak (Sun Microsystems) Введение в программирование • Этапы разработки программ 1. 2. 3. 4. 5. 6. 7. Постановка задачи Построение модели Разработка алгоритма Реализация алгоритма Анализ алгоритма и его сложности Проверка программы Составление документации Определение алгоритма • • Алгоритм (algorithm) – однозначно трактуемая процедура решения задачи Процедура –конечная последовательность точно определенных шагов или операций, для выполнения каждой из которых требуется конечный объем оперативной памяти и конечное время Алгоритм Евклида (найти НОД целых m и n) 1. Задать значения m и n (m > n) 2. Найти r остаток от деления m на n 3. Если r = 0 то перейти на 5 иначе на 4 4. m = n; n = r; перейти на 2 5. Результат НОД = n Графическое изображение начало Ввод mиn r = ]m/n[ m=n;n=r нет r=0? да Вывод mиn конец Кодирование алгоритма - программа Program Evclid; label 10; var m, n, r: integer; begin Readln ( m, n ); (* ввод исходных данных *) 10: r := m mod n; if r<>0 then begin m := n; n := r; goto 10 end else Writeln ( ‘НОД=’ , n ) (* вывод *) end. Введение в Pascal • • • • • • Pascal позволяет Систематически и точно выражать концепции и структуры программирования Осуществлять разработку программ систематически Реализовать эффективно сложный язык Улучшить понимание методов организации больших программ и методов управления программистскими проектами Легко обучать программированию Алфавит языка • <буква> ::= A|B|…|Z|a|…|z • <цифра> ::= 0|1|…|9 • <ограничители> ::= . | ,| ( | ) | { | } | [ | ] | ^ | .. | : | ; • <знаки операций> ::= + |- | * | / | = | <> | > | < | <= | >= | := | mod | div | and | or | not Алфавит языка • <служебные слова> ::= array |begin | boolean | case | char | const | do | downto | else | end | file | for | goto | if | in | integer | label | nil | of | procedure | program | real | record | repeat | set | then | to | type | until | var | while | with Алфавит языка • <идентификатор> ::= <буква> | <идентификатор> <буква>| <идентификатор> <цифра • <числа> ::= <целые> | <вещественные> • <вещественные> ::= <с фиксированной точкой> | <с плавающей точкой> Алфавит языка • <строка> ::= ‘<любая последовательность символов>’ • <комментарии> ::= {<любая последовательность символов>} | (* <любая последовательность символов> *)