Файл: Основы алгоритмизации и программирования (Особенности описания операторов управления в различных языках программирования:достоинства и недостатки).pdf
Добавлен: 24.04.2023
Просмотров: 1977
Скачиваний: 30
СОДЕРЖАНИЕ
Тема 1. Основные структуры алгоритмов: сравнительный анализ и примеры их использования.
1.2. Цели и задачи теории алгоритмов
1.3. Различные подходы к понятию "Алгоритм"
2.2. Язык программирования QBASIC
3.1. Структура программы на языке С++
3.3. Правила работы с функциями
Тема 4. Особенности и примеры использования массивов при разработке программ.
4.2. Описание массива в Паскале
Тема 5. Классификация языков программирования. Критерии выбора среды и языка разработки программ.
5.1. Классификация языков программирования
5.3. Интерпретация и компиляция.
Тема 6. История и развитие методологии объектно-ориентированного программирования. Сферы применения.
6.1. Объектно-ориентированный язык
6.4. Методологии программирования
Тема 7. Отладка и тестирование программ: основные подходы и ограничения.
Тема 8. Методы сортировки данных: эволюция и сравнительный анализ. Примеры использования.
8.2. сортировки данных в массивах
Тема 9. Методы поиска данных: эволюция и сравнительный анализ. Примеры использования.
Тема 10. Функциональное тестирование программного обеспечения на примере мобильных приложений.
10.1. Функциональное тестирование
10.2. Тестирование производительности;
10.3. Тестирование безопасности;
10.4. Тестирование удобства пользования (юзабилити-тестирование);
10.5. Тестирование совместимости;
10.6. Тестирование на восстановление.
Тема 11. Особенности алгоритмизации при разработке WEB-приложений.
Тема 12. Критерии выбора средств разработки WEB-приложений.
Тема 13. Критерии выбора средств разработки мобильных приложений.
Тема 14. Этапы разработки, тестирования и ввода в эксплуатацию мобильных приложений
14.2. Тестирование внешних сервисов
Тема 15. Тестирование производительности программ: подходы в зависимости от категорий приложений.
15.1. Тестирование производительности в инженерии программного обеспечения
15.2. Требования к производительности
Тема 16. Варианты построения интерфейса программ: особенности и эволюция.
16.1. Эволюция дизайна интерфейсов операционных систем Windows
Тема 17. Способы организации данных: пользовательский тип данных – структура.
Тема 18. Рекурсивные и итерационные алгоритмы: особенности и примеры использования
Тема 19. Классификация языков программирования высокого уровня.
19.1. Примеры языков высокого уровня
Тема 20. Сравнительный анализ операторов для различных языков программирования.
20.1. Сравнение языков программирования
Тема 21. Сравнительный анализ процедур для различных языков программирования.
Тема 22. Сравнительный анализ описания данных для различных языков программирования.
Список литературы для написания курсовой работы по дисциплине
С развитием глобальной сети было создано много языков программирования, адаптированных специально для Интернета. Характерные особенности: языки являются интерпретируемыми, интерпретаторы для них распространяются бесплатно, сами программы – в исходных текстах. Такие языки называются скриптязыками.
Языки веб-программирования – это языки, которые в основном предназначены для работы с веб-технологиями. Языки вебпрограммирования можно условно разделить на две пересекающиеся группы: клиентские и серверные.
Как следует из названия, программы на клиентских языках обрабатываются на стороне пользователя, как правило их выполняет браузер. Это и создает главную проблему клиентских языков – результат выполнения программы (скрипта) зависит от браузера пользователя. То есть если пользователь запретил выполнять клиентские программы, то они исполняться не будут, как бы ни желал этого программист. Кроме того, может произойти такое, что в разных браузерах или в разных версиях одного и того же браузера один и тот же скрипт будет выполняться по-разному. С другой стороны, если программист возлагает надежды на серверные программы, то он может упростить их работу и снизить нагрузку на сервер за счет программ, исполняемых на стороне клиента, поскольку они не всегда требуют перезагрузку (генерацию) страницы. Самыми распространенными клиентскими языками программирования являются:
• HTML
•CSS
• JavaScript 19
• VBScript
• ActionScript
• Java
6.2. Серверные языки
Когда пользователь дает запрос на какуюлибо страницу (переходит на неё по ссылке или вводит адрес в адресной строке своего браузера), то вызванная страница сначала обрабатывается на сервере, то есть выполняются все программы, связанные со страницей, и только потом возвращается к посетителю по сети в виде файла. Этот файл может иметь расширения: HTML, PHP, ASP, ASPX, Perl, SSI, XML, DHTML, XHTML.
Работа программ уже полностью зависима от сервера, на котором расположен сайт, и от того, какая версия того или иного языка поддерживается.
К серверным языкам программирования можно отнести:
• PHP
• Perl
• Python
• Ruby
• любой .NET язык программирования (технология ASP.NET)
• Java
• Groovy
6.3. Языки программирования.
Охарактеризуем наиболее известные языки программирования.
1. Фортран (FORmula TRANslating system – система трансляции формул); старейший и сегодня активно используемый в решении задач математической ориентации язык. Является классическим языком для программирования на ЭВМ математических и инженерных задач.
2. Бейсик (Beginner's All-purpose Symbolic Instruction Code – универсальный символический код инструкций для начинающих); несмотря на многие недостатки и изобилие плохо совместимых 20 версий – самый популярный по числу пользователей. Широко употребляется при написании простых программ.
3. Паскаль (Pascal – назван в честь ученого Блеза Паскаля); чрезвычайно популярен как при изучении программирования, так и среди профессионалов. Создан в начале 70-х годов швейцарским ученым Никлаусом Виртом. Язык Паскаль первоначально разрабатывался как учебный, и, действительно, сейчас он является одним из основных языков обучения программированию в школах и вузах. Однако качества его в совокупности оказались столь высоки, что им охотно пользуются и профессиональные программисты. Не менее впечатляющей, в том числе и финансовой, удачи добился Филип Кан, француз, разработавший систему Турбо-Паскаль. Суть его идеи состояла в объединении последовательных этапов обработки программы – компиляции, редактирования связей, отладки и диагностики ошибок – в едином интерфейсе. Версии Турбо-Паскаля заполонили практически все образовательные учреждения, программистские центры и частные фирмы. На базе языка Паскаль созданы несколько более мощных языков (Модула, Ада, Дельфи).
4. АДА; является языком, победившим (май 1979 г.) в конкурсе по разработке универсального языка, проводимым Пентагоном с 1975 году. Разработчики – группа ученых во главе с Жаном Ихбиа. Победивший язык окрестили АДА, в честь Огасты Ады Лавлейс. Язык АДА – прямой наследник языка Паскаль. Этот язык предназначен для создания и длительного (многолетнего) сопровождения больших программных систем, допускает возможность параллельной обработки, управления процессами в реальном времени и многое другое, чего трудно или невозможно достичь средствами более простых языков.
5. Си (С – «си»); широ 21 на современное программирование (первая версия – 1972 г.), является очень популярным в среде разработчиков систем программного обеспечения (включая операционные системы). Си сочетает в себе черты как языка высокого уровня, так и машинно-ориентированного языка, допуская программиста ко всем машинным ресурсам, чего не обеспечивают такие языки, как Бейсик и Паскаль.
6. Си++ (С++); объектно-ориентированное расширение языка Си, созданное Бьярном Страуструпом в 1980 году. Множество новых мощных возможностей, позволивших резко повысить производительность программистов, наложилось на унаследованную от языка Си определенную низкоуровневость.
7. Дельфи (Delphi); язык объектно-ориентированного «визуального» программирования; в данный момент чрезвычайно популярен. Созданный на базе языка Паскаль специалистами фирмы Borland язык Delphi, обладая мощностью и гибкостью языков Си и Си++, превосходит их по удобству и простоте интерфейса при разработке приложений, обеспечивающих взаимодействие с базами данных и поддержку различного рода работ в рамках корпоративных сетей и сети Интернет.
8. Ява (Java); платформенно-независимый язык объектноориентированного программирования, чрезвычайно эффективен для создания интерактивных веб-страниц. Этот язык был создан компанией Sun в начале 90-х годов на основе Си++. Он призван упростить разработку приложений на основе Си++ путем исключения из него всех низкоуровневых возможностей.
9. C# (произносится си шарп) – объектно-ориентированный язык программирования. Разработан в 1998–2001 годах группой инженеров под руководством Андерса Хейлсберга в компании Microsoft как язык разработки приложений для платформы Microsoft .NET Framework и впоследствии был стандартизирован как ECMA- 22 334 и ISO/IEC 23270. C# относится к семье языков с C-подобным синтаксисом, из них его синтаксис наиболее близок к C++ и Java.
С тех пор язык сильно вырос в плане популярности и стал чуть ли не самым предпочитаемым языком среди разработчиков Windowsи Web-приложений, которые используют .NET Framework. Отчасти привлекательность языка С# связана с его понятным синтаксисом, который происходит от синтаксиса C/C++, но упрощает некоторые вещи. Несмотря на это упрощение, язык С# обладает той же мощью, что и C++.
10. Оберон (Oberon) – язык общего назначения, созданный автором Pascal и Modula-2 Никлаусом Виртом (Niklaus Wirth) и его коллегами из Швейцарского федерального технического института г. Цюрих (ETH Zurich) в ходе разработки одноименной операционной системы для однопользовательской рабочей станции Ceres. Язык и операционная система названы именем одного из спутников планеты Уран – Оберона. Имеет долгую историю создания, является наследником Algol 60 (1960), Pascal (1970) и Modula (1979). Oberon синтезировал более четверти века исследований Н.Вирта по методологии и языкам программирования. Ему с учениками удалось добиться точного синтеза «старых» достижений структурного и модульного программирования с «новыми» объектными методами. Вот, что говорил сам Вирт о своем «детище»: «Он (Оberon) включает в себя средства, необходимые для объектно-ориентированного программирования, сохраняя стиль Паскаля, и является результатом моего стремления к простоте без потери выразительности. В этом должна состоять сущность языка, равно пригодного как для учебной аудитории, так и для профессиональной деятельности. » Неслучайно, что в качестве эпиграфа к сообщению о языке Oberon Н. Вирт выбрал высказывание А.Эйнштейна: «Сделай так просто, как возможно, но не проще того». Наращивание мощи языка без его усложнения – 23 принцип, которому неуклонно следует Н. Вирт. В 1992 году сотрудничество Н.Вирта с Ханспетером Мёссенбёком (Hanspeter Mössenböck) привело к добавлению в язык ряда новых средств. Новая версия получила название Оberon-2. Оберон-2 представляет собой почти правильное расширение Оберона и является фактическим стандартом языка, который поддерживается большинством современных Оберон-систем.
11. Лисп (Lisp) – функциональный язык программирования. Ориентирован на структуру данных в форме списка и позволяет организовать эффективную обработку больших объемов текстовой информации.
12. Пролог (PROgramming in LOGic – логическое программирование). Главное назначение языка – разработка интеллектуальных программ и систем. Пролог – это язык программирования, созданный специально для работы с базами знаний, основанными на фактах и правилах (одного из элементов систем искусственного интеллекта). В языке реализован механизм возврата для выполнения обратной цепочки рассуждений, при котором предполагается, что некоторые выводы или заключения истинны, а затем эти предположения проверяются в базе знаний, содержащей факты и правила логического вывода. Если предположение не подтверждается, выполняется возврат и выдвигается новое предположение. В основу языка положена математическая модель теории исчисления предикатов.
13. HTML (HyperText Markup Language). Общеизвестный язык для оформления документов. Не является алгоритмическим языком программирования, а язык разметки гипертекста. Очень прост, содержит элементарные команды форматирования текста, добавления рисунков, задания шрифтов и цветов, организации ссылок 24 и таблиц. Все Web-страницы написаны на языке HTML или используют его расширения.
14. PHP – скриптовый язык программирования, применяющийся для создания сайтов. Важное его достоинство языка php – это создания динамических веб-сайтов, работа с базами данных (mysql).
6.4. Методологии программирования
Большая часть работы программистов связана с написанием исходного кода, тестированием и отладкой программ на одном из языков программирования. Исходные тексты и исполняемые файлы программ являются объектами авторского права и являются интеллектуальной собственностью их авторов и правообладателей.
Различные языки программирования поддерживают различные стили программирования (методологии или парадигмы программирования). Отчасти искусство программирования состоит в том, чтобы выбрать один из языков, наиболее полно подходящий для решения имеющейся задачи.
Разные языки требуют от программиста различного уровня внимания к деталям при реализации алгоритма, результатом чего часто бывает компромисс между простотой и производительностью (или между временем программиста и временем пользователя).
Тема 7. Отладка и тестирование программ: основные подходы и ограничения.
7.1. Отладка
Отладка программы – это процесс обнаружения и исправления ошибок. Программные ошибки можно разделить на два класса: синтаксические (синтаксис языка программирования) и алгоритмические (логические). Синтаксические ошибки выявляются в процессе компилирования программы – это наиболее простые с точки зрения исправления ошибки. Алгоритмические ошибки программы выявить гораздо труднее: программа работает, а результат выдает неправильный. Для обнаружения ошибок этого класса требуется этап тестирования программы.
Этот этап может быть весьма трудоемким, особенно для начинающих программистов. При отладке больших программ целесообразно использовать специальные программные 41 средства, облегчающие процесс нахождения ошибок
Отладка программ обычно осуществляется с использованием специальных программных средств. Последние используются для исследования внутреннего поведения программы. Типичный отладчик позволяет вводить в программу точки останова для оценки промежуточных результатов и производить проверку и модификацию значений переменных в этих точках.
7.2. Тестирование программ
Тестирование – это процесс исполнения программ с целью выявления (обнаружения) ошибок. Существуют различные способы тестирования программ
Тестирование программы (program testing) - проверка, которая проводится в ходе прогона программы с целью убедиться, работает ли она так, как требуется. Это осуществляется при выполнении одного или нескольких тестовых прогонов, при которых в программную систему подаются входные (тестовые данные), а реакция системы фиксируется для последующего анализа. Может осуществляться как с ЭВМ, так и без ЭВМ. Один из главных законов тестирования гласит: «Тестирование программы или ее отдельных модулей не должен осуществлять программист (группа программистов), создавший эту программу или модуль».
Тестирование программы как «черного ящика» (стратегия «черного ящика» определяет тестирование с анализом входных данных и результатов работы программы). Критерием исчерпывающего входного тестирования является использование всех возможных наборов входных данных.