Программирование




НазваниеПрограммирование
Дата03.02.2016
Размер9.55 Kb.
ТипДокументы
ПРОГРАММИРОВАНИЕ

Лектор: профессор В.Н. Касьянов

2012/2013 учебный год

1. Введение

Понятие алгоритма и его основные свойства, блок-схемные определения как пример уточнения понятия алгоритма. Понятие компьютера, принципы Фон-Неймана. Основные приемы упрощения решения задач на ЭВМ. Понятие операционной системы, загрузчика, редактора связей, ассемблера и макроассемблера.

Понятие языка программирования высокого уровня и транслятора, классификация языков и виды трансляторов. Синтаксис и семантика языков программирования, три подхода к заданию семантики, стандарты и версии языков программирования. Иерархия языковых конструкций, лексемы и понятия, БНФ и синтаксические диаграммы.

2. Простые программы без циклов

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

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

Средства конструирования простых типов в языке Паскаль: введение синонимических типов, задание отрезков типов, типы, заданные перечислением значений.

Выражения. Операторы. Оператор присваивания. Составной оператор. Операторы ввода-вывода. Общий вид Паскаль–программ. Определяемые функции.

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

Блок-схемы. Условный оператор. Оператор выбора. Доказательство свойств ветвящихся программ.

3. Итеративные программы

Оператор цикла с условием на продолжение. Доказательство свойств итеративных программ, понятие ограничивающего выражения. Оператор цикла с условием на окончание. Операторы цикла с параметрами. Оператор перехода.

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

Пошаговая разработка программ.

4. Программы обработки структурированных данных

Структурированные типы данных: записи и массивы. Матрицы и таблицы. Представление массивов и записей на машинном уровне, упаковка и выравнивание, виды массивов в языках программирования. Записи с вариантами. Оператор присоединения.

Множества в языке Паскаль, их представление на машинном уровне.

Файлы в языке Паскаль, текстовые и стандартные файлы. Нетипизированные файлы языка Турбо Паскаль, строковый тип

Средства описания свойств программ со структурированными данными.

5. Программы с процедурами и функциями

Механизм подпрограмм, простая структура вызовов-возвратов, задачи, сопрограммы и подпрограммы прерывания. Описание и вызов процедуры в языке Паскаль. Блоки и правила локализации имен. Локальные, глобальные и стандартные имена.

Механизм параметров, ключевые и позиционные параметры, способы подстановки параметров. Правила связывания фактических и формальных параметров в языке Паскаль. Изменение действий – входные параметры. Получение результатов – выходные параметры. Реализация "обобщенных" алгоритмов в виде подпрограмм с параметрами процедурного типа.

Вычисление единственного значения – функции. Побочные эффекты.

Рекурсия, рекурсивные процедуры и функции, поколения переменных, сравнение итеративного и рекурсивного представлений алгоритмов. Метод структурной индукции.

Использование процедур и функций для пошаговой разработки программ, особенности восходящего и нисходящего подходов.

6. Более сложные программы

Указатели и динамические переменные. Списки и способы их реализации. Однонаправленные, двунаправленные и циклические списки. Основные операции со списками. Стеки и очереди, способы их реализации.

Деревья, упорядоченные и бинарные деревья. Способы их реализации. Обходы деревьев. Деревья поиска целых чисел, их использование для решения задач сортировки. Графы.

Абстрактные и инкапсулированные типы данных. Модули и модульное проектирование программ.

7. Элементы языка Си

Алфавит и словарь языка Си. Структура Си-программы. Препроцессор, замена идентификаторов, макросы, включение файлов, условная компиляция.

Основные типы данных: целые числа, символы, числа с плавающей точкой. Преобразование типов. Указатели и массивы. Структуры. Объединения. Перечисления. Переименование типов.

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

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

Определение и вызов функции. Автоматические, регистровые, формальные, глобальные и внешние переменные. Ввод-вывод данных. Библиотеки. Мобильность программ на языке Си.

План семинарских занятий

1. Понятие алгоритма и программы. Определения функций. Синтаксические диаграммы. Построение линейных программ обработки числовых данных.

2. Стандартные и конструируемые простые типы данных. Построение ветвящихся программ.

3. Операторы цикла с условием на продолжение и окончание. Обработка текстов и числовых последовательностей переменной длины.

4. Типы записей. Обработка последовательностей записей переменной длины.

5. Типы массивов. Операторы цикла с параметрами. Задачи сортировки и поиска.

6. Обработка таблиц и матриц.

7. Множества. Часовая контрольная на составление программы обработки матрицы или последовательности таблиц.

8. Файлы. Задача внешней сортировки.

9. Процедуры и функции.

10. Рекурсия. Рекурсивные методы поиска и сортировки. Порождение комбинаторных объектов.

11. Указатели. Работа со списками, очередями и стеками.

12. Древовидные структуры и их реализация. Обходы деревьев.

13. Графы и их реализация. Алгоритмы обработки графов.

14. Модули и модульное проектирование программ.

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

Задания по практике на ЭВМ

Студент получает пять индивидуальных заданий, по одному из каждого тематического раздела главы 8 книги [4].

Литература

1. Болски М.И. Язык программирования Си. М.: Радио и связь. 1988.

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

3. Иенсен К, Вирт Н. Паскаль: руководство для пользователей и описание языка. М.: Финансы и статистика, 1982.

4. Касьянов В.Н. Курс программирования на Паскале в заданиях и упражнениях. Новосибирск: НГУ, 2001.

5. Керниган Б., Ритчи Д., Фбюэр А. Язык программирования Си. Задачи по языку Си. М.: Финансы и статистика, 1985.

Дополнительная литература

1. Абрамов С.А., Зима Е.В. Начала информатики. М.: Наука, 1980.

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

3. Ахо А., Хопкрофт Дж., Ульман Дж. Построение и анализ вычислительных алгоритмов. М.: Мир, 1979.

4. Бауэр Ф.Л., Гооз Г. Информатика. Вводный курс. М.: Мир, 1990, Часть 1,2.

5. Бежанова М.М., Поттосин И.В. Современные понятия и методы программирования. М.:Научный мир. 2000.

6. Брой М. Информатика. М.: Диалог- МИФИ, 1996, Часть 1-4.

7. Ван Тассел Д. Стиль, разработка, эффективность, отладка и испытание программ. М.: Мир, 1981.

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

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

10. Задачи по программированию. / Абрамов С.А., Гнездилова Г.Г. и др. М.: Наука, 1988.

11 Касьянов В.Н., Евстигнеев В.А. Графы в программировании: обработка, визуализация и применение. СПб: БХВ-Петербург, 2003.

12 Кнут Д. Искусство программирования. М.: Мир, 1976, Том 1-3.

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

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

15. Сборник упражнений по программированию на языке Паскаль / Агафонов В.Н., Бежанова М.М. и др. Новосибирск: НГУ, 1985.

16. Фаронов В.В. Турбо Pascal 7.0. Начальный курс. М.: Нолидж, 1997.

17. Хьюз Дж., Мичтом Дж. Структурный подход к программированию. М.: Мир, 1985.
18. Шень А. Программирование: теоремы и задачи. М.: МЦНМО, 1995.

Похожие:

Программирование iconАшманов С. А. Линейное программирование. М.: Наука, 1981. Белман Р. Динамическое программирование
Абрамов Л. М., Капустин В. Ф. Математическое программирование. Л., Изд-во Ленинград ун-та, 1976. — 184 с
Программирование iconПрикладное программирование часть 1
Учебно-методический комплекс предназначен для студентов специальности 220201. 65 управление и информатика в технических системах,...
Программирование iconХовард Р. Динамическое программирование и марковские процессы. М. Сов радио, 1964. Беллман Р. Динамическое программирование
Общая формульная запись решения задачи оптимального управления методом динамического программирования
Программирование iconГородняя Дисциплина "Программирование-2"
Дисциплина "Программирование-2" предназначена для изучения математических основ практического программирования, рассматриваемого...
Программирование iconМетодическая разработка конспекта урока по информатике и икт по теме: «Алгоритмизация и программирование»
Итмизация и программирование, бесспорно, начинается с понятия алгоритма. Это понятие рассматривается, начиная с пропедевтического...
Программирование iconUnix профессиональное программирование Второе издание У. Ричард Стивене, Стивен а раго 2007 Серия «High tech» У. Ричард Стивене, Стивен А. Раго
Профессиональное программирование, 2-е издание. Спб.: Символ-Плюс, 2007. 1040 с, ил. Isbn 5-93286-089-8
Программирование iconРабочая программа учебной дисциплины дс «прикладные математические модели и проблемно-ориентированное программирование»
Дс «прикладные математические модели и проблемно-ориентированное программирование»
Программирование iconУчебно-методический комплекс по дисциплине «математическое программирование» для студентов специальности
Учебно-методический комплекс по дисциплине «Математическое программирование» разработан в соответствии с требованиями Государственного...
Программирование iconПрограмма дисциплины Методы вычисления и программирование  для направления 230100. 68 «Информатика и вычислительная техника»
Программа предназначена для преподавателей, ведущих данную дисциплину, учебных ассистентов и студентов направления подготовки 230100....
Программирование iconЛекция Введение в Объектно-ориентированный анализ, проектирование и программирование. 5

Разместите кнопку на своём сайте:
Библиотека


База данных защищена авторским правом ©lib2.znate.ru 2012
обратиться к администрации
Библиотека
Главная страница