АЛГОРИТМ (формальное определение) • Всякий алгоритм может быть реализован соответствующей машиной Тьюринга Это основная гипотеза теории алгоритмов. Определения • Программа - данные, их описание и алгоритм, записанный на языке программирования. • Программирование - процесс создания программ. • Языки программирования - формализованные языки, для написания программ, исполняемых на ЭВМ. • ПО(программное обеспечение) - комплекс программ, позволяющих осуществить автоматизированную обработку информации на ЭВМ Алгоритмический язык • Предназначены для записи различных алгоритмов. Формализованное средство общения между людьми, а также главным образом между человеком и компьютером. Алгоритмический язык должен быть: • Формальным- любая запись на этом языке однозначно определяет алгоритм • Простым- не должно возникать затруднений при разработке транслятора, осуществляющего перевод с этого языка на язык машины • Гибким, чтобы обеспечивать компактную и наглядную запись алгоритмов • Легким для освоения, а также достаточно удобен для использования в публикациях Алгоритмические языки • В основе управления алгоритмических языков лежат три типовых операторных конструкций: • Следование • Выбор(Развилка) • Повторение(Цикл) Следование • начало S1;S2;…….Sk конец Развилка (Выбор) • если В то S1 иначе S2 Повторение (Цикл) • пока В выполнять S Алгоритмические языки • Каждая из трех операторных конструкций в свою очередь объявляется оператором и может быть подставлена в конструкцию любого типа. • Каждый оператор может иметь имя, которая называется меткойю Переменная величина • Именованная область памяти, отведенная для хранения данных, которые могут изменяться при выполнении программы Имя однозначно определяет данную переменную внутри ее области определения. Имя всегда начинается с буквы, за которой записываются буквы и/или цифры. Оно не должно содержать специальные знаки. • Грамматическое описания любого языка программирования включает в себя: • Алфавит-набор символов, предназначенных для записи алгоритма • Синтаксис –правила построения фраз , позволяющих определить правильно или нет написана та или иная фраза • Семантика- определяет смысловое значение фраз языка Нормальная форма Бэкуса(БНФ) • <ЦИФРA>::=0|1|2|3|4|5|6|7|8|9 • <БУКВА>::=A|B|C|D|E|F|G|H|I|J|K|L|M|N|O|P|Q|R|S |T|U|V|W|X|Y|Z • <ПАРА>::=<БУКВА><ЦИФРA> • <ЗНАК>::=<БУКВА>|<ЦИФРA> • <СЛОВО>::=<БУКВА>|<СЛОВО><ЦИФРA> < > - используются для указания определяемого термина, записанного в левой части формулы ::= отделят левую часть от формулы и читается – “ЭТО ЕСТЬ” |читается “ИЛИ” Расширенная нормальная форма Бэкуса(РБНФ) • [ ] - при конкретной записи выражения, текст в квадратных скобках можно опускать; • {} - при конкретной записи выражения, выбирается только одна из предложенных альтернатив, которые указаны в разных строках, или разделены знаком “|” • … - указывают, что предшествующее выражение, можно повторять сколь угодно число раз Расширенная нормальная форма Бэкуса(РБНФ). Пример Dim [WithEvents] имя_переменной[([индексы])] [As [New] тип] [, [WithEvents] имя_переменной[([индексы])] [As [New] тип]] . . . Dim A Dim A , B Dim A as integer, B as string