Скачать презентацию Алгоритмы Алгоритмические языки Понятие алгоритма заранее заданная Скачать презентацию Алгоритмы Алгоритмические языки Понятие алгоритма заранее заданная

Lect_01_2012.ppt

  • Количество слайдов: 13

Алгоритмы. Алгоритмические языки Алгоритмы. Алгоритмические языки

Понятие алгоритма заранее заданная понятная и Алгоритм — это… точная последовательность действий для получения Понятие алгоритма заранее заданная понятная и Алгоритм — это… точная последовательность действий для получения решения задачи за конечное число шагов.

Исполнитель алгоритма — это некоторая абстрактная или реальная (техническая, биологическая или биотехническая) система, способная Исполнитель алгоритма — это некоторая абстрактная или реальная (техническая, биологическая или биотехническая) система, способная выполнить действия, предписываемые алгоритмом. Исполнителя характеризуют: • среда; • элементарные действия; • система команд; • отказы. Исполнитель ничего не знает о цели алгоритма

Свойства алгоритмов 1. Понятность 2. Дискретность 3. Определенность 4. Результативность (или конечность) 5. Массовость Свойства алгоритмов 1. Понятность 2. Дискретность 3. Определенность 4. Результативность (или конечность) 5. Массовость

Формы записи алгоритмов Основные символы блок-схем словесная; графическая (блоксхемы); псевдокоды; программы Формы записи алгоритмов Основные символы блок-схем словесная; графическая (блоксхемы); псевдокоды; программы

Алгоритм нахождения наибольшего общего делителя (НОД) двух натуральных чисел (алгоритм Эвклида) 1) начало a, Алгоритм нахождения наибольшего общего делителя (НОД) двух натуральных чисел (алгоритм Эвклида) 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 да 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 конец нет 3) начало a, b упорядочить (a≥b) c=a-b c=0 да NOD = a конец нет a=c

Алгоритмические языки Уровень языка программирования • машинные; • машинно-оpиентиpованные (ассемблеры); • машинно-независимые (языки высокого Алгоритмические языки Уровень языка программирования • машинные; • машинно-оpиентиpованные (ассемблеры); • машинно-независимые (языки высокого уровня). Языки высокого уровня делятся на: • процедурные (алгоритмические) (Basic, Pascal, C и др. ), • логические (Prolog, Lisp и др. ), • объектно-ориентированные (Object Pascal, C++, Java)

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

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

Понятия языка 1. Имена 2. Операции 3. Данные 4. Выражения 5. Операторы Понятия языка 1. Имена 2. Операции 3. Данные 4. Выражения 5. Операторы

Задание Построить алгоритм перевода целого числа из десятичной в двоичную СС о обратно Задание Построить алгоритм перевода целого числа из десятичной в двоичную СС о обратно