Скачать презентацию АЛГОРИТМ СВОЙСТВА АЛГОРИТМА ТИПЫ АЛГОРИТМОВ Компьютер как формальный Скачать презентацию АЛГОРИТМ СВОЙСТВА АЛГОРИТМА ТИПЫ АЛГОРИТМОВ Компьютер как формальный

Алгоритмы[1].ppt

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

АЛГОРИТМ, СВОЙСТВА АЛГОРИТМА, ТИПЫ АЛГОРИТМОВ Компьютер как формальный исполнитель алгоритмов АЛГОРИТМ, СВОЙСТВА АЛГОРИТМА, ТИПЫ АЛГОРИТМОВ Компьютер как формальный исполнитель алгоритмов

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

История слова Термин алгоритм произошёл от имени арабского математика Аль – Хорезми , который История слова Термин алгоритм произошёл от имени арабского математика Аль – Хорезми , который разработал правила вычисления в вычислительной математике.

Результативность – получение Результативность результата за конечное количество шагов Свойства алгоритма Дискретность (прерывность, ( Результативность – получение Результативность результата за конечное количество шагов Свойства алгоритма Дискретность (прерывность, ( Дискретность раздельность) – разбиение алгоритма на отдельные шаги, выполнение которых не вызывает сомнения АЛГОРИТМ Массовость – может применяться при Массовость различных исходных данных Детерминированность (определенность, точность) – каждое действие должно строго и недвусмысленно определено Конечность – каждое действие в Конечность отдельности и алгоритм в целом должны иметь возможность завершения

Способы записи алгоритмов ØСловесно-формульный (на естественном языке с использованием формул) ØГрафический (блок-схема) ØНа языке Способы записи алгоритмов ØСловесно-формульный (на естественном языке с использованием формул) ØГрафический (блок-схема) ØНа языке программирования (программа)

Решение квадратного уравнения A 2 x + Bx + C = 0 1. Начать. Решение квадратного уравнения 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 <math. h> #include <io. h> #include <conio. h> int main(void) { float a, #include #include #include int main(void) { float a, b, c, d, x 1, x 2; cout<<“Input a, b, c: ”; cin>>a>>b>>c; d=b*b-4*a*c; if (d<0) cout<<“no korny”; else { x 1=(-b-sqrt(d))/(2*a); x 2=(-b+sqrt(d))/(2*a); cout<<“x 1=“<

Виды алгоритмов ØЛинейный (следование); ØРазветвленный (ветвление, выбор, альтернатива); ØЦиклический (повтор); Виды алгоритмов ØЛинейный (следование); ØРазветвленный (ветвление, выбор, альтернатива); ØЦиклический (повтор);

Линейный алгоритм Алгоритм называется линейным, если все его действия выполняются последовательно друг за другом Линейный алгоритм Алгоритм называется линейным, если все его действия выполняются последовательно друг за другом от начала до конца. начало действие 1 … действие n конец

Блок-схема линейного алгоритма начало блок Блок-схема линейного алгоритма начало блок "начало" a, b блок "ввод" c = a + b блок "процесс" c блок "вывод" конец блок "конец" 13

Задачи линейного алгоритма 1. Дана величина А – объем информации в байтах. Перевести размер Задачи линейного алгоритма 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. Можно ли поместить круг Задачи алгоритма с ветвлением Начало Сторона a Радиус r 1. Можно ли поместить круг в квадрат 2. Можно ли поместить квадрат в круг (Самостоятельно) a, r Нет Да r<=a/2 Нельзя Можно Конец

Циклический алгоритм описание действий, которые должны повторяться, пока не выполнено заданное условие или указанное Циклический алгоритм описание действий, которые должны повторяться, пока не выполнено заданное условие или указанное число раз.

Типы циклических алгоритмов С условием С параметром Нет Счетчик=нач, кон, шаг Условие Да Команды Типы циклических алгоритмов С условием С параметром Нет Счетчик=нач, кон, шаг Условие Да Команды тела цикла

Пример циклического алгоритма Для каждого значения угла в градусах от 0 до 90 получить Пример циклического алгоритма Для каждого значения угла в градусах от 0 до 90 получить значение угла в радианах Начало Ug=0 Нет Ug<=90 Да Нет Ug=0, 90, 1 Да Ur=Ug*π/180 Ug, Ur Ug=Ug+1 Конец

 программа – алгоритм, написанный на языке понятном для ЭВМ алгоритм программа программа – алгоритм, написанный на языке понятном для ЭВМ алгоритм программа

В настоящее время существуют сотни языков программирования(Си, Бейсик, Паскль, Java…) В настоящее время существуют сотни языков программирования(Си, Бейсик, Паскль, Java…)

Языки программирования • Машинно-ориентированные (низкого уровня) каждая команда соответствует одной команде процессора (ассемблер) • Языки программирования • Машинно-ориентированные (низкого уровня) каждая команда соответствует одной команде процессора (ассемблер) • Языки высокого уровня – приближены к естественному (английскому) языку, легче воспринимаются человеком, не зависят от конкретного компьютера • для обучения: Бейсик, ЛОГО, Паскаль • профессиональные: Си, Фортран, Паскаль • для задач искусственного интеллекта: Пролог, ЛИСП • для Интернета: Java. Script, Java, Perl, PHP, ASP 23