Введение в программирование

advertisement
Введение в программирование
• Этапы автоматизации программирования
–
–
–
–
Машинные коды
Ассемблер
Алгоритмические языки
Объектно-ориентированное
программирование
– Визуальное программирование
Алгоритмические языки
•
•
•
•
•
•
•
•
•
•
•
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
Алфавит языка
•
<идентификатор> ::= <буква> |
<идентификатор> <буква>|
<идентификатор> <цифра
•
<числа> ::= <целые> | <вещественные>
•
<вещественные> ::= <с фиксированной
точкой> | <с плавающей точкой>
Алфавит языка
•
<строка> ::= ‘<любая последовательность
символов>’
•
<комментарии> ::= {<любая
последовательность символов>} | (*
<любая последовательность символов> *)
Download