Файл: Обзор языков программирования высокого уровня (Языки программирования: понятие и история развития).pdf
Добавлен: 30.03.2023
Просмотров: 418
Скачиваний: 1
СОДЕРЖАНИЕ
1 Языки программирования: понятие и история развития
1.1 Понятие языка программирования
1.2 История развития языков программирования
1.3 Примеры основных языков программирования
2 Классификация языков программирования высокого уровня
2.1 Процедурно-ориентированные языки программирования
2.2 Проблемно-ориентированные языки программирования
2.3 Объектно-ориентированные языки программирования
3 Составление программы на примере языка программирования C++
3.1 Обоснование выбора языка программирования
3.2 Пример решения задачи коммивояжера методом Прима на C++
программа задача коммивояжер тестирование
Рисунок 2 – Выбор количества городов
После ввода данных, необходимо нажать кнопку «Enter». После этого программа составит матрицу городов, после чего нам надо ввести с какого города будем стартовать, и заканчивать, и произведет расчет длины пути и порядок обхода городов. Когда программа завершит свой расчет, то в блоке ответа появятся данные конечного результата.
Рисунок 3 – Консоль программы после расчета данных
Перейдем к тестированию программы.
Определить длину (Q) кратчайшего маршрута (L) коммивояжера. Расстояния (QIJ) между шестью городами представлены в таблице 2.
Пройдем алгоритм вручную.
Начинаем движение с первого города в нашей таблице (Рисунок 4).
Рисунок 4 – Первый шаг расчета
После этого, мы движемся во второй город, выбирая из доступных, с минимальным расстоянием (Рисунок 5).
Рисунок 5 – Второй шаг расчета
Таким образом, проделываем следующие шаги до последнего города.
Условия примера представляют собой симметричную задачу.
После выполненного расчета мы видим, что ответ удовлетворяет условиям. Так же в программе проводилось несколько других тестирований, ответы были положительны.
После успешного тестирования программы, в качестве исходных данных использовались параметры, заданные в курсовом проектировании. Результаты расчета приведены в следующем рисунке 6:
Рисунок 6 – Основная форма программы после вывода конечных данных
Ответ: длина маршрута равна 52, порядок обхода городов:
1→3→2→5→6→4→1
При выполнение ручных расчётов результаты получились положительными.
Таким образом, в ходе выполнения курсового проекта были решены следующие задачи:
- Построена математическая модель;
- Описан алгоритм задачи;
- Разработан программный код на языке программирования C++;
- Решена поставленная задача с помощью разработанной программы;
- Проанализированы результаты;
Таким образом, можно считать, что цель курсового проекта достигнута.
Заключение
Одной из самых революционных идей, которая привела к созданию автоматических цифровых вычислительных машин, мысль о предварительной записи порядка действий машины – программе, предложенная в 19 веке 20 годах Ч.Бэббиджем, именно с этого момента началась история языков программирования. Языки программирования - это формальные искусственные, и, как и естественные языки, им присущ алфавит, словарный запас, грамматика и синтаксис, а также семантика. Изобретение языка программирования дало возможность человечеству общаться с машиной, понимать её, наподобие того как понимает китаец немного знакомый с русским языком древнюю азбуку Кириллицы. Иными словами, человек на данный момент развития науки программирования пока что с ЭВМ на ВЫ, и это совершенно не сарказм, достаточно только взглянуть на то как развилась наука программирования с того времени, как появились языки программирования, а ведь язык программирования высшего уровня, судя по всему ещё младенец. Единственным способом изучения нового языка программирования написание на нем программ.
Со времени создания первых программируемых машин человечество придумало более двух с половиной тысяч языков программирования. Каждый год их число увеличивается. Некоторыми языками умеет пользоваться только небольшое число их собственных разработчиков, другие становятся известны миллионам людей. Профессиональные программисты иногда применяют в своей работе более десятка разнообразных языков программирования. Создатели языков по-разному толкуют понятие язык программирования. К наиболее распространённым утверждениям, признаваемым большинством разработчиков, относятся следующие:
Функция: язык программирования предназначен для написания компьютерных программ, которые применяются для передачи компьютеру инструкций по выполнению того или иного вычислительного процесса и организации управления отдельными устройствами.
Задача: язык программирования отличается от естественных языков тем, что предназначен для передачи команд и данных от человека к компьютеру, в то время как естественные языки используются для общения людей между собой. Можно обобщить определение «языков программирования» — это способ передачи команд, приказов, чёткого руководства к действию; тогда как человеческие языки служат также для обмена информацией.
Исполнение: язык программирования может использовать специальные конструкции для определения и манипулирования структурами данных и управления процессом вычислений.
Позволю себе выделить некоторую общую тенденцию в развитии языков программирования. Языки развиваются в сторону все большей и большей абстракции, что сопровождается эффективности. Отсюда возникает вопрос: а стоит ли этого абстракция? Скажу с уверенностью, что стоит, поскольку повышение уровня абстракции влечет за собой повышение уровня надежности программирования. С низкой эффективностью можно бороться путем создания более быстрых компьютеров. Если требования к памяти слишком высоки, можно увеличить ее объем. Это, конечно, требует времени и средств, но это решаемо. А вот с ошибками в программах можно бороться только одним способом: их надо исправлять, а еще лучше — не совершать, либо максимально затруднить их совершение. И именно на это направлены все исследования в области языков программирования, несмотря на то что, с потерей эффективности придется смириться.
Целью моего курсового проекта была попытка дать полное представление обо всем многообразии существующих языков программирования. Среди программистов зачастую бытует мнение о «всеобщей применимости» того или иного языка, но это мнение возникает по нескольким причинам: недостаток информации, привычка, инертность мышления. Мной была предпринята попытка слегка компенсировать первый фактор, а по поводу остальных можно сказать, что настоящий профессионал должен постоянно стремиться повышать свою профессиональную квалификацию. А для этого нужно не бояться экспериментировать.
В практической части курсовой работы автором была разработана программа решения задачи коммивояжера при помощи метода Прима на C++ и алгоритма Дейкстры. В процессе написания работы были решены следующие задачи:
1) Построена математическая модель;
2) Описан алгоритм задачи;
3) Разработан программный код на языке программирования C++;
4) Решена поставленная задача с помощью разработанной программы;
5) Проанализированы результаты;
Таким образом, можно считать, что цель курсового проекта достигнута.
Библиография
- Акулич, И.Л. Математическое программирование в примерах и задачах: Учебное пособие / И.Л. Акулич. - М.: Лань, 2011. - 352 c.
- Балдин, К.В. Математическое программирование: Учебник / К.В. Балдин, Н.А. Брызгалов, А.В. Рукосуев. - М.: Дашков и К, 2013. - 220 c.
- Вайсфельд Мэтт. Объектно-ориентированное мышление. // Вайсфельд Мэтт. - М.: Питер, 2014, 304 с.
- Грошев А.С. Информатика. // Грошев А.С. - М.: АГТУ. 2010, 470 с.
- Зрюмова А.Г., Зрюмов Е.А., Пронин С.П. Информатика. // Зрюмова А.Г. - М.: АлтГТУ. 2011, 177 с.
- Карпов Ю.Г. Теория и технология программирования. Основы построения трансляторов. // Карпов Ю.Г. - М.: БХВ-Петербург. 2005, 270с.
- Меняев М.Ф. Информатика и основы программирования. 3-е изд., стер. // Меняев М.Ф. - М.: Омега-Л. 2007, 458 с.
- Меженный О.А. Turbo Pascal. Самоучитель. // Меженный О.А. - М.: Вильямс, Диалектика. 2008, 336с.
- Орлова И.В. Экономико-математическое моделирование: Практическое пособие по решению задач. // Орлова И.В. - М.: Вузовский учебник, 2004. - 144 с.
- Таганов Л.С., Пимонов А.Г. Информатика. // Таганов Л.С., - М.: КузбГТУ. 2010, 330 с.
- Цветкова М.С., Великович Л.С. Информатика и ИКТ. // Цветкова М.С., 3-е изд., стер. - М.: Академия. 2012, 352 с.
- Цветкова А.В. Информатика и информационные технологии. Шпаргалки. // Цветкова М.С., - М.: ЭКСМО. 2008, 32 с.
- Хубаева Г.Н. Информатика. 3-е изд., перераб. и доп. // Хубаева Г.Н. - М.: Феникс. 2010, 288 с.
ПРИЛОЖЕНИЯ
Приложение А
Язык программирования
Язык программирования
Организация данных
Операторы:
- Присваивания
- Ветвления
- Цикла и так далее.
Операции и выражения
Типы и структура данных
Обработка данных
Ввод-вывод данных, работа с файлами
Алфавит, лексемы, синтаксис, оформление программы
Организация действий над данными
Элементы языка
Организация и использование подпрограмм
Приложение Б
Основные типы данных в Паскале
Простые типы
Указатели
Сложные типы
Файлы
Перечисления
Интервалы
Символьный тип
Логические числа
Вещественные числа
Множества
Записи
Строки
Массивы
Целые числа
-
Приложение А ↑
-
Грошев А.С. Информатика. // Грошев А.С. - М.: АГТУ. 2010, 470 с. ↑
-
Грошев А.С. Информатика. // Грошев А.С. - М.: АГТУ. 2010, 470 с. ↑
-
Акулич, И.Л. Математическое программирование в примерах и задачах: Учебное пособие / И.Л. Акулич. - М.: Лань, 2011. - 352 c. ↑
-
Грошев А.С. Информатика. // Грошев А.С. - М.: АГТУ. 2010, 470 с. ↑
-
Орлова И.В. Экономико-математическое моделирование: Практическое пособие по решению задач. // Орлова И.В. - М.: Вузовский учебник, 2004. - 144 с. ↑
-
Цветкова М.С., Великович Л.С. Информатика и ИКТ. // Цветкова М.С., 3-е изд., стер. - М.: Академия. 2012, 352 с. ↑
-
Акулич, И.Л. Математическое программирование в примерах и задачах: Учебное пособие / И.Л. Акулич. - М.: Лань, 2011. - 352 c. ↑
-
Меняев М.Ф. Информатика и основы программирования. 3-е изд., стер. // Меняев М.Ф. - М.: Омега-Л. 2007, 458 с. ↑
-
Акулич, И.Л. Математическое программирование в примерах и задачах: Учебное пособие / И.Л. Акулич. - М.: Лань, 2011. - 352 c. ↑
-
Приложение Б ↑
-
Меженный О.А. Turbo Pascal. Самоучитель. // Меженный О.А. - М.: Вильямс, Диалектика. 2008, 336с. ↑
-
Балдин, К.В. Математическое программирование: Учебник / К.В. Балдин, Н.А. Брызгалов, А.В. Рукосуев. - М.: Дашков и К, 2013. - 220 c. ↑
-
Карпов Ю.Г. Теория и технология программирования. Основы построения трансляторов. // Карпов Ю.Г. - М.: БХВ-Петербург. 2005, 270с. ↑
-
Балдин, К.В. Математическое программирование: Учебник / К.В. Балдин, Н.А. Брызгалов, А.В. Рукосуев. - М.: Дашков и К, 2013. - 220 c. ↑
-
Карпов Ю.Г. Теория и технология программирования. Основы построения трансляторов. // Карпов Ю.Г. - М.: БХВ-Петербург. 2005, 270с. ↑
-
Вайсфельд Мэтт. Объектно-ориентированное мышление. // Вайсфельд Мэтт. - М.: Питер, 2014, 304 с. ↑
-
Зрюмова А.Г., Зрюмов Е.А., Пронин С.П. Информатика. // Зрюмова А.Г. - М.: АлтГТУ. 2011, 177 с. ↑
-
Вайсфельд Мэтт. Объектно-ориентированное мышление. // Вайсфельд Мэтт. - М.: Питер, 2014, 304 с. ↑
-
Таганов Л.С., Пимонов А.Г. Информатика. // Таганов Л.С., - М.: КузбГТУ. 2010, 330 с. ↑
-
Карпов Ю.Г. Теория и технология программирования. Основы построения трансляторов. // Карпов Ю.Г. - М.: БХВ-Петербург. 2005, 270с. ↑