Основная литература: 1, 4, 5-9,10

Дополнительная литература: 12, 13-16

Лаб. работа 6. Тема: Парадигмы программирования. Контрольные вопросы:

1) Какие парадигмы программирования существуют? 2) В каких случаях нужно использовать подпрограммы – процедуры? подпрограммы – функции? 3) В чем заключается сущность объектного подхода к разработке программных средств (ПС)? 4) Какие категории объектов можно выделить с точки зрения разработчиков ПС? 5) Что такое объектная модель ПС? 6) Что такое динамическая модель ПС? 7) Что такое диаграмма состояний класса? 8) Что такое функциональная модель ПС? 9) Что такое компонент ПС? 10) Общая структура модуля при наличии в нем класса. 11)В чем заключается суть наследования?; 12) У абстрактных классов бывает экземпляр объектов? 13) Что называется поздним связыванием? Ранним связыванием? 14) С помощью чего выполняется инициализация экземпляра объекта, имеющего виртуальные методы? 15) Как осуществляется выделение памяти? 16) В чем проявляется полиморфизм?

Задания: 1) Разработать программу «Калькулятор» в виде процедур и функции, реализующего функции простейшего калькулятора с удобным интерфейсом для вычисления арифметических действий и операций: а) вычисления корня квадратного; б) возведения в степень N.

2) Описать объект “обыкновенная дробь” с методами “НОД числителя и знаменателя”, “сокращение”, “натуральная степень”. Проиллюстрировать работу с описанным объектом, реализацию его методов и обращение к указанным методам.

Домашнее задание:

1) В программу «Калькулятор» добавить операции вычисления функций: sin x, cos x, tg x, ln x, ex.

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

2)Описать объект с указанием его методов:телефонный звонок (номер телефона, дата разговора, продолжительность, код города и т. д.). Реализовать объявленные в объектном типе методы.

Основная литература: 1, 4-6, 10

Дополнительная литература: 13, 15, 20

Общие методические рекомендации к лабораторным занятиям: 1) Подготовку к каждому лабораторному занятию следует начинать с повторения основных вопросов темы (по учебнику или конспектам), ответов на контрольные вопросы и детального разбора примеров, рассмотренных на лекции, семинарах или в учебниках; 2) Основные типы задач рассматриваются на аудиторных занятиях с разработкой полного и подробного алгоритма решения задач; 3) Содержание каждой темы надо кратко законспектировать, записывая основные определения и алгоритмы решения задач. Записи следует вести в особой тетради (т. е. для практических работ). В ней же следует решать однотипные задачи по каждой теме (можно записывать решение примеров из учебника). Эта тетрадь затем не только окажет большую помощь при повторении курса перед экзаменом, но и может быть использована как справочный материал в дальнейшей работе во всех случаях, когда придется иметь дело с математическими методами; 4) Тема может считаться усвоенной, если студента не затруднят ответы на контрольные вопросы и решение задач, помещенных в рекомендованных учебниках.

2.5 Планы занятий в рамках самостоятельной работы студентов под руководством преподавателя.

Тема 1. Алгоритмы и данные

Форма проведения – семинар

Основные вопросы:

1) Основные особенности алгоритма. 2) Структуры алгоритмов. 3)Простые команды. 4)Составные команды. 6)Комбинации базовых команд.

Рекомендуемая литература: 1, 4, 5, 8, 14,15,19

Тема 2. Базовые управляющие структуры

Форма проведения – семинар

Основные вопросы:

1) Базовые управляющие структуры и конструкции языков Pascal, С, C++, Java. 2) Синтаксис и семантика. 3) Уровень языка программирования. 4)Языки программирования.

Рекомендуемая литература: 1, 4, 5, 8, 14,15,19

Тема 3. Переменная и тип.

Форма проведения – семинар

Основные вопросы:

1) Понятие переменной, типа. 2) Стандартные типы данных. 3) Пользовательские типы данных.

Рекомендуемая литература: 1, 4, 5, 8, 14,15,19

Тема 4. Структурное программирование

Форма проведения – семинар

Основные вопросы:

1) Модульное программирование. 2) Структурное кодирование. 3) Стиль программирования. 4) Разработка структуры программы и модульное программирование. 5) Цель разработки структуры программы. 6) Методы разработки структуры программы. 7) Контроль структуры программы

Рекомендуемая литература: 1, 4, 5, 8, 14,15,19

Форма проведения – лабораторное занятие

Задания:

1) Используя модуль из лаб. работы №1), решить задачи:

А) Дан массив А, элементы которого - обыкновенные дроби. Найти сумму всех элементов и их среднее арифметическое; Результаты представить в виде несократимых дробей.

Б) Дан массив А, элементы которого - обыкновенные дроби. Отсортировать его в порядке возрастания.

Рекомендуемая литература: 1, 4, 5, 8, 14,15,19

Тема 5. Понятие программного модуля.

Форма проведения – семинар

Основные вопросы:

1) Основные характеристики программного модуля. 2) Инкапсуляция. 3) Абстрактные типы данных. 4) Описания и области действия. 5) Правила видимости. 6)Параметризация типов. 7) Спецификация программного модуля.

Форма проведения – лабораторные занятия

Задания: Разработка модулей для работы с матрицами размерности 3х3 простого пользовательского интерфейса в среде программирования Турбо - Паскаль .

Рекомендуемая литература: 1- 5, 7, 8, 14, 18

Тема 6. Грамматики и языки.

Форма проведения – семинар

Основные вопросы:

1) Понятие грамматики. 2)Типы грамматик. 3) Некоторые приме-нения теории формальных грамматик и языков. 4) Грамматика Хомского. 5) Контекстно - свободные грамматики. 6) LA(1)- грамматика метод рекурсивного спуска.

Тема 7. Автоматы.

Форма проведения – семинар

Основные вопросы:

1) Автоматные грамматики и конечные автоматы. 2) Построение и преобразование графа переходов конечного автомата для за-данной автоматной грамматики. 3) Графическое представление автоматных грамматик

Рекомендуемая литература: 1, 4, 5, 10, 14

Тема 8. Общие принципы разработки программных средств.

Форма проведения – семинар

Основные вопросы:

1) Специфика разработки программных средств. 2) Жизненный цикл программного средства. 3)Понятие качества программного средства. 4) Обеспечение надежности – основной мотив разработки программного средства. 5)Методы борьбы со сложностью. 6) Обеспечение точности перевода. 7) Преодоление барьера между пользователем и разработчиком. 8) Обеспечение контроля правильности принимаемых решений.

Форма проведения – лабораторное занятие

Задания:

1) Используя модуль из лаб. работы №1), решить задачи:

А) Дан массив А, элементы которого - обыкновенные дроби. Найти сумму всех элементов и их среднее арифметическое; Результаты представить в виде несократимых дробей.

Б) Дан массив А, элементы которого - обыкновенные дроби. Отсортировать его в порядке возрастания.

Рекомендуемая литература: 1, 4, 5, 13, 15, 19

Тема 9. Тестирование и отладка программного средства

Форма проведения – семинар

Основные вопросы:

1) Основные понятия. 2) Стратегия проектирования тестов. 3) Заповеди отладки. 4) Автономная отладка и тестирование программного модуля. 5) Комплексная отладка и тестирование программного средства

Рекомендуемая литература: 1, 4, 5, 13, 15, 19

Тема 10. Документирование программных средств

Форма проведения – семинар

Основные вопросы:

1) Документация, создаваемая и используемая в процессе разработки программных средств. 2) Пользовательская документация программных средств. 3) Документация по сопровождению программных средств.

Рекомендуемая литература: 1, 4, 5, 13, 20

Тема 11. Компьютерная поддержка разработки и сопровождения программных средств.

Форма проведения – семинар

Основные вопросы:

1) Программные инструменты в жизненном цикле программных средств. 2) Инструментальные среды и инструментальные системы поддержки разработки программных средств, их классификация. 3) Компьютерная технология (CASE-технология) разработки программных средств и ее рабочие места. 4) Общая архитектура инструментальных систем технологии программирования.

Рекомендуемая литература: 1, 4, 5, 13, 20

Тема 12. Парадигмы программирования.

Форма проведения – лабораторные задания

Основные вопросы:

1) Объектно-ориентированное программирование. 2) Объектное моделирование как содержание этапа внешнего описания при объектном подходе. 3) Особенности этапа конструирования программного средства при объектном подходе 4) Основные понятия объектного программирования (методы, событие, конструктор, деструктор)

Форма проведения – лабораторные занятия

2) Пусть имеется родительский объектный тип “выпуклый четырехугольник”(поля типа “координаты вершин, заданные в порядке их обхода”) и типы, им порожденные: параллелограмм, ромб, квадрат. Описать для указанных фигур методы “вычисление углов” (в градусах), “вычисление диагоналей ” , “вычисление длин сторон”, “ вычисление периметра ”, “вычисление площади”

3) Задания: Реализовать объектный тип тип “выпуклый четырехугольник”, создавая объекты в динамической памяти.

Рекомендуемая литература: 1-5, 8, 14, 19

Тема 13. Концепция объектно-ориентированного программирования.

Форма проведения – семинар

Основные вопросы:

1) Принципы объектно - ориентированного программиро-вания. 2) Инкапсуляция. Наследование. Полиморфизм. 3) События. 4) Пример проектирования совокупности классов. 5) Абстрактные типы данных

Рекомендуемая литература: 1-5, 7, 8, 13, 14, 18

Тема 14. Форма Бэкуса-Наура

Форма проведения – семинар

Основные вопросы:

1) Основные символы.2) Металингвистические переменные.  3)Металингвистические связки.

Рекомендуемая литература: 1-5, 7, 8, 13, 14, 18

Форма проведения – семинар

Основные вопросы:

Рекомендуемая литература: 1-5, 7, 8, 13, 14, 18

Методические рекомендации к выполнению: 1) каждое задание должно быть выполнено в тетради (или на листах формата А4) , на обложке которой указывается специальность, курс, группа, фамилия и имя студента, номер варианта и дата сдачи работы. 2) Работа должна быть написана разборчивым почерком, на страницах следует оставить поля. 3) Решение задач необходимо сопровождать краткими пояснениями, обязательно должны быть блок - схема и текст программы с результатом выполнения. 4) Выполнение задания ни в коем случае не следует откладывать на последний вечер перед занятиями, как, к сожалению, нередко поступают студенты. В этом случае более сложные и притом наиболее содержательные и полезные задачи заведомо не могут быть решены.

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

Тема 1. Алгоритмы и данные

Задание - изучить материал лекции

Рекомендуемая литература: 1, 5, 12, 20

Тема 2. Базовые управляющие структуры

Задание - изучить материал лекции

Рекомендуемая литература: 1-5, 7, 8, 13, 14, 18

Тема 3. Переменная и тип

Задание - изучить материал лекции

Рекомендуемая литература: 1-5, 7, 8, 13, 14, 18

Тема 4. Структурное программирование

Задание - изучить материал лекции

Рекомендуемая литература: 1-5, 7, 8, 13, 14, 18

Задание: Составить программу сортировки массивов, используя различные алгоритмы сортировки, каждый алгоритм реализовать в виде процедур

Рекомендуемая литература: 1, 4, 5, 8, 12, 19

Тема 5. Понятие программного модуля

Задание - изучить материал лекции

Рекомендуемая литература: 1-5, 7, 8, 13, 14, 18

Тема 6. Грамматики и языки

Задание - изучить материал лекции

Рекомендуемая литература: 1-5, 7, 8, 13, 14, 18

Тема 7. Автоматы.

Задание - изучить материал лекции

Рекомендуемая литература: 1-5, 7, 8, 13, 14, 18

Тема 8. Общие принципы разработки программных средств

Задание - изучить материал лекции.

Рекомендуемая литература: 1, 4, 5, 12, 14

Тема 9. Тестирование и отладка программного средства Задания - Изучить материал лекции.

Рекомендуемая литература: 1, 4, 5, 12, 20

Тема 10. Документирование программных средств

Задания - изучить материал лекции.

Рекомендуемая литература: 1, 4, 5, 12, 20

Тема11. Компьютерная поддержка разработки и сопровождения программных средств

Задания - изучить материал лекции.

Рекомендуемая литература: 1, 4, 5, 12, 20

Тема 12. Парадигмы программирования.

Задания – 1)Использовать модули к задаче рассмотренной в СРС Тема 4.

2) Пусть имеется объектный тип “комплексные числа” Описать для него методы “вычисление суммы”, “вычисление разности”,“вычисление произведения”, “вычисление деления”, “модуля ” комплексных чисел.

Рекомендуемая литература: 1, 3, 4, 5, 11, 13, 18

Тема13. Концепция объектно-ориентированного программирования.

Задания - изучить материал лекции.

Рекомендуемая литература: 1, 4, 5, 7, 8

Тема14. Задания - изучить материал лекции.

Рекомендуемая литература: 1, 4, 5, 7, 8

Тема15.

Задания –изучить материал лекции.

Рекомендуемая литература: 1, 5, 12, 20

Методические рекомендации к выполнению: Чтобы научиться решать задачи того или иного типа, рекомендуется сначала изучить в общем виде алгоритм, затем рассмотреть пример реализации алгоритма в конкретном случае и, по аналогии с ним, решить несколько задач из числа предлагаемых для самостоятельного решения. Чтобы приобрести устойчивый навык решения типовых задач, необходимо решить не менее трех – пяти задач каждого типа.

2.7 Тематика письменных работ по курсу.

Тематика рефератов 1: 1) Известнейшие алгоритмы в истории математики; 2) Методы разработки программ 3) Рекурсии, рекуррентности и итерации; 4) Жизненный цикл программных систем;

Тематика рефератов 2: 5) Параллельное программирование; 6) Доказательное программирование; 7) Case-технологии разработки программных систем;

Контрольная работа 1: Функции, процедуры и модули

Контрольная работа 2: Объектно- ориентированное программирование в среде Турбо - Паскаль.

Семестровое задание 1: Решение задач на темы 4, 11.

Рекомендуемая литература: 1 – 20.

Методические рекомендации к выполнению: Рефераты необходимо выполнять на листах формата А4, с указанием Ф. И.О., группы и название работы. Контрольные и семестровые задания можно выполнять в тетради с указанием Ф. И.О., группы и название работы.

2.8 Тестовые задания для самоконтроля:

1. m: array [1..N] of integer; здесь N нужно определить:

A) в разделе переменных как целое; B) в разделе переменных как вещественное; C) в разделе констант; D) в теле программы; E) после слова TYPE.

2. Чтоб заполнить массив случайными числами используется функция:

A) CASE (); B) MAS (); C) ARRAY (); D) RANDOM ();

E) PACKED ();

3. Что делает приведенная ниже программа?

Var mas: array [1..10] of integer;

P, i: integer;

Begin

P:= mas[1];

For i:=1 to 10 do

IF P <= mas[i] then p:= mas[i];

Write (P); End;

A) Определяет min элемент массива; B) Вычисляет сумму элементов массива; C) Определяет max элемент массива; D) Сортирует массив по возрастанию; E) Сортирует массив по убыванию.

1) for i:=1 to n do

for j:=1 to m do begin

A(i,j)=A1(j,i);

End;

Что выполняет этот фрагмент программы?

A) вычисляет обратную матрицу; B) вычисляет транспонированную матрицу; C) вычисляет определитель матрицы; D) применяется для упорядочивания элементов матрицы; E) ничего не делает.

2) К какому типу данных языка Паскаль следует отнести записи:

A) структурированные; B) скалярные; C) ссылочные;

D) порядковые; E) множественные.

3) Составной оператор берется в

A) квадратные скобки; B) круглые скобки; C) операторные скобки; D) угловые скобки; E) нет правильного ответа.

4) Определить, что будет напечатано в результате выполнения следующих операторов:

К:=40;

case К mod 4 of
0: writeln('K=4M'); 1: writeln('K=4M+1); 2: writeln('K=4M+2');

3: writeln('K=4M+3'); end;

A) K = 4M; B) K = 4M+1; C) K = 4M+2; D) K = 4M+3; E) K = M

5) Какой из приведенных ниже операторов является неправильным?

A) if a<b then a:= a else b:= b*b; B) if (x) and (y) then s:= s+l; else s:= s-l; C) if k<>m then k:= m; D) if (a>b) or (b<c) then s:=s+5; E) if(a<b) or c then c:= false;

6) Назовите оператор выбора.

A) Begin; B) If; C) Case; D) Goto; E) While

7) Полная запись условного оператора:

A) IF <усл> THEN <опер1> ELSE <опер2 >; B) IF <усл> THEN <опер>; C) Begin IF <усл> THEN <опер> End; C) IF <опер > THEN <усл1> ELSE <усл2>; D) IF <опер> THEN <усл >.

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6