/!\ заброшено

Алгоритмы и алгоритмические языки

Тематический/лекционный план


/!\ TODO Какой-то этот план паскалистский получается

  1. Интуитивное понятие алгоритма. Свойства алгоритмов. Пример исполнителя (программируемый калькулятор): данные, команды, последовательное, условное и циклическое выполнение.
  2. Алгоритм как преобразование слов из заданного алфавита. Машина Тьюринга. Нормальные алгоритмы Маркова. Тезис Тьюринга и принцип нормализации, их обоснование.
  3. Алгоритмически неразрешимые проблемы. Неразрешимость проблем самоприменимости, останова и эквивалентности алгоритмов.
  4. Алгоритмический язык: алфавит, синтаксис и семантика. Описание синтаксиса языка с помощью металингвистических формул (БНФ) и синтаксических диаграмм. Исполнитель как реализация семантики языка.
  5. Исполнители типа «интерпретатор командной строки»: лексический разбор строки, синтаксический анализ, интерпретация; диалоговая природа ИКС. ИКС Python как калькулятор: константы — конструкторы объектов и операции над объектами. Различие интерактивного (ИКС) и программного исполнителя. Ввод-вывод текстового представления объектов.
  6. Имена — ссылки на объекты, операция именования (присваивания). Понятие о типе объекта как о семантике допустимых операций. Основные скалярные типы данных и строки, операции над ними. Операции сравнения.
  7. Условный оператор. Блок операторов. Оператор цикла с условием. Каноническая схема цикла. Нулевой объект класса. Таблица истинности для логических операций.
  8. Последовательности: кортежи, строки и списки.
  9. Пространство имён


/!\ Заметки и TODO

Поначалу уместно пользоваться http://www.pythontutor.com/

Расчасовка Паскаль:

Питон:

Взять за основу Паскаль. Не сократить ли "языки" ради введения и алгоритмов? Всё равно допглавы к питону нужны

Python/PythonBaseCourseOld (последним исправлял пользователь FrBrGeorge 2015-06-03 17:08:00)