Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
1_tekctumk.pdf
Скачиваний:
22
Добавлен:
16.02.2016
Размер:
2.53 Mб
Скачать

В том числе: курсовой проект (работа)

1

1

1

контрольная работа

 

 

 

Вид итогового контроля (зачет, экзамен)

экз

экз

экз

Перечень видов практических занятий и контроля:

-тесты по разделам;

-один курсовой проект (для всех форм обучения);

-лабораторные работы – 24 часа (для очной формы), 20 часов (для очнозаочной формы), 8 часов (для заочной формы обучения);

- практические занятия – 4 часа (для всех форм обучения) - экзамен.

2. Рабочие учебные материалы

2.1. Рабочая программа (объем 130 часов)

Раздел 1. ОБЩИЕ ПОЛОЖЕНИЯ

Введение (4 часа)

[12]

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

Тема 1.1. Технология программирования (4 часа)

 

[1],c.25-42; [2],c.7-9; [12]

 

Определение

алгоритма. Основные принципы и подходы

в

проектировании программных алгоритмов, нисходящее проектирование и

восходящее программирование. Структурное, модульное

и объектное

программирование.

 

Тема 1.2. Базовые понятия алгоритма и алгоритмического языка (12 часов)

[1],c.35-47, 120-145

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

Типовые классы алгоритмов: прямые, разветвляющиеся, циклические алгоритмы. Функции и процедуры.

Компиляция и интерпретация, программные модули : исходный, объектный и загрузочный. Типы языков программирования, краткая характеристика наиболее распространенных языков С++, Pascal, Java, ассемблер.

Классификация языков программирования:

- по области применения: универсальные(язык ассемблера, C++, Pasсal, Ada, Basic ) и специализированные (Java, SQL, HTML, языки СУБД – dBase, Paradox,Oracle);

- по методу реализации: компиляторы (ассемблер, С++, Pascal) и

интерпретаторы (Basic, Java, HTML);

- по уровню: низкого уровня (машинно-зависимые языки (ассемблеры) и высокого уровня (машинно-независимые языки (C++, Pascal, Java).

Синтаксис и семантика алгоритмического языка программирования. Типизация и структуризация программных данных.

Тема 1.3. Основные понятия алгоритмического языка С++ и системы программирования С++Builder (12 часов)

[1],c.81-109,118-140,839-902; [2],c.123-128;

Типизация и структуризация программных данных. Машинное представление данных основных типов – int, float, AnsiString. Простейшие операторы : присваивания, условный, циклический. Функции в C++. Общие свойства системы программирования Builder. Идеи визуального компонентного программирования. Программный объект, основные принципы его машинной реализации. Динамическое выделение памяти. Понятие свойств и методов объекта, их машинная реализация.

Программный проект в среде Builder, файлы проекта, правила создания нового проекта. Технология проектирования программного интерфейса, настройка свойств объекта, программирование обработчиков событий.

Раздел 2. ПРОГРАММИРОВАНИЕ ТИПОВЫХ АЛГОРИТМОВ

Тема 2.1. Программирование прямых алгоритмов (10 часов)

[1], c.145-155,198-202,782-785, 803-816;[2], с.67-76

Типовые задачи, приводящие к прямым алгоритмам, их алгоритмическое представление. Общая структура прямого алгоритма: точка входаустановка начальных значенийвычисления – вывод результатовостанов. Простейшие компоненты, необходимые для организации прямых алгоритмов : Label, Button, Edit. Установка начальных значений с помощью прёма инициализации, оператора присваивания, установки свойств на фазе design time , ввода с пульта на фазе run time.

Объявление переменных в программе, статические и динамические данные.

Преобразования форматов данных типа «Строка - число» и «Числострока». Особенности вычислений на базе целых чисел типа int. Диапазон представления данных, особенности целочисленного деления. Особенности вычислений на базе чисел с плавающей точкой типа float. Диапазон представления данных, вывод результатов в естественной форме и по формату с фиксированной точкой типа ffFormat.

Правила записи арифметических выражений, унарные и бинарные операции, приоритет операций. Встроенные математические функции. Дополнительные компоненты, используемые при программировании прямых алгоритмов: BitButton, MaskEdit, Panel, Memo, Image. Оператор

ShowMessage. Многооконные приложения.

Тема 2.2. Программирование разветвляющихся алгоритмов (8 часов)

[1], c.145-155, 198-202, 819-822 [2], с.76-85

Типовые задачи, приводящие к разветвляющимся алгоритмам, их алгоритмическое представление. Разновидности условного оператора: if…then и if…then else.

Логические выражения. Вложенные операторы, блоки. Оператор безусловного перехода goto. Операторы выхода из блока return и break. Принципы структурного программирования: понятие блока, локализация переменных, нарушение структуризации операторами goto.

Выбор одной альтернативы из многих. Компонент RadioGroup и оператор switch. Организация ветвлений в диалоговом режиме, встроенная функция MessageDlg.

Тема 2.3. Программирование циклических алгоритмов с известным количеством повторений (14 часов)

[1], c.145-155, 198-202, 822-824; [2], с.19-22, 85-88

Типовые задачи, приводящие к циклическим алгоритмам: обработка натурального ряда чисел, варианты обработки, алгоритмическое представление решения задач.

Организация циклов с помощью:

условного и безусловного операторов;

оператора цикла for;

оператора цикла while.

Задачи, требующие разветвления в теле цикла: обработка натурального ряда чисел, расчёт табличных значений функций. Комбинация оператора цикла и условного оператора.

Тема 2.4. Программирование алгоритмов с подпрограммами (10 часов)

[1], c.788-800; [2], с.42-60

Типовые задачи, приводящие к алгоритмам с подпрограммами. Углубление понятия блока, локальные и глобальные переменные, область действия переменных.

Подпрограммы-процедуры и подпрограммы-функции. Формальные и фактические параметры. Описание и вызов подпрограмм. Передача данных подпрограмме и получение результатов, возвращаемое значение. Понятие типа функции, функции без определённого типа возвращаемого значения. Передача подпрограмме множества значений. Обмен данными с подпрограммой через глобальные переменные. Побочный эффект подпрограмм. Действия, производимые машиной при компиляции программы с процедурами, и при выполнении такой программы

Тема 2.5. Циклы с неизвестным количеством повторений (16 часов)

[1], c.822-826; [2], с.85-87

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

Раздел 3. МАССИВЫ

Тема 3.1. Числовые массивы (14 часов)

[1], c.155-170; [2], с.239-243, 264-271

Многострочный редактор Memo , компоненты ListBox. Работа со свойствами Items и Lines, основные методы и свойства.

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

Обработка одномерных числовых массивов: определение минимального и максимального элементов, вычисление среднего значения и среднего квадратичного отклонения в одно- и двумерных массивах. Обработка двумерных числовых массивов. Компоненты для представления двумерных массивов. Сетка StringGrid.

Тема 3.2. Строковые массивы (8 часов)

[1], c.168-170; [2], с.239-243

Элементарные функции обработки строк – соединение (конкатенация) и логические сравнения. Особенности представления и преобразования элементов строковых массивов. Обработка строковых массивов. Страница с закладками PageControl.

Тема 3.3. Методы сортировки и поиска в массиве (16 часов)

[10], c.13-502

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

Тема 3.4. Развитые структуры и алгоритмы (8 часов)

[10], c.502-561

Методы частных целей, подъемы ветвей и границ, эвристика. Сложные структуры данных (списки, деревья, сети). Потоки ввода-вывода; файлы.

Раздел 4. ГРАФИКА

Тема 4.1. Графические приемы построения изображений (10 часов)

[1], c.289-314б373-407; [2], с.298-305

Понятие холста (Canvas) как свойства компонентов, предназначенного для рисования. Процедурное и растровое построение изображений. Методы и свойства холста (Canvas), применяемые для программной прорисовки изображения. События формы, связанные с прорисовкой изображения Компоненты Image, свойства Canvas, Brush, Pen, методы процедурной графики.

Заключение.

В результате изучения вопросов, отражённых в данной учебной программы, студент осваивает методы элементарного программирования на языке С++ и приёмы разработки программных проектов в визуальной среде программирования.