СД.Ф.22.ПроцедурноеПрограммирование+

advertisement
ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ
Государственное образовательное учреждение высшего профессионального образования
«Мурманский государственный педагогический университет»
(МГПУ)
УЧЕБНО-МЕТОДИЧЕСКИЙ КОМПЛЕКС
ДИСЦИПЛИНЫ
Процедурное программирование
Основная образовательная программа подготовки специалиста по специальности
050202
050202
Информатика (СД.Р.2)
Информатика с доп. специальностью Математика (СД.Р.2)
Алгоритмизация и программирование
Основная образовательная программа подготовки специалиста по специальностям:
050708
ПиМНО со специализацией (ДС.2)
050502
Технология и предпринимательство со специализацией (ДС.1)
Утверждено на заседании кафедры
информатики и ОТД
физико-математического факультета
(протокол №___ от
«__»_____________ 20___ г.)
Зав. кафедрой информатики и ОТД
___________________Н.Ю.Королева
РАЗДЕЛ 1. Программа учебной дисциплины.
1.1.Автор программы: Шуньгина Ирина Владимировна, ст. преподаватель кафедры
информатики и ОТД
1.2.Рецензенты: Королева Н.Ю. – канд. пед. наук, доцент кафедры информатики и ОТД
Кириченко А.Э. – канд. техн. наук, доцент кафедры информационных
систем и прикладной математики, МГТУ
1.3.Пояснительная записка:
Цель:
Программирование является одним из фундаментальных инструментальных методов
современной информатики. Поэтому учебный курс программирования занимает одно из
центральных мест в системе подготовки учителя информатики и имеет как мировоззренческое, так
и прикладное значение.
Главная цель курса - формирование системы понятий, знаний, умений и навыков в области
процедурного программирования, включающего в себя методы проектирования, анализа и
создания программных продуктов, основанные на использовании методологии структурного
программирования. Эта цель обусловлена следующим положением: структурный подход является
основой при реализации отдельных компонентов в реализации методологии объектноориентированного программирования, который на данном этапе развития информатики является
одной из ведущих и интенсивно развивающихся технологий программирования, используемых
для построения информационных систем в различных предметных областях.
Учебный материал дисциплины базируется на развитии содержательной линии
алгоритмизации и программирования школьного курса информатики, основой которого является
освоение студентами начальных знаний, умений и навыков в области структурного подхода к
конструированию алгоритмов и способов их реализации, как правило, в рамках методов и средств
процедурного программирования.
При реализации примерной программы курса не предполагается никаких ограничений в
выборе языка и средств программирования, поддерживающих парадигму процедурного
программирования, а также операционной системы. Выбор непосредственно осуществляется
вузом исходя из сложившихся условий, наличия компьютерной техники и программного
обеспечения.
Задачи:
В курсе процедурного программирования, набор базовых понятий и методов содержательной
линии алгоритмизации и программирования школьного курса информатики значительно
расширяется. Вместе с тем, уточняется одно из основных методических средств обучения
программированию – понятие “исполнителя”.
Место курса в общей системе подготовки специалиста:
Программирование является одним из фундаментальных инструментальных методов
современной информатики. Поэтому учебный курс программирования занимает одно из
центральных мест в системе подготовки учителя информатики и имеет как мировоззренческое, так
и прикладное значение. При реализации на практике данной дисциплины следует учитывать ее
роль и место в общей системы дисциплин предметной подготовки учителя информатики.
Требования к уровню освоения содержания дисциплины:
В результате изучения курса студенты
должны знать:
 структуру программы на языке Паскаль;
 понятие идентификатора, оператора;
 назначение и правила записи операторов ввода, вывода на языке Паскаль;
 типы данных на языке Паскаль;
 назначение и формат записи на языке Паскаль условного оператора;
 назначение и формат записи на языке Паскаль оператора выбора;
 назначение и формат записи на языке Паскаль операторов цикла с предусловием и с
параметром;

























формат описания и вызова процедур и функций;
понятие локальных и глобальных переменных;
формат описания вспомогательных алгоритмов в виде функций;
понятие структуры данных;
понятие одномерного и двумерного массивов (таблиц);
понятия символьной и строковой переменной;
основные операции и функции над строковыми величинами;
понятие рекурсии, рекурсивного метода решения задач;
понятие рекуррентного соотношения;
понятие файла и файловой переменной, типы файлов;
формат описания процедур работы с файлами.
должны уметь:
записывать арифметические и логические выражения на языке Паскаль;
писать программы на языке Паскаль, содержащие условный оператор, операторы выбора и
цикла;
применять процедуры при решении задач;
применять процедуры-функции при решении задач;
осуществлять формирование линейного и двумерного массивов;
производить поиск в линейном и двумерном массивах;
производить преобразование в линейном и двумерном массивах;
производить действия с двумерными таблицами: формирование, поиск, преобразование;
составлять программы на языке Паскаль с использованием символьных и строковых
переменных, а также операций и функций над ними;
решать задачи с соблюдением всех этапов программирования;
составлять и записывать рекуррентные соотношения;
выделять граничные условия и рекурсивный шаг;
решать задачи рекурсивным методом;
осуществлять процедуры чтения из файла и записи в файл.
Ссылки на авторов и программы, которые использовались в подготовке.
Программа написана на основе Программы по программированию для специальности 030100
Информатика для высшего и среднего профессионального образования, рекомендованной
Министерством Образования Российской Федерации , авторы к.п.н., профессор С.А.Жданов, к. ф.м.н., профессор О.Н. Лучко, к. п.н., доцент Е.А. Андросова, д.т.н, профессор С.В. Поршнев,
Программа по процедурному программированию для специальности 032100 Информатика, автор
к.т.н., доцент Кириченко А.Э.
1.4.Извлечение из ГОС ВПО специальности 050202 Информатика – вузовский компонент.
1.5.Объем дисциплины и виды учебной работы (для всех специальностей, на которых
читается данная дисциплина):
№
п/п
1.
2.
3.
4.
Шифр и
наименование
специальности
050202
Информатика
050202
Информатика
с доп.спец.
математика
050708 ПиМНО
с доп. спец.
050502
Виды учебной работы в часах
Курс
Семестр
Трудоемкость
Всего
ауд.
ЛК
ПР/
СМ
ЛБ
Сам.
раб.
1
1
100
50
12
-
38
50
Вид итогового
контроля
(форма
отчетности)
Зачет
1
1
100
50
12
16
22
50
Экзамен
3
6
80
40
12
-
28
40
Зачет
3
6
120
32
8
10
8
32
Аттест.
Технология и
предпр. со спец.
4
7
120
34
12
-
22
34
60
20
10
30
60
Экзамен
1.6.Содержание дисциплины:
1.6.1. Разделы дисциплины и виды занятий (в часах). Примерное распределение учебного времени:
№
п/п
1
2
3
4
5
6
7
8
Наименование
раздела, темы
Количество часов
050202 Информатика/ 050708
ПиМНО с доп. спец.
Основы
структурного
подхода
к
программированию.
Типовые
алгоритмические
структуры
(следования,
ветвления, циклов)
Основы
языка
Паскаль.
Типы
данных, переменные
и константы.
Реализация типовых
алгоритмов
в
Паскале.
Реализация
алгоритмов
обработки массивов,
строк и записей.
Работа с файлами.
Процедуры
функции.
Модули.
Итого
и
Всего
ауд.
Л
К
1
ПР
/
С
М
Количество часов
050502 Технология и
предпр. со спец.
Сам
.
раб.
Все
го
ауд.
ЛК
2
1
1
4
2
2
2
2
2
5
1
2
2
6
8
8
2
2
4
8
4
6
10
10
2
2
4
10
9
3
6
10
8
2
2
4
10
12/10
10
4
6
14
10
2
2
4
12
4
7/5
6
2
4
10
6
4
4
7
38/28
50/40
60
20
30
60
50
16
22
50
Сам.
раб.
Всего
ауд.
ЛК
1
1
1
1
2
2
2
8
2
6
5
1
4/2
6
2
2
8
2
6/4
8/6
8
2
2
10
2
8/6
10/8
12
8
2
8/6
10/8
10
2
8/6
6
50/40
12
Количество часов
050202 Информатика с
доп.спц. математика
ЛБ
ПР/
СМ
10
ЛБ
12
ПР/
СМ
ЛБ
Сам
.
раб.
1
2
1.6.2. Содержание разделов дисциплины.
1. ОСНОВЫ СТРУКТУРНОГО ПОДХОДА К ПРОГРАММИРОВАНИЮ:
Программирование - как фундаментальный метод реализации моделей на компьютере. Задачи
теоретического программирования. Понятие алгоритма и исполнителя. Язык процедурного
программирования. Основные типы, структуры данных и операторы. Дисциплина
программирования, структурный подход к программированию.
2. ТИПОВЫЕ АЛГОРИТМИЧЕСКИЕ СТРУКТУРЫ (СЛЕДОВАНИЯ, ВЕТВЛЕНИЯ, ЦИКЛОВ):
Введение в алгоритмизацию. Понятие алгоритма, свойства алгоритмов.
Базисные алгоритмические элементы, их запись. Схемы алгоритмов и псевдокод. Трассировка
алгоритмов. Представление алгоритмов с помощью таблиц (таблицы данных и таблицы решений).
Способы записи алгоритма.
Структурное построение алгоритмов. Основные принципы, теорема структуры и структурное
программирование. Метод поэтапного уточнения (нисходящее проектирование). Практические
приемы построения алгоритмов.
3. ОСНОВЫ ЯЗЫКА ПАСКАЛЬ. ТИПЫ ДАННЫХ, ПЕРЕМЕННЫЕ И КОНСТАНТЫ:
Использование интегрированной среды программирования. Получение справочной
информации. Окна и меню. Программы и модули. Алфавит и синтаксис ЯП Turbo Pascal.
Структура программы.
4. РЕАЛИЗАЦИЯ ТИПОВЫХ АЛГОРИТМОВ В ПАСКАЛЕ:
Структурные операторы: составные, условные операторы – if… then и if… then… else,
варианта - case of. Оператор цикла: цикл с постусловием, цикл с предусловием, цикл с
параметром. Операторы присоединения – with.
5. РЕАЛИЗАЦИЯ АЛГОРИТМОВ ОБРАБОТКИ МАССИВОВ, СТРОК И ЗАПИСЕЙ:
Строковый тип. Операции над строками: конкантенация, копирование, вставка, поиск
подстроки, вычисление длинны строки. Преобразование из строкового типа в числовой и обратно.
Массивы. Описание, вывод данных. Поиск минимального и максимального значения,
вычисление величин. Способы сортировки массивов.
Записи. Записи с фиксированными частями. Записи с вариантами.
6. РАБОТА С ФАЙЛАМИ:
Файловый тип данных. Текстовые, типизированные, нетипизированные файлы. Файловые
переменные. Процедуры чтения из файла, записи в файл.
7. ПРОЦЕДУРЫ И ФУНКЦИИ:
Понятие принципа модульности программирования. Описания функций. Описания процедур.
Параметры: параметры-значения, параметры-переменные. Формальные и фактические параметры.
Область видимости идентификаторов.
8. МОДУЛИ:
Библиотечные и собственные модули. Предложения использования (uses). Синтаксис модулей.
Заголовок, интерфейсная секция, секция реализации, секция инициализации. Ссылки на модули.
1.6.3. Темы для самостоятельного изучения.
№
п/п
1
2
3
4
5
6
7
Наименование раздела
дисциплины
Основы структурного
подхода к
программированию.
Типовые
алгоритмические
структуры
(следования,
ветвления, циклов)
Тема
История возникновения и
развития языков
процедурного
программирования
Разработка алгоритмов
различных типов.
Основы языка Паскаль.
Типы данных,
переменные и константы.
Реализация типовых
алгоритмов в Паскале.
Реализация алгоритмов
обработки массивов,
строк и записей.
Работа с файлами.
Процедуры и функции.
Решение задач с
использованием условных
операторов, операторов
выбора, циклов.
Сортировка массивов.
Операции со строками.
Организации работы с
текстовыми и
типизированными файлами.
Создание меню.
Обработка структурных
типов данных с помощью
процедур. Написание
собственных функций.
Кол-во
часов
0
0
5
5
0
0
2
7
0
0
2
8
1
1
5
0
5
0
2
2
2
2
4
-
-
2
8
10
10
12
6
8
8
10
8
10
10
14
Форма
самостоят.
работы
Форма
контроля
выполнения
самост.
работы
вопрос для
самостояте
льного
изучения.
Выполнен
ие задач,
построени
е
блоксхем.
Решение
задач.
Опрос, тест.
Решение
задач.
Проверка
задач.
Решение
задач.
Проверка
задач. Тест.
Решение
задач.
Проверка
задач.
Решение
задач.
Проверка
задач.
Проверка
выполнения
работы.
Проверка
задач.
8
Модули
Создание собственного
модуля.
ВСЕГО
7
5
10
50
40
60
Решение
задач.
Проверка
задач.
1.7.Методические рекомендации по организации изучения дисциплины.
1.7.1. Тематика и планы аудиторной работы студентов по изученному материалу.
Лабораторные работы 1-2. Основы языка Паскаль. Типы данных, переменные и константы.
Цель работы: научиться работать данными различных типов, осуществлять описание, ввод \
вывод, вычисление выражений.
План:
1.Структура программы.
2.Процедуры ввода/вывода.
3.Вычисление значений.
4.Идентификаторы.
5.Операторы.
6.Переменные и константы.
7.Построение выражений.
Литература [1], [2], [3], [4], [5], [7], [10], [11].
Лабораторные работы 3-5. Реализация простых алгоритмов в Паскале.
Цель работы: научиться использовать в решении задач основные алгоритмические структуры.
Научиться вычислять выражения рекурсивным способом.
План:
1.Использование условного оператора: if… then и if… then… else.
2.Использование оператора выбора case … of…end.
3.Использование цикла с параметром for … to … do, for … downto … do.
4.Использование цикла с предусловием while … do.
5.Использование цикла с постусловием repeat … until.
6.Использование оператора присоединения with.
Литература [1], [2], [3], [4], [5], [9], [10], [14], [15].
Лабораторная работа 6. Реализация алгоритмов обработки строк.
Цель работы: научиться использовать данные строкового и символьного типа. Научиться
использовать процедуры обработки строк.
План:
1.Описание переменных строкового и символьного типа.
2.Операции работы со строками:
a. Конкантенация (склеивание).
b. Копирование, удаление.
c. Вычисление длины строки.
d. Поиск подстроки в строке.
Литература [1], [2], [5], [10], [11].
Лабораторные работы 7-8. Реализация алгоритмов обработки массивов: обработка числовых
массивов
Цель работы: научиться работать с числовыми массивами, осуществлять описание, ввод \ вывод,
обработку и сортировку массивов. Изучить применение циклов для работы с массивами.
План:
1.Ввод/вывод элементов массива.
2.Нахождение максимального элемента
3.Нахождение минимального элемента
4.Нахождение суммы элементов
5.Нахождение произведения элементов
6.Нахождение среднего арифметического элементов
7.Сортировка массива методом обмена
8.Сортировка методом «пузырьков»
9.Сортировка слиянием.
Литература [1], [2], [3], [4], [5], [9], [10], [14], [15], [16].
Лабораторная работа 9. Реализация алгоритмов обработки записей.
Цель работы: научиться работать типом данных – записи.
План:
1.Описание переменной типа запись
2.Ввод/вывод элементов записей.
3.Организация БД посредством записей: ввод, вывод данных, поиск, изменение, удаление,
добавление строк в запись. Организация графического меню для работы с БД.
Литература [1], [2], [3], [4], [5], [9], [10], [14], [15], [17].
Лабораторные работы 10-13. Работа с файлами.
Цель работы: научиться работать c типом данных – записи.
План:
1.Описание файловой переменной.
2.Ассоциирование файловой переменной с файлом.
3.Процедуры записи и чтения из файла.
4.Файлы прямого и последовательного доступа.
5.Текстовые файлы, нетипизированные файлы.
6.Типизированные файлы. Создание БД во внешнем файле.
Литература [1], [2], [3], [4], [5], [9], [10], [12], [17].
Лабораторные работы 14-17. Процедуры и функции.
Цель работы: научиться вызывать стандартные процедуры и функции. Научиться создавать и
использовать собственные функции и процедуры.
План:
1.Описание подпрограммы-функции.
2.Вызов функций.
3.Использование функций для решения задач.
4.Описание процедуры.
5.Вызов процедур.
6.Использование процедур при решении задач – на обработку массивов, вычисление
рекурсивных выражений и др.
Литература [1], [2], [3], [4], [10], [14], [15], [17].
Лабораторные работы 18-19. Модули.
Цель работы: научиться использовать библиотечные (встроенные модули – Graph, Crt) научиться
создавать и использовать собственные модули.
План:
1.Описание и вызов модулей.
2.Использование процедур и функций библиотечных модулей.
3.Написание собственного модуля.
Литература [1], [2], [3], [4], [10], [14], [15], [17].
1.8.Учебно-методическое обеспечение дисциплины.
Основная:
1. Абрамов В. Г. Введение в язык паскаль : [учеб. пособие для студ. вузов, обуч. по спец. и
направл. в области информатики и программирования] / Абрамов В. Г., Трифонов Н. П.,
Трифонова Г. Н. - М. : КноРус, 2011. - 380 с.
2. Андреева Т. А. Программирование на языке Pascal : учеб. пособие / Андреева Т. А. - М. :
Интернет-Ун-т Информ. Технол. : БИНОМ. Лаб. знаний, 2006. - 234 с.
3. Долинский М. С. Решение сложных и олимпиадных задач по программированию : учебное
пособие / Долинский М. С. - СПб. : Питер, 2006. - 366 с.
4. Йенсен К. Паскаль : руководство для пользования / Йенсен К., Вирт Н. ; пер. с англ.,
предисл. Д. Б. Подшивалова. - М. : Финансы и статистика, 1989. - 254 с.
5. Культин Н.Б. Программирование в Turbo Pascal 7.0 и Delрhi / Культин Н.Б. - СПб. : BHV,
1997. - 234 с.
6. Немнюгин С. А. Turbo Pascal : Учеб.пособие для студ.вузов,обуч.по направл. подгот.
бакалавров и магистров "Прикл.математика и информатика","Математика.Прикладная
математика." / Немнюгин С. А. - СПб. : Питер, 2001. - 496 с.
7. Немнюгин С. А. Turbo Pascal : практикум : учеб. пособие для студ. вузов, обуч. по направл.
подгот. дипломир. спец. "Информатика и вычисл. техника" / Немнюгин Сергей Андреевич.
- 2-е изд. - СПб. : Питер, 2007. - 268 с.
8. Павловская Т. А. Паскаль. Программирование на языке высокого уровня : практикум :
учеб. пособие для студ. вузов, обуч. по направл. "Информатика и вычисл. техника" /
Павловская Татьяна Александровна. - СПб. : Питер, 2007. - 317 с.
9. Павловская Т. А. Паскаль. Программирование на языке высокого уровня : [учебник для
студ. вузов, обуч. по направл. подгот. бакалавров, магистров, дипломир. спец.
"Информатика и вычисл. техника"] / Павловская Татьяна Александровна. - СПб. : Питер,
2008. - 393 с.
10. Турбо Паскаль 7.0 - 2.изд. - Киев : Торгово-изд.бюро BHV, 1997. - 448 с.
11. Фаронов В. В. Turbo Pascal 7.0. Практика программирования : учеб. пособие / Фаронов В.
В. - М. : КноРус, 2011. - 414 с.
12. Фаронов В. В. TurboPascal 7.0. Учебный курс : [учеб. пособие для студ. вузов] / Фаронов В.
В. - М. : КноРус, 2011. - 363 с.
13. Фаронов В. В. Turbo Pascal : [учеб. пособие для студ. вузов, обуч. по направл. подгот.
"Информатика и вычислительная техника"] / Фаронов В. В. - СПб. [и др.] : Питер, 2012. 366 с
14. Юркин А. Г. Задачник по программированию : Практикум для студ.и шк-ов
ст.кл.,изуч.программирование / Юркин А. Г. - СПб. : Питер, 2002. - 192 с.
Дополнительная:
1. Aбpaмoв C.A., Зимa E.B. Haчaло пpoгpaммиpoвaния нa языкe Пacкaль.-M.: Haукa,1987. -112
c.
2. Абрамов В.Г.,Трифонов Н.П., Трифонова Г.Н. Введение в язык Паскаль.- М.: Наука, 1988.
3. Абрамов С.А. Задачи по программированию. М.: Просвещение, 1988.
4. Браун С. Visual Basic 6.0 – 19 уроков, издательство Питер, СПб, 2000.
5. Bиpт H. Aлгopитмы + cтpуктуpы дaнныx = пpoгpaммы : пep. c aнгл. пoд peд. Д.Б.
Пoдшивaлoвa M.:Mиp, 1985г, 392c.
6. Гарнаев А. VB 6.0. Разработка приложений, издательство BHV, СПб, 2000
7. Гофман В., Хомоненко А. Разработка приложений на Delphi , издательство BHV, СПб, 1999
8. Гринзоу Л. Философия программирования для Windows 95/NT /Пер. с анг. – СПб.: СимволПлюс, 1997.
9. Гpoгoнo П. Пpoгpaммиpoвaниe нa языкe Пacкaль: Пepeв. c aнгл. - M.: Mиp. 1982. - 384c.
10. Джонс Ж., Харроу К. Решение задач в системе Турбо-Паскаль.- М.: Финансы и статистика.
1991.
11. Джонстон Г. Учитесь программировать.- М: Финансы и статистика, 1988.
12. Иванова Г., Ничушкина Т., Пугачев Е. Объектно-ориентированное программирование,
издательство МГТУ им. Баумана, М., 2001
13. Кнут Д. Искусство программирования, т. 1,2,3 Основные алгоритмы, 3-е изд. /Пер. с англ. :
Уч. пос. –М.: Издательский дом «Вильямс», 2000
14. Кормен Т., Лейзерсон Ч., Ривест Р. Алгоритмы: построение и анализ, Классические
учебники: Computer Science, -М.: МЦНМО, 1999.
15. Культин Н. Язык Object Pascal, издательство BHV, СПб, 2001
16. Лисков Б., Гатег Дж. Использование абстракций и спецификаций при разработке
программ: Пер. с англ. -М.: Мир, 1989.
17. Мейер Б., Бодуэн К. Методы программирования. В 2 т. М.: Мир,1982.
18. Мишенин А. И. Сборник задач по программированию. Учебное пособие - М.: Финансы и
статистика , 2009.
19. Могилев А.В., Пак Н.И., Хеннер Е.К. Информатика: Учеб. пособие для студ. педвузов/ под.
ред. Е.К. Хеннера. - М.: ACADEMIA, 1999.
20. Одинцов И. Профессиональное программирование. Системный подход, издательство BHV,
СПб, 2002
21. Окулов С. М. Основы программирования 6-е изд. перераб. (эл.) - М.: БИНОМ. Лаборатория
знаний , 2012. Программирование на языке Паскаль: задачник/ под ред. Усковой О.Ф. –
СПб.: Питер, 2003. – 336 с.
22. Реселман Б. Использование Visual Basic, М.: Издательский дом «Вильямс», 1999
23. Симонович Информатика для педвузов, издательство Питер, СПб, 1999
24. Телло Э.Р. Объектно-ориентированное программирование в среде Windows: Пер. с англ. М.:Наука-Уайли, 1993.
25. Фаронов В.В. Турбо–Паскаль в 3 кн. – М.: МВТУ – Фесто Дидактик, 1992.
26. Юркин А. Задачник по программированию. – СПб.:Питер,2002. – 192 с.
1.9.Материально-техническое обеспечение дисциплины.
1.9.1. Перечень используемых технических средств.
Компьютерные классы физико-математического факультета МГПУ.
Среда программирования, поддерживающая парадигму процедурного программирования (Turbo
Pascal)
1.9.2. Перечень используемых пособий.
Методические разработки по темам лабораторных занятий.
1.10. Примерные зачетные тестовые задания.
Примерные тестовые задания:
1. Назовите автора языка программирования Pascal?
2. Рекурсия – это
1) повторение выполнения процедуры или функции внутри себя
2) оператор цикла
3) метод определения функции или процедуры
4) встроенная функция
3. Выберите верное утверждение:
1) компиляторы делятся на трансляторы и интерпретаторы
2) трансляторы делятся на компиляторы и интерпретаторы
3) интерпретаторы делятся на трансляторы и компиляторы
4) перевод текста программы в машинный код осуществляется либо компилятором либо
транслятором
4. Расставьте составляющие процесса компиляции в верном порядке:
1) синтаксический анализ
2) семантический анализ
3) компиляция
4) компоновка
5) лексический анализ
6) интерпретация
7) загрузка
8) трансляция
5. Оператор – это
1) функция, которая оперирует данными
2) законченная фраза языка, предписание, команда
3) алгоритм действия программы, написанный на данном языке
4) процедура обработки данных
6. Язык программирования это
1) набор слов для написания программы
2) определенная последовательность бит
3) специально созданная система обозначений слов, букв, чисел
4) двоичные коды для компьютера
7. Синтаксис языка программирования – это
1) набор правил расстановки знаков препинания
2) система правил, определяющая допустимые конструкции языка
3) интерпретация отдельных языковых конструкций языка
4) фиксированный набор основных символов, допускаемых для составления программы
8. Написать программу, заполняющую массив десятью случайными числами в промежутке от a до
b, a и b вводятся пользователем. Найти минимальное число из положительных и вывести
результат.
9. Укажите ошибки в описаниях:
type
Matr = array [5..5, 7..7] of real;
Var
a,b : Matr;
c: array [-10..10];
10. Переменные каких типов могут стоять слева от оператора присваивания
:= a>=b;
11. Вычислить выражение:
‘kems’>’kemb’;
12. Вычислить выражение
[2..10]*[7,8,9];
Ответы:
Номер вопроса
1
2
3
4
5
6
7
8
Ответ
Н. Вирт
1
4
1, 8, 4, 7
2
1
2
9
1. диапазон индексов массива должен состоять более, чем из одного значения.
Program vopros10;
var mass:array [1..10] of integer;
i, min:integer;
Begin
Randomize;
writeLn(‘Vvedi granicu intervala – a i b’);
redLn(a,b);
min:=a;
For i:=1 to Begin
mass[i]:=random(b-a+1)+a;
write(mas[i]:4);
if (mass[i]>0) and (mass[i]<min) then min:=mass[i]
End;
writeLn;
writeLn(‘minimalinoe polojitel’noe =’,min);
readLn;
End.
10
11
12
2. для массива с не указан тип данных.
Boolean
True
[14,16,18,21,24,27,28,32,35,36,40,42,45,48,49,54,56,63,64,70,72,80,81,90]
1.11. Примерный перечень вопросов к зачету (экзамену).
1. Основные принципы структурного программирования.
2. Типовые алгоритмические структуры: следования, ветвления.
3. Типовые алгоритмические структуры: циклы.
4. Алфавит языка программирования. Простые типы данных. Переменные и константы. Область
видимости.
5. Выражения и операции. Встроенные функции.
6. Программирование ввода и вывода данных на Паскале.
7. Структурные типы данных.
8. Операторы перехода по условию IF, CASE.
9. Циклические алгоритмы. Цикл FOR. Вложенные циклы.
10. Организация цикла с пред- и постусловием. Циклы WHILE, REPEAT.
11. Одномерные массивы. Основные способы обработки, сортировка.
12. Двумерные массивы. Основные способы обработки, сортировка.
13. Строки и средства их обработки
14. Причины ошибок. Отладка программ, наблюдение и изменение значений переменных.
15. Средства отладки программ. Точки прерывания. Прерывание по условию.
16. Подпрограммы – функции. Структура функции. Способы передачи параметров.
17. Подпрограммы – процедуры. Структура процедуры. Способы передачи параметров.
18. Параметры-значения, параметры-переменные, нетипизированные параметры.
19. Средства работы с файлами.
20. Файлы прямого и последовательного доступа. Организация записи и чтения данных из файла.
21. Библиотечные модули ЯП Паскаль.
22. Синтаксис модулей.
1.12. Комплект экзаменационных билетов (утвержденный зав. кафедрой до начала
сессии) – хранится на кафедре, дело 15/26-26 – Экзаменационные билеты по
лекционным курсам.
1.13. Примерная тематика рефератов – не предусмотрено.
1.14. Примерная тематика курсовых работ – не предусмотрено.
1.15. Примерная тематика квалификационных (дипломных) работ – не предусмотрено.
1.16. Методика(и) исследования (если есть) – не предусмотрено.
1.17. Балльно-рейтинговая система, используемая преподавателем для оценивания
знаний студентов по данной дисциплине – не предусмотрено.
РАЗДЕЛ 2. Методические указания по изучению дисциплины (или ее разделов)
и контрольные задания для студентов заочной формы обучения.
Заочная форма обучения не предусмотрена.
РАЗДЕЛ 3. Содержательный компонент теоретического материала.
Тематика лекционного материала.
1. ОСНОВЫ СТРУКТУРНОГО ПОДХОДА К ПРОГРАММИРОВАНИЮ
1.1.Цель, особенности и порядок прохождения курса.
1.2.Стандарты на разработку прикладных программных средств.
1.3.Документирование, сопровождение и эксплуатация программных средств.
1.4.История развития языков программирования.
1.5.Парадигмы программирования: императивная, функциональная, логическая.
2. ТИПОВЫЕ АЛГОРИТМИЧЕСКИЕ СТРУКТУРЫ (СЛЕДОВАНИЯ, ВЕТВЛЕНИЯ, ЦИКЛОВ)
2.1.Свойства алгоритмов и способы их задания.
2.2.Алгоритмы типовых вычислительных процессов.
2.3.Поток управления и структуры данных.
2.4.Технологии программирования: структурная, модульная, объектно-ориентированная.
3. ОСНОВЫ ЯЗЫКА ПАСКАЛЬ. ТИПЫ ДАННЫХ, ПЕРЕМЕННЫЕ И КОНСТАНТЫ
3.1.Формализация синтаксиса и семантики языков программирования. Общая характеристика
языка Паскаль.
3.1.1. Структура программы на Паскале.
3.1.2. Определение констант. Описание переменных.
3.1.3. Стандартные типы данных. Эквивалентность и совместимость типов.
3.2.Операторы языка Паскаль.
3.2.1. Перечень операторов языка Паскаль.
3.2.2. Оператор присваивания. Выражение.
3.2.3. Стандартные функции.
3.3.Операторы (процедуры) ввода-вывода.
3.3.1. Операторы ввода.
3.3.2. Операторы вывода.
3.3.3. Управление выводом данных (простейшее форматирование).
4. РЕАЛИЗАЦИЯ ТИПОВЫХ АЛГОРИТМОВ В ПАСКАЛЕ
4.1.Операторы для организации ветвлений.
4.1.1. Оператор безусловного перехода.
4.1.2. Оператор условного перехода.
4.1.3. Оператор множественного ветвления.
4.2.Циклические операторы языка Паскаль.
4.2.1. Цикл с предусловием.
4.2.2. Цикл с постусловием.
4.2.3. Цикл с параметром.
5. РЕАЛИЗАЦИЯ АЛГОРИТМОВ ОБРАБОТКИ МАССИВОВ, СТРОК И ЗАПИСЕЙ:
5.1.Строки.
5.2.Множества.
5.3.Массивы.
5.3.1. Использование циклических операторов для обработки числовых массивов.
5.3.2. Использование циклических операторов для обработки символьных массивов.
5.4.Записи.
6. РАБОТА С ФАЙЛАМИ
6.1.Текстовые файлы, нетипизированные файлы.
6.2.Операции ввода-вывода в текстовые файлы.
6.3.Типизированные файлы.
7. ПРОЦЕДУРЫ И ФУНКЦИИ:
7.1.Процедуры и функции.
7.2.Процедуры. Формальные и фактические параметры. Параметры-значения. Параметры
переменные.
7.3.Функции.
7.4.Рекурсии.
8. МОДУЛИ
8.1.Общая структура модуля.
8.2.Подпрограммы в модулях.
8.3.Компиляция и использование модулей.
8.4.Стандартные модули и библиотеки, их характеристика.
8.5.Основные понятия объектно-ориентированного программирования.
8.6.Графические возможности Турбо-Паскаля.
8.6.1. Графический модуль CRT.
8.6.2. Графический модуль GRAF.
РАЗДЕЛ 4. Словарь терминов (глоссарий).
Буфер ввода-вывода - это область в памяти, которая выделяется для каждого файла.
Венгерская нотация - это соглашение о наименованиях переменных и функций.
Ветвление - это конструкция, состоящая из развилки, двух операций и слияния. Одна из операций
может отсутствовать.
Выражение в алгоритмическом языке состоит из элементарных конструкций и символов, оно
задает правило вычисления некоторого значения.
Выражение-константа представляет собой выражение, которое может вычисляться компилятором
без необходимости выполнения программы.
Глобальные переменные - это переменные, описанные вне процедуры и функции и
располагающиеся в сегменте данных.
Динамическая переменная создается во время выполнения программы и память для них
выделяется в динамической области (heap).
Запись представляет собой совокупность ограниченного числа логически связанных компонент,
принадлежащих к разным типам. Компоненты записи называются полями, каждое из
которых определяется именем.
Именами (идентификаторами) называют элементы языка - константы, метки, типы,
переменные, процедуры, функции, модули, объекты. Имя - это последовательность букв
и цифр, начинающаяся с буквы. В именах может использоваться символ '_'
подчеркивание.
Инициализация переменных - это задание начальных значений переменным.
Инкапсуляция - это объединение данных и алгоритмов их обработки в одной структуре данных
(объекте).
Компонентный или типизированный файл - это файл с объявленным типом его компонент.
Компонентные файлы состоят из машинных представлений значений переменных, они хранят
данные в том же виде, что и память ЭВМ.
Локальные переменные - это переменные, описанные в самой процедуре или функции и
располагающиеся в сегменте стека.
Массивы представляют собой ограниченную упорядоченную совокупность однотипных величин.
Каждая отдельная величина называется компонентой массива.
Методы - это инкапсулированные в объект процедуры и функции.
Множество - это ограниченная совокупность различных элементов.
Модуль - это совокупность программных ресурсов, предназначенных для использования другими
программами.
Оператор задает полное описание некоторого действия, которое необходимо выполнить. Для
описания сложного действия может потребоваться группа операторов. В этом случае
операторы объединяются в составной оператор или блок.
Операторы отношений сравнивают два значения, возвращая в результате булевское значение
True или False.
Подпрограмма - это последовательность операторов, которые определены и записаны только в
одном месте программы, однако их можно вызвать для выполнения из одной или
нескольких точек программы. Каждая подпрограмма определяется уникальным именем.
Полиморфизм - это свойство, позволяющее называть разные алгоритмические действия одним
именем.
Последовательный доступ - это доступ в каждый момент времени лишь к одной компоненте
данных из всей последовательности, записанной в файл.
Программа - это объединенная единым алгоритмом совокупность описаний и операторов на
алгоритмическом языке.
Процедура и функция - это именованная последовательность описаний и операторов.
Прямой доступ предполагает, что файл представляет собой линейную последовательность
блоков.
Семантика - определение смысла и правила использования тех элементов языка, для которых
были даны синтаксические определения.
Символы языка - это основные неделимые знаки, в терминах которых пишутся все тексты на
языке.
Синтаксис - правила построения элементов языка.
Следование - это конструкция, представляющая собой последовательное выполнение двух или
более операций.
Статической переменной (статически размещенной) называется описанная явным образом в
программе переменная, обращение к которой осуществляется по имени. Место в памяти
для размещения статических переменных определяется при компиляции программы.
Строки в языке Паскаль - это последовательность символов, записанная между апострофами.
Структурированная программа (или подпрограмма) - это программа, составленная из
фиксированного множества базовых конструкций.
Физические файлы - это файлы на внешних устройствах.
Цикл - это конструкция, имеющая линии управления, ведущие к предыдущим операциям или
развилкам.
Элементарные конструкции - это минимальные единицы языка, имеющие самостоятельный
смысл. Они образуются из основных символов языка.
РАЗДЕЛ 5. Практикум по решению задач (практических ситуаций) по темам
лекций (одна из составляющих частей итоговой государственной
аттестации).
1. Рассмотрим программу, которая обрабатывает результаты спортивных соревнований (летней
олимпиады в Сиднее, 2000 г.). Исходные данные представлены в таблице:
страна
Австралия
Беларусь
Великобритания
Германия
Италия
Китай
Корея
Куба
Нидерланды
Россия
Румыния
США
Франция
Япония
Золотых
16
3
11
14
13
28
8
11
12
32
11
39
13
5
Серебрянных
25
3
10
17
8
16
9
11
9
28
6
25
14
8
Бронзовых
17
11
7
26
13
15
11
7
4
28
9
33
11
5
Программа должна вычислять общее количество медалей, завоеванных представителями каждой
страны, и соответствующее количество очков (баллов), которое вычисляется по следующему
правилу:
За каждую золотую медаль команда получает 7 очков,
За серебрянную – 6 очков,
За бронзовую – 5 очков.
2. Дан двумерный числовой массив. Вывести на печать номера его столбцов не содержащих
нулевых элементов.
3. Дан двумерный числовой массив. Вывести на печать индексы всех его элементов совпадающих
с наименьшим значением массива.
РАЗДЕЛ 6. Изменения в рабочей программе, которые произошли после
утверждения программы.
Характер изменений в
программе
Номер и дата
протокола заседания
кафедры, на котором
было принято данное
решение
Обновлен
список Протокол
рекомендованной
24.04.13
литературы
№11
Подпись заведующего
кафедрой,
утверждающего
внесенное изменение
от Королева Н.Ю.
Подпись декана
факультета
(проректора по
учебной работе),
утверждающего
данное изменение
Азарова В.В.
РАЗДЕЛ 7. Учебные занятия по дисциплине ведут:
Ф.И.О., ученое звание и степень Учебный год
преподавателя
Факультет
Специальность.
Download