Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

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

.pdf
Скачиваний:
25
Добавлен:
14.03.2016
Размер:
371.72 Кб
Скачать

Министерство образования и науки Российской Федерации ФГАОУ ВПО «Северо-Восточный федеральный университет имени М.К.Аммосова»

Институт математики и информатики Кафедра прикладной математики

РАБОЧАЯ ПРОГРАММА ДИСЦИПЛИНЫ (МОДУЛЯ) Б3.Б.4 ЯЗЫКИ И МЕТОДЫ ПРОГРАММИРОВАНИЯ

Направление подготовки: 010400.62 Прикладная математика и информатика

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

Квалификация (степень) выпускника: Бакалавр

Форма обучения: Очная

Якутск – 2011 г.

Составитель (и): Уваровская Мария Ивановна доцент кафедры

ПМ ИМИ СВФУ, к.ф.-м.н.

Рабочая программа дисциплины «Языки и методы программирования» утверждена на заседании кафедры прикладной математики ИМИ СВФУ

«____»_________________ 20___ г. протокол № ____

Заведующий кафедрой __________________/ В.И. Васильев

---------------------------------------------------------------------------------------------------------------------

Рабочая программа дисциплины «Языки и методы программирования» утверждена на заседании Учебно-методической комиссии ИМИ СВФУ

«____»_________________ 20___ г. протокол № ____

Председатель УМК __________________ / А.И. Голиков

---------------------------------------------------------------------------------------------------------------------

Рабочая программа дисциплины «Языки и методы программирования» утверждена на заседании УМС СВФУ «____»_________________ 20___ г. протокол № ____

Председатель УМС

__________________/ М.Ю. Присяжный

1. Цели освоения дисциплины

Целями освоения дисциплины (модуля) «Языки и методы программирования» являются:

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

(АР1) и их применением;

ознакомление с основными конструкциями программирования; основными структурами данных; и с объектно-ориентированным программированием;

научить составлять алгоритмы линейной, разветвляющейся, циклической структур; пользоваться классическими алгоритмами; процедурным программированием, рекурсией; объектно-ориентированным программированием.

2.Место дисциплины (модуля) «Языки и методы программирования» в структуре ООП

Таблица 1. Содержательно-логические связи дисциплины (модуля)

 

 

 

 

 

 

 

 

 

 

 

 

Содержательно-логические

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

связи

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Коды учебных дисциплин

 

Коды

 

 

 

 

 

 

 

 

 

 

 

 

 

(модулей), практик

 

 

 

 

Названи

 

 

 

 

 

 

 

 

формиру

Код

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

е

 

 

Дидактический минимум

на которые

 

для которых

 

емых

дисципли

 

 

 

 

 

 

 

 

 

 

 

 

 

содержание

 

компетен

 

дисципл

 

 

содержания дисциплины

 

 

 

 

 

опирается

 

 

ны

 

 

 

 

 

 

 

 

 

данной

 

ций

 

 

ины

 

 

(модуля)

 

 

 

 

 

 

 

 

 

 

содержание

 

 

(модуля)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

учебной

 

 

 

 

(модуля)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

данной

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

дисциплины

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

учебной

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(модуля)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

дисциплины

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

выступает

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(модуля)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

опорой

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

2

 

 

 

3

 

 

4

 

 

6

 

5

 

 

 

 

 

 

 

 

Основные

конструкции

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

программирования;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Основные

структуры

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

данных;

 

 

 

 

 

 

 

 

 

 

ОК-13

 

 

 

 

 

 

 

Алгоритмы

и

процесс

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ОК-14

 

 

 

 

 

 

 

решения задач;

 

 

 

 

 

 

 

 

 

 

 

 

Языки

 

 

 

 

 

 

 

 

 

 

ОК-15

 

 

 

 

Модульное

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

и

 

 

 

 

 

 

 

 

 

 

 

ОК-16

 

 

 

 

 

 

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

 

 

 

 

 

 

 

 

 

 

 

 

методы

 

 

 

 

Б2.Б.4

 

 

 

 

 

ПК-3

Б3.Б.4

 

 

Указатели. Ссылки;

 

 

 

 

Б3.В.2

 

 

програ

 

 

 

 

Б3.В.2

 

 

ПК-4

 

 

 

 

Работа с файловыми

 

 

 

 

 

 

 

 

 

 

 

ммиров

 

 

 

 

 

 

 

 

 

 

ПК-5

 

 

 

 

потоками;

 

 

 

 

 

 

 

 

 

 

 

 

 

ания

 

 

 

 

 

 

 

 

 

 

 

ПК-7

 

 

 

 

Структуры;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ПК-10

 

 

 

 

 

 

 

Графика;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ПК-12

 

 

 

 

 

 

 

Объектно-ориентированное

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Динамические структуры

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

данных.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Таблица 2. Выписка из учебного плана

Семестр

 

Трудоемкость

Лекции

Практич.

Семинар

Лаб.работа

СРС

 

 

Форма

 

 

 

зач.

 

час

 

час.

занятия

 

час.

 

час.

час.

 

промежуточной

 

 

 

 

ед.

 

 

 

 

 

час.

 

 

 

 

 

 

 

аттестации

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

зач./экз.

 

1, 2

 

8

 

288

 

108

-

 

-

 

-

 

126

 

54, экзамен,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

экзамен

 

3. Компетенции обучающегося, формируемые в результате освоения дисциплины (модуля) «Языки и методы программирования».

a)общекультурные (ОК):

способность работать в коллективе и использовать нормативные правовые документы в своей деятельности (ОК-13);

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

способность работы с информацией из различных источников, включая сетевые ресурсы сети Интернет, для решения профессиональных и социальных задач (ОК-15);

способность к интеллектуальному, культурному, нравственному, физическому и профессиональному саморазвитию, стремление к повышению своей квалификации и мастерства (ОК-16).

б) профессиональные (ПК):

способность понимать и применять в исследовательской и прикладной деятельности современный математический аппарат (ПК-3);

способность в составе научно-исследовательского и производственного коллектива решать задачи профессиональной деятельности (в соответствии с профилем подготовки) (ПК-4);

способность критически переосмысливать накопленный опыт, изменять при необходимости вид и характер своей профессиональной деятельности (ПК-5);

способность собирать, обрабатывать и интерпретировать данные современных научных исследований, необходимые для формирования выводов по соответствующим научным, профессиональным, социальным и этическим проблемам

(ПК-7);

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

способность составлять и контролировать план выполняемой работы, планировать необходимые для выполнения работы ресурсы, оценивать результаты собственной работы (ПК-12).

Врезультате освоения дисциплины обучающийся должен:

1.Знать:

основные конструкции программирования;

основные структуры данных;

применять на практике технологии программирования;

объектно-ориентированное программирование.

2.Уметь:

составлять алгоритмы линейной, разветвляющейся, циклической структур;

пользоваться классическими алгоритмами;

процедурным программированием, рекурсией;

применять на практике технологии программирования;

объектно-ориентированным программированием.

3.Иметь представление:

об алгоритмах и процессах решения задач;

навыками решения практических задач;

о событийно-управляемом и параллельном программировании;

о прикладных программных интерфейсах (АР1) и их применении.

4.Структура и содержание дисциплины (модуля) «Языки и методы программирования»

Общая трудоемкость дисциплины составляет __8__ зачетных единиц, _288_ часов.

Таблица 3. Учебно-образовательный модуль дисциплины

 

 

Раздел дисциплины

Виды учебной работы,

Коды

Форма

п/

 

 

(модуля), темы

 

включая СРС и

формиру

текущего

п

 

Неделисеместра

раздела

трудоемкость (в часах)

емых

контроля

 

Семестр

 

Лекция

 

занятие.Практ

занятие.Лаб

Семинар

СРС

 

й аттестации

 

 

 

 

 

 

 

 

 

 

компетен

успеваемости,

 

 

 

 

 

 

 

 

 

 

ций

СРС (по

 

 

 

 

 

 

 

 

 

 

 

неделям

 

 

 

 

 

 

 

 

 

 

 

семестра)

 

 

 

 

 

 

 

 

 

 

 

Форма

 

 

 

 

 

 

 

 

 

 

 

промежуточно

 

 

 

 

 

 

 

 

 

 

 

(по семестрам)

1

1

1-6

Основные

18

 

 

 

 

9

ОК-13

Проработка

 

 

 

конструкции

 

 

 

 

 

 

ОК-14

теоретического

 

 

 

программирования

 

 

 

 

 

 

ОК-15

материала.

1.1

 

 

Среда разработки.

 

 

 

 

 

 

ОК-16

Прием

 

 

 

Компиляция

 

 

 

 

 

 

ПК-3

контрольной

 

 

 

программы. Запуск

 

 

 

 

 

 

ПК-4

работы.

 

 

 

программы.

 

 

 

 

 

 

ПК-5

 

1.2

 

 

Объявление

 

 

 

 

 

 

ПК-7

 

 

 

 

переменных,

 

 

 

 

 

 

 

 

 

 

 

присваивание, ввод и

 

 

 

 

 

 

 

 

 

 

 

вывод.

 

 

 

 

 

 

 

 

1.3

 

 

Выбор (условный

 

 

 

 

 

 

 

 

 

 

 

оператор).

 

 

 

 

 

 

 

 

 

 

 

Инструкция if и

 

 

 

 

 

 

 

 

 

 

 

инструкция switch.

 

 

 

 

 

 

 

 

1.4

 

 

Циклические

 

 

 

 

 

 

 

 

 

 

 

конструкции.

 

 

 

 

 

 

 

 

2

 

7-

Основные

18

 

 

 

 

9

 

Проработка

 

 

12

структуры данных

 

 

 

 

 

 

 

теоретического

2.1

 

 

Одномерные массивы.

 

 

 

 

 

 

 

материала.

2.2

 

 

Многомерные

 

 

 

 

 

 

 

Прием

 

 

 

массивы.

 

 

 

 

 

 

 

контрольной

2.3

 

 

Символы и строки.

 

 

 

 

 

 

 

работы.

3

 

13-

Алгоритмы и

18

 

 

 

 

9

 

Проработка

 

 

18

процесс решения

 

 

 

 

 

 

 

теоретического

 

 

 

задач

 

 

 

 

 

 

 

материала.

3.1

 

 

Вычисление сложных

 

 

 

 

 

 

 

Прием

 

 

 

сумм. Алгоритм

 

 

 

 

 

 

 

контрольной

 

 

 

Евклида. Схема

 

 

 

 

 

 

работы.

 

 

 

Горнера.

 

 

 

 

 

 

Экзамен.

3.2

 

 

Работа с массивами.

 

 

 

 

 

 

 

 

 

 

Линейный поиск,

 

 

 

 

 

 

 

 

 

 

бинарный поиск.

 

 

 

 

 

 

 

 

 

 

Сортировка ( метод

 

 

 

 

 

 

 

 

 

 

пузырька, метод

 

 

 

 

 

 

 

 

 

 

выбора, метод

 

 

 

 

 

 

 

 

 

 

вставки, метод

 

 

 

 

 

 

 

 

 

 

Шелла).

 

 

 

 

 

 

 

3.3

 

 

Работа со строками

 

 

 

 

 

 

 

4

2

1-3

Модульное

9

 

 

 

12

 

Проработка

 

 

 

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

 

 

 

 

 

 

теоретического

4.1

 

 

Функции. Объявление

 

 

 

 

 

 

материала.

 

 

 

и определение

 

 

 

 

 

 

 

 

 

 

функций.

 

 

 

 

 

 

 

4.2

 

 

Рекурсивные

 

 

 

 

 

 

 

 

 

 

функции.

 

 

 

 

 

 

 

4.3

 

 

Локальные и

 

 

 

 

 

 

 

 

 

 

глобальные

 

 

 

 

 

 

 

 

 

 

переменные.

 

 

 

 

 

 

 

5

 

4-5

Указатели. Ссылки

6

 

 

 

18

 

Проработка

5.1

 

 

Ссылки. Указатели и

 

 

 

 

 

 

теоретического

 

 

 

адресная арифметика.

 

 

 

 

 

 

материала.

5.2

 

 

Методы

 

 

 

 

 

 

Прием

 

 

 

распределения

 

 

 

 

 

 

контрольной

 

 

 

памяти.

 

 

 

 

 

 

работы.

5.3

 

 

Указатели и массивы.

 

 

 

 

 

 

 

6

 

6-9

Работа с файловыми

12

 

 

 

17

 

Проработка

 

 

 

потоками

 

 

 

 

 

 

теоретического

6.1

 

 

Текстовые файлы.

 

 

 

 

 

 

материала.

 

 

 

Работа в С.

 

 

 

 

 

 

Прием

6.2

 

 

Типизированные

 

 

 

 

 

 

контрольной

 

 

 

файлы. Особенности

 

 

 

 

 

 

работы.

 

 

 

работы с файлами в

 

 

 

 

 

 

 

 

 

 

С++.

 

 

 

 

 

 

 

7

 

10

Структуры

3

 

 

 

10

 

Проработка

 

 

 

 

 

 

 

 

 

 

теоретического

 

 

 

 

 

 

 

 

 

 

материала.

8

 

11-

Графика

9

 

 

 

12

 

Проработка

 

 

13

 

 

 

 

 

 

 

теоретического

8.1

 

 

Инициализация

 

 

 

 

 

 

материала.

 

 

 

графической системы

 

 

 

 

 

 

 

8.2

 

 

Работа с окнами и

 

 

 

 

 

 

 

 

 

 

координатами

 

 

 

 

 

 

 

8.3

 

 

Включение BGI-

 

 

 

 

 

 

 

 

 

 

драйверов

 

 

 

 

 

 

 

8.4

 

 

Графические

 

 

 

 

 

 

 

 

 

 

примитивы

 

 

 

 

 

 

 

9

 

14-

Объектно-

6

 

 

 

12

 

Проработка

 

 

15

ориентированное

 

 

 

 

 

 

теоретического

 

 

 

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

 

 

 

 

 

 

материала.

9.1

 

 

Основные концепции

 

 

 

 

 

 

 

 

 

 

объектно-

 

 

 

 

 

 

 

 

 

 

ориентированного

 

 

 

 

 

 

 

 

 

 

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

 

 

 

 

 

 

 

9.2

 

 

Классы, объекты,

 

 

 

 

 

 

 

 

 

 

методы.

 

 

 

 

 

 

 

 

 

 

Конструкторы и

 

 

 

 

 

 

 

 

 

 

деструкторы.

 

 

 

 

 

 

 

9.3

 

 

Наследование.

 

 

 

 

 

 

 

 

 

 

Перегрузка функций.

 

 

 

 

 

 

 

 

 

 

Полиморфизм.

 

 

 

 

 

 

 

10

 

16-

Динамические

9

 

 

 

18

 

Проработка

 

 

18

структуры данных

 

 

 

 

 

 

теоретического

10.

 

 

Стеки. Очереди.

 

 

 

 

 

 

материала.

1

 

 

Бинарное дерево

 

 

 

 

 

 

Прием

 

 

 

поиска.

 

 

 

 

 

 

итоговой

 

 

 

 

 

 

 

 

 

 

контрольной

 

 

 

 

 

 

 

 

 

 

работы.

 

 

 

 

 

 

 

 

 

 

Экзамен.

 

 

 

ИТОГО

108

 

 

 

126

 

 

5.Образовательные технологии

Впроцессе преподавания дисциплины «Языки и методы программирования» для реализациии компетентностного подхода предусматривается использование в учебном процессе активных и интерактивных форм проведения занятий, применяются образовательные технологии лекционно-экзаменационной системы обучения и развития креативного мышления. При чтении дисциплины применяются такие виды лекций, как вводная, обзорная, проблемная, лекция-презентация. В течение семестров студенты выполняют самостоятельные работы, контрольные задания и итоговую контрольную работу. Оценка знаний студентов осуществляется на основе рейтинга, сдачи экзаменов.

6.Оценочные средства для текущего контроля успеваемости, промежуточной аттестации по итогам освоения дисциплины и учебно-методическое обеспечение самостоятельной работы студентов

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

Виды СРС

1.Проработка теоретического материала, состоящая в конспектировании учебного материала, не рассматриваемого на лекционных занятиях.

2.Выполнение контрольных заданий.

Примерные темы для проработки (СРС)

1.Оценка сложности вычислительных алгоритмов.

2.Общие методы решения вычислительных задач.

3.Основные средства обработки данных.

4.Алгоритмическое основы написания эффективных программ.

5.Системы программирования.

6.Перестановки набора. Подсчет числа перестановок.

7.Обработка чисел.

8.Задачи поиска и сортировки.

9.Классические модели динамической памяти.

10.Абстарктные структуры данных.

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

12.Динамическое программирование.

13.Элементы теории языков.

14.Элементы теории вероятностей, информации и кодирования.

Вариант контрольного задания:

Тема 1. Объявление переменных, присваивание, ввод, вывод. Выбор (условный оператор). Инструкция if и инструкция switch.

Вариант №1

1.Дана длина ребра куба. Найти площадь грани, площадь полной поверхности и объем этого куба.

2.Составить программу, печатающую значение true, если указанное высказывание является истинным, и false в противном случае:

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

3.Составить программу, которая печатает true, если точка с координатами (х, у) принадлежит заштрихованной области, и false в противном случае:

4.Написать программу, которая бы по введенному номеру единицы измерения (1 — килограмм, 2 — миллиграмм, 3 — грамм, 4 — тонна, 5 — центнер) и массе М выдавала бы соответствующее значение массы в килограммах.

5.Даны два действительных числа. Если они равны, то занулить, в противном случае наименьшему числу присвоить значение наибольшего числа.

Тема 2. Циклы, одномерные и двумерные массивы.

Вариант №1

1. Вычислите:

n

(1 sin(k) /(2k!))

k 1

2.При некоторых заданных x, N и E, определяемых вводом,вычислите сумму N слагаемых заданного вида;

сумму тех слагаемых, которые по абсолютной величине больше Е.

Сравните результаты с точным значением функции, для которой данная сумма

определяет приближенное значение при x, лежащем в интервале

(-R,R).

ex 2 1

x2

 

x4

...

R

 

 

 

 

1!

2!

 

 

 

3.Дана последовательность действительных чисел а1,а2,..,аn. Указать те элементы, которые принадлежат отрезку [с,d].

4.Дан массив целых чисел из 12 элементов. Упорядочить массив по убыванию (метод Шелла).

5.Квадратная матрица, симметричная относительно главной диагонали, задана верхним треугольником в виде одномерного массива. Восстановить исходную матрицу и напечатать результат.

Тема 3. Символы и строки.

Вариант №1

1.Дан текст. Подсчитать, сколько раз среди символов текста встречается символ «пробел».

2.В заданном тексте удалить часть текста, заключенную в скобки, вместе со скобками.

3.Дана строка S, содержащая символ «*». Получить все символы, расположенные до первой «*».

4.Дана строка S. Преобразовать строку, удалив из нее все цифры.

5.Дана строка S. Группы символов, разделенные пробелами и не содержащие пробелов внутри себя, будем называть словами. Подсчитать количество слов в данной строке.

Тема 4. Функции, рекурсия и указатели.

Вариант №1

1.float a=4.0, *u, z; u=&z;

*u=5;

a=a+*u+1;

Чему равно a, z?

2.int x[4]={0, 2, 4, 6}, *i, y; i=&x[0];

y=*i; // y=? y=*i++; //y=? y=++*i; //y=? y=*++i; //y=? y=(*i)++; //y=? y=++(*i); //y=?

3.Напишите рекурсивную функцию для вычисления значения полинома Лежандра

порядка n в точке x.

Полиномы Лежандра определяются следующим образом:

P0(x)=1;

P1(x)=x;

Pn (x) (2n 1)Pn 1 (x) (n 1)Pn 2 (x) . n

4. Напишите рекурсивную функцию, вычисляющую

6 n! .

n 1 n 1

5.Дана рекурсивная функция int f(int n)

{if ((n>58)or(n<30)) return(n-1); else return f(f(f(n+10)-2)-2);

}

Вычислить f(60)); f(55); f(54) не используя калькулятор.

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

Тема 5. Файлы.

Вариант №1

1.Дан файл, компонентами которого являются массивы действительных чисел. Вычислить для каждого массива сумму элементов принадлежащих отрезку [-5, 9]. Записать в другой файл каждое из этих чисел.

2.Дан файл, компонентами которого являются массивы действительных чисел a1, a2,…, an. Записать в другой файл последовательность массивов, получающихся следующими преобразованиями исходных массивов: a1+1!, a2+2!,…, an+n!.

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

4.Дан текстовый файл. Выяснить, имеется ли в последовательности строк пара соседствующих одинаковых букв.

5.Дан текстовый файл. Удалить все группы букв вида ―abc‖.

Итоговая контрольная работа

Вариант №1

1.Составить программу, которая печатает true, если точка с координатами (х, у) принадлежит заштрихованной области, и false в противном случае: