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

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

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

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

Добавлен: 28.03.2023

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

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

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

Реализовать эту стратегию можно с помощью следующего алгоритма, в котором учитывается возможность получения пустого списка. [6]

procedure Search (<список>, <искомое_значение>) if (<список> пуст)

then (Объявить поиск неудачным)

else

(Выбрать "средний" элемент в <список> в качестве

<проверяемый_элемент>)

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

Case 1: <искомое_значение> = <проверяемый_элемент> (Объявить поиск успешным)

Case 2: <искомое_значение> < <проверяемый_элемент> (Применить процедуру Search, чтобы определить, есть ли в части списка, предшествующей элементу <проверяемый элемент>, элемент <искомое_значение>, и if (тот поиск успешен then (Объявить этот поиск успешным) else (Объявить этот поиск неудачным) Case 3:

<искомое_значение> > <проверяемый__элемент> (Применить процедуру Search, чтобы определить, есть ли в части списка, следующей за элементом <проверяемый_элемент>,

элемент <искомое_значение> и if (тот поиск успешен)

then (Объявить этот поиск успешным) else (Объявить этот поиск неудачным)

Если выбранный элемент не является искомым, то эта программа предлагает два варианта дальнейших действий - поиск в начальной или конечной половине списка. В каждом из них предусматривается выполнение вторичного поиска той же процедурой Search. [6]

При выполнении этой процедуры и при достижении инструкции <Применить процедуру Search, чтобы ...>, будет применяться этот же метод поиска к меньшему списку, который является частью исходного списка. Если этот вторичный поиск завершится успешно, то осуществляется возврат в исходную процедуру, чтобы объявить выполняемый в ней поиск успешным. Если же вторичный поиск окончится неудачей, то объявляется неудачным и исходный поиск. [6]

В этом процессе необходимо многократно разделять рассматриваемый список на две примерно равные части, после чего область дальнейшего поиска ограничивается лишь одной из этих частей. За это повторяющееся деление на два данный алгоритм был назван двоичным поиском. [6]

Алгоритм двоичного поиска похож на алгоритм последовательного поиска, так как в обоих выполняется повторяющийся процесс. Однако реализация этого повторения в каждом случае существенно отличается. При последовательном поиске повторение организуется с помощью цикла, в случае двоичного поиска каждая стадия повторения реализуется как подзадача предыдущей стадии. Этот метод повторения известен как рекурсия. [6]


3. Алгоритм сортировки методом вставки.

В этом алгоритме решается задача сортировки списка имен в алфавитном порядке. При этом необходимо отсортировать список путем перестановки его элементов, не перемещая весь список в другое место. Подобное ограничение типично для компьютерных приложений, где стремятся наиболее эффективно использовать весь доступный объем памяти. Для их сортировки должны повторяться следующие действия. Поднять карточку с именем, первую в неотсортированной части списка, сдвинуть вниз карточки с именами, которые находятся ниже по алфавиту, чем имя на взятой карточке, а затем поместить эту карточку на освободившееся место в списке. Текст программы сортировки на языке псевдокода выглядит так [6]:

procedure Сортировка (<список>) assign N the value 2;

while (значение N не превышает <длина списка>)

do (Выбрать N-й элемент списка в качестве опорного; Переместить этот элемент во временное хранилище, оставив в списке пустое место;

while (над пустым местом есть имя, которое по алфавиту размещается ниже, чем опорный элемент)

do (переместить имя, находящееся над пустым местом вниз, оставив в прежней позиции пустое место); Поместить опорный элемент на пустое место в списке assign

N the value N+1

здесь N - счетчик, параметр <длина списка> - количество элементов в списке.

Программа сортирует список, многократно повторяя следующие действия: «Элемент извлекается из списка, а затем вставляется на надлежащее ему место». [6]

Каждое выполнение тела внешнего цикла приводит к тому, что внутренний цикл инициализируется и выполняется до тех пор, пока не будет выполнено условие его окончания. Условие окончания внешнего цикла выполняется, когда значение счетчика N превысит длину сортируемого списка. [6]

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

Таким образом, в процессе написания третьей главы мы познакомились с понятиями алгоритма. Рассмотрели свойства алгоритмов, способы записи и виды алгоритмов.


Заключение

Данная работа предназначалась для теоретического знакомства с языками программирования высокого уровня. Работа поделена на три главы. В каждой главе рассмотрена часть изучаемого вопроса.

  1. В первой главе было осуществлено знакомство с видами языков программирования и приведена их классификация.
  2. Вторая глава работы посвящена обзору основных языков программирования высокого уровня.
  3. В третьей главе приведена информация о основной части каждого языка – об алгоритмах. А также основные сведения о них.

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

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

  1. Белов П.М. Основы алгоритмизации в информационных системах: Учебн. Пособие.- Спб.: СЗТУ, 2003. – 85с. Режим доступа: http://window.edu.ru/resource/128/25128/files/nwpi225.pdf.
  2. Хайдаров К.А. Основы программирования. Алгоритмы, структуры данных и программирование [Электронный ресурс]: Классификация языков программирования. Режим доступа: http://bourabai.ru/alg/classification.htm#2 (дата обращения: 21.06.2020).
  3. Макаров В.Л. Программирование и основы алгоритмизации.: учебн. пособие.-Спб., СЗТУ, 2003, - 110с. Режим доступа: http://window.edu.ru/resource/126/25126/files/nwpi223.pdf.
  4. Мир знаний [Электронный ресурс]: Языки программирования. Обзор, возможности, достоинства, недостатки. Режим доступа: https://mirznanii.com/a/309490-2/yazyki-programmirovaniya-obzor-vozmozhnosti-dostoinstva-nedostatki-2/ (дата обращения: 20.06.2020).
  5. Основы алгоритмизации и программирования : учебное пособие / Г. Р. Кадырова. – Ульяновск : УлГТУ, 2014. – 95 с. . Режим доступа: http://venec.ulstu.ru/lib/disk/2014/137.pdf.
  6. Основы алгоритмизации и программирования. Курс лекций. Режим доступа: http://lib.ssga.ru/fulltext/UMK/исходные%20для%20Кацко/заменить%20полностью/Информатика/лекции/13%20Основы%20алгоритмизации%20и%20программирования.pdf
  7. Основы алгоритмизации и программирования: Метод. указ. / Сост.: И.П. Рак, А.В. Терехов, А.В. Селезнев. Тамбов: Изд-во Тамб. гос. техн. ун-та. Режим доступа: https://www.tstu.ru/book/elib/pdf/2003/terehov.pdf.
  8. Основы алгоритмизации и программирования: учеб. пособие / Т.А. Жданова, Ю.С. Бузыкова. – Хабаровск : Изд-во Тихоокеан. гос.ун-та, 2011. – 56 с. Режим доступа: http://pnu.edu.ru/media/filer_public/2013/02/25/book_basics.pdf.
  9. Программирование и основы алгоритмизации: Для инженерных специальностей технических университетов и вузов. /А.Г. Аузяк, Ю.А. Богомолов, А.И. Маликов, Б.А. Старостин. Казань: Изд-во Казанского национального исследовательского технического ун-та - КАИ, 2013, 153 с. Режим доступа: http://au.kai.ru/documents/Auzyak_Progr_osn_alg_C_2013.pdf.
  10. Трофимова В.В. Информатика [Электронный ресурс]: учебник, 2015. Режим доступа: https://studme.org/97154/informatika/informatika (дата обращения: 20.06.2020).
  11. Языки программирования [Электронный ресурс]: Пять поколений языков программирования. Режим доступа: https://life-prog.ru/view_zam2.php?id=194&cat=5&page=12 (дата обращения: 20.06.2020).