Алгоритмы[1].ppt
- Количество слайдов: 23
АЛГОРИТМ, СВОЙСТВА АЛГОРИТМА, ТИПЫ АЛГОРИТМОВ Компьютер как формальный исполнитель алгоритмов
Определение алгоритма Алгоритм - это точное и понятное указание исполнителю совершить последовательность действий, направленных на достижение указанной цели или на решение поставленной задачи.
История слова Термин алгоритм произошёл от имени арабского математика Аль – Хорезми , который разработал правила вычисления в вычислительной математике.
Результативность – получение Результативность результата за конечное количество шагов Свойства алгоритма Дискретность (прерывность, ( Дискретность раздельность) – разбиение алгоритма на отдельные шаги, выполнение которых не вызывает сомнения АЛГОРИТМ Массовость – может применяться при Массовость различных исходных данных Детерминированность (определенность, точность) – каждое действие должно строго и недвусмысленно определено Конечность – каждое действие в Конечность отдельности и алгоритм в целом должны иметь возможность завершения
Способы записи алгоритмов ØСловесно-формульный (на естественном языке с использованием формул) ØГрафический (блок-схема) ØНа языке программирования (программа)
Решение квадратного уравнения A 2 x + Bx + C = 0 1. Начать. 2. Ввод A, B, C. 3. 4. Если D < 0, то идти к п. 6. 5. Если D > 0, то идти к п. 8. 6. Действительных корней нет. 7. Идти к п. 10. 8. 9. Вывести значения X 1 и X 2. 10. Закончить.
Элементы блок-схемы Наименование Пуск-останов Процесс-действие Вывод на экран Обозначение
Наименование Условие, выбор Обозначение Нет Да Да Нет Ввод с клавиатуры Цикл с параметром Соединители Комментарии Текст комментария
Нет Да Действительных корней нет
#include
Виды алгоритмов ØЛинейный (следование); ØРазветвленный (ветвление, выбор, альтернатива); ØЦиклический (повтор);
Линейный алгоритм Алгоритм называется линейным, если все его действия выполняются последовательно друг за другом от начала до конца. начало действие 1 … действие n конец
Блок-схема линейного алгоритма начало блок "начало" a, b блок "ввод" c = a + b блок "процесс" c блок "вывод" конец блок "конец" 13
Задачи линейного алгоритма 1. Дана величина А – объем информации в байтах. Перевести размер в более крупные единицы измерения (Кб, Мб, Гб, Тб). Начало A K=A/1024 M=K/1024 G=M/1024 2. Квадратная комната шириной А и высотой B. Есть окно (Cx. D) и дверь (Mx. N). Вычислить площадь стен для оклеивания их обоями (самостоятельно) T=G/1024 K, M, G, T Конец
Разветвляющийся алгоритм В разветвляющемся алгоритме имеются разные варианты решения задачи в зависимости от результата проверки какоголибо условия
Типы алгоритма с ветвью Неполная ветвь Нет Да Условие Действие Полная ветвь Нет Действие 2 Условие Да Действие 1
Задачи алгоритма с ветвлением Начало Сторона a Радиус r 1. Можно ли поместить круг в квадрат 2. Можно ли поместить квадрат в круг (Самостоятельно) a, r Нет Да r<=a/2 Нельзя Можно Конец
Циклический алгоритм описание действий, которые должны повторяться, пока не выполнено заданное условие или указанное число раз.
Типы циклических алгоритмов С условием С параметром Нет Счетчик=нач, кон, шаг Условие Да Команды тела цикла
Пример циклического алгоритма Для каждого значения угла в градусах от 0 до 90 получить значение угла в радианах Начало Ug=0 Нет Ug<=90 Да Нет Ug=0, 90, 1 Да Ur=Ug*π/180 Ug, Ur Ug=Ug+1 Конец
программа – алгоритм, написанный на языке понятном для ЭВМ алгоритм программа
В настоящее время существуют сотни языков программирования(Си, Бейсик, Паскль, Java…)
Языки программирования • Машинно-ориентированные (низкого уровня) каждая команда соответствует одной команде процессора (ассемблер) • Языки высокого уровня – приближены к естественному (английскому) языку, легче воспринимаются человеком, не зависят от конкретного компьютера • для обучения: Бейсик, ЛОГО, Паскаль • профессиональные: Си, Фортран, Паскаль • для задач искусственного интеллекта: Пролог, ЛИСП • для Интернета: Java. Script, Java, Perl, PHP, ASP 23