Введение в программирование Этапы автоматизации программирования –Машинные коды –Ассемблер –Алгоритмические языки –Объектно-ориентированное программирование –Визуальное программирование Кафедра ОСУ, АВТФ Разработал к.т.н. Фофанов О.Б.
Введение в программирование Кафедра ОСУ, АВТФ
Алгоритмические языки 1957 г. – Fortran ( Бэкус )1957 г. – Fortran ( Бэкус ) 1960 г. – Algol-60 ( Бэкус, Наур ) 1959 г. – Cobol (правительство США) 1964 г. – PL/1 (IBM) 1964 г Basic (Beginner All-purpose Symbolic Instruction Code) 1967 г. – Симула г. - 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[ r=0? m=n;n=r нет да Вывод m и n конец Кафедра ОСУ, АВТФ
Кодирование алгоритма - программа Program Evclid; label 10; var m, n, r: integer; begin Readln ( m, n ); (* ввод исходных данных *) 10: r := m mod n; if r= 0 then Writeln ( НОД=, n ) (* вывод *) else begin m := n; n := r; goto 10 end end Кафедра ОСУ, АВТФ