1 - Lms Kazntu

advertisement
2
3
1 Цели и задачи дисциплины
1.1 Цель преподавания дисциплины
Целью преподавания дисциплины «Технологии программирования» является
систематическое изложение базовых концепций, методов и средств технологии
программирования на базе процедурно-ориентированного языка программирования
Си. По завершении курса студент должен знать основные этапы работы над
программными
продуктами,
технологию
нисходящего
структурного
программирования, основные понятия и конструкции языка Си, уметь строить
алгоритмы решения задач в виде блок-схем и реализовывать их на языке
программирования Си.
1.2 Задачи изучения дисциплины
Задачей дисциплины является обучение студентов данному языку, как
удобному, выразительному и гибкому средству алгоритмизации, моделирования
различных структур данных и программирования, пригодному для широкого
класса задач.
В процессе изучения дисциплины студенты должны приобрести умения и
навыки по:
– приемам хорошего стиля написания программ;
– проектированию программы;
– применению и эффективному использованию основ технологии
программирования на базе процедурно-ориентированного языка Си в учебной и
практической деятельности.
1.3 Пререквизиты
Дисциплины, необходимые для изучения данной:
– информатика;
– программирование на алгоритмических языках;
– алгебра и геометрия.
1.4 Постреквизиты
Дисциплины, в которых используются знания изучаемой дисциплины:
– объектно-ориентированное программирование;
– сетевые технологии программирования.
2 Контроль и оценка знаний
Таблица 1
Распределение рейтинговых % по видам контроля
№ варианта
Вид итогового
контроля
Тест
Виды контроля
Проценты
Итоговый контроль
Рубежный контроль
Текущий контроль
100
100
100
4
Для обеспечения систематического и регулярного контроля за учебной
работой студентов в течение семестра в КазНТУ им.К.И.Сатпаева применяется
рейтинговый контроль знаний.
В текущий контроль оценки знаний студентов входит выполнение 6
лабораторных работ.
Сроки сдачи результатов текущего контроля определяются календарным
графиком учебного процесса по дисциплине.
Таблица 2
Календарный график учебного процесса по дисциплине «Технологии
программирования»
Недели
1 2
3
4
5
6
7
8
9
10 11 12
13 14
15
Виды
Л1
СРС2 Л2
СРС Л3 Л4 РК СР5 К Л5 СР6 Л6 СР7 РК
контроля
СР1
СР3 4
Кол-во
2
1
2
1
1
2
1
1
1 1
2
1
1
1
контроля в
неделю
Виды контроля: Л – лабораторная работа, К – контрольная, СР - самостоятельная работа,
РК – рубежный контроль, КР – курсовая работа, КП – курсовой проект, Кл – коллоквиум, Р –
рефераты, Эс – эссе, Тр – типовые графические расчеты и др.
Таблица 3
Оценка знаний студентов
Оценка
Буквенный
эквивалент
Отлично
А
АХорошо
В+
В
ВУдовлетворительно
С+
С
СD+
D
Неудовлетворительно
F
В процентах %
В баллах
95-100
90-94
85-89
80-84
75-79
70-74
65-69
60-64
55-59
50-54
0-49
4
3,67
3,33
3,0
2,67
2,33
2,0
1,67
1,33
1,0
0
3 Содержание дисциплины
Изучение дисциплины «Технологии программирования» предполагает
обязательные лекционные (2 кредита) и лабораторные (1 кредит) занятия, а также
самостоятельную работу студентов.
Тематический план дисциплины с указанием тем и количеством
академических часов по всем видам занятий (по темам) приведен в следующей
таблице.
Таблица 4
5
Распределение часов по видам занятий
Наименование темы
Количество академических часов
Лекци Лабораторн СРОП
СРО
я
ые
1. Технология программирования.
2
2
3
1.1 Развитие технологии
программирования.
1.2 Этапы разработки
программного обеспечения
2. Язык программирования С.
2
2
3
2.1 Алфавит языка С. Структура
программы на языке С.
2.2 Типы данных в языке С.
Функции ввода и вывода
3 Программирование линейных
2
4
2
3
алгоритмов. 3.1 Операции языка
Си. Арифметические операции
языка С. Операция присваивания.
3.2 Поразрядные операции.
Прочие операции. Математические
функции.
4
Программирование
2
4
2
3
разветвляющихся алгоритмов.
4.1 Условный оператор.
4.2 Оператор варианта (выбора)
5 Программирование циклических
2
4
2
3
алгоритмов.
5.1 Оператор цикла с предусловием
(while).
Оператор
цикла
с
постусловием (do-while)
5.2 Цикл с параметром. Вложенные
циклы. Операторы передачи
управления
6. Указатели.
2
2
3
6.1Операции над указателями.
Классы памяти.
6.2 Динамическое выделение
памяти
7. Массивы.
2
6
2
3
7.1 Одномерные массивы.
7.2 Двумерные массивы. Функции
для работы со случайными числами
8 Функции
2
6
2
3
8.1 Функции пользователя. Область
действия переменных.
8.2 Функции и указатели. Функции
6
и массивы
9 Символьные данные.
9.1 Функции библиотеки
обработки символов. Массивы
символов.
9.2 Функции преобразования
символьных строк. Функции
работы со строками
10 Массивы и указатели
10.1 Связь между указателями и
массивами. Массив указателей.
10.2 Указатели, указывающие на
другие указатели. Указатели на
многомерные массивы
11. Структура.
11.1 Работа со структурами.
Сложные структуры.
11.2 Структуры и указатели
12. Указатели на структуры
12.1 Указатели на структуры
12.2 Структуры со ссылками на
себя
13. Файлы.
13.1 Режим последовательного
доступа.
13.2 Режим прямого доступа
14 Работа дисплея в графическом
режиме.
14.1 Функции для подготовки
графической системы.
14.2 Функции для получения
изображения
15. Директивы Препроцессора. 15.1
Директива #include
15.2 Директива #define. Директива
#undef
Всего (час.)
2
2
3
2
2
3
2
2
3
2
2
3
2
2
3
2
2
3
2
2
3
30
7
6
30
30
45
3.1 Лекционные занятия и их содержание
Наименование раздела
План и содержание лекций
1 Технологии
программирования
Развитие технологий программирования.
Этапы разработки программного
обеспечения
Алфавит языка С. Структура программы
на языке С. Типы данных в языке С.
Функции ввода и вывода
Операции языка Си. Арифметические
операции
языка
С.
Операция
присваивания. Поразрядные операции
(побитовые операции). Прочие операции.
Математические функции.
Условный оператор. Составной оператор.
Оператор варианта (выбора)
2 Язык
программирования С
3 Программирование
линейных алгоритмов
4 Программирование
разветвляющихся
алгоритмов
5 Программирование
Оператор цикла с предусловием (while)
циклических алгоритмов Оператор цикла с постусловием (dowhile). Цикл с параметром. Вложенные
циклы. Операторы передачи управления
6 Указатели
Операции над указателями. Классы
памяти. Динамическое выделение памяти
7 Массивы
Одномерные массивы.
Двумерные
массивы. Функции для работы со
случайными числами
8 Функции
Функции
пользователя.
Область
действия переменных. Функции и
указатели. Функции и массивы
9 Символьные данные
Функции
библиотеки
обработки
символов. Массивы символов. Функции
преобразования
символьных
строк.
Функции работы со строками
10 Массивы и указатели Cвязь
указателей
с
массивами.
Переменные-указатели, связанные с
массивами. Освобождения памяти из-под
массива
11 Структура
Работа со структурами.
Сложные
структуры. Cтруктуры и указатели.
12 Указатели и
Указатели на структуры. Структуры со
структуры
ссылками на себя
13 Файлы
Режим
последовательного
доступа.
Режим прямого доступа
14 Работа дисплея в Функции для подготовки графической
графическом режиме
системы.
Функции для получения
8
Объем
(час.)
2
2
2
2
2
2
2
2
2
2
2
2
2
2
15. Директивы
Препроцессора
Всего (час.)
изображения
Директива #include. Директива #define,
Директива #undef
30
3.2 Лабораторные занятия и их содержание
Наименование темы
Содержание
1. Линейный
вычислительный процесс
2. Разветвляющиеся
процессы
3. Циклические процессы
4. Обработка массивов
5. Функции пользователя
6. Строки
2
Изучить правила составления текстов
программ на языке С: базовые типы
данных, ввод-вывод данных, основные
арифметические и тригонометрические
функции; отладить и вычислить
значение по математическому
выражению
Изучить оператор безусловного
перехода и операторы разветвлений:
оператор выбора по условию if,
оператор-переключатель switch
Изучить циклические операторы for,
while, do – while, научиться составлять
и программировать циклические
алгоритмы
Приобрести навыки программирования
при решении задач с использованием
структур данных типа массив
Познакомиться
с
механизмом
составления
и
организации
взаимодействия
пользовательских
функций языка С
Изучить особенности работы
со
строковыми объектами (одномерными
символьными массивами и строкамиконстантами) языка
Всего
Объем
(час.)
4
4
4
6
6
6
30
3.3 Самостоятельная работа обучающихся
Целью выполнения самостоятельной работы является приобретение навыков
моделирования и программирования задач на языке Си.
3.3.1 Планы СРОП
1. Список товаров, имеющихся на складе, включает:
– наименование товара;
– количество единиц товара;
– цену единицы товара;
9
– дату поступления товара на склад.
Вывести в алфавитном порядке список товаров, хранящихся более одного
месяца, стоимость которых превышает 1000000 рублей.
2. Для получения места в общежитии формируется список студентов,
который включает:
– Ф.И.О. студента;
– номер группы (буква и четыре цифры);
– средний балл;
– доход на одного члена семьи.
Общежитие в ПЕРВУЮ очередь предоставляется тем студентам, у кого доход
на члена семьи меньше двух минимальных зарплат, затем остальным в порядке
уменьшения среднего балла.
Вывести список очередности предоставления места в общежитии.
3. В справочной автовокзала хранится расписание движения автобусов. Для
каждого рейса указаны:
– номер рейса;
– тип автобуса;
– пункт назначения;
– время отправления;
– время прибытия на конечный пункт.
Вывести информацию о рейсах, которыми можно воспользоваться для
прибытия в пункт назначения раньше заданного времени.
4. На междугородной АТС информация о разговорах содержит:
– дату разговора;
– код и название города;
– время разговора;
– тариф;
– номер телефона в этом городе;
– номер телефона абонента.
Вывести по каждому городу общее время разговора с ним и сумму.
5. Информация о сотрудниках фирмы включает:
– Ф.И.О. сотрудников;
– табельный номер;
– количество проработанных часов за месяц;
– почасовой тариф.
Рабочее время свыше 144 часов считается сверхурочным и оплачивается в
двойном размере. Вывести размер заработной платы каждого сотрудника фирмы за
вычетом подоходного налога, который составляет 12% от суммы заработной платы.
6. Информация об участниках спортивных соревнований содержит:
– Ф.И.О. игрока;
– игровой номер;
– возраст;
– рост;
– вес.
Вывести информацию о самой молодой, рослой и легкой команде.
7. Для книг, хранящихся в библиотеке, задаются:
10
– регистрационный номер книги;
– автор;
– название;
– год издания;
– издательство;
– количество страниц.
Вывести список книг с фамилиями авторов в алфавитном порядке, изданных
после заданного года.
8. Различные цеха завода выпускают продукцию нескольких наименований.
Сведения о выпущенной продукции включают:
– наименование;
– количество;
– номер цеха.
Для заданного цеха необходимо вывести количество выпущенных изделий по
каждому наименованию в порядке убывания количества.
9. Информация о сотрудниках предприятия содержит:
– Ф.И.О.;
– номер отдела;
– должность;
– дату начала работы.
Вывести список сотрудников по отделам в порядке убывания стажа.
10. Создать файл, содержащий сведения о месячной заработной плате
сотрудников отдела. Каждая запись содержит поля: фамилия сотрудника,
наименование отдела, размер заработной платы за месяц.
Вычислить общую сумму выплат за месяц по отделу А, а также
среднемесячный заработок сотрудникам этого отдела.
Напечатать для бухгалтерии ведомость для сотрудников этого отдела, у
которых зарплата ниже введенной с клавиатуры.
11. Создать файл, содержащий сведения о количестве изделий категорий А,
В, С, собранных рабочими за месяц. Структура записи имеет поля: фамилия
сборщика, наименование цеха, количество изделий по категории, собранных
рабочими за месяц.
Считая данными (вводятся с клавиатуры) значения расценок Sa, Sв, Sc за
выполненную работу по сборке единицы изделия категорий А, В, С соответственно,
выдать на печать следующую информацию:
– общее количество изделий категорий А, В, С, собранных рабочими цеха X;
– ведомость заработной платы рабочих цеха X;
– средний размер заработной платы работников этого цеха.
12. Создать файл, содержащий сведения о телефонах абонентов. Каждая
запись имеет поля: фамилия абонентов, год установки телефона, номер телефона.
На печать вывести информацию следующего вида:
– по вводимой с клавиатуры фамилии абонента выдается номер телефона;
– определяется количество установленных телефонов с XXXX года (год
вводится с клавиатуры).
11
13. Создать файл, содержащий сведения об ассортименте игрушек в магазине.
Структура записи: название игрушки, цена, количество, возрастные границы,
например 2–5, т.е. от 2 до 5 лет. Вывести на печать:
– название игрушек, которые подходят детям от 1 до 3 лет;
– стоимость самой дорогой игрушки и ее наименование;
– название игрушки, которая по стоимости не превышает «х» руб. Значение
«х» вводится с клавиатуры.
14. Создать файл, содержащий сведения о сдаче студентами сессии.
Структура записи: номер группы, фамилия студента, оценки по пяти экзаменам и
пяти зачетам (зачет–незачет). На печать вывести:
– фамилии неуспевающих студентов с указанием номера группы и количества
– задолженностей;
– средний балл, полученный каждым студентом группы Х (вводится с
клавиатуры) и всей группой в целом.
15. Создать файл, содержащий сведения об ассортименте обуви в магазине.
Структура записи: артикул, наименование, количество, стоимость одной пары.
Артикул начинается с буквы Д для женской обуви, М для мужской, П для детской.
На печать вывести информацию:
– о наличии и стоимости обуви артикула Х (вводится с клавиатуры);
– ассортиментный список женской обуви с указанием наименования и
имеющего в наличии
– числа пар каждой модели.
16. Для участия в конкурсе исполнителей необходимо заполнить анкету с
данными:
– Ф.И.О.;
– год рождения;
– название страны;
– класс музыкального инструмента (гитара, фортепиано, скрипка,
виолончель).
Вывести список самых молодых лауреатов конкурса по классам
инструментов в порядке занятых мест.
3.3.2 Планы СРО
В рамках самостоятельной работы студенты выполняют самостоятельно
задания, приведенные в пункте 3.3.1.
Таблица 5
График проведения занятий
№ Дата Время
Наименование темы
Лекции
1.
Технология программирования
2.
Язык программирования С
3.
Программирование линейных алгоритмов
4.
Программирование разветвляющихся алгоритмов
5.
Программирование циклических алгоритмов
6.
Указатели
12
7.
Массивы
8.
Функции
9.
Символьные данные
10.
Массивы и указатели
11.
Структура
12.
Указатели и структуры
13. 1
Файлы.
14.
Работа дисплея в графическом режиме
15.
Директивы Препроцессора
Лабораторные занятия
1.
1
Линейный вычислительный процесс
2.
Разветвляющиеся процессы
3.
Циклические процессы
4.
Обработка массивов
5.
Функции пользователя
6.
Строки
4 Список литературы
Основная литература:
1 Саблина Н.Г. Основы программирования на языке Си. Учебное пособие. –
Екатеринбург, УГТУ-УПИ, 2007.
2 Керниган Б., Ритчи Д. Язык программирования СиДПер. с англ., 3-е
изд.,
испр. – СПб.: "Невский Диалект", 2001. – 352 с.
3 В.В.Борисенко.
Основы программирования. – http://www.intuit.ru/
department/se/pbmsu/.
4 К.Поляков. Программирование на языке Си. – http://kpolyakov.narod.ru.
5 В.Л Бусько, А.Г.Корбит, И.Н.Коренская, В.И.Убийконь. Лабораторный
практикум по программированию в 2 ч. – Ч.2: Основы программирования на
алгоритмическом языке. – Мн.: БГУИР, 2001. – 62 с.
Дополнительная литература:
1 Е.А.Жоголев. Лекции по технологии программирования. – МГУ, 2000. –
http://sp.cmc.msu.ru/info/3/techprog.htm.
2 Е.А.Ерёмин, А.П.Шестаков. Примерные ответы на профильные билеты
//Информатика, 2006-2007. – http://comp-science.narod.ru/Bilet/bil6.htm.
3 Павловская Т.А. C/C++. Программирование на языке высокого уровня:
учебник для студентов вузов, обучающихся по направлению "Информатика и
вычислительная техника" /Т.А.Павловская. – СПб.: Питер, 2005. – 461 с.
4 Н.Б.Культин. C/C++ в задачах и примерах. – СПб.: БХВ-Петербург, 2005. –
288 с.
5 В.В.Подбельский. Язык СИ++: учебное пособие. – М.: Финансы и
статистика, 2003. – 560 с.
13
СОДЕРЖАНИЕ
1 Цели и задачи дисциплины………………………………………………..3
2 Контроль и оценка знаний………………………………………………...3
3 Содержание дисциплины………………………………………………….4
4 Список литературы………………………………………………………..12
14
Download