Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Курсовая работа






Курсовая работа состоит в выполнении двух заданий в соответствии с вариантом. Как правило, первая задача носит ярко выраженный вычислительный характер. Суть работы состоит в разработке алгоритма решения первой задачи и написания соответствующей программы на языке программирования Delphi. Вторая задача формулируется так: в системе Delphi создать заказной (авторский) компонент. Причём этот компонент должен помогать решать задачу, выполненную студентом в 4-ом семестре в рамках индивидуального домашнего задания. Например, если задача состояла в нахождении суммы двух чисел (рис. 1), то следует создать компонент-панель (TPanel), результат применения которого показан на рис. 2.

Рис. 1. Проект для решения задачи из индивидуального домашнего задания.

Рис. 2. Результат применения созданного студентом компонента-панели.

Созданный компонент обязательно должен быть расположен в Палитре компонентов Delphi, например, на закладке Samples (рис. 3).

Рис. 3. Значок созданного компонента на закладке Samples.

Номер варианта определяется как число, составленное из двух последних цифр номера зачетной книжки. Для курсовой работы, как и для индивидуального домашнего задания, имеется 30 вариантов. Поэтому вариант выбирается аналогично в соответствии с двумя последними цифрами номера зачётной книжки:

Последние цифры номера зачётной книжки Подлежащий выполнению вариант
  11 вариант
  32 – 30∙ 1= 2 вариант
  65 – 30∙ 2= 5 вариант и т. д.

Для первой задачи из варианта должны быть представлены:

1. Краткое пояснение метода решения задачи, т.е. применяемого алгоритма.

2. Блок-схема алгоритма, выполненная в соответствии с ЕСПД.

3. Пояснения к блок-схеме, приведенные отдельно от блок-схемы и оформленные в виде обычных предложений.

4. Листинг программы.

5. Скриншоты экрана монитора, отражающие спроектированную форму, введённые данные и полученные результаты.

6. Выкладки, подтверждающие правильность полученных результатов.

Для второго задания из варианта надо представить описание технологии создания компонента с необходимым обоснованием принятых решений, листинги модулей, скриншоты, аналогичные приведённым на рис. 1, 2, 3.

Для обеих задач студент должен предоставить преподавателю файлы, позволяющие проверить работоспособность предлагаемых решений и при необходимости внести коррективы. Как правило, это файлы с расширениями pas, dpr, dfm.

При выполнении курсовой работы можно пользоваться [9, 11], а также Internet-ресурсами [14, 15, 16, 17].

Вариант 1

1. Числа Фибоначчи (fn) определяются формулами

f0=f1=1; fn=fn-1+fn-2 при n=2, 3,...

Вычислить «S» – сумму простых чисел ряда Фибоначчи, которые не превосходят 1000.

2. Создать компонент для решения задачи из ИДЗ (вариант 1).

Вариант 2

1. Числа Фибоначчи (fn) определяются формулами

f0=f1=1; fn=fn-1+fn-2 при n=2, 3,...

Вычислить «S» – сумму чисел ряда Фибоначчи, которые не превосходят 1000 и не являются простыми.

2. Создать компонент для решения задачи из ИДЗ (вариант 2).

Вариант 3

1. Числа Фибоначчи (fn) определяются формулами

f0=f1=1; fn=fn-1+fn-2 при n=2, 3,...

Вычислить «S» – сумму пяти последних чисел ряда Фибоначчи при n=40.

2. Создать компонент для решения задачи из ИДЗ (вариант 3).

Вариант 4

1. Дана последовательность целых чисел. Путем удаления некоторых элементов (не переставляя элементы), получить неубывающую последовательность максимальной длины.

2. Создать компонент для решения задачи из ИДЗ (вариант 4).

Вариант 5

1. Множество «K» строится следующим образом: 1) Два натуральных числа a, b включены в множество «K». 2) Для любых «x», «y», входящих в «K», число x+y+xy включается в «K». 3) Других элементов в «K» нет. Определить, является ли Z элементом множества «K», если заданы числа a, b.

2. Создать компонент для решения задачи из ИДЗ (вариант 5).

Вариант 6

1. Даны целое n > 0 и последовательность из n вещественных чисел, среди которых есть хотя бы одно отрицательное число. Найти величину наибольшего среди отрицательных чисел этой последовательности.

2. Создать компонент для решения задачи из ИДЗ (вариант 6).

Вариант 7

1. Написать программу, которая вычисляет периметр и площадь правильного n-угольника, вписанного в окружность заданного радиуса.

2. Создать компонент для решения задачи из ИДЗ (вариант 7).

Вариант 8

1. Логической переменной t присвоить значение true или false в зависимости от того, является ли натуральное число k степенью 3 или нет.

2. Создать компонент для решения задачи из ИДЗ (вариант 8).

Вариант 9

1. Из заданных «n» предметов выбрать такие, чтобы их суммарный вес был менее 30 кг, а стоимость – наибольшей. Вывести на дисплей суммарную стоимость выбранных предметов и их индексы из массива В. Точнее – заданы два массива положительных чисел A [ 1: n ] и B [ 1: n ]. Выбрать такие числа i1, i2,... ik, чтобы сумма A [ i1 ] +A [ i2 ] +... + A [ ik ]< 30, а сумма B [ i1 ] +B [ i2 ] +... +B [ ik ] = max.

2. Создать компонент для решения задачи из ИДЗ (вариант 9).

Вариант 10

1. Для заданного «a» вычислить принадлежащий интервалу (p, 2p) корень уравнения ln(ctg x- 1) =a.

2. Создать компонент для решения задачи из ИДЗ (вариант 10).

Вариант 11

1. Ввести целое число 2 и натуральное k. Вычислить 2k с выполнением следующих условий: операцией возведения в степень пользоваться нельзя; k может оказаться настолько большим, что недопустимо выполнять k умножений. То есть надо предусмотреть возможность переполнения разрядной сетки компьютера, но всё равно вывести на дисплей все цифры полученной степени числа 2.

2. Создать компонент для решения задачи из ИДЗ (вариант 11).

Вариант 12

1. Вычислить дробную часть среднего геометрического трёх заданных положительных чисел.

2. Создать компонент для решения задачи из ИДЗ (вариант 12).

Вариант 13

1. Методом выбора определите максимальную и минимальную суммы элементов матрицы m ´ n при условии, что при вычислении очередной суммы в каждой строке и каждом столбце может быть выбран только один элемент.

2. Создать компонент для решения задачи из ИДЗ (вариант 13).

Вариант 14

1. Дана непустая последовательность положительных чисел, за которой следует ноль (это признак конца последовательности). Вычислить среднее геометрическое этих чисел.

2. Создать компонент для решения задачи из ИДЗ (вариант 14).

Вариант 15

1. Для произвольных вещественных чисел a, b и c определить, имеет ли уравнение ax2+bx+c= 0 хотя бы одно вещественное решение.

2. Создать компонент для решения задачи из ИДЗ (вариант 15).

Вариант 16

1. Дано натуральное k. Определить k -ю цифру в последовательности

110100100010000100000..., в которой выписаны подряд степени 10.

2. Создать компонент для решения задачи из ИДЗ (вариант 16).

Вариант 17

1. Для заданных чисел p, a и b (a < b) определить, имеет ли уравнение arctg(2 x - ç p ç) = корень на отрезке[ a, b ].

2. Создать компонент для решения задачи из ИДЗ (вариант 17).

Вариант 18

1. Дано целое k от 1 до 180. Определить, какая цифра находится в k -ой позиции последовательности 10111213... 9899, в которой выписаны подряд все двузначные числа. Последовательность нельзя задавать при помощи строкового типа.

2. Создать компонент для решения задачи из ИДЗ (вариант 18).

Вариант 19

1. Дано натуральное k. Определить k -ю цифру в последовательности

123456789101112131415..., в которой выписаны подряд все натуральные числа.

2. Создать компонент для решения задачи из ИДЗ (вариант 19).

Вариант 20

1. Дано натуральное k. Определить k -ю цифру в последовательности

149162536..., в которой выписаны подряд квадраты всех натуральных чисел.

2. Создать компонент для решения задачи из ИДЗ (вариант 20).

Вариант 21

1. Дано натуральное k. Определить k -ю цифру в последовательности

1123581321..., в которой выписаны подряд все числа Фибоначчи.

2. Создать компонент для решения задачи из ИДЗ (вариант 21).

Вариант 22

1. В заданный непустой текст входят только цифры и буквы. Определить, является ли текст десятичной записью числа, кратного 9.

2. Создать компонент для решения задачи из ИДЗ (вариант 22).

Вариант 23

1. В заданный непустой текст входят только цифры и буквы. Определить, удовлетворяет ли он следующему свойству: текст начинается с некоторой ненулевой цифры, за которой следуют только буквы, и их количество равно числовому значению этой цифры.

2. Создать компонент для решения задачи из ИДЗ (вариант 23).

Вариант 24

1. В заданный непустой текст входят только цифры и буквы. Определить, удовлетворяет ли он следующему свойству: текст начинается с k букв (), за которыми следует только одна литера-цифра с числовым значением k.

2. Создать компонент для решения задачи из ИДЗ (вариант 24).

Вариант 25

1. В заданный непустой текст входят только цифры и буквы. Определить, удовлетворяет ли он следующему свойству: текст состоит только из цифр, причём их числовые значения образуют арифметическую прогрессию (например: 2468, 741, 3).

2. Создать компонент для решения задачи из ИДЗ (вариант 25).

Вариант 26

1. В заданный непустой текст входят только цифры и буквы. Определить, удовлетворяет ли он следующему свойству: текст содержит (помимо букв) только одну цифру, причём её числовое значение равно длине текста.

2. Создать компонент для решения задачи из ИДЗ (вариант 26).

Вариант 27

1. В заданный непустой текст входят только цифры и буквы. Определить, удовлетворяет ли он следующему свойству: сумма числовых значений цифр, входящих в текст, равна длине текста.

2. Создать компонент для решения задачи из ИДЗ (вариант 27).

Вариант 28

1. Два простых числа называются «близнецами», если они отличаются друг от друга на 2 (таковы, например, числа 41 и 43). Найти все пары «близнецов» из отрезка [ n, 2 n ], где n – заданное целое число, большее 2.

2. Создать компонент для решения задачи из ИДЗ (вариант 28).

Вариант 29

1. Вывести все цифры десятичной записи числа 1! +2! +3! +…+100!. (Рекомендация: представить «длинное» натуральное число в виде массива из цифр и реализовать нужные операции над ними).

2. Создать компонент для решения задачи из ИДЗ (вариант 29).

Вариант 30

1. Два натуральных числа называются «дружественными», если каждое из них равно сумме всех делителей другого, за исключением его самого (таковы, например, числа 220 и 284) Найти все пары «дружественных» чисел, не превосходящих заданного натурального числа.

2. Создать компонент для решения задачи из ИДЗ (вариант 30).

6. ПРОМЕЖУТОЧНЫЙ КОНТРОЛЬ

При изучении дисциплины «Программирование и алгоритмизация» студенты сдают экзамен в 4-ом семестре (теоретический, лабораторный и практический разделы) дифференцированный зачёт в 5-ом семестре (курсовая работа).

Вопросы для подготовки к экзамену

1. Основные элементы IDE Delphi.

2. Типы свойств компонентов Delphi.

3. Разновидности методов в Delphi.

4. Преимущества визуального программирования по сравнению с традиционным.

5. Ограничения доступа к разделам public, protected и private при объявлении класса.

6. Понятие «программный продукт».

7. Характерные черты современного этапа развития программирования.

8. «Жизненный цикл» программы.

9. Структуризация в практике программирования.

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

11. Стандартные функциональные блоки (структуры) для получения структурированных программ.

12. Характеристика этапа «Разработка программы».

13. Оформление программы.

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

15. Метод пошаговой детализации.

16. Объектно-ориентированное программирование.

17. Понятие класса и объекта.

18. Синтаксис и пример класса.

19. Объявление переменных типа класс.

20. Назначение конструктора в Object Pascal.

21. Понятие метода в Object Pascal.

22. Синтаксис объявления конструктора.

23. Деструктор. Назначение, синтаксис объявления.

24. Классовые процедуры и функции. Синтаксис объявления.

25. Реализация методов. Неявный оператор with self do.

26. Правило согласованности работы конструктора и деструктора.

27. Вызов методов.

28. Синтаксис вызова конструктора.

29. Синтаксис для вызова метода класса.

30. Полностью квалифицированное имя метода. Использование with.

31. Синтаксис для вызова деструктора.

32. Методы для доступа к полям. Преимущества их использования.

33. Объект Canvas.

34. Наиболее употребительные свойства класса TCanvas.

35. Наиболее употребительные методы Canvas.

36. Понятие исключения.

37. Технология использования исключения.

38. Конструкция try - finally: синтаксис, назначение и использование.

39. Конструкция try - except: синтаксис, назначение и использование.

40. Вложенные обработчики исключений.

Пример экзаменационного билета для студентов классической формы заочного обучения:

1. Разновидности методов в Delphi.

2. Объект Canvas.

3. Дана матрица целых чисел А[N, N]. Определить номер строки, в которой сумма элементов минимальна. (Написать текст программы).

Пример экзаменационного билета для студентов, выбравших дистанционные обучающие технологии (ДОТ). Билет включает 20 заданий:

1. Основная идея процедурного программирования (выбрать вариант ответа)

1. решение задачи оформить в виде подпрограммы

2. подобрать для решения задачи подходящую подпрограмму

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

4. разработать для подпрограммы наилучший алгоритм

 

2. Основная идея объектно-ориентированного программирования (выбрать вариант ответа)

1. облегчить создание приложений путём использования компонентов

2. уменьшение времени разработки приложений

3. сократить объём повторного написания кода за счёт механизма наследования

4. связать данные с обрабатывающими их процедурами в единое целое – объект

 

3. Составная часть интегрированной среды разработчика Delphi, в которую входит панель (линейка) инструментов (выбрать вариант ответа)

1. главное окно

2. инспектор объекта

3. дизайнер форм

4. менеджер проекта

5. редактор кода

 

4. Раздел объявления класса, к которому имеют доступ только классы-потомки

1. security

2. public

3. protected

4. private

5. all

 

5. Заполнить пропуск.

Объявление __________ имеет три возможных раздела, которые определяют доступность полей и методов: private, protected, public.

1. переменных

2. модулей

3. заголовков

4. интерфейсов

5. классов

 

6. Заполнить пропуск.

_____________ аналогичны самостоятельным функциям, за исключением того, что они присоединены к классу и вызываются только через объект.

1. Классовые функции

2. Классовые процедуры

3. Методы-процедуры

4. Конструкторы

5. Деструкторы

6. Методы-функции

 

7. Наиболее эффективное средство облегчения понимания программы

1. комментирование

2. варьирование

3. архивирование

4. транскрипция

5. инсталляция

 

8. Заполнить пропуск.

Идеи структурного программирования требуют как можно реже применять в программе оператор ___________.

1. цикла

2. if

3. case

4. перехода

5. присваивания

 

9. Виды программного обеспечения (выбрать несколько вариантов ответа)

1. оперативное

2. прикладное

3. структурное

4. системное

5. визуальное

 

10. Составные части основного окна IDE Delphi (выбрать несколько вариантов ответа)

1. Инспектор объектов

2. Панель инструментов

3. Менеджер проекта

4. Палитра компонентов

5. Редактор кода

 

11. Способы вызова классовой функции (выбрать несколько вариантов ответа)

1. через объект

2. через процедуру

3. через класс

4. через поле

5. через свойство

 

12. Стандартные логические структуры, применяемые для составления хорошо структурированных программ (выбрать несколько вариантов ответа)

1. Следование

2. Переход

3. Ветвление

4. Присваивание

5. Повторение (цикл)

 

13. Порядок выполнение операций при создании проекта в Delphi (указать последовательность)

1. Компиляция

2. Установление свойств

3. Размещение компонентов на форме

4. Выполнение

5. Отладка

 

14. Последовательность действий при намерении создать приложение для черчения фигуры (указать последовательность)

1. Активизировать событие OnPaint

2. Создать новый проект

3. Набрать код

4. Перейти на страницу Events (События)

 

15. Последовательность появления терминов и разделов в структуре реализации деструктора (указать последовательность)

1. ИмяДеструктора

2. Destructor

3. Параметры

4. Локальные объявления

5. Inherited

 

16. Последовательность появления терминов и разделов в структуре реализации классовой процедуры (указать последовательность)

1. Procedure

2. Исполняемые операторы

3. Параметры

4. class

5. Имя процедуры

 

17. Установите соответствие между парадигмами программирования и языками программирования

1. Процедурное программирование

2. Логическое программирование

3. Модульное программирование

4. Объектно-ориентированное программирование

 

1. Delphi

2. Fortran

3. Pascal

4. Prolog

 

18. Установите соответствие между наименованием символа и его графическим представлением

1. Граница цикла (конец)

2. Процесс

3. Данные

4. Дисплей

 

1 .

2 .

3 .

4 .

 

19. Вычислить количество тестовых проверок, если программа тестируется как единое целое (дать краткий ответ)

 

20. Вычислить количество тестовых проверок, если каждый модуль тестируется автономно (дать краткий ответ)

 

Аттестационная оценка курсовой работы учитывает функциональную полноту и качество решения поставленных задач, качество оформления отчёта, степень соблюдения стандартов, рекомендаций настоящих методических указаний и непосредственно саму защиту работы (ответы на вопросы преподавателя, уровень понимания и владения представленными программами…).

7. Учебно-методическое обеспечение
дисциплины

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

 

1. Давыдов В.Г. Программирование и основы алгоритмизации. Уч. пособие. – М.: Высш. шк., 2003. – 447 с.

2. Сухарев М. Delphi. Полное руководство. Включая версию 2010. – СПб.: Наука и техника, 2010. – 1035 с.

3. Фаронов В.В. Delphi. Программирование на языке высокого уровня: Уч. для вузов. – СПб.: Питер, 2009. – 640 с.

4. Истомин Е.П., Неклюдов С.Ю. Программирование на языках высокого уровня. Уч. – СПб: Изд-во Михайлова В.А., 2003. – 719 с.

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

5. Бобровский С.И. Delphi 7: Учебный курс. – СПб.: Питер, 2008. – 736 с.

6. Культин Н.Б. Delphi в задачах и примерах. – СПб.: БХВ-Петербург, 2007. – 288 с.

7. Архангельский А.Я. Программирование в Delphi: учебник по классическим версиям Delphi. – М.: Бином, 2008. – 804 с.

8. Фленов М.Е. Библия Delphi. – СПб.: БХВ-Петербург, 2009. – 799 с.

9. Голованов М.Е., Веселов Е.О. Создание компонентов в среде Delphi. – БХВ-Петербург, 2004. – 320 с.

10. Фаронов В.В. Паскаль и Windows. - М.: МВТУ-ФЕСТО Дидактик, 1995. – 639 с.

11. Программирование и алгоритмизация. Методические указания к лабораторным работам для студентов ИДО, обучающихся по направлению 220700 «Автоматизация технологических процессов и производств» ИДО / Сост. Н.М. Семёнов. – Томск: Изд-во ТПУ, 2012. – 86 с.

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

12. Семёнов Н.М. (составитель). Программирование и основы алгоритмизации. Учебное пособие. – Томск: Изд-во ТПУ, 2009. – 90 с.

13. Программирование и алгоритмизация: Метод. указ. и задания к курсовой работе студентов направления 220700 «Автоматизация технологических процессов и производств» ИДО/Сост. Н. М. Семёнов.– Томск: Изд. ТПУ, 2012. – 44 с.

Internet-ресурсы

14. Сайт кафедры интегрированных компьютерных систем управления ТПУ https://portal.tpu.ru/departments/kafedra/iksu/ucheb_rabota

15. Сайт https://rsdn.ru/article/Delphi7_09.xml. Вальвачев А.Н. и др. Программирование на языке Delphi. Глава 9. Окна диалога.

16. Сайт htpp: //beluch.ru/progr/100comp

17. Сайт htpp: //hi-intel.ru/800/1.html


 

Учебное издание






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.