Программирование на языке высокого уровня

Вид материалаРабочая программа

Содержание


Цель и задачи дисциплины
Теоретическая часть
Алгоритмический язык Turbo Pascal.
Структурированные типы данных.
Процедуры и функции.
Организация хранения данных во внешней памяти.
Динамические структуры данных.
Модульное программирование.
Курсовая работа
Другие виды самостоятельной работы.
Методические материалы
Подобный материал:

Пензенский Государственный Университет



Факультет вычислительной техники

Кафедра «Системы автоматизации проектирования»




ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ ВЫСОКОГО УРОВНЯ


Рабочая программа учебной дисциплины

по подготовке специалиста

по специальности 552800


«Информатика и вычислительная техника»

(общий объем 252 часа, экзамен и курсовая работа)


Автор к. т. н., доцент Л.В. Игошина

УТВЕРЖДЕНА


на заседании кафедры САПР «__14__» «__04______» 2004г

протокол № 8


Заведующий кафедрой САПР

д. т. н., профессор А.М. Бершадский


Цель и задачи дисциплины


Целью курса «Программирование на языке высокого уровня» является изучение основ алгоритмизации вычислительных процессов, общих принципов программирования, представления основных структур программ и данных, алгоритмического языка Turbo Pascal 7.0(ТР), интегрированной среды разработчика программ Turbo или Borland Pascal, стандартных модулей языка ТР, основ программирования на языке Turbo Pascal.


В результате изучения курса студенты должны

- знать:
  • основы алгоритмизации различных типов вычислительных процессов;
  • основы структурного программирования;
  • основные этапы разработки программ;
  • понятия и составные части языка программирования Turbo Pascal;
  • структуру программы и структуры данных, управляющие структуры,
  • процедуры и функции языка Turbo Pascal;
  • принципы модульного проектирования программ;
  • графические возможности языка Turbo Pascal;

- уметь:
  • разрабатывать алгоритмы решения несложных задач;
  • реализовывать разработанные алгоритмы на языке ТР;
  • проектировать программы в соответствии с принципами модульного программирования;
  • редактировать, компилировать и отлаживать программы в среде ТР или ВР;
  • использовать графические возможности языка ТР для создания графических изображений и простейших меню программ;


Теоретическая часть

Введение в программирование. Цели и задачи курса. Литература. Основные этапы решения задач на ЭВМ.

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

Алгоритмический язык Turbo Pascal. Программирование и отладка в среде Turbo (Borland) Pascal 7.0. Алфавит языка. Классификация данных. Стандартные скалярные типы данных. Перечислимые и ограниченные типы. Строковый тип данных. Операции над строками. Структура программы на языке Паскаль. Описание меток, переменных и типов. Описание простых и типизированных констант. Стандартные математические функции и функции преобразования типов. Арифметические и логические выражения. Операторы языка. Составной оператор и оператор присваивания. Процедуры ввода и вывода данных. Операторы условной и безусловной передачи управления. Оператор варианта. Операторы циклов.

Структурированные типы данных. Массивы, их описание. Ввод и вывод массивов. Работ с одномерными и двумерными массивами. Множества в Паскале, их описание. Операции над множествами. Записи, их описание и использование. Оператор присоединения.

Процедуры и функции. Описание процедур. Область действия имён. Локальные и глобальные параметры. Подпрограммы типа FUNCTION, их описание.

Разработка прикладных программ. Алгоритмы и программы сортировки и поиска. Сортировка выбором. Обменная сортировка. Сортировка слиянием. Линейный поиск. Двоичный поиск.

Организация хранения данных во внешней памяти. Файлы. Понятие логического и физического файла. Файловые типы в Турбо Паскале. Текстовые файлы. Процедуры для работы с текстовыми файлами. Типизированные (компонентные) файлы. Процедуры для работы с типизированными файлами. Безтиповые файлы, процедуры для работы с ними.

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

Модульное программирование. Модули в Турбо Паскале. Структура модулей. Компиляция и подключение модулей. Разработка модулей (Unit). Стандартные модули Turbo Pascal 7.0. Процедуры и функции модуля CRT для работы с экраном, курсором, строками, управления звуком, цветом и яркостью. Модуль GRAPH. Инициализация и закрытие графического режима. Очистка экрана, переключение режимов, координаты экрана, перемещение и определение расположения графического курсора. Рисование точек. Процедуры прорисовки линий, определение и установка стиля линий. Рисование окружностей, эллипсов, дуг, прямоугольников, многоугольников и ломаных линий. Управление цветом, опрос и установка цвета пера и фона. Заливка изображений, задание типа заливки, заливка эллипсов, секторов и многоугольников. Вывод текста в графическом режиме, шрифты. Создание движущихся изображений.


Практические занятия
  1. Изучение среды программирования ТР 7.0.
  2. Линейные алгоритмы и программы.
  3. Алгоритмы и программы с разветвлением.
  4. (и 4) Циклические алгоритмы и программы.
  1. (и 6) Работа с одномерными и двумерными массивами.
  1. Работа с записями.
  2. Разработка программ с использованием процедур.
  3. Изучение простейших алгоритмов и программ сортировки.
  4. Разработка программ с использованием функций.
  5. Работа с текстовыми файлами.
  6. Работа с типизированными файлами.
  7. Работа с динамическими структурами данных.
  8. Разработка модулей.
  9. Процедуры и функции модуля CRT.
  10. (и 17) Процедуры и функции модуля GRAPH.



Курсовая работа


Курсовой проект состоит в алгоритмизации и программировании процедур работы с линейным динамическим списком. В процессе решения задачи используется меню, для вывода меню на экран дисплея используются процедуры и функции модулей Graph и(или) Crt.


Другие виды самостоятельной работы.

Каждый студент должен вести самостоятельную работу по основным разделам дисциплины. Для этих целей используется литература, приведенная в списке.

14 Рекомендуемая литература

Основная
  1. Гудман С., Хидетниеми С. Введение в разработку и анализ алгоритмов.- М.: Мир, 1981 - 386с.
  2. Вирт Н. Алгоритмы и структуры данных. М.: Мир, 1989. – 360с.
  3. Офицеров Д.В., Старых В.А. Программирование в интегрированной среде ТурбоПаскаля. Справочное пособие. - Минск: «Беларусь», 1992
  4. Фаронов В.В. ТурбоПаскаль 7.0. Начальный курс. Учебное пособие. - М.: «Нолидж», 1997

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

1. С.И. Довгаль, Б.Ю. Литвинов, А.И. Сбитнев Персональные ЭВМ: ТурбоПаскаль 7.0. Объектное программирование. Локальные сети. Учебное пособие.- Киев: «Информсистема сервис», 1993
  1. Йордан Э. Структурное программирование и конструирование программ. - М.: Мир, 1989

Методические материалы


Алгоритмические языки и программирование. Электронный вариант цикла лекций и методических указаний к выполнению лабораторных работ. Игошина Л.В.

Рекомендации по изучению курса «Программирование на языке высокого уровня»


Прежде чем Вы приступите к выполнению практических работ 1-13 необходимо ознакомиться с разделами электронного пособия «Основы языка Паскаль», 14-17 - «Модули языка Паскаль».


Список обязательных практических работ по курсу.


Основы Паскаля. Практические задания №№ 3, 5 – 8, 10,11.

Модули Паскаля. Практические задания №№ 15, 16, 17.


Отчеты по практическим работам должны содержать сведения об авторе, номер и название работы, номер варианта, тексты программ и результаты решения. Для заданий (работ) 3,5,6,10 должны быть представлены также схемы алгоритмов.


Задание на курсовое проектирование

Тема курсового проекта

«Работа с динамическим линейным списком»


Разработать алгоритмы и программу, решающие следующие задачи:

  1. Создание упорядоченного линейного динамического списка.
  2. Добавление элементов (или узлов) в список без нарушения упорядоченности.
  3. Поиск в упорядоченном списке заданной информации с выводом ее на экран.
  4. Удаление заданных элементов из списка.
  5. Вывод линейного списка на экран производить в графическом режиме после выполнения пунктов 1,2 и 4.
  6. Выбор решаемых задач (1-5) производить с помощью разработанного меню. Меню должно содержать также пункт для получения справочной информации. В нем должны содержаться сведения о разработчике.


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

Пояснительную записку к курсовой работе оформить в соответствии с ЕСПД. Описание программы. Руководство для программиста. Графическая часть должна содержать структурную схему программы и схему алгоритма процедуры добавления элементов в список.