Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Otvety_k_zachetu_po_informatike.doc
Скачиваний:
35
Добавлен:
27.03.2015
Размер:
355.33 Кб
Скачать

Вопросы к зачету по курсу “ИНФОРМАТИКА”.

Теоретические вопросы.

  1. Алгоритм. Свойства алгоритма.

Единого точного определения термина «Алгоритм» не существует. Разные источники дают его по-разному. Самое простое определение:

Алгоритм — это описание последовательности действий, приводящих к требуемому результату.

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

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

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

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

Свойства алгоритма

Алгоритм должен обладать рядом свойств, к которым относятся следующие:

  • Дискретность, уже обсуждавшаяся выше. Алгоритм строится из отдельных независимых команд (предписаний) и, тем самым, образует дискретную прерывистую структуру.

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

  • Детерминированность или определенность исключает неоднозначность команд. На каждом шаге однозначно следует, что нужно выполнять на следующем. Исполнитель алгоритма не принимает каких-либо самостоятельных решений, а только исполняет команды. Это свойство приводит к тому, что при одних и тех же исходных данных алгоритм всегда выдает один и тот же результат.

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

  • Результативность – способность алгоритма завершаться определенными результатами, в том числе и сообщением о невозможности решения задачи при заданном наборе исходных данных.

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

  1. Алгоритм. Представления алгоритмов.

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

  1. Вербальная или словесно-формульная форма. В ней алгоритмические действия описываются словами и, при необходимости, формулами.

Для выбранного примера описание алгоритма может иметь следующий вид:

Алгоритм вычисления корней квадратного уравнения . Входными данными являются коэффициенты a, b и c. Сначала необходимо вычислить дискриминант уравнения .

Если дискриминант имеет неотрицательное значение, то корни уравнения вещественные: ;

Если дискриминант отрицательный, то корни комплексно сопряженные: .

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

  1. Наиболее полной и корректной формой является запись алгоритма на специальном языке. За рубежом он называется PDL (Process Design Language), «псевдокод». Псевдокод - паскалеподобный язык, обладающий всей полнотой и корректностью описания алгоритма. Алгоритм решения квадратного уравнения на нем имеет следующий вид:

алг Root2 (вещ a,b,c,x1,x2; цел key)

арг a,b,c

рез x1,x2,key

нач

вещ D,re,im

D:=b2-4ac

re:=

im:=-

если D>=0

то

нач

x1:=re+im

x2:=re-im

key:=0

кон

иначе

нач

x1:=re

x2:=im

key:=1

кон

все

кон

Заголовок алгоритма содержит его имя, а также описание входных (арг) и выходных (рез) данных с указанием их идентификаторов и типов. Далее аналогично описываются промежуточные данные алгоритма. Начало и конец алгоритмических действий обозначены служебными словами нач и кон. Рассматриваемый в качестве примера алгоритм очень простой и содержит только операторы присваивания и одну структурную конструкцию – бинарное ветвление. Она оформляется служебными словами: если, то, иначе, все.

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

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

Алгоритм решения квадратного уравнения представлен блок-схемой на рис.

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

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

  1. Программа – форма записи алгоритма, понятная компьютеру. (про это в пособии и в интернете нет ничего, это Шевченко на лекции говорил

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]