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

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

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

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

Добавлен: 24.04.2023

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

Скачиваний: 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. Анализ

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

ВВЕДЕНИЕ

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

Большая часть работы программистов связана с написанием исходного кода, тестированием и отладкой программ на одном из языков программирования. Исходные тексты и исполняемые файлы программ являются объектами авторского права и являются интеллектуальной собственностью их авторов и правообладателей

Единственный язык, напрямую выполняемый ЭВМ — это машинный язык (также называемый машинным кодом и языком машинных команд). Изначально все программы писались в машинном коде, но сейчас этого практически уже не делается. Вместо этого программисты пишут исходный код на том или ином языке программирования, затем, используя компилятор, транслируют его в один или несколько этапов в машинный код, готовый к исполнению на целевом процессоре, или в промежуточное представление, которое может быть исполнено специальным интерпретатором — виртуальной машиной. Но это справедливо только для языков высокого уровня.

В некоторых языках вместо машинного кода генерируется интерпретируемый двоичный код «виртуальной машины», также называемый байт-кодом (byte-code). Такой подход применяется в Forth, некоторых реализациях Lisp, Java, Perl, Python, языках для .NET Framework.

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

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

Алгоритмом называется строго определенная последовательность действий, определяющих процесс перехода от исходных данных к искомому результату. Само слово «алгоритм» возникло из названия латинского перевода книги арабского математика IX века Аль-Хорезми «Algoritmi de numero Indoru», что можно перевести как «Трактат Аль-Хорезми об арифметическом искусстве индусов». Составление алгоритмов и вопросы их существования являются предметом серьёзных математических исследований. Под алгоритмом понимают набор правил, определяющих процесс преобразования исходных данных задачи в искомый результат.


Одним из фундаментальных понятий в информатике является понятие алгоритма. Происхождение самого термина «алгоритм» связано с математикой. Это слово происходит от Algorithmi – латинского написания имени Мухаммеда аль-Хорезми (787 – 850) выдающегося математика средневекового Востока. В своей книге "Об индийском счете" он сформулировал правила записи натуральных чисел с помощью арабских цифр и правила действий над ними столбиком. В дальнейшем алгоритмом стали называть точное предписание, определяющее последовательность действий, обеспечивающую получение требуемого результата из исходных данных. Алгоритм может быть предназначен для выполнения его человеком или автоматическим устройством. Создание алгоритма, пусть даже самого простого, - процесс творческий. Он доступен исключительно живым существам, а долгое время считалось, что только человеку. В XII в. был выполнен латинский перевод его математического трактата, из которого европейцы узнали о десятичной позиционной системе счисления и правилах арифметики многозначных чисел. Именно эти правила в то время называли алгоритмами. Данное выше определение алгоритма нельзя считать строгим – не вполне ясно, что такое «точное предписание» или «последовательность действий, обеспечивающая получение требуемого результата».

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

Обобщая результаты различных разделов теории алгоритмов можно выделить следующие цели и соотнесенные с ними задачи, решаемые в теории алгоритмов:

  • формализация понятия «алгоритм» и исследование формальных алгоритмических систем;
  • формальное доказательство алгоритмической неразрешимости ряда задач;
  • классификация задач, определение и исследование сложностных классов;
  • асимптотический анализ сложности алгоритмов;
  • исследование и анализ рекурсивных алгоритмов;
  • получение явных функций трудоемкости в целях сравнительного анализа алгоритмов;
  • разработка критериев сравнительной оценки качества алгоритмов.

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

Алгоритмы являются объектом систематического исследования пограничной между математикой и информатикой научной дисциплины, примыкающей к математической логике - теории алгоритмов.


Особенность положения состоит в том, что при решении практических задач, предполагающих разработку алгоритмов для реализации на ЭВМ, и тем более при использовании на практике информационных технологий, можно, как правило, не опираться на высокую формализацию данного понятия. Поэтому представляется целесообразным познакомиться с алгоритмами и алгоритмизацией на основе содержательного толкования сущности понятия алгоритма и рассмотрения основных его свойств. При таком подходе алгоритмизация более выступает как набор определенных практических приемов, особых специфических навыков рационального мышления в рамках заданных языковых средств. Можно провести аналогию между этим обстоятельством и рассмотренным выше подходом к измерению информации: тонкие математические построения при «кибернетическом» подходе не очень нужны при использовании гораздо более простого «объемного» подхода при практической работе с компьютером. Само слово «алгоритм» происходит от algorithmi - латинской формы написания имени великого математика IX века аль-Хорезми, который сформулировал правила выполнения арифметических действий. Первоначально под алгоритмами и понимали только правила выполнения четырех арифметических действий над многозначными числами. Понятие алгоритма - одно из фундаментальных понятий информатики. Алгоритмизация наряду с моделированием выступает в качестве общего метода информатики. К реализации определенных алгоритмов сводятся процессы управления в различных системах, что делает понятие алгоритма близким и кибернетике.

Примеры их использования

Даны длины сторон треугольника A, B, C. Найти площадь треугольника S. Составьте блок-схему алгоритма решения поставленной задачи(рис.1).

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

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

Язык программи́рования — формальный язык, предназначенный для записи компьютерных программ[1][2]. Язык программирования определяет набор лексических, синтаксических и семантических правил, определяющих внешний вид программы и действия, которые выполнит исполнитель (обычно — ЭВМ) под её управлением.


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

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

С течением времени одни языки развивались, приобретали новые черты и остались востребованы, другие утратили свою актуальность и сегодня представляют в лучшем случае чисто теоретический интерес

    научные вычисления (языки C++, FORTRAN, Java);

    системное программирование (языки C++, Java);

    обработка информации (языки C++, COBOL, Java);

    искусственный интеллект (LISP, Prolog);

    издательская деятельность (Postscript, TeX);

    удаленная обработка информации (Perl, PHP, Java, C++);

    описание документов (HTML, XML).

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

QBasic был создан в качестве замены для GW-BASIC и поставлялся вместе с MS-DOS 5.0 и выше, вплоть до Windows 95. QBasic основан на более раннем QuickBASIC 4.5, но, в отличие от него, не содержит компилятора и компоновщика.

Microsoft прекратила поставку QBasic с более поздними версиями Windows. Однако обладатели лицензий Windows 98 могут найти его на установочном компакт-диске в папке \TOOLS\OLDMSDOS. Ранее QBasic можно было загрузить с сайта Microsoft.[1]

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

С 2007 года существует версия QBasic для 64-битных систем, работающая в операционных системах Windows 7, 8, 10

Язык программирования Qbasic (как и любой другой язык) образуют три его составляющие: алфавит, синтаксис и семантика. Алфавит – это фиксированный для данного языка набор основных символов, т. е. «букв», из которых должен состоять любой текст на этом языке – никакие другие символы в тексте не допускаются. Синтаксис – это правила построения фраз, позволяющие определить, правильно или неправильно написана та или иная фраза. Семантика определяет смысловое значение предложений языка. Основными понятиями в языках программирования обычно являются алфавит языка, константы, переменные, встроенные функции, логические и арифметические выражения. Алфавит языка включает: • буквы латинского алфавита от A до Z (строчные и прописные) • арабские цифры: 0 1 2 … 9 • знаки арифметических операций: + – * / ^ \ • специальные символы объявления типа: % # ! $ & • круглые скобки ( ) кавычки “ ” апостроф ’ , подчеркивание _ • знаки отношений: < > = < > < = > = • буквы русского алфавита используются только для записи текстовых констант и комментариев к программе.


2.3. Язык программирования C++ и его достоинства и недостатки

C++ — компилируемый, статически типизированный язык программирования общего назначения.

Поддерживает такие парадигмы программирования, как процедурное программирование, объектно-ориентированное программирование, обобщённое программирование. Язык имеет богатую стандартную библиотеку, которая включает в себя распространённые контейнеры и алгоритмы, ввод-вывод, регулярные выражения, поддержку многопоточности и другие возможности. C++ сочетает свойства как высокоуровневых, так и низкоуровневых языков.В сравнении с его предшественником — языком C, — наибольшее внимание уделено поддержке объектно-ориентированного и обобщённого программирования.

Синтаксис C++ унаследован от языка C. Одним из принципов разработки было сохранение совместимости с C. Тем не менее, C++ не является в строгом смысле надмножеством C; множество программ, которые могут одинаково успешно транслироваться как компиляторами C, так и компиляторами C++, довольно велико, но не включает все возможные программы на C.

С одной стороны, C++ является потомком Симулы, которую Алан Кэй определил[21] как «Алгол с классами», и потому будет актуальной оценка C++ в сравнении с другими языками из семейства потомков Алгола (Pascal, Java, C#, Visual Basic, Delphi, D, Oberon и пр.). С другой стороны, C++ претендует на мультипарадигменность и универсальную применимость (в отличие от Си, ориентированного на очень узкий круг задач), и используется в промышленности намного шире других потомков Алгола, и потому будет актуальной оценка C++ в сравнении со всем многообразием применяемых языков, включая и Си. Во избежание повторений, оценки обычно совмещаются.

C++ — язык, складывающийся эволюционно. В отличие от языков с формальным определением семантики, каждый элемент C++ заимствовался из других языков отдельно и независимо от остальных элементов (ничто из предложенного C++ за всю историю его развития не было новшеством в Computer Science), что сделало язык чрезвычайно сложным, со множеством дублирующихся и взаимно противоречивых элементов, блоки которых основаны на разных формальных базах. В этом отношении C++ повторяет путь PL/1, но, в отличие от последнего, длительное повсеместное использование C++ обеспечил выбор языка Си в качестве отправной точки.

C++ содержит средства разработки программ контролируемой эффективности для широкого спектра задач, от низкоуровневых утилит и драйверов до весьма сложных программных комплексов. В частности: