Алгоритм Скачать
презентацию
<<  Понятие алгоритма Основы алгоритмизации  >>
Алгоритмы: основные понятия, примеры практической разработки
Алгоритмы: основные понятия, примеры практической разработки
Алгоритмы: основные понятия, примеры практической разработки
Алгоритмы: основные понятия, примеры практической разработки
Алгоритмы: основные понятия, примеры практической разработки
Алгоритмы: основные понятия, примеры практической разработки
Алгоритмы: основные понятия, примеры практической разработки
Алгоритмы: основные понятия, примеры практической разработки
Алгоритмы: основные понятия, примеры практической разработки
Алгоритмы: основные понятия, примеры практической разработки
Алгоритмы: основные понятия, примеры практической разработки
Алгоритмы: основные понятия, примеры практической разработки
Алгоритмы: основные понятия, примеры практической разработки
Алгоритмы: основные понятия, примеры практической разработки
Алгоритмы: основные понятия, примеры практической разработки
Алгоритмы: основные понятия, примеры практической разработки
Алгоритмы: основные понятия, примеры практической разработки
Алгоритмы: основные понятия, примеры практической разработки
Алгоритмы: основные понятия, примеры практической разработки
Алгоритмы: основные понятия, примеры практической разработки
Алгоритмы: основные понятия, примеры практической разработки
Алгоритмы: основные понятия, примеры практической разработки
Алгоритмы: основные понятия, примеры практической разработки
Алгоритмы: основные понятия, примеры практической разработки
Алгоритмы: основные понятия, примеры практической разработки
Алгоритмы: основные понятия, примеры практической разработки
Алгоритмы: основные понятия, примеры практической разработки
Алгоритмы: основные понятия, примеры практической разработки
Алгоритмы: основные понятия, примеры практической разработки
Алгоритмы: основные понятия, примеры практической разработки
Алгоритмы: основные понятия, примеры практической разработки
Алгоритмы: основные понятия, примеры практической разработки
Алгоритмы: основные понятия, примеры практической разработки
Алгоритмы: основные понятия, примеры практической разработки
Алгоритмы: основные понятия, примеры практической разработки
Алгоритмы: основные понятия, примеры практической разработки
Алгоритмы: основные понятия, примеры практической разработки
Алгоритмы: основные понятия, примеры практической разработки
Алгоритмы: основные понятия, примеры практической разработки
Алгоритмы: основные понятия, примеры практической разработки
Алгоритмы: основные понятия, примеры практической разработки
Алгоритмы: основные понятия, примеры практической разработки
Алгоритмы: основные понятия, примеры практической разработки
Алгоритмы: основные понятия, примеры практической разработки
Алгоритмы: основные понятия, примеры практической разработки
Алгоритмы: основные понятия, примеры практической разработки
Алгоритмы: основные понятия, примеры практической разработки
Алгоритмы: основные понятия, примеры практической разработки
Алгоритмы: основные понятия, примеры практической разработки
Алгоритмы: основные понятия, примеры практической разработки
Алгоритмы: основные понятия, примеры практической разработки
Алгоритмы: основные понятия, примеры практической разработки
Алгоритмы: основные понятия, примеры практической разработки
Алгоритмы: основные понятия, примеры практической разработки
Алгоритмы: основные понятия, примеры практической разработки
Алгоритмы: основные понятия, примеры практической разработки
Алгоритмы: основные понятия, примеры практической разработки
Алгоритмы: основные понятия, примеры практической разработки
Алгоритмы: основные понятия, примеры практической разработки
Алгоритмы: основные понятия, примеры практической разработки
Алгоритмы: основные понятия, примеры практической разработки
Алгоритмы: основные понятия, примеры практической разработки
Алгоритмы: основные понятия, примеры практической разработки
Алгоритмы: основные понятия, примеры практической разработки
Алгоритмы: основные понятия, примеры практической разработки
Алгоритмы: основные понятия, примеры практической разработки
Алгоритмы: основные понятия, примеры практической разработки
Алгоритмы: основные понятия, примеры практической разработки
Алгоритмы: основные понятия, примеры практической разработки
Алгоритмы: основные понятия, примеры практической разработки
Алгоритмы: основные понятия, примеры практической разработки
Алгоритмы: основные понятия, примеры практической разработки
33
33
Алгоритмы: основные понятия, примеры практической разработки
Алгоритмы: основные понятия, примеры практической разработки
Алгоритмы: основные понятия, примеры практической разработки
Алгоритмы: основные понятия, примеры практической разработки
Алгоритмы: основные понятия, примеры практической разработки
Алгоритмы: основные понятия, примеры практической разработки
Алгоритмы: основные понятия, примеры практической разработки
Алгоритмы: основные понятия, примеры практической разработки
Алгоритмы: основные понятия, примеры практической разработки
Алгоритмы: основные понятия, примеры практической разработки
Алгоритмы: основные понятия, примеры практической разработки
Алгоритмы: основные понятия, примеры практической разработки
Алгоритмы: основные понятия, примеры практической разработки
Алгоритмы: основные понятия, примеры практической разработки
Картинки из презентации «Алгоритм основные понятия» к уроку информатики на тему «Алгоритм»

Автор: Балтахонов. Чтобы познакомиться с картинкой полного размера, нажмите на её эскиз. Чтобы можно было использовать все картинки для урока информатики, скачайте бесплатно презентацию «Алгоритм основные понятия.ppt» со всеми картинками в zip-архиве размером 127 КБ.

Скачать презентацию

Алгоритм основные понятия

содержание презентации «Алгоритм основные понятия.ppt»
Сл Текст Сл Текст
1Алгоритмы: основные понятия, примеры практической 19строка(1), цел n, q[*] строка(1), цел m) { цел i; если (n >
разработки. 1. m) то { возврат s;} иначе { возврат q;} если (n == m) то { i =1;
2Алгоритмы: основные понятия, примеры практической нц пока ( (s[i] == q[i]) & (i < n+1) ) { i++; } кц пока
разработки. Интуитивное понятие алгоритма. Под алгоритмом если (i == n+1) то { возврат s;} иначе { если ( (s[i] = “9”) ||
понимают точное предписание (набор инструкций) о выполнении в ( (s[i] = “8”) & (q[i]) != “9”) ) || ( (s[i] = “7”) &
определенной последовательности (порядке) некоторой системы (q[i]) != “9”) & (q[i]) != “8”) ) || ( (s[i] = “6”) &
операций для решения всех задач некоторого заданного типа. В (q[i]) != “9”) & (q[i]) != “8”) & (q[i]) != “7”) ) || (
математике серия однотипных задач считается решенной, когда для (s[i] = “5”) & (q[i]) != “9”) & (q[i]) != “8”) &
ее решения (при любых начальных данных) установлен алгоритм. 2. (q[i]) != “7”) & (q[i]) != “6”) ) || ( (s[i] = “4”) &
Вычислитель, пользующийся алгоритмом решения задачи данного (q[i]) != “9”) & (q[i]) != “8”) & (q[i]) != “7”) &
типа. Входные данные для задач одного типа. Результат. (q[i]) != “6”) & (q[i]) != “5”) ) || ( (s[i] = “3”) &
3Алгоритмы: основные понятия, примеры практической (q[i]) != “9”) & (q[i]) != “8”) & (q[i]) != “7”) &
разработки. Простейшие алгоритмы - правила выполнения основных (q[i]) != “6”) & (q[i]) != “5”) & (q[i]) != “4”) ) || (
арифметических действий для десятичных чисел. В IX веке (s[i] = “2”) & (q[i]) != “9”) & (q[i]) != “8”) &
сформулированы Мухамедом бен Муссой по прозвищу Аль-Хорезми (сам (q[i]) != “7”) & (q[i]) != “6”) & (q[i]) != “5”) &
термин «алгоритм» отдаленно напоминает его имя). Согласно (q[i]) != “4”) & q[i]) != “3”)) || ( (s[i] = “1”) &
Аль-Хорезми, процедура сложения двух многозначных чисел (q[i]) != “9”) & (q[i]) != “8”) & (q[i]) != “7”) &
разлагается в цепочку элементарных действий, при осуществлении (q[i]) != “6”) & (q[i]) != “5”) & (q[i]) != “4”) &
которых вычислитель (исполнитель) обозревает лишь две цифры q[i]) != “3”) & (q[i]) != “2”) ) ) то { возврат s;} иначе {
соответствующего разряда. Одна из этих цифр может быть возврат q;} } }. При нашем предположении о неумении исполнителя
снабженной специальной пометкой, указывающей на необходимость воспринимать значения чисел как числа и производить с ними
переноса единицы в следующий разряд. Эти элементарные операции арифметические и логические операции НЕОБХОДИМО написать
бывают двух типов: запись соответствующей цифры суммы; пометка о вспомогательные функции для выполнения указанных операций
переносе над соседней слева цифрой. При этом алгоритм псевдокода, поскольку значения целых переменных i, n, m – должны
предписывает надлежащий порядок выполнения этих операций: справа быть представлены как массивы односимвольных строк также, как
налево. 3. переменные s и q. Помимо этого, необходимо иметь функцию
4Алгоритмы: основные понятия, примеры практической вычисляющую текущую размерность этих массивов. 19.
разработки. Формальный характер предписаний (команд алгоритма), 20Алгоритмы: основные понятия, примеры практической
т.е. их независимость от содержания, вкладываемого в разработки. Функция, которая, используя описанную выше
используемые в операциях числа, дает возможность их применения подпрограмму и функцию поиска максимума, вычисляет сумму двух
для любых исходных данных. Ключевые понятия. Команда – это многозначных целых чисел. функция sum(s[*] строка(1), цел n,
указание исполнителю совершить некоторое действие. Исполнитель q[*] строка(1), цел m) { цел j; массив fl[max(s, n, q, m)+1]
(вычислитель) – устройство или живой существо, которое выполняет лог; массив rs[max(s, n, q, m)+1] строка(1); массив rq[max(s, n,
по определенным правилам составленный алгоритм. Исполнитель, q, m)+1] строка(1); массив rr[max(s s, n, q, m)+1] строка(1); //
который не понимает цели алгоритма, называется формальным блок инициализации рабочих массивов. Поскольку при сложении
исполнителем. Алгоритмом называется точная инструкция (набор может появиться дополнительный разряд слева, размерности рабочих
команд) исполнителю, сформулированная в понятной для него форме массивов прибавляются на 1. j=1; нц пока (j <= (max(s, n, q,
и определяющая процесс достижения поставленной цели на основе m)+1) { rs[j] = “0”; rq[j] = “0”; j=j++; } кц пока j =0; нц пока
имеющихся исходных данных за конечное число шагов. 4. (j <= n+1) { rs[max(s, n, q, m)+1-j] = s[n-j]; j=j++; } кц
5Алгоритмы: основные понятия, примеры практической пока j = 0; нц пока (j <= m+1) { rq[max(s, n, q, m)+1-j] =
разработки. Свойства алгоритма. 1. Универсальность (массовость) q[m-j]; j=j++; } кц пока. 20.
- применимость алгоритма к различным наборам исходных данных. 2. 21Алгоритмы: основные понятия, примеры практической
Дискретность - процесс решения задачи по алгоритму разбит на разработки. 21. // вычисляем сумму крайних правых цифр
отдельные действия. 3. Конечность - каждое из действий и весь sum2(rs[max(s, n, q, m)+1], rq[max(s, n, q, m)+1], rr[max(s, n,
алгоритм в целом обязательно завершаются. 4. Результативность - q, m)+1], fl[max(s, n, q, m)+1]); // имея значения суммы и метку
по завершении выполнения алгоритма обязательно получается переноса разряда, вычисляем следующие справа налево // суммы
конечный результат. 5. Выполнимость (эффективность) - результата цифр нц для (j= max(s, n, q, m); j <=1; j--) { sum2(rs[j],
алгоритма достигается за конечное число шагов. 6. rq[j], rr[j], fl[j]); // учитываем перенос разряда, если
Детерминированность (определенность) - алгоритм не должен необходимо если (fl[j+1]) то { если (rr[j] == “0”) то {rr[j] =
содержать предписаний, смысл которых может восприниматься “1”; } если (rr[j] == “1”) то {rr[j] = “2”; } если (rr[j] ==
неоднозначно. Т.е. одно и то же предписание после исполнения “2”) то {rr[j] = “3”; } если (rr[j] == “3”) то {rr[j] = “4”; }
должно давать один и тот же результат. 7. Последовательность – если (rr[j] == “4”) то {rr[j] = “5”; } если (rr[j] == “5”) то
порядок исполнения команд должен быть понятен исполнителю и не {rr[j] = “6”; } если (rr[j] == “6”) то {rr[j] = “7”; } если
должен допускать неоднозначности. 5. (rr[j] == “7”) то {rr[j] = “8”; } если (rr[j] == “8”) то {rr[j]
6Алгоритмы: основные понятия, примеры практической = “9”; } если (rr[j] == “9”) то {rr[j] = “0”; fl[j] = ИСТИНА;} }
разработки. Классы алгоритмов. - вычислительные алгоритмы, } кц для. // Убираем возможные лишние нули слева если (rr[1] ==
работающие со сравнительно простыми видами данных, такими как “0”) то { j = 1; нц пока (j <= max(s, n, q, m)) { rr[j] =
числа и матрицы, хотя сам процесс вычисления может быть долгим и rr[j+1]; j=j++; } кц пока } возврат rr; }.
сложным; - информационные алгоритмы, представляющие собой набор 22Алгоритмы: основные понятия, примеры практической
сравнительно простых процедур, работающих с большими объемами разработки. 22. Исходные данные (два числа) считываются потоком
информации (алгоритмы баз данных); - управляющие алгоритмы, посимвольно, символ пробел “ ” означает конец числа в потоке.
генерирующие различные управляющие воздействия на основе данных, Тогда можно написать подпрограмму, которая считывает строку
полученных от внешних процессов, которыми алгоритмы управляют. символов до первого пробела и заносит его в массив строк длины 1
Классификация алгоритмов по типу передачи управления: Основные размерности n. подпрог inp(s[*] строка(1), цел n) { цел i;
(главные выполняемые программы) и вспомогательные строка ss(1); i=0; ss=”’; нц пока (ss != “ ”) { ввод (ss); i++;
(подпрограммы). Вспомогательный алгоритм должен быть снабжен s[i] = ss; } кц пока n = i--; } Программа, которая использует
таким заголовком, который позволяет вызывать этот алгоритм из все разработанные ранее подпрограммы и функции и реализует
других алгоритмов (например, основных). 6. алгоритм сложения двух чисел, считанных их входного потока
7Алгоритмы: основные понятия, примеры практической данных (согласно блок-схеме). прог p1(арг ) линк inp(),max(),
разработки. Способы записи алгоритмов - Вербальный (словесный), sum2(), sum(); нач цел n1,n2; массив sv[*] строка(1); массив
когда алгоритм описывается на человеческом языке; - графический, qv[*] строка(1); массив rv[*] строка(1); inp(sv,n1); inp(sq,n2);
когда алгоритм описывается с помощью набора графических rv= sum(sv,n1,sq, n2); вывод (“Cумма”, rv); кон.
изображений. - символьный, когда алгоритм описывается с помощью 23Алгоритмы: основные понятия, примеры практической
специального набора символов (специального языка); Словесная разработки. Пусть алгоритм сложения двух целых чисел реализован
форма записи алгоритмов обычно используется для алгоритмов, с помощью функции СУММ(цел x, цел y), которая принимает на входе
ориентированных на исполнителя-человека. Команды такого два целых числа и выдает на выходе их сумму (целое число). Тогда
алгоритма выполняются в естественной последовательности, если не фрагмент программы, которая выполняет умножение двух целых чисел
оговорено противного. 7. n и m можно представить следующим образом. функция УМН(цел n,
8Алгоритмы: основные понятия, примеры практической цел m) { цел j, rez; rez=0; j=1; нц пока (j <= m) { rez =
разработки. Графическая запись с помощью блок-схем СУММ(rez, n); // rez = rez + n; j++; } кц пока возврат rez; }
осуществляется рисованием последовательности геометрических Если функция СУММ() фактически имитирует работу оператора «+»,
фигур, каждая из которых подразумевает выполнение определенного то написанная выше функция УМН() – является аналогом оператора
действия алгоритма. Порядок выполнения действий указывается «*». 23.
стрелками. Написание алгоритмов с помощью блок-схем 24Алгоритмы: основные понятия, примеры практической
регламентируется ГОСТом. 8. разработки. Алгоритм Евклида Решает все задачи следующего типа:
9Алгоритмы: основные понятия, примеры практической Для двух данных натуральных чисел а и b найти их наибольший
разработки. Алгоритмы разветвленной структуры: в зависимости от делитель. Очевидно, что различных задач такого типа существует
выполнения или невыполнения какого-либо условия производятся столько, сколько имеется различных пар чисел а и b . Словесная
различные последовательности действий. Алгоритмы линейной форма записи алгоритма. Указание 1. Обозревай два числа: а и b .
структуры: действия выполняются последовательно одно за другим. Переходи к Указанию 2. Указание 2. Сравни обозреваемые числа
9. (либо а == b , либо а > b , либо а < b ). Переходи к
10Алгоритмы: основные понятия, примеры практической Указанию 3. Указание 3. Если обозреваемые числа равны (а == b ),
разработки. Алгоритмы циклической структуры: в зависимости от то каждое из них дает искомый результат. Процесс вычислений
выполнения или невыполнения какого-либо условия выполняется остановить. Если числа не равны, то переходи к Указанию 4.
повторяющаяся последовательность действий, называющаяся телом Указание 4. Если а < b , то переставь их местами и продолжай
цикла. Различают циклы с предусловием и постусловием: 10. обозревать их. Переходи к Указанию 5. Указание 5. Вычитай второе
11Алгоритмы: основные понятия, примеры практической из обозреваемых чисел из первого и обозревай два числа:
разработки. Языки программирования содержат операторы цикла со вычитаемое и остаток. Переходи к Указанию 2. 24.
счетчиком. Они используются, когда изначально известно, сколько 25Алгоритмы: основные понятия, примеры практической
итераций (проходов) цикла необходимо выполнить. Модель цикла со разработки. А == b. Ввод исходных чисел а и b. А < b. s=a;
счетчиком может быть описана с помощью классического цикла с a=b; b=s; r = a – b; a = b; b = r; Вывод а. Блок-схема алгоритма
предусловием. 11. Тело цикла. Продолжение выполнения. Условие на Евклида. 25. Начало алгоритма. Инициализация рабочих переменных
значение счетчика. Нет. Инициализация переменной счетчика. Да. s=0 и r=0. Конец алгоритма.
Изменение счетчика. 26Алгоритмы: основные понятия, примеры практической
12Алгоритмы: основные понятия, примеры практической разработки. А != b. Ввод исходных чисел а и b. А < b. a = a –
разработки. Язык машинных команд применялся до создания языков b; b = b – a; Вывод а. Блок-схема алгоритма Евклида (упрощение).
программирования высокого уровня (50-60 годы прошлого века). В 26. Начало алгоритма. Инициализация рабочих переменных s=0 и
машине БЭСМ была принята трехадресная система команд. Каждая r=0. Конец алгоритма.
команда в этой системе представляла из себя последовательность 27Алгоритмы: основные понятия, примеры практической
четырех десятичных двухзначных чисел: aa xx yy zz где aa - разработки. 27. Программа на языке машинных команд, реализующая
указывало номер предписываемой операции; xx и yy - адреса двух алгоритм Евклида. Пусть исходные данные (числа a и b) помещены в
ячеек, над содержимым которых совершается данная операция; zz - ячейки с адресами 12 и 13 соответственно, ячейки с адресами 14 и
определяло адрес ячейки, в которую необходимо поместить 15 будем использовать для промежуточных вычислений, а результат
результат. Последовательность цифр 01 11 12 15 представляет после остановки машины должен оказаться в ячейке с адресом 15.
собой зашифрованную команду: «Сложить (операция 01) числа из 28Алгоритмы: основные понятия, примеры практической
ячеек с адресами 11 и 12, результат поместить в ячейку с адресом разработки. Если a – b = 0 (т.е. a = b), то команды 03 и 04 об
15». Чтобы оперировать адресами хотя бы 255 ячеек памяти, размер условной передаче управления игнорируются (пропускаются) и
самой ячейки в трехадресной команде (а также и ячеек с самими выполняется команда 05, т.е. происходит остановка машины. К
данными) должен быть как минимум 4 байта, по одному байту (8 этому моменту в ячейке 15 находится искомый результат. Если a –
бит) на каждую часть команды. Соответственно размер чисел с b < 0 (т.е. a < b), то команда 03 передает управление
таким размером ячейки памяти мог достигать 31 двоичных разрядов команде 06, которая вместе со следующей за ней командой 07
для целых чисел (крайний левый бит, как правило отдавался под переставляет местами числа a и b в ячейках 12 и 13, потом
знак числа), т.е. максимальное целое число могло быть 232 – 1. команда 08 обеспечивает безусловный переход к команде 01 и
Для действительных чисел еще один бит отдавался для десятичной начинается следующий цикл работы алгоритма. Если a – b > 0
точки, соответственно максимальная точность (размер мантиссы) (т.е. a > b), то команда 03 пропускается, а следующая за ней
мог составлять 29 двоичных разрядов. 12. команда 04, передает управление команде 09. Команды 09 и 10
13Алгоритмы: основные понятия, примеры практической пересылают в ячейки 12 и 13 прежнее вычитаемое и остаток от
разработки. 1. АРИФМЕТИЧЕСКИЕ КОМАНДЫ: А) 01 xx yy zz – Сложить предыдущей разности, т.е. числа b и a – b. Затем команда 11
число из ячейки с адресом xx с числом из ячейки с адресом yy и обеспечивает безусловный переход к команде 01 и начинается
сумму отправить в ячейку с адресом zz . Б) 02 xx yy zz – Вычесть следующий цикл работы алгоритма. После выполнения первых двух
из числа из ячейки с адресом xx число из ячейки с адресом yy и команд: 28.
разность отправить в ячейку с адресом zz. В) 03 xx yy zz – 29Алгоритмы: основные понятия, примеры практической
Умножить число из ячейки с адресом xx с числом из ячейки с разработки. функция НОД(цел n, цел m) { нц пока (n != m) { если
адресом yy и произведение отправить в ячейку с адресом zz. Г) 04 (n > m) то {n = n – m;} иначе {m = m – n;} } кц пока возврат
xx yy zz – Разделить число из ячейки с адресом xx на число из n; } прог p2(арг ) линк НОД(); { нач цел n1, n2, n3; ввод n1,
ячейки с адресом yy и частное отправить в ячейку с адресом zz. n2; n3 = НОД (n1, n2); вывод («результат», n3); кон }. Функция,
2. КОМАНДЫ ПЕРЕДАЧИ УПРАВЛЕНИЯ: Д) 05 00 00 zz – Переходить к нахождения НОД двух целых чисел. Программа, реализующая алгоритм
команде, хранящейся в ячейке с адресом zz (безусловная передача в соответствии с упрощенной блок-схемой. 29.
управления). Е) 05 01 yy zz – Переходить к команде, хранящейся в 30Алгоритмы: основные понятия, примеры практической
ячейке с адресом zz при условии, что в ячейке с адресом yy разработки. Поиск максимума в массиве чисел. Словесная форма
хранится положительное число. Ж) 05 02 yy zz – Переходить к записи. Указание 1. Установи значение счетчика в 1, переходи к
команде, хранящейся в ячейке с адресом zz при условии, что в указанию 2. Указание 2. Установи значение результата, равное
ячейке с адресом yy хранится отрицательное число. 3. КОМАНДА первому числу (элементу массива), переходи к Указанию 3.
ОСТАНОВКИ: 00 00 00 00. Команды выполнялись в том порядке, в Указание 3. Увеличь значение счетчика на 1, переходи к Указанию
каком они были записаны в ячейках памяти, если, конечно, данный 4. Указание 4. Сравни значение счетчика и количества чисел
порядок не менялся в результате выполнения команды передачи (размерность массива), переходи к указанию 5. Указание 5. Если
управления. 13. значение счетчика больше заданного количества чисел (размерности
14Алгоритмы: основные понятия, примеры практической массива), то остановка. Иначе переходи к указанию 6. Указание 6.
разработки. Псевдокод занимает промежуточное место между Сравни значения результата и числа с номером, соответствующим
естественным, машинным и формальным языком (языками текущему значению счетчика (текущего элемента массива), переходи
программирования). Структура программы на псевдокоде следующая. к указанию 7. Указание 7. Если значение результата меньше или
прог имя (арг <список аргументов>) линк список имен равно значению числа с номером, соответствующим текущему
внешних подпрограмм; лог список имен логических переменных; цел значению счетчика (текущего элемента массива), то переходи к
список имен целых переменных; вещ список имен вещественных указанию 8, иначе переходи к указанию 9. Указание 8. Присвой
переменных; строка имя(длина); массив имя[размерность] тип результату значение числа с номером, соответствующим текущему
значений < лог | цел | вещ | строка (длина)>; функция значению счетчика (текущего элемента массива), переходи к
имя(параметры) { <тело функции> возврат значение; } указанию 9. Указание 9. Переходи к Указанию 3. 30.
подпрог имя(параметры); { <тело подпрограммы> } нач 31Алгоритмы: основные понятия, примеры практической
<выполняемое тело программы> кон. 14. разработки. Для реализации данного алгоритма на языке машинных
15Алгоритмы: основные понятия, примеры практической команд «в лоб», т.е. выполнения N-1 раз двух операций: сравнение
разработки. Используются: знаки арифметических операций: «+», « текущего элемента массива с промежуточным значением результата и
- «, «/», «*» в выражениях, оператор присвоить «=». В логических присвоения в случае выполнения условия «<» значения текущего
выражениях будут применяться следующие операторы «==» - равно, элемента промежуточному результату, необходимо, помимо N ячеек
«!=» - не равно; «<» - меньше; «<=» меньше или равно; для хранения элементов массива выделить 4*(N-1)+1 ячеек памяти
«>» - больше; «>=» - больше или равно. Для объединения для размещения всех необходимых команд. При этом очевидно, что
логических условий будем использовать логические операторы «И» - любое изменение исходных данных (массива чисел) приведет к
«&», «ИЛИ» - «||». Чтобы присвоить логической переменной необходимости переписывать эту программу заново. 31. Да. Счетчик
значения будем использовать литералы ИСТИНА или ЛОЖЬ. Операторы > N. Счетчик = 1; Результат = а[1]; Счетчик++; Нет. Да.
будут отделяться «;». Группы операторов мы будем заключать в Результат = a[Счетчик]; Конец. Результат <= a[Счетчик]. Нет.
фигурные скобки «{» и «}». Ключевые слова отличаются от имен 32Алгоритмы: основные понятия, примеры практической
переменных русским написанием и снабжаются подчеркиванием. 15. разработки. Для реализации циклических алгоритмов в языке
1. Операторы ввода, вывода ввод (список переменных); вывод машинных команд предусмотрены так называемые команды
(«строка», список переменных); 2. Операторы цикла: нц пока переадресации, с помощью которых можно запрограммировать
(условие выполнения) { тело цикла } кц пока // комментарии нц до повторяющиеся операции с использованием фиксированного набора
{ тело цикла } кц до (условие завершения) // комментарии нц для ячеек. Условимся, что команды переадресации будут маркироваться
(инициализация счетчика; условие завершения; шаг) { тело цикла } числом 06 и их смысл будет заключаться в покомпонентном
кц для 3. Условный оператор: если (условие) то изменении адресов ячеек, участвующих в изменяемой команде.
{последовательность действий} иначе {последовательность Например, если во вспомогательной ячейке переадресации с адресом
действий} 4. Операторы инкремент и декремент: «++» увеличивает 77 помещено значение 06 01 02 00, а исходная ячейка 33 имеет
целую переменную на 1; «--« уменьшает целую переменную на 1. значение 02 16 20 05, то при выполнении команды переадресации 01
16Алгоритмы: основные понятия, примеры практической 33 77 33 значение переадресованной ячейки 33 станет равным 02 17
разработки. Алгоритм сложения двух целых многозначных чисел. 16. 22 05. Пусть в ячейке 12 расположено значение размерности
1.1. Начало. 1. Функция, находящая максимум из двух чисел. Ввод массива N, уменьшенное на единицу (N-1), в ячейке 13 результаты
исходных значений. Функция, выполняющая сложение двух промежуточных вычислений, в ячейке 14 - искомый результат, с 15
многозначных чисел. 1.1. 1. 1.1. 1.2. Вывод результата. 1.2. ячейки размещены элементы массива. 32.
Подпрограмма, находящая сумму двух одноразрядных чисел и 3333.
ставящая метку переноса разряда. 1. Конец. 1.2. 34Алгоритмы: основные понятия, примеры практической
17Алгоритмы: основные понятия, примеры практической разработки. функция МАКСМАС(цел n, массив а[n] цел ) { цел i,
разработки. подпрог sum2(rs строка(1), rq строка(1), rr rez; i = 2; rez = a[1]; нц пока (i <= n) { если (rez <
строка(1), f лог) { f = ЛОЖЬ; если (rs == “0”) то {rr = rq;} a[i]) то {rez=a[i];} i++; } кц пока возврат rez; }. Алгоритм
если (rq == “0”) то {rr = rs;} если ((rs == “1”) & (rq == поиска максимума в массиве чисел на псевдокоде. Замечание. Если
“1”)) то {rr = “2”;} если ( ( ((rs == “1”) & (rq == “2”)) ) в условном операторе (указании 7) выполнить строгое сравнение,
|| ( ((rs == “2”) & (rq == “1”)) ) ) то {rr = “3”;} если ( ( то алгоритм приведет к нахождению первого из встреченных
((rs == “1”) & (rq == “3”)) ) || ( ((rs == “3”) & (rq == максимальных значений набора чисел (элементов массива). В общем
“1”)) ) ) то {rr = “4”;} если ( ( ((rs == “1”) & (rq == случае в массиве могут быть равные значения элементов. Если
“4”)) ) || ( ((rs == “4”) & (rq == “1”)) ) ) то {rr = “5”;} неравенство нестрогое – «<=» , то будет найден последний из
если ( ( ((rs == “1”) & (rq == “5”)) ) || ( ((rs == “5”) равных максимальных значений. Хотя, несомненно, и в том и другом
& (rq == “1”)) ) ) то {rr = “6”;} если ( ( ((rs == “1”) случае мы получим один и тот же числовой результат, фактически
& (rq == “6”)) ) || ( ((rs == “6”) & (rq == “1”)) ) ) то это могут быть разные элементы набора чисел (массива). 34.
{rr = “7”;} если ( ( ((rs == “1”) & (rq == “7”)) ) || ( ((rs 35Алгоритмы: основные понятия, примеры практической
== “7”) & (rq == “1”)) ) ) то {rr = “8”;} если ( ( ((rs == разработки. Сортировка – упорядочение элементов в списке.
“1”) & (rq == “8”)) ) || ( ((rs == “8”) & (rq == “1”)) ) 1/2*n*(n-1) - число сравнений. 3/4*n*(n-1) - среднее число
) то {rr = “9”;} если ( ( ((rs == “1”) & (rq == “9”)) ) || ( перестановок. 3/2*n*(n-1) - максимальное возможное число
((rs == “9”) & (rq == “1”)) ) ) то {rr = “0”; f = ИСТИНА;} перестановок. Метод «пузырька». Самый популярный и достаточно
если ( ((rs == “2”) & (rq == “2”)) ) то {rr = “4”; } если ( медленный вид сортировки. Основан на методе перестановок, т.е. в
( ((rs == “2”) & (rq == “3”)) ) || ( ((rs == “3”) & (rq данном алгоритме осуществляется постоянное сравнение текущего
== “2”)) ) ) то {rr = “5”; } если ( ( ((rs == “2”) & (rq == элемента с другими элементами и перестановка их при
“4”)) ) || ( ((rs == “4”) & (rq == “2”)) ) ) то {rr = “6”; } необходимости. Алгоритм состоит из двух вложенных циклов.
если ( ( ((rs == “2”) & (rq == “5”)) ) || ( ((rs == “5”) Внешний цикл задает область поиска (диапазон индексов), а
& (rq == “2”)) ) ) то {rr = “7”; } если ( ( ((rs == “2”) внутренний цикл внутри этого диапазона выполняет сравнение и
& (rq == “6”)) ) || ( ((rs == “6”) & (rq == “2”)) ) ) то перестановку элементов массива. 35. На первом проходе внешнего
{rr = “8”; } если ( ( ((rs == “2”) & (rq == “7”)) ) || ( цикла первый элемент сравнивается попарно со всеми остальными
((rs == “7”) & (rq == “2”)) ) ) то {rr = “9”; } если ( ( элементами, начиная со второго. При этом, если выполняется
((rs == “2”) & (rq == “8”)) ) || ( ((rs == “8”) & (rq == условие «>», то элементы переставляются местами и сравнения
“2”)) ) ) то {rr = “0”; f = ИСТИНА;} если ( ( ((rs == “2”) & обновленного значения первого элемента массива с оставшимися
(rq == “9”)) ) || ( ((rs == “9”) & (rq == “2”)) ) ) то {rr = элементами продолжаются до тех пор, пока внутренний цикл не
“1”; f = ИСТИНА;} если ( ((rs == “3”) & (rq == “3”)) ) то дойдет до последнего элемента. В результате на месте первого
{rr = “6”; } если ( ( ((rs == “3”) & (rq == “4”)) ) || ( элемента окажется минимальное среди всех значений. Второй проход
((rs == “4”) & (rq == “3”)) ) ) то {rr = “7”; } если ( ( внешнего цикла сокращает область действия внутреннего цикла –
((rs == “3”) & (rq == “5”)) ) || ( ((rs == “5”) & (rq == первый элемент уже стоит на своем месте. Происходят сравнения
“3”)) ) ) то {rr = “8”; } если ( ( ((rs == “3”) & (rq == второго элемента массива с последующими и при необходимости
“6”)) ) || ( ((rs == “6”) & (rq == “3”)) ) ) то {rr = “9”; } замены их местами. И так далее. После n-1 проходов внешнего
если ( ( ((rs == “3”) & (rq == “7”)) ) || ( ((rs == “7”) цикла (n размер массива) на последнем месте в массиве остается
& (rq == “3”)) ) ) то {rr = “0”; f = ИСТИНА;} если ( ( ((rs только один (максимальный) элемент и алгоритм завершается.
== “3”) & (rq == “8”)) ) || ( ((rs == “8”) & (rq == 36Алгоритмы: основные понятия, примеры практической
“3”)) ) ) то {rr = “1”; f = ИСТИНА;} если ( ( ((rs == “3”) & разработки. Исходный массив - {15.0, -3.0, 10.0, 5.0, -9.0}. 1.
(rq == “9”)) ) || ( ((rs == “9”) & (rq == “3”)) ) ) то {rr = Первый проход внешнего цикла: произведено 2 замены и на первом
“2”; f = ИСТИНА;}. 17. месте оказалось минимальное значение среди всех элементов
18Алгоритмы: основные понятия, примеры практической массива – «-9.0». {-3.0, 15.0, 10.0, 5.0, -9.0} – первая замена
разработки. если ( ((rs == “4”) & (rq == “4”)) ) то {rr = 15 на -3; {-3.0, 15.0, 10.0, 5.0, -9.0} – замены нет; {-3.0,
“8”; } если ( ( ((rs == “4”) & (rq == “5”)) ) || ( ((rs == 15.0, 10.0, 5.0, -9.0} – замены нет; {-9.0, 15.0, 10.0, 5.0,
“5”) & (rq == “4”)) ) ) то {rr = “9”; } если ( ( ((rs == -3.0} – вторая замена -3 на -9. 2. Второй проход внешнего цикла:
“4”) & (rq == “6”)) ) || ( ((rs == “6”) & (rq == “4”)) ) произведено 3 замены и на втором месте слева оказался
) то {rr = “0”; f = ИСТИНА;} если ( ( ((rs == “4”) & (rq == минимальный из оставшихся элементов массива – «-3.0». {-9.0,
“7”)) ) || ( ((rs == “7”) & (rq == “4”)) ) ) то {rr = “1”; f 10.0, 15.0, 5.0, -3.0} – первая замена 15 на 10. {-9.0, 5.0,
= ИСТИНА;} если ( ( ((rs == “4”) & (rq == “8”)) ) || ( ((rs 15.0, 10.0, -3.0} – вторая замена 10 на 5. {-9.0, -3.0, 15.0,
== “8”) & (rq == “4”)) ) ) то {rr = “2”; f = ИСТИНА;} если ( 10.0, 5.0} – третья замена 5 на -3. 3. Третий проход внешнего
( ((rs == “4”) & (rq == “9”)) ) || ( ((rs == “9”) & (rq цикла: производено 2 замены. {-9.0, -3.0, 10.0, 15.0, 5.0} –
== “4”)) ) ) то {rr = “3”; f = ИСТИНА;} если ( ((rs == “5”) первая замена 10 на 15. {-9.0, -3.0, 5.0, 15.0, 10.0} – вторая
& (rq == “5”)) ) то {rr = “0”; f = ИСТИНА;} если ( ( ((rs == замена 5 на 10. 4. На четвертом (последнем) проходе внешнего
“5”) & (rq == “6”)) ) || ( ((rs == “6”) & (rq == “5”)) ) цикла произведена 1 замена Это привело к получению искомого
) то {rr = “1”; f = ИСТИНА;} если ( ( ((rs == “5”) & (rq == результата: {-9.0, -3.0, 5.0, 10.0, 15.0}. Массив отсортирован
“7”)) ) || ( ((rs == “7”) & (rq == “5”)) ) ) то {rr = “2”; f по возрастанию. 36.
= ИСТИНА;} если ( ( ((rs == “5”) & (rq == “8”)) ) || ( ((rs 37Алгоритмы: основные понятия, примеры практической
== “8”) & (rq == “5”)) ) ) то {rr = “3”; f = ИСТИНА;} если ( разработки. Блок-схема алгоритма «пузырьковой» сортировки.
( ((rs == “5”) & (rq == “9”)) ) || ( ((rs == “9”) & (rq Задание: записать алгоритм сортировки в словесной форме (в виде
== “5”)) ) ) то {rr = “4”; f = ИСТИНА;} если ( ((rs == “6”) указаний) и на языке машинных команд. 37. I > N-1. J > N.
& (rq == “6”)) ) то {rr = “2”; f = ИСТИНА;} если ( ( ((rs == –. –. J= I +1; I=1; +. A[J] < A[I]. –. +. +. D = A[J]; A[J] =
“6”) & (rq == “7”)) ) || ( ((rs == “7”) & (rq == “6”)) ) A[I]; A[I] = D; I++; J++; Конец. функция СОРТ1(цел n, массив
) то {rr = “3”; f = ИСТИНА;} если ( ( ((rs == “6”) & (rq == а[n] цел ) { цел i, j, k; i = 1; нц пока (i <= n-1) { j= i +
“8”)) ) || ( ((rs == “8”) & (rq == “6”)) ) ) то {rr = “4”; f 1; нц пока (j <= n) { если (a[j] < a[i]) то {k = a[i];
= ИСТИНА;} если ( ( ((rs == “6”) & (rq == “9”)) ) || ( ((rs a[i] = a[j]; a[j] = k;} j++; } кц пока // по j i++; } кц пока //
== “9”) & (rq == “6”)) ) ) то {rr = “5”; f = ИСТИНА;} если ( по i возврат a; }.
((rs == “7”) & (rq == “7”)) ) то {rr = “4”; f = ИСТИНА;} 38Алгоритмы: основные понятия, примеры практической
если ( ( ((rs == “7”) & (rq == “8”)) ) || ( ((rs == “8”) разработки. Рассмотренные нами алгоритмы относятся к группе так
& (rq == “7”)) ) ) то {rr = “5”; f = ИСТИНА;} если ( ( ((rs называемых вычислительных алгоритмов. На самом деле
== “7”) & (rq == “9”)) ) || ( ((rs == “9”) & (rq == разрабатываются алгоритмы решения различных задач, в том числе и
“7”)) ) ) то {rr = “6”; f = ИСТИНА;} если ( ((rs == “8”) & логических. Например, можно предложить схемы решения таких
(rq == “8”)) ) то {rr = “6”; f = ИСТИНА;} если ( ( ((rs == “8”) известных задач-головоломок, как решение игры 15, поиск
& (rq == “9”)) ) || ( ((rs == “9”) & (rq == “8”)) ) ) то кратчайшего пути в лабиринте (задача Тезей и Минотавр), а также
{rr = “7”; f = ИСТИНА;} если ( ((rs == “9”) & (rq == “9”)) ) разработать достаточно эффективные алгоритмы игры в шашки,
то {rr = “8”; f = ИСТИНА;} }. «вычислитель», обозревая два шахматы и др. Создание эффективных алгоритмов, как и
символа (цифры) rs и rq производит их «сложение», т.е. каждой доказательство отсутствия разрешающего алгоритма для того или
возможной паре этих символов ставит в соответствие символ rr, иного типа задач, является одной из ключевых проблем математики
являющийся результатом суммирования и переводит, если это и сродни ИСКУССТВУ. 38.
необходимо, метку переноса разряда (логическая переменная f) в 39Алгоритмы: основные понятия, примеры практической
состояние «ИСТИНА». 18. разработки. Дональд Кнут «Искусство программирования», The Art
19Алгоритмы: основные понятия, примеры практической of Computer Programming,. — 2-е изд. — М.: «Вильямс», 2007. —
разработки. Вспомогательная функция, находящая максимальное из 824 с. В ней, в томе 3 «Сортировка и поиск», описывается
двух целых многозначных чисел при условии, что числа большинство известных типов алгоритмов сортировки. 39.
представлены как массивы строк длины 1, а «вычислитель» не умеет 40Алгоритмы: основные понятия, примеры практической
производить сравнение целых значений. функция max(s[*] разработки. 40.
«Алгоритм основные понятия» | Алгоритм основные понятия.ppt
http://900igr.net/kartinki/informatika/Algoritm-osnovnye-ponjatija/Algoritm-osnovnye-ponjatija.html
cсылка на страницу

Алгоритм

другие презентации об алгоритме

«Формы представления алгоритма» - Учащиеся должны. Программная (команды языка компьютера). Содержание программы. Информатика и ИКТ: учебник для 9 класса . Вопросы на повторение. Подробно рассмотреть форму алгоритма – блок-схема. Что необходимо для составления алгоритма? §12.3 Формы представления алгоритма. 5-7 классы. Требований к уровню подготовки выпускников.

«Примеры линейных алгоритмов» - Блок-схема (графическое представление). Найти площадь поверхности куба со стороной a. Команда N кон. Алгоритм, в котором команды выполняются последовательно одна за другой, называется линейным. Линейный алгоритм. Задача. Команда N End. Дано:a Найти: S. Линейный алгоритм (пример). Алгоритмический язык.

«Алгоритм уроки» - Способы описания алгоритма. Тема урока «АЛГОРИТМЫ». Проверку условия. Исполнителем может быть человек, автомат, компьютер. Пароход упёрся в берег. Алгоритмическим языком – то есть учебным языком. Алгоритмы бывают очень сложными и большими по объему. Мы устали, засиделись, Нам размяться захотелось. Графического описания алгоритма.

«Понятие алгоритма» - Дискретность Детерминированность Результативность Массовость. Необходимость уточнения понятия алгоритма. Свойства алгоритмов. Алгоритм (лат. algorithmi – аль Хорезми – ср. азиатский математик IX в.,). Алгоритмически неразрешимая задача. Построить алгоритмы не удавалось, возникло понятие алгоритмически неразрешимой задачи.

«Алгоритм задачи» - Из каких компонентов состоит? Надеть ведро на третий шар. Конец. Сделать глаза из угольков на третьем шаре. Вправо 3. Какие существуют формы записи алгоритмов? Что необходимо для составления алгоритма? Исполнитель Кузнечик прыгает вдоль числовой оси на заданное число делений. Алгоритм с повторением (циклический).

«Схема алгоритма» - Возвращаюсь домой. Пример: Линейный алгоритм. Схема алгоритма. Начало. t<22. Обычно после школы я иду гулять, а когда возвращаюсь, делаю уроки. Дома я поем, сделаю уроки и сяду играть на компьютере. Графические объекты блок-схемы: Разветвляющийся алгоритм (неполная форма). Если завтра будет очень холодно, то я не пойду в школу.

Урок

Информатика

126 тем
Картинки
Презентация: Алгоритм основные понятия | Тема: Алгоритм | Урок: Информатика | Вид: Картинки
900igr.net > Презентации по информатике > Алгоритм > Алгоритм основные понятия.ppt