Презентация на тему алгоритмы эффективного знакомства. Презентация по информатике на тему "Алгоритм. Свойства алгоритма". Этап усвоения новых знаний

Алгоритмы

Введение в программирование


Алгоритм

Появление алгоритмов связывают с зарождением математики. Более 1000 лет назад (в 825 году) ученый из города Хорезма Абдулла (или Абу Джафар) Мухаммед бен Муса аль-Хорезми создал книгу по математике, в которой описал способы выполнения арифметических действий над многозначными числами. Само слово алгоритм возникло в Европе после перевода на латынь книги этого математика.

Алгоритм – описание последовательности действий (план), строгое исполнение которых приводит к решению поставленной задачи за конечное число шагов.


  • 1. Достать ключ из кармана.
  • 2. Вставить ключ в замочную скважину.
  • 3. Повернуть ключ два раза против часовой стрелки.
  • 4. Вынуть ключ

  • Дискретность (алгоритм должен состоять из конкретных действий, следующих в определенном порядке);
  • Детерминированность (любое действие должно быть строго и недвусмысленно определено в каждом случае);
  • Конечность (каждое действие и алгоритм в целом должны иметь возможность завершения);
  • Массовость (один и тот же алгоритм можно использовать с разными исходными данными);
  • Результативность (отсутствие ошибок, алгоритм должен приводить к правильному результату для всех допустимых входных значениях).

  • Линейный алгоритм (описание действий, которые выполняются однократно в заданном порядке);
  • Циклический алгоритм (описание действий, которые должны повторятся указанное число раз или пока не выполнено задание);
  • Разветвляющий алгоритм (алгоритм, в котором в зависимости от условия выполняется либо одна, либо другая последовательность действий)
  • Вспомогательный алгоритм (алгоритм, который можно использовать в других алгоритмах, указав только его имя).

  • В устной форме.
  • В письменной форме на естественном языке.
  • В письменной форме на формальном языке.
  • Для более наглядного представления алгоритма широко используется графическая форма - блок-схема , которая составляется из стандартных графических объектов.

Вид стандартного графического объекта

Назначение

Начало алгоритма

Конец алгоритма

Выполняемое действие записывается внутри прямоугольника

Условие выполнения действий записывается внутри ромба

Счетчик кол-во повторов

Последовательность выполнения действий


Пример записи алгоритма в виде блок-схемы

Ввод чисел а и b

Вычисление площади s=a*b

Вывод результата на экран


  • Алгоритм должен быть представлен в форме, понятной человеку, который его разрабатывает.
  • Алгоритм должен быть представлен в форме, понятной тому объекту (в том числе и человеку), который будет выполнять описанные в алгоритме действия.

Исполнители алгоритмов

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

  • Исполнитель - объект, который выполняет алгоритм.

Идеальными исполнителями являются машины, роботы, компьютеры...

  • Компьютер – автоматический исполнитель алгоритмов.
  • Алгоритм, записанный на «понятном» компьютеру языке программирования, называется программой .

  • Что такое алгоритм? Приведите примеры алгоритмов.
  • Какие свойства алгоритмов вы знаете?
  • Какие виды алгоритмов вы знаете?
  • Какие способы записи алгоритмов вы знаете?
  • Что такое исполнитель алгоритмов?
  • Что такое программа?

PRINT "Привет!"


PRINT "Привет!"


PRINT


INPUT "Введите длину: ", a

INPUT "Введите ширину: ", b

PRINT "Площадь прямоугольника равна ",s

Cлайд 1

Cлайд 2

Возникновение термина «алгоритм» Понятие алгоритма, примеры алгоритмов Основные свойства алгоритмов Способы задания алгоритмов Обозначения, используемые в блок-схемах алгоритмов Виды алгоритмов

Cлайд 3

Имя Хорезми, в его латинизированной форме Алхорезми, увековечено в повсеместно известном математическом термине алгоритм. Алгоритм - это несколько измененная форма имени Алхорезми, под влиянием греческого слова „ аритмос" - число. Великий узбекский математик 9 века Аль Хорезми Мухамед бен Муса Возникновение понятия алгоритм

Cлайд 4

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

Cлайд 5

Пример алгоритма, изучаемого в школьном курсе математики: Алгоритм выполнения арифметических операций Произвести вычисления в скобках или раскрыть скобки в выражении (если они есть); Выполнить все действия второй ступени (умножение и деление); Выполнить действия первой ступени (сложение и вычитание).

Cлайд 6

Пример алгоритма, изучаемого в школьном курсе русского языка: Алгоритм Правописание приставок на «з», «с». 1. Выделяем корень слова. 2. Если корень начинается со звонкой перейти к пункту 3, в противном случае к пункту 4 3. В приставке пишем «з». Перейти к пункту 5 4. В приставке пишем «с». 5. Записать слово

Cлайд 7

Примеры алгоритмов из жизни: Руководство по ремонту, эксплуатации и обслуживанию автомобиля Рецепт Правила пользования телефоном Инструкция по эвакуации во время пожара Распорядок дня

Cлайд 8

Основные свойства алгоритмов: 1. Дискретность Алгоритм должен состоять из конкретных действий, следующих в определённом порядке. Пример. Алгоритм приготовления блюда быстрого питания: 1. Высыпать в емкость содержимое пакетика. 2. Налить в емкость 200 мл горячей воды. 3. Перемешать.

Cлайд 9

Детерминированность (однозначность) Любое действие должно быть строго и недвусмысленно определено в каждом случае Пример При управлении самолетом используются сложные алгоритмы, исполнителями которых являются пилот или бортовой компьютер. Каждая команда алгоритма определяет однозначное действие исполнителя

Cлайд 10

Один и тот же алгоритм можно использовать с разными исходными данными. 3. Массовость Пример Алгоритмы сложения, вычитания, умножения и деления могут быть применены для любых чисел в различных позиционных системах счисления.

Cлайд 11

Алгоритм должен приводить к решению задачи за конечное число шагов. 4. Результативность Пример. Алгоритм сложения целых чисел в десятичной системе счисления: 1. Записать числа в столбик. 2. Сложить числа младшего разряда. 3. Записать результат под горизонтальной чертой.

Cлайд 12

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

Cлайд 13

Свойства Пример выполнения свойства Пример невыполнения свойства Дискретность Казнить нельзя, помиловать. Казнить, нельзя помиловать. Детерминированность (точность) На дубе ларец, а в ларце утка, а в утке яйцо, в яйце игла, в игле смерть Кощея. Поди туда, не знаю куда, принеси то, не знаю что. Массовость Каждой дочери отец привёз по дорогому подарку. Принц мог жениться только на настоящей принцессе. Понятность Инструкция по-русски. Инструкция на японском языке. Результативность Мышка хвостиком махнула, яйцо и разбилось. Баба била-била, не разбила.

Cлайд 14

словесный – при данном способе в каждой строке перечисляется определенная команда. графический – с помощью блок- схем. с помощью алгоритмического языка. формульный Табличный – способ, наиболее часто используемый в экономических задачах). Способы представления алгоритмов

Cлайд 15

Элементы блок схем: Обозначение блока Пояснение Начало, конец процесса обработки данных Ввод исходных данных, вывод результатов Вычислительное действие (операция присваивания) Проверка условия (условный переход) Начало цикла

Cлайд 16

Cлайд 17

Линейный алгоритм Линейный алгоритм – это алгоритм, в котором команды выполняются последовательно одна за другой.

Cлайд 18

1 слайд

2 слайд

СОДЕРЖАНИЕ ПРЕЗЕНТАЦИИ История возникновения. Понятие алгоритм. Примеры алгоритмов. Исполнители алгоритмов. Что такое программа. Свойства алгоритма. Типы алгоритмов. Способы описания алгоритмов. Основные блоки графического описания алгоритма. На главную © Нечаева Ольга Ивановна 2006 год История возникновения. Понятие алгоритм. Примеры алгоритмов. Исполнители алгоритмов. Что такое программа. Свойства алгоритма. Типы алгоритмов. Способы описания алгоритмов. Основные блоки графического описания алгоритма. На главную

3 слайд

НЕМНОГО ИСТОРИИ основатель алгебры, от его имени произошел термин «алгоритм». В мировой науке он был известен своим трактатом по математике, основанном на позиционном принципе. Благодаря переводу этого труда с арабского на латинский язык, «арабские» цифры навсегда вошли в мировую математику. Имя автора в латинизированной форме Algorismus и Algorithmus первоначально дало название правилам четырех арифметический действий, при десятичной системе счисления. Впоследствии слово «алгоритм» стало обозначать всякий регулярный процесс, за конечное число шагов дающий решение определённого класса задач. Аль-Хорезми (786-850 гг. н.э.) - © Нечаева Ольга Ивановна 2006 год

4 слайд

Алгоритм - это совокупность правил выполнения определенных действий, обеспечивающих решение задачи. А Л Г О Р И Т М В жизни мы постоянно выполняем разные алгоритмы. © Нечаева Ольга Ивановна 2006 год Составляем распорядок дня, чтобы многое успеть. Понятие алгоритм – одно из фундаментальных в информатике.

5 слайд

ПРИМЕРЫ АЛГОРИТМОВ Достаем кулинарную книгу и строго следуем рецепту, написанному в ней, чтобы блюдо удалось и можно было угостить своих друзей. Соблюдаем правила дорожного движения при переходе через улицу. © Нечаева Ольга Ивановна 2006 год

6 слайд

ИСПОЛНИТЕЛИ АЛГОРИТМОВ Алгоритм составляется с учетом исполнителя. Исполнителем может быть человек, автомат, компьютер. © Нечаева Ольга Ивановна 2006 год

7 слайд

ПРОГРАММА © Нечаева Ольга Ивановна 2006 год Каждый исполнитель имеет свою систему команд (СКИ). Программа - это алгоритм, записанный на языке исполнителя. Рассмотрим пример: возьмем учебного исполнителя Черепашку. Пусть этот исполнитель имеет три команды: вперед(1 см), направо(900), налево (900). Исходное положение исполнителя: Код программы будет выглядеть так: налево (900) вперед(1 см) вперед 1 см направо(900) вперед(1см) Какой код программы надо написать, чтобы Черепашка начертила букву Г?

8 слайд

© Нечаева Ольга Ивановна 2006 год СВОЙСТВА АЛГОРИТМА (Требования к составлению алгоритма) Дискретность. Процесс решения задачи должен быть разбит на последовательность отдельных шагов. Однозначность (точность). Команды алгоритма должны быть точно определены (например, нельзя написать 3-4 стакана муки, надо указать 3 стакана). Результативность. После выполнения всех команд алгоритма, должен быть получен результат. Универсальность (массовость). Важное свойство при решении задач на ЭВМ. Алгоритм должен быть применим для решения ни одной конкретной задачи, а для некоторого класса задач. Например, для решения квадратного уравнения с разными коэффициентами). Понятность. Алгоритм должен быть написан на языке понятном исполнителю.

9 слайд

Линейный. Команды такого алгоритма выполняются последовательно сверху вниз. Например, нахождение гипотенузы прямоугольного треугольника по двум его катетам. ТИПЫ АЛГОРИТМОВ © Нечаева Ольга Ивановна 2006 год Разветвляющийся. В зависимости от поставленного условия алгоритм позволяет выбрать один из вариантов решения задачи. Примерами могут быть нахождение корней квадратного уравнения или богатырь на распутье из русских сказок. Циклический. В алгоритме встречаются повторяющиеся действия. Например, при заучивании стихотворения вам приходится перечитывать и повторять одни и те же строки.






Линейный алгоритм Простейшие задачи имеют линейный алгоритм решения (имеют структуру "следование"). Алгоритм линейной структуры представляет собой последовательность действий и не содержит каких-либо условий Таким образом, в таких алгоритмах все этапы решения задачи выполняются строго последовательно.




Циклические алгоритмы Цикл – это многократное повторение действий. Циклические алгоритмы С пост условием - В этом цикле с начало проверяется условие, затем происходит действие С пред условием – Здесь в начале происходит действие,далее проверяетс я условие условием








Линейный алгоритм Program pokupka; Uses crt; Var a, b, d, den: real; ostatok: real; begin clrscr; write ("введите стоимость перчаток, портфеля и галстука "); readln (a, b, d); write ("введите количество имеющихся у вас денег "); readln (den); oststok:= den – a – b – c; writeln ("после покупки у вас останется ", ostatok:5:2, "руб. "); readln; end.


Y then writeln (x) {если х больше y, то выводим х} else writeln (y) {иначе выводим" title="Разветвляющийся алгоритм Program (имя); Var x, y: integer; {вводимые числа} Begin writeln("Введите 2 числа "); {вводим два целых числа через пробел} readln(x,y); if x>y then writeln (x) {если х больше y, то выводим х} else writeln (y) {иначе выводим" class="link_thumb"> 11 Разветвляющийся алгоритм Program (имя); Var x, y: integer; {вводимые числа} Begin writeln("Введите 2 числа "); {вводим два целых числа через пробел} readln(x,y); if x>y then writeln (x) {если х больше y, то выводим х} else writeln (y) {иначе выводим y} End. y then writeln (x) {если х больше y, то выводим х} else writeln (y) {иначе выводим"> y then writeln (x) {если х больше y, то выводим х} else writeln (y) {иначе выводим y} End."> y then writeln (x) {если х больше y, то выводим х} else writeln (y) {иначе выводим" title="Разветвляющийся алгоритм Program (имя); Var x, y: integer; {вводимые числа} Begin writeln("Введите 2 числа "); {вводим два целых числа через пробел} readln(x,y); if x>y then writeln (x) {если х больше y, то выводим х} else writeln (y) {иначе выводим">
y then writeln (x) {если х больше y, то выводим х} else writeln (y) {иначе выводим" title="Разветвляющийся алгоритм Program (имя); Var x, y: integer; {вводимые числа} Begin writeln("Введите 2 числа "); {вводим два целых числа через пробел} readln(x,y); if x>y then writeln (x) {если х больше y, то выводим х} else writeln (y) {иначе выводим">

Слайд 2

  • Алгоритм - конечная последовательность действий, описывающая процесс преобразования объекта из начального состояния в конечное, записанная с помощью точных и понятных исполнителю команд.
  • Слово «алгоритм» происходит от algorithmi - латинской формы написания имени великого математика IX века аль-Хорезми
  • Слайд 3

    • Приготовление торта- алгоритм:
    • Замесить тесто
    • Раскатать коржи
    • Выпечь коржи
    • Дать коржам остыть
    • 5. Украсить торт
    • Алгоритмы встречаются нам повсюду, например:
  • Слайд 4

    Исполнитель

    • Исполнитель - управляющий объект совершающий последовательность действий, направленных на достижение поставленной цели
    • Исполнителем может быть человек, робот, компьютер, язык программирования и т.д. Исполнитель умеет выполнять некоторые команды.
    • СКИ - совокупность команд, которые данный исполнитель умеет выполнять, называется системой команд исполнителя.
  • Слайд 5

    Свойства алгоритмов

  • Слайд 6

    Дискретность

    • Описываемый алгоритмом процесс разбит на последовательность отдельных шагов.
    • Запись представляет собой упорядоченную совокупность разделенных предписаний, образующих дискретную (прерывную) структуру алгоритма.
    • Только выполнив требования одного предписания, можно приступить к выполнению следующего.
  • Слайд 7

    • Алгоритмы составляются ориентацией на определенного исполнителя.
    • Все команды в алгоритме должны быть понятны исполнителю, т.е. принадлежать его СКИ.
    • Понятность
  • Слайд 8

    Детерминированность

    • Последовательность выполнения действий д.б. строго определенной.
    • Каждый шаг алгоритма д.б. четким и однозначным.
    • Алгоритм не должен содержать предписаний, смысл которых может восприниматься неоднозначно, т.е. одна и та же команда, будучи понятна разным исполнителям, после исполнения каждым из них должна давать одинаковый результат.
    • Также недопустимы ситуации, когда после выполнения очередной команды исполнителю неясно, какая из команд должна выполняться на следующем шаге.
  • Слайд 9

    Результативность

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

    Слайд 10

    Массовость

    Алгоритм разработан в общем виде, обеспечивая решение не одной конкретной задачи, а некоторого класса задач данного типа. В простейшем случае массовость обеспечивает возможность использования различных исходных данных.

    Слайд 11

    Формы записи алгоритма

    • Словесная (на естественном языке)
    • Графическая (блок – схема)
    • Программная (тексты на языках программирования)
  • Слайд 12

    Исполнители алгоритмов

    • Языки программирования:
    • 1.Машинноориентированные языки: Автокод, Assembler
    • 2. Языки программирования высокого уровня: машиннонезависимые языки:
    • C++, Delphi, Visual Basic, Turbo Pascal,
    • al = 10100110 sar al, 3 al = 11110100 sar al, 2 al = 11111101 bl = 00100110 sar bl, 3 bl = 00000010
    • Программа – алгоритм записанный на языке программирования.
  • Слайд 13

    • Процессор понимает только язык машинных команд. Обязательный элемент любой системы программирования
    • Транслятор – программа - переводчик с языка программирования на ЯМК.
    • Компилятор - переводит программу на ЯМК до ее исполнения
    • Интерпритатор– перевод программы на ЯМК и ее исполнение производятся параллельно
  • Слайд 14

    Блок

    Алгоритм изображается в виде последовательности связанных между собой функциональных блоков. Каждый блок выполняет одно или несколько действий. Каждому типу действий соответствует геометрическая фигура.