Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы к Программированию.docx
Скачиваний:
14
Добавлен:
29.07.2019
Размер:
53.17 Кб
Скачать

1) Слово алгоритм происходит от algorithmi – латинской формы написания имени великого математика IX в. Аль Хорезми, который сформулировал правила выполнения арифметических действий. Первоначально под алгоритмами и понимали только правила выполнения четырех арифметических действий над многозначными числами. В дальнейшем это понятие стали использовать вообще для обозначения последовательности действий, приводящих к решению поставленной задачи.

2)Исполнитель алгоритма -это некоторая система, способная выполнить действия, предписываемые алгоритмом. Характеристики исполнителя: · сpеда -это "место обитания" исполнителя;

· элементаpные действия -после вызова команды исполнитель совеpшает соответствующее элементаpное действие;

· cистема команд — некий строго заданный список команд, с заданными условиями применимости и описанными результатами выполнения команды;

· отказы — возникают, если команда вызывается пpи недопустимом для нее состоянии сpеды.

В информатике универсальным исполнителем алгоритмов является компьютер.

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

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

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

Б)Детерминированность (определённость). В каждый момент времени следующий шаг работы однозначно определяется состоянием системы. Таким образом, алгоритм выдаёт один и тот же результат (ответ) для одних и тех же исходных данных. В современной трактовке у разных реализаций одного и того же алгоритма должен быть изоморфный граф. С другой стороны, существуют вероятностные алгоритмы, в которых следующий шаг работы зависит от текущего состояния системы и генерируемого случайного числа. Однако при включении метода генерации случайных чисел в список «исходных данных», вероятностный алгоритм становится подвидом обычного.

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

Г)Завершаемость (конечность) — при корректно заданных исходных данных алгоритм должен завершать работу и выдавать результат за конечное число шагов. С другой стороны, вероятностный алгоритм может и никогда не выдать результат, но вероятность этого равна 0.

Д)Массовость (универсальность). Алгоритм должен быть применим к разным наборам исходных данных.

Е)Результативность — завершение алгоритма определёнными результатами.

Ё)Алгоритм содержит ошибки, если приводит к получению неправильных результатов либо не даёт результатов вовсе.

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

4)Формы записи алгоритма:

Табличный – это запись алгоритма в виде таблицы. Используемые таблицы могут быть различными.

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

словесный-алгоритм записывается в виде пронумерованных этапов его выполнения.

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

Программный – это запись алгоритма на специальном языке(в том числе и на языке програмирования) Она осуществляется, строго следуя правилам того или иного АЯ

5)Компоненты:

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

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

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

(АЯ)- формальный язык, используемый для записи, реализации или изучения алгоритмов. Всякий язык программирования является алгоритмическим языком, но не всякий алгоритмический язык пригоден для использования в качестве языка программирования

6) Общий вид алгоритма:

алг. <название алгоритма>(аргументы, результаты)

дано <условие применимости алг.>

надо <цель выполнения алг.>

нач. <написание промежуточных величин>(последовательность команд (тело алгоритма))

кон.

Примеры строки алгоритма:

алг. объём и площадь цилиндра (арг. вещ. R, H, рез. вещ. V, S)

алг. корни кв. уравнения (арг. вещ. a, b, c, рез. вещ. x1, x2)

алг. число max (арг. цел. N, вещтаб. A[1:n], рез. цел. k)

дано (N>0)

надо (k-число max элементов в таблице A)

T – комментарии

7)

1)команда присваивания – служит для вычисления выражений, присваивания значений в переменной. 2)команда ввода-вывода

а)ввода. имена переменных

б) вывода. имена переменных, выражений, тексты.

3)команды ветвления (если, выбор)

4) команды цикла (для, пока)

8)

алг.(алгоритм)

арг.(аргумент)

рез.(результат)

нач.(начало)

кон.(конец)

цел.(целое)

вещ.(вещественное)

сим.(символьный)

лит.(литерный)

лог. (логический)

таб. (таблица)

н.ц.(начало цикла)

к.ц.(конец цикла)

длин.(длина)

утв.(утверждение)

дано

надо

если

то

иначе

все

пока

для

от

до

знач

и

или

не

да

нет

при

выбор

вывод

ввод

9) Правила записи арифметических выражений:

1)Нельзя опускать знак умножения между сомножителями

2)индексы элементов массивов записываются в квадратных (школьным, Pascal)и круглых (Basic)скобках.

3)Операции выполняются в порядке старшинства.

4) Операции одного старшинства выполняется слева направо.

10.)

1) Алгоритм АЯ значительно шире алфавита машинного языка, отсюда следует повышение наглядности текста программы

2) Набор операций, допустимых для использования независит от набора машинных операций.

3)Формат приложений достаточно гибок и удобен для использования => с помощью одного предложения можно задать достаточно одного предложения можно задать достаточно содержательный этап обработки данных.

4) Требуемые операции задаются с помощью общепринятых мат. обозначений.

5) Данным в алгоритмических языках присваиваются имена.

6) Может быть предусмотрен значительно более широкий набор типов данных по сравнению с машинным набором типов данных.

11) Язык программирования — формальная знаковая система, при помощи которой записываются компьютерные программы. По разным оценкам, в настоящее время существует от двух с половиной до десяти тысяч различных языков программирования.