РОССИЙСКАЯ ФЕДЕРАЦИЯ

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ

Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования

ТЮМЕНСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ

ИНСТИТУТ МАТЕМАТИКИ И КОМПЬЮТЕРНЫХ НАУК

КАФЕДРА МАТЕМАТИКИ И ИНФОРМАТИКИ

Технологии программирования

Учебно-методический комплекс

Рабочая учебная программа

для студентов специальности 050708.65 – Педагогика и методика начального образования с дополнительной специальностью «Информатика»

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

Тюменский государственный университет

2013

. Технологии программирования: Учебно-методический комплекс. Рабочая учебная программа для студентов специальности 050708.65 – Педагогика и методика начального образования с дополнительной специальностью «Информатика». Форма обучения – очная. Тюмень, 20стр.

Учебно-методический комплекс обеспечивает освоение дисциплины «Технологии программирования», входящей в блок «Факультативные дисциплины» и ориентированной на подготовку специалистов по специальности 050708.65 – Педагогика и методика начального образования с дополнительной специальностью «Информатика».

Рабочая программа дисциплины опубликована на сайте ТюмГУ: «Технологии программирования» [электронный ресурс] / режим доступа http://www. umk. *****/, свободный.

Рекомендовано к изданию кафедрой математики и информатики. Утверждено проректором по учебной работе Тюменского государственного университета.

ОТВЕТСТВЕННЫЙ РЕДАКТОР: , профессор, д. ф.-м. н., зав. кафедры математики и информатики ТюмГУ

НЕ нашли? Не то? Что вы ищете?

© ФГБОУ ВПО Тюменский государственный университет, 2013.

© , 2013.

1. Пояснительная записка

Программа составлена в соответствии с требованиями Государственного образовательного стандарта высшего профессионального образования по специальности 050708.65 – Педагогика и методика начального образования с дополнительной специальностью «Информатика».

Цикл: Факультативные дисциплины.

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

Целью дисциплины является:

1. Формирование у студентов основных знаний о принципах разработки и написания программ.

2. Обучение разработке и реализации алгоритмов решения задач на языке Pascal;

3. Изучение методов программирования для овладения знаниями в области технологии программирования; подготовка к осознанному использованию методов программирования.

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

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

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

- о месте и роли программирования в информатизации общества;

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

Знать:

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

- принципы и приемы алгоритмизации;

- методы разработки, выбора и преобразования алгоритмов;

Уметь:

- формализовать поставленную задачу;

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

- составлять и оформлять программы на языке программирования;

- тестировать и отлаживать приложения с целью повышения надёжности и эффективности.

2. Объем дисциплины и виды учебной работы

2.1 Структура и трудоемкость дисциплины

Дисциплина изучается в 3 семестре. Аудиторные занятия (всего) – 54 часа. В том числе: лекции – 18 часов, практические занятия – 36 часов. Самостоятельная работа – 46 часа.

Форма итогового контроля – зачет. Общая трудоемкость – 100 часов.

2.2. Тематический план

Таблица 1

№ п/п

Наименование темы

Лекции (часов)

Практические занятия (часов)

Самостоятельная работа (часов)

Итого часов по теме

Итого количество баллов

Модуль 1

1.

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

2

2

2

6

0-4

2.

Язык программирования Pascal

2

2

2

6

0-4

3.

Стандартные типы и операции языка Pascal

2

4

6

12

0-12

Всего

6

8

10

24

0-20

Модуль 2

1.

Операторы языка Pascal

2

6

8

16

0-16

2.

Процедуры и функции

2

4

8

14

0-12

3.

Структурированные типы данных: массивы

2

4

4

10

0-12

Всего

6

14

20

40

0-40

Модуль 3

1.

Структурированные типы данных: строки, записи, множества.

2

4

4

10

0-12

2.

Структурированные типы данных: файлы

2

4

4

10

0-12

3.

Основные алгоритмы обработки

2

6

8

16

0-16

Всего

6

14

16

36

0-40

Итого (часов, баллов)

18

36

46

100

0-100

2.3. Виды и формы оценочных средств в период текущего контроля

Таблица 2

п/п

Формы текущего контроля

Итого количество баллов

Наименование темы

работа на практическом занятии

индивидуальная домашняя работа

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

Модуль 1

1.

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

0-2

0-2

-

0-4

2.

Язык программирования Pascal

0-2

0-2

-

0-4

3.

Стандартные типы и операции языка Pascal

0-4

0-2

0-6

0-12

Всего

0-8

0-6

0-6

0-20

Модуль 2

1

Операторы языка Pascal

0-6

0-4

0-6

0-16

2.

Процедуры и функции

0-4

0-4

0-4

0-12

3.

Структурированные типы данных: массивы

0-4

0-4

0-4

0-12

Всего

0-14

0-12

0-14

0-40

Модуль 3

1.

Структурированные типы данных: строки, записи, множества.

0-4

0-4

0-4

0-12

2.

Структурированные типы данных: файлы.

0-4

0-4

0-4

0-12

3.

Основные алгоритмы обработки

0-6

0-4

0-6

0-16

Всего

0-14

0-12

0-14

0-40

Итого

0-36

0-30

0-34

0-100

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

Таблица 3

п/п

Модули и темы

Виды СРС

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

Объем часов

Количество баллов

Обязательные

Дополнительные

Модуль 1

1.

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

Работа на практическом занятии, индивидуальная домашняя работа

1

2

0-4

2.

Язык программирования Pascal

2

2

0-4

3.

Стандартные типы и операции языка Pascal

Работа на практическом занятии, индивидуальная домашняя работа, контрольная работа

3-4

6

0-12

Всего

10

0-20

Модуль 2

1

Операторы языка Pascal

Работа на практическом занятии, индивидуальная домашняя работа, контрольная работа

5-7

8

0-16

2.

Процедуры и функции

8-9

8

0-12

3.

Структурированные типы данных: массивы

10-11

4

0-12

Всего

20

0-40

Модуль 3

1.

Структурированные типы данных: строки, записи, множества.

Работа на практическом занятии, индивидуальная домашняя работа, контрольная работа

12-13

4

0-12

2.

Структурированные типы данных: файлы.

14-15

4

0-12

3.

Основные алгоритмы обработки

16-18

8

0-16

Всего

16

0-40

Итого (часов, баллов)

46

0-100

3. Содержание дисциплины.

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

Технология программирования и основные этапы ее развития. Жизненный цикл и этапы разработки программного обеспечения. Качество и надежность программного обеспечения. Классификация ошибок. Понятия отладки и тестирования. Общая методика отладки программного обеспечения.

Тема 2. Язык программирования Pascal

Концепции структурного программирования. Развитие интегрированной среды (IDE) Pascal. Алфавит языка программирования Pascal. Раздел описаний. Идентификаторы. Константы. Комментарии. Выражения. Структура программы.

Тема 3. Стандартные типы и операции языка Pascal

Целые типы языка Pascal: ShortInt, Byte, Integer, Word, LongInt. Вещественные типы: Real, Single, Double, Extended, Comp. Способы записи чисел в разных формах. Символьный тип: таблица ASCII. Логический тип. Перечислимый тип. Ограниченный тип (диапазон). Основные отношения, операции и функции: арифметические операции и целочисленное деление, логические операции. Приоритет операций и отношений в выражениях. Математические функции.

Тема 4. Операторы языка Pascal

Простой и составной операторы языка Pascal. Условный оператор, программирование разветвленных алгоритмов. Операторы цикла: циклы с предусловием, циклы с постусловием, циклы с заданным числом итераций. Циклические алгоритмы: организация счетчиков, вычисление сумм и произведений. Вложенные циклы. Процедуры прерывания цикла. Оператор выбора. Процедуры ввода и вывода: Read, Readln, Write, Writeln. Формат вывода данных.

Тема 5. Процедуры и функции

Понятие подпрограммы. Процедуры. Глобальные и локальные переменные. Функции. Отличие функции от процедуры в описании и в использовании. Рекурсия.

Тема 6. Структурированные типы данных: массивы

Массивы: одномерные, многомерные массивы. Возможные типы индексов. Допустимые операции с массивами.

Тема 7. Структурированные типы данных: строки, записи, множества.

Тип строковый. Основные процедуры и функции для работы со строками. Тип записи. Операции с записями. Тип множество. Операции со множествами.

Тема 8. Структурированные типы данных: файлы

Средства обработки файлов. Процедуры и функции для работы с файлами. Типизированные, текстовые и нетипизированные файлы.

Тема 9. Основные алгоритмы обработки.

Алгоритм Евклида нахождения наибольшего общего делителя, алгоритм проверки простого числа, алгоритм нахождения чисел Фибоначчи. Алгоритмы сортировки одномерного массива: сортировка пузырьковая, сортировка выбором максимального элемента, сортировка вставками, поиск в упорядоченном массиве методом деления пополам.

4. Темы практических занятий

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

2.  Язык программирования Pascal.

3. Стандартные типы языка Pascal.

4. Операции языка Pascal.

5. Операторы языка Pascal. Простые операторы.

6. Операторы языка Pascal. Условный оператор.

7. Операторы языка Pascal. Операторы цикла и выбора.

8. Процедуры.

9. Функции.

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

11. Многомерные массивы.

12. Строки и записи.

13. Множества.

14. Процедуры и функции для работы с файлами.

15. Типизированные, текстовые и нетипизированные файлы.

16. Алгоритм Евклида нахождения наибольшего общего делителя, алгоритм проверки простого числа, алгоритм нахождения чисел Фибоначчи.

17. Сортировка одномерного массива: пузырьковая, сортировка выбором максимального элемента

18. Сортировка одномерного массива: сортировка вставками, поиск в упорядоченном массиве методом деления пополам.

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

5.1. Содержание самостоятельной работы студентов

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

Для самостоятельной работы студентов преподавателем разработаны индивидуальные задания по темам практических занятий. В каждом задании – 15-20 вариантов для выполнения индивидуального домашнего задания. После проверки такого задания с каждым студентов проводится собеседование и выставляются баллы за работу. Для текущего контроля – контрольные работы.

5.2. Пример индивидуального домашнего задания по теме «Операции языка Pascal»

Найти значение y = f(x, t), где

5.3. Пример заданий контрольной работы по теме «Операторы языка Pascal»

1. Верны ли операторы:

a) if x > 0 then x:=2 else; y:=x+1;

b) if odd(k) then else k:=0;

c) if 1 < x < 2 then x:=x+1; y:=0; else x:=0; y:=y+1;

d) if 1 < x and x < 2 then

begin x:=x+1; y:=0 end;

else begin x:=0; y:=y+1 end;

2. Напишите часть программы:

a) x:=abs(x);

b) a:=max(x, y);

c) a:=max(x, y); b:=min(x, y);

d) переменной k присвоить номер четверти плоскости, в которой находится точка с координатами (x, y) (x и y отличны от 0).

3. Напишите программу: даны произвольные числа a, b,c. Если нельзя построить треугольник с такими длинами сторон - напечатайте 0, иначе напечатайте 3, 2, 1 в зависимости от того, равносторонний это треугольник, равнобедренный или какой-либо иной.

4. Запишите условный оператор, эквивалентный оператору присваивания x:= a or b and c (все переменные - логические), в котором не используются логические операции.

5. Запишите оператор присваивания, эквивалентный условному оператору if a then x:=b else x:=c (все переменные - логические).

5. 4. Вопросы к зачету

1. Система стандартных типов языка Pascal. Целые типы. Вещественные типы. Символьный тип. Логический тип. Перечислимый тип. Ограниченный тип (диапазон).

2. Основные отношения, операции и функции языка Pascal. Приоритет операций и отношений в выражениях. Преобразования и совместимость типов в выражениях.

3. Блок описания программы. Понятие констант, типов, переменных в программировании. Описание простых и структурированных типизированных констант.

4. Простые операторы языка Pascal. Процедурные операторы: процедуры ввода и вывода, оператор перехода, составной и структурный оператор.

5. Структурные операторы языка Pascal. Условный оператор. Оператор выбора. Операторы цикла.

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

7. Рекурсия.

8. Тип массив в языке Pascal. Одномерные, многомерные массивы.

9. Тип строковый в языке Pascal. Процедуры и функции для работы со строками.

10. Тип множество в языке Pascal. Операции с множествами. Процедуры и функции для работы с множествами.

11. Тип запись в языке Pascal. Операции с записями. Записи с вариантами.

12. Файлы в языке Pascal. Физические и логические. Виды логических файлов. Способы доступа к элементам файла. Средства обработки файлов.

13. Файлы в языке Pascal: текстовые, типизированные, нетипизированные. Их особенности, процедуры и функции для работы.

14. Алгоритм Эвклида. Реализация на языке Pascal.

15. Алгоритм определения простого числа. Реализация на языке Pascal.

16. Алгоритм нахождения чисел Фибоначчи. Реализация на языке Pascal.

17. Алгоритм пузырьковой сортировки одномерного массива. Реализация на языке Pascal.

18. Алгоритм сортировки одномерного массива выбором максимального элемента. Реализация на языке Pascal.

19. Алгоритм сортировки одномерного массива вставками. Реализация на языке Pascal.

20. Алгоритм поиска в упорядоченном массиве методом деления пополам. Реализация на языке Pascal.

6. Список литературы

6.1. Основная литература

1. Вирт, Н. Алгоритмы и структуры данных [Электронный ресурс]/ Н. Вирт. – М.: ДМК Пресс, 2010. – 272 с. – -584-6. Режим доступа: http://*****/index. php? page=book&id=86483 (дата обращения 23.10.2013).

2. Смирнов, А. А. Технологии программирования. Учебн [Электронный ресурс]: практическое пособие / А. А. Смирнов. – М.: Евразийский открытый институт, 2011. – 192 с. – 0296-6. Режим доступа: http://*****/index. php? page=book&id=90777 (дата обращения 23.10.2013).

3. TurboPascal 7.0. – М.: Кнорус, 20с.

6.2. Дополнительная литература

1. Камаев, В. А., Костерин программирования. – М.: Высшая школа, 20с.

2. Лавлинский, В. В. Технология программирования на современных языках программирования [Электронный ресурс] / В. В. Лавлинский, О. В. Коровина. - Воронеж: Воронежская государственная лесотехническая академия, 2012. – 118 с. – Режим доступа: http://*****/index. php? page=book&id=142453 (дата обращения 23.10.2013

3. Фаронов Паскаль 7.0. Практика программирования. – М.: Нолидж, 1998. – 432 с.