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

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

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

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

Добавлен: 30.03.2023

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

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

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

программа задача коммивояжер тестирование

Рисунок 2 – Выбор количества городов

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

Рисунок 3 – Консоль программы после расчета данных

Перейдем к тестированию программы.

Определить длину (Q) кратчайшего маршрута (L) коммивояжера. Расстояния (QIJ) между шестью городами представлены в таблице 2.

Пройдем алгоритм вручную.

Начинаем движение с первого города в нашей таблице (Рисунок 4).

Рисунок 4 – Первый шаг расчета

После этого, мы движемся во второй город, выбирая из доступных, с минимальным расстоянием (Рисунок 5).

Рисунок 5 – Второй шаг расчета

Таким образом, проделываем следующие шаги до последнего города.

Условия примера представляют собой симметричную задачу.

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

После успешного тестирования программы, в качестве исходных данных использовались параметры, заданные в курсовом проектировании. Результаты расчета приведены в следующем рисунке 6:

Рисунок 6 – Основная форма программы после вывода конечных данных

Ответ: длина маршрута равна 52, порядок обхода городов:

1→3→2→5→6→4→1

При выполнение ручных расчётов результаты получились положительными.

Таким образом, в ходе выполнения курсового проекта были решены следующие задачи:

  1. Построена математическая модель;
  2. Описан алгоритм задачи;
  3. Разработан программный код на языке программирования C++;
  4. Решена поставленная задача с помощью разработанной программы;
  5. Проанализированы результаты;

Таким образом, можно считать, что цель курсового проекта достигнута.

Заключение

Одной из самых революционных идей, которая привела к созданию автоматических цифровых вычислительных машин, мысль о предварительной записи порядка действий машины – программе, предложенная в 19 веке 20 годах Ч.Бэббиджем, именно с этого момента началась история языков программирования. Языки программирования - это формальные искусственные, и, как и естественные языки, им присущ алфавит, словарный запас, грамматика и синтаксис, а также семантика. Изобретение языка программирования дало возможность человечеству общаться с машиной, понимать её, наподобие того как понимает китаец немного знакомый с русским языком древнюю азбуку Кириллицы. Иными словами, человек на данный момент развития науки программирования пока что с ЭВМ на ВЫ, и это совершенно не сарказм, достаточно только взглянуть на то как развилась наука программирования с того времени, как появились языки программирования, а ведь язык программирования высшего уровня, судя по всему ещё младенец. Единственным способом изучения нового языка программирования написание на нем программ.


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

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

Задача: язык программирования отличается от естественных языков тем, что предназначен для передачи команд и данных от человека к компьютеру, в то время как естественные языки используются для общения людей между собой. Можно обобщить определение «языков программирования» — это способ передачи команд, приказов, чёткого руководства к действию; тогда как человеческие языки служат также для обмена информацией.

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

Позволю себе выделить некоторую общую тенденцию в развитии языков программирования. Языки развиваются в сторону все большей и большей абстракции, что сопровождается эффективности. Отсюда возникает вопрос: а стоит ли этого абстракция? Скажу с уверенностью, что стоит, поскольку повышение уровня абстракции влечет за собой повышение уровня надежности программирования. С низкой эффективностью можно бороться путем создания более быстрых компьютеров. Если требования к памяти слишком высоки, можно увеличить ее объем. Это, конечно, требует времени и средств, но это решаемо. А вот с ошибками в программах можно бороться только одним способом: их надо исправлять, а еще лучше — не совершать, либо максимально затруднить их совершение. И именно на это направлены все исследования в области языков программирования, несмотря на то что, с потерей эффективности придется смириться.

Целью моего курсового проекта была попытка дать полное представление обо всем многообразии существующих языков программирования. Среди программистов зачастую бытует мнение о «всеобщей применимости» того или иного языка, но это мнение возникает по нескольким причинам: недостаток информации, привычка, инертность мышления. Мной была предпринята попытка слегка компенсировать первый фактор, а по поводу остальных можно сказать, что настоящий профессионал должен постоянно стремиться повышать свою профессиональную квалификацию. А для этого нужно не бояться экспериментировать.


В практической части курсовой работы автором была разработана программа решения задачи коммивояжера при помощи метода Прима на C++ и алгоритма Дейкстры. В процессе написания работы были решены следующие задачи:

1) Построена математическая модель;

2) Описан алгоритм задачи;

3) Разработан программный код на языке программирования C++;

4) Решена поставленная задача с помощью разработанной программы;

5) Проанализированы результаты;

Таким образом, можно считать, что цель курсового проекта достигнута.

Библиография

  1. Акулич, И.Л. Математическое программирование в примерах и задачах: Учебное пособие / И.Л. Акулич. - М.: Лань, 2011. - 352 c.
  2. Балдин, К.В. Математическое программирование: Учебник / К.В. Балдин, Н.А. Брызгалов, А.В. Рукосуев. - М.: Дашков и К, 2013. - 220 c.
  3. Вайсфельд Мэтт. Объектно-ориентированное мышление. // Вайсфельд Мэтт. - М.: Питер, 2014, 304 с.
  4. Грошев А.С. Информатика. // Грошев А.С. - М.: АГТУ. 2010, 470 с.
  5. Зрюмова А.Г., Зрюмов Е.А., Пронин С.П. Информатика. // Зрюмова А.Г. - М.: АлтГТУ. 2011, 177 с.
  6. Карпов Ю.Г. Теория и технология программирования. Основы построения трансляторов. // Карпов Ю.Г. - М.: БХВ-Петербург. 2005, 270с.
  7. Меняев М.Ф. Информатика и основы программирования. 3-е изд., стер. // Меняев М.Ф. - М.: Омега-Л. 2007, 458 с.
  8. Меженный О.А. Turbo Pascal. Самоучитель. // Меженный О.А. - М.: Вильямс, Диалектика. 2008, 336с.
  9. Орлова И.В. Экономико-математическое моделирование: Практическое пособие по решению задач. // Орлова И.В. - М.: Вузовский учебник, 2004. - 144 с.
  10. Таганов Л.С., Пимонов А.Г. Информатика. // Таганов Л.С., - М.: КузбГТУ. 2010, 330 с.
  11. Цветкова М.С., Великович Л.С. Информатика и ИКТ. // Цветкова М.С., 3-е изд., стер. - М.: Академия. 2012, 352 с.
  12. Цветкова А.В. Информатика и информационные технологии. Шпаргалки. // Цветкова М.С., - М.: ЭКСМО. 2008, 32 с.
  13. Хубаева Г.Н. Информатика. 3-е изд., перераб. и доп. // Хубаева Г.Н. - М.: Феникс. 2010, 288 с.

ПРИЛОЖЕНИЯ

Приложение А

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

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

Организация данных

Операторы:

  1. Присваивания
  2. Ветвления
  3. Цикла и так далее.

Операции и выражения

Типы и структура данных

Обработка данных

Ввод-вывод данных, работа с файлами

Алфавит, лексемы, синтаксис, оформление программы

Организация действий над данными

Элементы языка

Организация и использование подпрограмм

Приложение Б

Основные типы данных в Паскале


Простые типы

Указатели

Сложные типы

Файлы

Перечисления

Интервалы

Символьный тип

Логические числа

Вещественные числа

Множества

Записи

Строки

Массивы

Целые числа

  1. Приложение А

  2. Грошев А.С. Информатика. // Грошев А.С. - М.: АГТУ. 2010, 470 с.

  3. Грошев А.С. Информатика. // Грошев А.С. - М.: АГТУ. 2010, 470 с.

  4. Акулич, И.Л. Математическое программирование в примерах и задачах: Учебное пособие / И.Л. Акулич. - М.: Лань, 2011. - 352 c.

  5. Грошев А.С. Информатика. // Грошев А.С. - М.: АГТУ. 2010, 470 с.

  6. Орлова И.В. Экономико-математическое моделирование: Практическое пособие по решению задач. // Орлова И.В. - М.: Вузовский учебник, 2004. - 144 с.

  7. Цветкова М.С., Великович Л.С. Информатика и ИКТ. // Цветкова М.С., 3-е изд., стер. - М.: Академия. 2012, 352 с.

  8. Акулич, И.Л. Математическое программирование в примерах и задачах: Учебное пособие / И.Л. Акулич. - М.: Лань, 2011. - 352 c.

  9. Меняев М.Ф. Информатика и основы программирования. 3-е изд., стер. // Меняев М.Ф. - М.: Омега-Л. 2007, 458 с.

  10. Акулич, И.Л. Математическое программирование в примерах и задачах: Учебное пособие / И.Л. Акулич. - М.: Лань, 2011. - 352 c.

  11. Приложение Б

  12. Меженный О.А. Turbo Pascal. Самоучитель. // Меженный О.А. - М.: Вильямс, Диалектика. 2008, 336с.

  13. Балдин, К.В. Математическое программирование: Учебник / К.В. Балдин, Н.А. Брызгалов, А.В. Рукосуев. - М.: Дашков и К, 2013. - 220 c.

  14. Карпов Ю.Г. Теория и технология программирования. Основы построения трансляторов. // Карпов Ю.Г. - М.: БХВ-Петербург. 2005, 270с.

  15. Балдин, К.В. Математическое программирование: Учебник / К.В. Балдин, Н.А. Брызгалов, А.В. Рукосуев. - М.: Дашков и К, 2013. - 220 c.

  16. Карпов Ю.Г. Теория и технология программирования. Основы построения трансляторов. // Карпов Ю.Г. - М.: БХВ-Петербург. 2005, 270с.

  17. Вайсфельд Мэтт. Объектно-ориентированное мышление. // Вайсфельд Мэтт. - М.: Питер, 2014, 304 с.

  18. Зрюмова А.Г., Зрюмов Е.А., Пронин С.П. Информатика. // Зрюмова А.Г. - М.: АлтГТУ. 2011, 177 с.

  19. Вайсфельд Мэтт. Объектно-ориентированное мышление. // Вайсфельд Мэтт. - М.: Питер, 2014, 304 с.

  20. Таганов Л.С., Пимонов А.Г. Информатика. // Таганов Л.С., - М.: КузбГТУ. 2010, 330 с.

  21. Карпов Ю.Г. Теория и технология программирования. Основы построения трансляторов. // Карпов Ю.Г. - М.: БХВ-Петербург. 2005, 270с.