Конференции ИВТ СО РАН


«Вычислительные и информационные технологии
в науке, технике и образовании»

Алматы, Казахстан, 6 – 10 октября 2004 года

Тезисы докладов


Теория алгоритмов: приложения в программировании

Ходиев Ш.И.

Национальный Университет Узбекистана,
факультет компьютерных технологий (Ташкент)

Введение. Понятие алгоритма является концептуальной основой процессов обработки информации. Теория алгоритмов проясняет фундаментальные понятия доказуемости, сложности, случайности. Оно уточняет вопрос об алгоритмической разрешимости для различных классов задач [1]. Существует множество формальных моделей алгоритма. Множество точных понятий алгоритмов связано с вычислительными возможностями исполнителей, а так как многочисленные определения алгоритма равносильны между собой, то определяемое ими одно и то же понятие считают точным понятием алгоритма.

Класс тьюрингово вычислимых функций охватывает все рекурсивные функции: всякая рекурсивная функция вычислима по Тьюрингу. Языки программирования также являются адекватными формализациями понятия алгоритма. Они могут использоваться для задания точно очерченного и представительного класса алгоритмов. Здесь важно то, что каждый алгоритм может быть записан на языке. Формальные задания алгоритмов (исчислений) могут быть объектом алгоритмических (исчислительных) преобразований. Возникает понятие способ программирования и программы как объекта вычисления и порождения (и объекта нашего рассмотрения). Соответственно, создается способ программирования как способ погружения формального задания алгоритма в ансанбль входов и выходов. Для каждого алгоритма существует исчисление с соответствующими свойствами.

К приложениям. Само понятие программы как описания программы и данных на языке программирования принадлежит к числу весьма сложных, трудных для точного исследования математическими методами. Аналогично, процессы, изображаемые программой, характеризуются высоким уровнем сложности, превосходящим сложность многих систем и технологий. Менее формально, программирование это дисциплина, описывающая понятия, методы, приемы, средства, процесс конструирования и исполнения программ. Под термином “искусство конструирования” понимается главным образом знание и применение приемов программирования, позволяющих создавать программы, удовлетворяющие определенным требованиям. При конструировании программ реализуют(ся) определенные алгоритмы обработки информации с помощью средств программирования [2].

Применения. Отметим важность обучения программированию на основе использования алгоритмов. Лучший эффект достигается при обучении с использованием электронного учебника, изучением текстов программ, изучением базовых приемов программирования. Наиболее значимыми являются методы и алгоритмы работы с динамическими структурами данных, алгоритмы обработки сложных структур (массивы, графы, деревья, списки), алгоритмы трансляции (компиляции, интерпретации) [2]. На них основаны алгоритмы анализа (семантический, потоковый) и преобразования программ (трансляции, оптимизирующие, конкретизирующие, смешанные вычисления), с обоснованием их применений, методами и способами реализации. Не менее привлекательны алгоритмы работы с базами данных. Алгоритмы поиска, сортировки, и им подобные, удобны и как базовые, и для обучения приёмам доказательства правильности и существования алгоритма, вычисления их сложности. Имеются инструменты преобразований, инструменты обучения, соответственные информационные системы. Соблюдение и использование приёмов (технологий) программирования необходимый элемент конструирования качественных (надёжных, эффективных) программ.

Литература
1. В.А. Успенский, А.Л. Семёнов. Теория алгоритмов: основные открытия и приложения, // М.: Наука, 1987 г. , 288 стр.
2. М.М. Бежанова, Л.А. Москвина, И.В. Поттосин. Практическое программирование. Структуры данных и алгоритмы. // М.: Логос, 2001 г., 223 стр.

Примечание. Тезисы докладов публикуются в авторской редакции



Ваши комментарии
Обратная связь
[ICT SBRAS]
[Головная страница]
[Конференции]

© 1996-2000, Институт вычислительных технологий СО РАН, Новосибирск
© 1996-2000, Сибирское отделение Российской академии наук, Новосибирск