Файл: Основы алгоритмизации и программирования (Особенности описания операторов управления в различных языках программирования:достоинства и недостатки).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 24.04.2023

Просмотров: 1980

Скачиваний: 30

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

СОДЕРЖАНИЕ

ВВЕДЕНИЕ

Тема 1. Основные структуры алгоритмов: сравнительный анализ и примеры их использования.

1.1. Понятие алгоритма

1.2. Цели и задачи теории алгоритмов

1.3. Различные подходы к понятию "Алгоритм"

Тема 2. Особенности описания операторов управления в различных языках программирования:достоинства и недостатки.

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

2.2. Язык программирования QBASIC

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

3.1. Структура программы на языке С++

3.2. Описание функции

3.3. Правила работы с функциями

Тема 4. Особенности и примеры использования массивов при разработке программ.

4.1. Массивы

4.2. Описание массива в Паскале

4.3. Ввод массива

4.4. Вывод массива

Тема 5. Классификация языков программирования. Критерии выбора среды и языка разработки программ.

5.1. Классификация языков программирования

5.2. Процедурные языки

5.3. Интерпретация и компиляция.

Тема 6. История и развитие методологии объектно-ориентированного программирования. Сферы применения.

6.1. Объектно-ориентированный язык

6.2. Серверные языки

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

6.4. Методологии программирования

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

7.1. Отладка

7.2. Тестирование программ

Тема 8. Методы сортировки данных: эволюция и сравнительный анализ. Примеры использования.

8.1. Алгоритм сортировки.

8.2. сортировки данных в массивах

Тема 9. Методы поиска данных: эволюция и сравнительный анализ. Примеры использования.

9.1. Поиск

Тема 10. Функциональное тестирование программного обеспечения на примере мобильных приложений.

10.1. Функциональное тестирование

10.2. Тестирование производительности;

10.3. Тестирование безопасности;

10.4. Тестирование удобства пользования (юзабилити-тестирование);

10.5. Тестирование совместимости;

10.6. Тестирование на восстановление.

Тема 11. Особенности алгоритмизации при разработке WEB-приложений.

11.1. Web-приложений в C#

11.2 . Задачи Web-приложений

Тема 12. Критерии выбора средств разработки WEB-приложений.

12.1. Критерии выбора

Тема 13. Критерии выбора средств разработки мобильных приложений.

13.1. Критерии выбора

Тема 14. Этапы разработки, тестирования и ввода в эксплуатацию мобильных приложений

14.1. Тестирование

14.2. Тестирование внешних сервисов

Тема 15. Тестирование производительности программ: подходы в зависимости от категорий приложений.

15.1.  Тестирование производительности в инженерии программного обеспечения

15.2. Требования к производительности

Тема 16. Варианты построения интерфейса программ: особенности и эволюция.

16.1. Эволюция дизайна интерфейсов операционных систем Windows

Тема 17. Способы организации данных: пользовательский тип данных – структура.

17.1. Тип данных

17.2. Логический тип данных

Тема 18. Рекурсивные и итерационные алгоритмы: особенности и примеры использования

18.1. Рекурсивные алгоритмы

18.2. Рекурсия и итерация

Тема 19. Классификация языков программирования высокого уровня.

19.1. Примеры языков высокого уровня

Тема 20. Сравнительный анализ операторов для различных языков программирования.

20.1. Сравнение языков программирования

Тема 21. Сравнительный анализ процедур для различных языков программирования.

21.1. Процедурные языки

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

22.1. Анализ

Список литературы для написания курсовой работы по дисциплине

Конечно, на практике обучение не может быть отделимо от реальных задач. Так называемые учебные задачи чаще всего страдают излишней абстрактностью и неприменимостью в жизни. Освоение языка (или среды программирования) само по себе не может считаться задачей, точнее − это очень непродуктивный подход. Эффективное освоение языка возможно только на реальных примерах. С другой стороны, программирование решения полноценной проблемы «из жизни» на начальном этапе освоения языка оказывается непосильной ношей, которая может отпугнуть, а не заинтересовать.

При решении конкретной прикладной задачи в большинстве случаев язык и среда программирования не выбираются, а задаются извне − заказчиком, руководителем и т.п. В том же редком случае, когда возможен выбор, исходить, на мой взгляд, следует из следующих условий (в порядке приоритета):

а) характера самой задачи и технических требований;

б) наработанного инструментария и имеющихся для данной среды библиотек;

в) имеющихся в языке и среде программирования инструментальных средств.

Зачастую при подобном выборе поступают строго наоборот: сначала решают, что программировать будут на объектах, затем − что использоваться будет конкретная библиотека, а потом подгоняют под это технические требования, объясняя все это тем, что заказчик «не знает чего хочет».

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

По набору понятий языки подразделяются на высоко− и низкоуровневые. Первые предоставляют высокий уровень абстракции от оборудования, вторые − низкий, приближенный к машинному.

С точки зрения того, внесены ли в набор понятий особые, специфичные для предметной области объекты, языки делятся на универсальные (процедурные) и специализированные. К последним можно отнести Prolog, Lisp. Универсальные языки позволяют реализовать любой алгоритм, пользуясь стандартным набором конструкций. Благодаря этому, код на таком языке может быть достаточно легко перенесен из одного процедурного языка в другой при помощи консервативных изменений.

Приведем основные концепции, внесенные в те или иные общеупотребительные языки и связанные с ними понятия: типизации и структуры данных. Любой язык характеризуется набором базовых типов, возможностями по пополнению этого набора при помощи ряда конструкторов: массив, запись (структура), объединение. В некоторых языках имеется универсальный тип (Variant в Delphi и Visual Basic), свободно используемый как любой из базовых типов. Степень контроля типов может быть очень разной − от полного отсутствия до крайне жесткого. Важно наличие (возможно, в виде библиотеки) структур данных переменной длины, например, динамических массивов.


Тема 21. Сравнительный анализ процедур для различных языков программирования.

21.1. Процедурные языки

С точки зрения того, внесены ли в набор понятий особые, специфичные для предметной области объекты, языки делятся на универсальные (процедурные) и специализированные. К последним можно отнести Prolog, Lisp. Универсальные языки позволяют реализовать любой алгоритм, пользуясь стандартным набором конструкций. Благодаря этому, код на таком языке может быть достаточно легко перенесен из одного процедурного языка в другой при помощи консервативных изменений.

Приведем основные концепции, внесенные в те или иные общеупотребительные языки и связанные с ними понятия: типизации и структуры данных. Любой язык характеризуется набором базовых типов, возможностями по пополнению этого набора при помощи ряда конструкторов: массив, запись (структура), объединение. В некоторых языках имеется универсальный тип (Variant в Delphi и Visual Basic), свободно используемый как любой из базовых типов. Степень контроля типов может быть очень разной − от полного отсутствия до крайне жесткого. Важно наличие (возможно, в виде библиотеки) структур данных переменной длины, например, динамических массивов.

Различия в языках сводятся к способам определения процедур и функций, вариантам передачи параметров, возможностям определения рекурсивных процедур и наличию процедурного типа данных.

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

Наличие средств логического объединения группы процедур, функций, переменных позволяет работать с большими проектами, упрощая их структуру. Важное свойство − возможность описания процедур инициации и завершения модуля.

Объединение структур и методов их обработки (инкапсуляция) создает значительные удобства при программировании. Возможность наследования позволяет привести в систему набор структур. Автоматически вызываемые конструкторы и деструкторы упрощают отслеживание взаимосвязей. Все это составляет удобный инструмент для описания понятий и действий прикладной программы.


Независимость от аппаратуры, реализуемая при помощи семантики, не зависящей от конкретной машины и внесением в язык ряда специфичных понятий – таких, как базовый тип с нефиксированным размером (int в C)

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

22.1. Анализ

В основе языка C − требования системного программиста: полный и эффективный доступ ко всем ресурсам компьютера, средства программирования высокого уровня, переносимость программ между различными платформами и операционными системами. С++, сохраняя совместимость с C, вносит возможности объектно−ориентированного программирования, выражая идею класса (объекта) как определяемого пользователем типа. Благодаря перечисленным качествам, C/C++ занял позицию универсального языка для любых задач. Но его применение может стать неэффективным там, где требуется получить готовый к употреблению результат в кратчайшие сроки, либо там, где невыгодным становится сам процедурный подход.

Для реализации проекта построения нейросетевой модели для прогнозирования временных рядов финансовых данных на базе многослой ного персептрона, обученного по алгоритму обратного распространения ошибки (а также формализации полной схемы применения данной модели для анализа и прогнозирования временных рядов на примере котировок ак ций российских эмитентов на ММВБ) выбрана среда разработки С++ Builder 2010, так как она сочетает в себе функциональность и хорошую скорость работы программ сделанных на С++, а также позволяют в кратчайшие сроки создать рабочую программу из готовых компонентов, не растрачивая массу усилий на мелочи.

Список литературы для написания курсовой работы по дисциплине

«Основы алгоритмизации и программирования»

1. Основы алгоритмизации и программирования: учеб. пособие / Т.А.Жданова, Ю.С. Бузыкова. – Хабаровск : Изд-во Тихоокеан. гос.ун-та, 2011. –56 с. Режим доступа: