Главная
страница 1
РАБОЧАЯ ПРОГРАММА лекционного курса

«Программирование и алгоритмические языки»

(1-й семестр, 54 часа)



ЦЕЛЬ И ЗАДАЧИ КУРСА. Цель курса - ввести в круг понятий и задач, связанных с использованием языков программирования, с тем, чтобы студенты могли самостоятельно создавать программы на языках высокого уровня. Задача курса состоит в выработке у студентов навыков использования языков программирования для создания систем обработки данных и обоснованного выбора средств программирования. Курс поддерживается соответствующей учебной (аудиторной) практикой и практикумом на ЭВМ.

От составителей.

  1. Наиболее важной и «тонкой» составителям представляется проблема мотивации курса. Составители исходят из того, что деятельность программиста – это практическая математическая деятельность людей для людей.

В практике программирования неизбежно используются методы абстрагирования-конкретизации и не просто выгодно, а неизбежно необходимо опираться на прагматично понимаемые (соответственно представленные и изложенные...) математические методы, модели, их свойства и пределы их применимости. Это представляется надежной основой мотивации курса.

  1. В первом разделе «Основные понятия процедурного программирования» сформулированы почти все базовые понятия, которые составляют основное содержание курса. Однако не следует это понимать, как установку на полное и полноценное изложение всего, что связано с этими понятиями, уже в самом начале курса. Что из этого материала, и в каком виде лектор фиксирует в начале, а что и каком виде он разворачивает впоследствии, определяет лектор.

Раздел на содержательном уровне фиксирует «опорные точки» языка описания, возможность и необходимость его формализации.

  1. В третьем разделе «Алгоритмизация задач» приведены классы задач, на основе которых в курсе рассматриваются методы и приемы алгоритмизации. Также, не следует это понимать, как установку на вынесение этого материала именно в завершающий период курса. Естественно, в изложении материала предыдущих двух разделов обязательно присутствуют задачи и их решения на основе соответствующих методов и приемов алгоритмизации. Еще раз отметим, лектор самостоятельно определяет, в каком порядке разворачивать материал курса и как мотивировать свой порядок изложения.

Цель раздела - представить базовые, изначально и естественно возникающие на практике проблемы, мотивирующие математические методы и, в свою очередь, являющиеся сферой их приложения.

Введение. Автоматизация рутинной деятельности как гуманитарная цель программирования. Программирование как математическая деятельность. Средства – информационное моделирование, последовательное определение строения и поведения больших и сложных систем.

  1. Основные понятия процедурного программирования. 18 час.

Поведение объектов - динамические процессы и их математическое информационное моделирование. Специфика и специализация математических языков описания моделей.

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

Многоуровневое иерархическое описание информационной модели на языке блок-схем.

Данные. Тип данных (T) как множество возможных значений и набор допустимых операций над ними. Базовые и производные типы данных. Константы (C), переменные (V) и выражения (E), их значения и обозначения. Переменные как хранилища данных. Состояния программы как именованный набор хранимых значений.

Действия (S). Семантика действий как операторов преобразования состояний программы. Базовые действия - ввод данных (прием информации), вывод данных (передача информации) и присваивание, как элементарное преобразование информации.

Структуры управления порядком выполнения действий. Группировка действий - последовательная, условная и циклическая. Семантика структур управления как операций определяющих новые преобразования состояний на основе ранее определенных. Связь по управлению (логическая связь) и информационная связь между действиями. Процесс выполнения программы как дискретный детерминированный процесс преобразования состояний, трассировка программы.

Структуры данных. Группировка данных – конструкторы структурных типов данных и операций доступа и записи значений компонентов. Именованное (индексное) декартово произведение как базовая семантика структурных типов.

Технология программирования.

Структуры управления и структуры данных как средство преодоления сложности анализа больших систем и синтеза их информационных моделей. Уровни абстрагирования-конкретизации действий и данных.

Компоновка программы – процесс определения все более сложных действий на основе ранее определенных, последовательное восхождение к целевому действию. Проектирование программы - нисходящий процесс пошаговой декомпозиции целевого действия на все более простые и конкретные. Цикл жизни программных систем.


  1. Базовый Паскаль. 18 час.

Особенности формальных языков. Синтаксис и основные классы понятий (T,C,V,E,S), семантика и прагматика языков программирования.

Данные в языке Паскаль.

Классификация типов данных – скалярные (базовые) и структурные (составные), стандартные (предопределенные) и пользовательские (определяемые программистом).

Определение типа. Описание переменных. Константы, операции, стандартные функции и выражения.

Стандартные скалярные типы integer, real, char, boolean. Пользовательские скалярные типы - перечислимый и ограниченный (отрезок). Упорядоченность и порядковые типы.



Действия в языке Паскаль. Базовые операторы –присваивание, оператор процедуры и процедуры стандартного ввода (READ) и вывода (WRITE). Структурные операторы.

Структура Паскаль-программы. Разделы описаний и раздел операторов. Правила использования имен.

Структурные типы в языке Паскаль. Селектор компонента и компонентная переменная. Массив - определение типа, переменная с индексами. Стандартный строковый тип данных. Запись - определение типа, переменная указатель поля. Множество - определение типа, операции и выражения. Типизированный файл - определение типа и средства доступа к компонентам файла. Стандартный тип TextFile (текстовые файлы) и средства форматирования выходных данных.

Процедуры и функции в языке Паскаль как средство определения сложных действий, выделения и пользовательского именования подзадач. Описание процедур и функций, оператор процедуры и указатель функции. Организация информационной связи между вызывающей и вызываемой процедурой. Параметры-переменные, параметры-значения и параметры-процедуры (функции). Локальные и глобальные объекты. Операциональная семантика оператора процедуры как модификация тела процедуры.

  1. Алгоритмизация задач. 18 час.

Последовательные рекуррентные вычисления и вычисления разбором случаев. Разработка рекуррентных соотношений (информационных связей) и уровней управления вычислениями (вложений структур управления). Повторные (пере)вычисления и сохранение результатов вычислений для их повторного использования.

Управление обработкой последовательностей – просмотр, порождение и синхронизация обработки.

Язык логики предикатов и решетка множеств. Полное и быстрое вычисление логических выражений. Спецификация и вычисление сложных свойств. Представление множеств массивами и алгоритмы основных операций с множествами.

Упорядоченные массивы и файлы. Простые алгоритмы сортировки, поиск и основные операции.

Алгоритмы основных операций текстовой обработки. Символьный тип как универсальный тип данных. Задача преобразования типов - символьное представление числовых значений.

Технология программирования в терминах задачи с использованием процедур-функций и многоуровневой группировки данных. Моделирование объектов предметной области как содержательных типов. Выделение и реализация подзадач.



ЛИТЕРАТУРА.

  1. В.Г. Абрамов, Н.П. Трифонов, Г.Н. Трифонова. Введение в язык Паскаль. М.: Наука, 1988. - 318 с.

  2. Вирт Н. Систематическое программирование. Введение. М.: Мир, 1977. - 183 с.

  3. Грогоно П. Программирование на языке Паскаль. М.: Мир, 1982.

  4. К. Йенсен, Н. Вирт. ПАСКАЛЬ. Руководство для пользователя и описание языка. М. Финансы и статистика, 1982. - 151 с.

  5. А.И. Марченко, Л.А. Марченко. Программирование в среде Turbo Pascal. М.:Бином Универсал,1997. – 496 с.

  6. Вирт Н. Алгоритмы+структуры данных = программы. М.: Мир, 1985. Алгоритмы и структуры данных. М: Мир, 1989. – 360 с.

  7. У. Дал, Э. Дейкстра, К. Хоор. Структурное программирование. М.: Мир, 1975. - 248 с.

  8. Задачи для программирования по теме «Сортировка данных». Методическая разработка под ред. В.С. Кугуракова. Казань, КГУ, 1987.

ДОПОЛНИТЕЛЬНАЯ ЛИТЕРАТУРА.

  1. С.А. Абрамов. Математические построения и программирование. М.: Наука ГРФМЛ, 1978.- 192.

  2. Д. Грис. Наука программирования. М:Мир,1984. – 416 с.

  3. Дейкстра Э. Дисциплина программирования. М.:Мир,1978.

  4. С. Лавров. Программирование. Математические основы, средства, теория. СПб.: БХВ-Петербург, 2001. - 320 с.

  5. Б. Мейер, К. Бодуен. Методы программирования. т1-2. М.: Мир, 1982.

Составители доц. Бухараев Н.Р., ст.пр. Самитов Р.К.

Обсуждена на заседании кафедры теоретической кибернетики.








Смотрите также:
Рабочая программа лекционного курса «Программирование и алгоритмические языки»
64.07kb.
1 стр.
Презентация лекционного курса Введение в специальность Умк и рабочая программа
72.59kb.
1 стр.
Рабочая программа дисциплины программирование на языке C# Направление (специальность) подготовки
97.36kb.
1 стр.
Программа курса древние языки и культуры
260.73kb.
1 стр.
Программа по дисциплине: информатика (алгоритмы и алгоритмические языки). Продвинутый курс по направлению подготовки
140.13kb.
1 стр.
Программа по дисциплине: информатика (алгоритмы и алгоритмические языки). Продвинутый курс по направлению подготовки
143.46kb.
1 стр.
Рабочая программа дисциплины римское право направление подготовки 030900 юриспруденция профиль Гражданско-правовой
492.83kb.
1 стр.
Программа по географии 8 класс Пояснительная записка. Рабочая программа курса «География России»
88.53kb.
1 стр.
Рабочая программа дисциплины история отечественного государства и права направление подготовки 030900 юриспруденция
812.42kb.
3 стр.
Рабочая программа учебного курса (наименование предмета) в классе основного общего образования базовый уровень учитель г. Переславль-Залесский 20 г. Пояснительная записка рабочая программа учебного курса «Английский язык в 6 классе»
163.03kb.
1 стр.
Рабочая программа наименование дисциплины : Программирование сетевых приложений
124.77kb.
1 стр.
1. Программа курса «теория вероятностей и математическая статистика» Раздел I. Теория вероятностей. Тема Основные понятия теории вероятностей. Предмет курса
1432.57kb.
5 стр.