Алгоритмы. Алгоритмические языки
Понятие алгоритма заранее заданная понятная и Алгоритм — это… точная последовательность действий для получения решения задачи за конечное число шагов.
Исполнитель алгоритма — это некоторая абстрактная или реальная (техническая, биологическая или биотехническая) система, способная выполнить действия, предписываемые алгоритмом. Исполнителя характеризуют: • среда; • элементарные действия; • система команд; • отказы. Исполнитель ничего не знает о цели алгоритма
Свойства алгоритмов 1. Понятность 2. Дискретность 3. Определенность 4. Результативность (или конечность) 5. Массовость
Формы записи алгоритмов Основные символы блок-схем словесная; графическая (блоксхемы); псевдокоды; программы
Алгоритм нахождения наибольшего общего делителя (НОД) двух натуральных чисел (алгоритм Эвклида) 1) начало a, b a=b да NOD = a конец нет a>b да a=a-b нет b=b-a
2) начало a, b c=a-b c=0 да NOD = a конец нет c>0 да a=c нет b=-c
3) начало a, b упорядочить (a≥b) c=a-b c=0 да NOD = a конец нет a=c
Алгоритмические языки Уровень языка программирования • машинные; • машинно-оpиентиpованные (ассемблеры); • машинно-независимые (языки высокого уровня). Языки высокого уровня делятся на: • процедурные (алгоритмические) (Basic, Pascal, C и др. ), • логические (Prolog, Lisp и др. ), • объектно-ориентированные (Object Pascal, C++, Java)
Преимущества алгоритмических языков перед машинными Ш алфавит алгоритмического языка значительно шире алфавита машинного языка, что существенно повышает наглядность текста программы; Ш набор операций, допустимых для использования, не зависит от набора машинных операций, а выбирается из соображений удобства формулирования алгоритмов решения задач определенного класса; Ш формат предложений достаточно гибок и удобен для использования, что позволяет с помощью одного предложения задать достаточно содержательный этап обработки данных; Ш требуемые операции задаются с помощью общепринятых математических обозначений; Ш данным в алгоритмических языках присваиваются индивидуальные имена, выбираемые программистом; Ш языке может быть предусмотрен значительно более широкий в набор типов данных по сравнению с набором машинных типов данных.
Компоненты, образующие алгоритмический язык Алфавит — это фиксированный для данного языка набор основных символов. Синтаксис — это правила построения фраз. Семантика определяет смысловое значение предложений языка.
Понятия языка 1. Имена 2. Операции 3. Данные 4. Выражения 5. Операторы
Задание Построить алгоритм перевода целого числа из десятичной в двоичную СС о обратно