РПД Программирование
.pdfn
2. Вычислите: ( 1)i / i!.
i1
3.Дан массив из целых чисел (5, 5). Найти 4 максимальных элемента.
4.Дана последовательность действительных чисел а1,а2,..,аn. Указать те элементы, которые принадлежат отрезку [с,d]. Использовать процедуры и типизированные файлы.
5.Дан текстовый файл. Подсчитать, сколько раз среди символов текста встречается символ «пробел».
Экзаменационные вопросы
1семестр:
1.Среда разработки. Компиляция программы. Запуск программы.
2.Форматированный ввод/вывод в Си.
3.Простые типы данных в Си.
4.Операторы, арифметические, алгебраические и логические выражения.
5.Программа линейной структуры.
6.Программа разветвляющейся структуры. Структура if.
7.Оператор выбора. Инструкция switch.
8.Оператор цикла for.
9.Оператор цикла с предусловием while.
10.Оператор цикла с постусловием do…while.
11.Обработка целых чисел. Операторы % и /.
12.Вычисление сложных сумм.
13.Алгоритм Евклида.
14.Одномерные массивы. Ввод/вывод.
15.Линейный поиск в одномерном массиве.
16.Бинарный поиск в одномерном массиве.
17.Сортировка. Метод пузырька.
18.Сортировка. Метод выбора.
19.Сортировка. Метод вставки.
20.Двумерные массивы. Ввод/вывод.
21.Сортировка двумерного массива. Метод пузырька.
22.Символы и строки. Ввод, вывод значения строковых переменных.
23.Основные функции работы со строками.
2семестр:
1.Функции. Объявление и определение функции. Модификаторы.
2.Функции. Возврат значения через return.
3.Функции. Возврат значений через параметр.
4.Функции. Возврат значений через return и параметр.
5.Функции. Работа одномерным массивом.
6.Функции. Работа с двумерным массивом.
7.Рекурсивные функции.
8.Функции. Локальные и глобальные переменные.
9.Ссылки. Указатели и адресная арифметика.
10.Методы распределения памяти.
11.Указатели и массивы.
12.Обработка нажатий клавиатуры.
13.Создание простого меню.
14.Текстовые файлы. Работа в Си.
15.Текстовые файлы. Работа с числами.
16.Текстовые файлы. Работа с массивами.
17.Текстовые файлы. Работа со строками и текстом.
18.Потоковый ввод/вывод в С++.
19.Форматирование данных в С++. Флаги.
20.Форматирование данных в С++. Манипуляторы.
21.Работа с файлами в С++.
22.Бинарные файлы.
23.Бинарные файлы. Работа с числами.
24.Бинарные файлы. Работа с массивами.
25.Структуры.
26.Перегрузка операций.
27.Графика в С/C++.
28.Введение в объектно-ориентированное программирование. Основные концепции ООП.
29.Введение в объектно-ориентированное программирование. Классы, объекты и методы.
30.Введение в объектно-ориентированное программирование. Конструкторы и деструкторы.
31.Введение в объектно-ориентированное программирование. Наследование.
32.Введение в объектно-ориентированное программирование. Перегрузка операций как пример полиморфизма.
33.Динамические структуры данных. Стеки.
34.Динамические структуры данных. Очереди.
35.Динамические структуры данных. Бинарное дерево поиска.
Примерные задачи для экзаменов
1.Заданы радиус круга R и площадь квадрата S. Определить, поместится ли квадрат в круг.
2.Вычислить наибольший общий делитель двух целых чисел.
3.Дан массив целых чисел из 12 элементов. Найти сумму первого отрицательного и первого положительного.
4.Дан массив из целых чисел А(5 X 5). Заменить нулями все элементы на главной диагонали и выше еѐ.
5.Дана строка, состоящая из нескольких слов, между соседними словами не менее одного пробела, за последним словомточка. Во все слова, за первым символом, вставить пробел.
6.Написать программу нахождения НОД 3-х чисел, используя НОД двух чисел.
7.Написать рекурсивную процедуру вычисления факториала целого положительного числа n.
8.Пусть дан файл целых чисел. Определите, являются ли числа в файле упорядоченными по возрастанию.
9.Пусть даны два текстовых файла. Определите, равны ли они.
7. Учебно-методическое и информационное обеспечение дисциплины (модуля) «Языки и методы программирования»
Основная литература:
1.Ахо А.В., Хопкрофт Д., Ульман Д.Д. Структуры данных и алгоритмы: Пер. с англ. М: Издательский дом "Вильяме", 2003, 384 с.
2.Керниган Б.У., Ритчи Д.М. Язык программирования С. М.: Изд. дом «Вильямс», 2006. 304с.
3.Кнут Д. Е. Искусство программирования на ЭВМ. Т. 1-3. Москва, 2008.
4.Липпман С.Б. Основы программирования на С++. - М.: Вильяме, 2002. 256с.
5.Павловская Т.А. Программирование на языке высокого уровня. СПб.: Питер, 2007.
461с.
6.Подбельский В.В. Язык С++: Учеб.пособие. М.:Финансы и статистика, 1999. 560с.
7.Подбельский В.В., Фомин С.С. Программирование на языке Си: Учеб. пособие. М.: Финансы и статистика, 2001. 600с.
8.Пратт Т., Зелковиц М. Языки программирования. Разработка и реализация. Пер. с англ.
СПб.: Питер, 2002. 688 с.
9.Страуструп Б. Язык программирования С++: Пер.с англ. Спец. изд. М.: Бином,
2001. 1114 с.
Дополнительная литература:
1.Алексеев И.П., Уваровская М.И. Практикум по программированию «Одномерные и двумерные массивы». Якутск: Изд-во ЯГУ, 2010. 32с.
2.Антонов Ю.С., Тихонова О.А., Уваровская М.И. Практикум по программированию на языке Паскаль. Часть 1. Якутск: филиал издательства ЯГУ, ИМИ, 2010. 117 с.
3.Антонов Ю.С., Тихонова О.А., Уваровская М.И. Практикум по программированию на языке Паскаль. Часть 2. Якутск: филиал издательства ЯГУ, ИМИ, 2010. 117 с.
4.Антонов Ю.С., Тихонова О.А., Уваровская М.И. Практикум по программированию на языке Паскаль. Часть 3. Якутск: филиал издательства ЯГУ, ИМИ, 2010. 117 с.
5.Баженова И.Ю. С++. Уроки программирования. М.: Диалог: МИФИ, 1999. 416с.
6.Воеводин В.В. Математические основы параллельных вычислений. М.: Изд-во МГУ,
1991.
7.Крячков А.В., Сухинина И.В., Томшин В.К. Программирование на С и С++. Практикум: Учебное пособие для вузов. М.: Горячая линия. Телеком, 2000. 344с.
8.Павлов Н.Н. Практикум на ЭВМ. Якутск, изд-во ЯГУ, 1999.
9.Павловская Т.А., Щупак Ю.А. С/С++. Структурное программирование: Практикум.
СПб: Питер, 2005. 239с.
10.Франка П. С++: учебный курс. СПб: Питер, 2008. 528с.
8. Материально-техническое обеспечение дисциплины «Языки и методы программирования»
Учебные аудитории с мультимедийным проектором для проведения лекционных занятий.
Аннотация к рабочей программе дисциплины
Б3.Б.4 ЯЗЫКИ И МЕТОДЫ ПРОГРАММИРОВАНИЯ
|
|
|
Составитель: |
|
|
Уваровская Мария Ивановна, доцент кафедры |
|
|
|
|
ПМ, ИМИ СВФУ, к.ф.-м.н. |
|
|
|
|
Направление подготовки |
|
010400.62 |
|
Профиль подготовки |
|
1. Математическое моделирование и |
|
|
|
|
вычислительная математика |
|
|
|
2. Системный анализ, исследование |
|
|
|
операций и управление |
Квалификация (степень) выпускника |
|
Бакалавр |
|
|
|
|
|
Цикл, раздел учебного плана |
|
Б3.Б.4 |
|
Семестр(ы) изучения |
|
1, 2 |
|
|
|
||
Количество зачетных единиц (кредитов) |
8 |
||
|
|
|
|
Форма |
промежуточной |
аттестации |
Экзамен, экзамен |
(зачет/экзамен) |
|
|
|
Количество часов всего, из них: |
|
288 |
|
|
|
|
|
|
лекционные |
|
108 |
|
|
|
|
|
СРС |
|
126 |
|
|
|
|
|
на экзамен/зачет |
|
54 |
|
|
|
|
1. Цели освоения дисциплины
Целями освоения дисциплины (модуля) «Языки и методы программирования» являются:
ознакомление с алгоритмами и процессами решения задач, с событийно-управляемым и параллельным программированием; с прикладными программными интерфейсами
(АР1) и их применением;
ознакомление с основными конструкциями программирования; основными структурами данных; и с объектно-ориентированным программированием;
научить составлять алгоритмы линейной, разветвляющейся, циклической структур; пользоваться классическими алгоритмами; процедурным программированием, рекурсией; объектно-ориентированным программированием.
2. Компетенции обучающегося, формируемые в результате освоения дисциплины (модуля).
b) общекультурные (ОК):
способность работать в коллективе и использовать нормативные правовые документы в своей деятельности (ОК-13);
способность использовать в научной и познавательной деятельности, а также в социальной сфере профессиональные навыки работы с информационными и компьютерными технологиями (ОК-14);
способность работы с информацией из различных источников, включая сетевые ресурсы сети Интернет, для решения профессиональных и социальных задач (ОК-15);
способность к интеллектуальному, культурному, нравственному, физическому и профессиональному саморазвитию, стремление к повышению своей квалификации и мастерства (ОК-16).
б) профессиональные (ПК):
способность понимать и применять в исследовательской и прикладной деятельности современный математический аппарат (ПК-3);
способность в составе научно-исследовательского и производственного коллектива решать задачи профессиональной деятельности (в соответствии с профилем подготовки) (ПК-4);
способность критически переосмысливать накопленный опыт, изменять при необходимости вид и характер своей профессиональной деятельности (ПК-5);
способность собирать, обрабатывать и интерпретировать данные современных научных исследований, необходимые для формирования выводов по соответствующим научным, профессиональным, социальным и этическим проблемам
(ПК-7);
способность применять в профессиональной деятельности современные языки программирования и языки баз данных, операционные системы, электронные библиотеки и пакеты программ, сетевые технологии (ПК-10).
способность составлять и контролировать план выполняемой работы, планировать необходимые для выполнения работы ресурсы, оценивать результаты собственной работы (ПК-12).
Врезультате освоения дисциплины обучающийся должен:
1.Знать:
основные конструкции программирования;
основные структуры данных;
применять на практике технологии программирования;
объектно-ориентированное программирование.
2.Уметь:
составлять алгоритмы линейной, разветвляющейся, циклической структур;
пользоваться классическими алгоритмами;
процедурным программированием, рекурсией;
применять на практике технологии программирования;
объектно-ориентированным программированием.
3.Иметь представление:
об алгоритмах и процессах решения задач;
навыками решения практических задач;
о событийно-управляемом и параллельном программировании;
о прикладных программных интерфейсах (АР1) и их применении.
3. Краткое содержание дисциплины
Основные понятия и конструкции современных языков индустриального программирования. Основное внимание уделяется семантике и прагматике языковых понятий, их связи с методами и технологией программирования. Изложение ведется на примере языка программирования: С/С++.
Курс состоит из введения и двух частей. В первой части основное внимание уделено понятиям, унаследованным из традиционных языков программирования: типам, основным структурам данных, модульности, раздельной трансляции, подпрограммам, статическому полиморфизму и структурам управления последовательностью вычислений. Во второй части основное внимание уделено объектно-ориентированным особенностям современных языков программирования: наследованию, полиморфизму, а также динамическим структурам данных.
4. Аннотация разработана на основании:
1. Федерального государственного образовательного стандарта высшего профессионального образования по направлению 010400.62 Прикладная математика;
2.ООП ВПО по направлению 010400.62 Прикладная математика;
3.РПД (Утверждено УМС Протокол №______ от «____» __________20___г.).