заброшено
Алгоритмы и алгоритмические языки
Тематический/лекционный план
TODO Какой-то этот план паскалистский получается
- Интуитивное понятие алгоритма. Свойства алгоритмов. Пример исполнителя (программируемый калькулятор): данные, команды, последовательное, условное и циклическое выполнение.
- Алгоритм как преобразование слов из заданного алфавита. Машина Тьюринга. Нормальные алгоритмы Маркова. Тезис Тьюринга и принцип нормализации, их обоснование.
- Алгоритмически неразрешимые проблемы. Неразрешимость проблем самоприменимости, останова и эквивалентности алгоритмов.
- Алгоритмический язык: алфавит, синтаксис и семантика. Описание синтаксиса языка с помощью металингвистических формул (БНФ) и синтаксических диаграмм. Исполнитель как реализация семантики языка.
- Исполнители типа «интерпретатор командной строки»: лексический разбор строки, синтаксический анализ, интерпретация; диалоговая природа ИКС. ИКС Python как калькулятор: константы — конструкторы объектов и операции над объектами. Различие интерактивного (ИКС) и программного исполнителя. Ввод-вывод текстового представления объектов.
- Имена — ссылки на объекты, операция именования (присваивания). Понятие о типе объекта как о семантике допустимых операций. Основные скалярные типы данных и строки, операции над ними. Операции сравнения.
- Условный оператор. Блок операторов. Оператор цикла с условием. Каноническая схема цикла. Нулевой объект класса. Таблица истинности для логических операций.
- Последовательности: кортежи, строки и списки. …
- Пространство имён
Заметки и TODO
Поначалу уместно пользоваться http://www.pythontutor.com/
Расчасовка Паскаль:
- Введение в теорию алгоритмов: 8 + 8
- Алгоритмические языки. Язык Python: 36 + 44
- Структуры данных и алгоритмы: 10 + 12
Питон:
Взять за основу Паскаль. Не сократить ли "языки" ради введения и алгоритмов? Всё равно допглавы к питону нужны