Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика_ответы.docx
Скачиваний:
77
Добавлен:
01.05.2015
Размер:
202.39 Кб
Скачать

18. Словесно формульный способ описания алгоритмов.

Словесно-формульный способ (запись на естественном языке);

Словесно-формульный способ записи алгоритмов представляет собой описание последовательных этапов обработки данных. Алгоритм задается в произвольном изложении на естественном языке.

Например. Записать алгоритм нахождения наибольшего общего делителя (НОД) двух натуральных чисел (алгоритм Эвклида).

Алгоритм может быть следующим:

1.      задать два числа;

2.      если числа равны, то взять любое из них в качестве ответа и остановиться, в противном случае продолжить выполнение алгоритма;

3.      определить большее из чисел;

4.      заменить большее из чисел разностью большего и меньшего из чисел;

5.      повторить алгоритм с шага 2.

 

Словесный способ не имеет широкого распространения, так как такие описания:

      строго не формализуемы;

      страдают многословностью записей;

      допускают неоднозначность толкования отдельных предписаний.

 

19. Графический способ описания алгоритмов.

Графический способ описания (блок-схема)

Для составления алгоритма в виде блок-схемы применяются следующие основные графические изображения.

20. Псевдокоды.

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

21. Структура данных. Классификация структур данных.

Структура данных (англ. data structure) — программная единица, позволяющая хранить и обрабатывать множество однотипных и/или логически связанных данных в вычислительной технике. Для добавления, поиска, изменения и удаления данных структура данных предоставляет некоторый набор функций, составляющих её интерфейс.

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

Различные виды структур данных подходят для различных приложений; некоторые из них имеют узкую специализацию для определённых задач. Например, B-деревья обычно подходят для создания баз данных, в то время как хеш-таблицы используются повсеместно для создания различного рода словарей, например, для отображения доменных имён в интернет-адреса компьютеров.

1) По сложности: простые и интегрированные.

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

Интегрированные структуры данных конструируются программистом.

2). По способу представления: физическая и логическая

. Физическая структура данных - это способ физического представления данных в памяти компьютера.

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

3). По наличию связей между элементами данных: несвязные и связные.

Несвязные структуры характеризуются отсутствием связей между элементами структуры.

Связные структуры характеризуются наличием связи.

Примерами несвязных структур есть векторы, массивы, строки, стеки, очереди; примеры связных структур - связные списки.

4). По изменчивости: статические, полустатические, динамические. Изменчивость, то есть изменение числа элементов и (ли) связей между элементами структуры.

Статические - к этой группе относят массивы, множества, записи, таблицы.

Полустатические - это стеки, очереди, деки, дерева.

Динамические - линейные и разветвленные связные списки, графы, дерева.

5). По характеру упорядоченности элементов в структуре: линейные и нелинейные.

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

Нелинейные структуры - многосвязные списки, дерева, графы.

6). По виду памяти, используемой для сохранности данных: структуры данных для оперативной и для внешней памяти. Структуры данных для оперативной памяти - это данные, размещенные в статической и динамической памяти компьютера. Все вышеприведенные структуры данных - это структуры для оперативной памяти.

Структуры данных для внешней памяти называют файловыми структурами или файлами. Примерами файловых структур есть последовательные файлы, файлы, организованные разделами, В- деревья.