1 / 66

Понятие алгоритма. Свойства алгоритмов.

Понятие алгоритма. Свойства алгоритмов. Algorithmi. Абдулла Мухаммед аль-Хорезми (783 - 850гг.). 825 год. А Л Г О Р И Т М -. описание последовательности действий, необходимых для получения ожидаемого результата. Исполнитель - это. что-то или кто-то, способный выполнить

sydnee
Download Presentation

Понятие алгоритма. Свойства алгоритмов.

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Понятие алгоритма. Свойства алгоритмов.

  2. Algorithmi Абдулла Мухаммед аль-Хорезми(783 - 850гг.) 825 год

  3. А Л Г О Р И Т М - описание последовательности действий, необходимых для получения ожидаемого результата

  4. Исполнитель - это что-то или кто-то, способный выполнить действия, предписываемые алгоритмом

  5. ФОРМАЛЬНЫЕ: ИСПОЛНИТЕЛИ АЛГОРИТМОВ НЕФОРМАЛЬНЫЕ: Человек животные Робот-манипулятор Техническое устройство (бытовые приборы) Компьютер

  6. Система команд исполнителя (СКИ) –совокупность команд, которые данный исполнитель может выполнить.

  7. Свойства алгоритмов • Понятность • Дискретность • Массовость • Результативность • Конечность

  8. Понятность Алгоритм составляется только из команд, входящих в СКИ исполнителя.

  9. Дискретность Алгоритм разбит на отдельные элементарные действия (шаги).

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

  11. Результативность(или конечность) Выполнение алгоритма должно приводить к результату за конечное число шагов

  12. Способы записи алгоритма Словесный Графический Программный

  13. Блок-схемы как один из способов записи алгоритмов

  14. Блок схема- • графическое представление алгоритма. Она состоит из функциональных блоков, которые выполняют различные назначения (ввод/вывод, начало/конец, вызов функции и т.д.).

  15. Основные символы блок-схем

  16. БЛОК НАЧАЛА ИЛИ ОКОНЧАНИЯ ВЫПОЛНЕНИЯ АЛГОРИТМА НАЧАЛО КОНЕЦ

  17. БЛОКИ ВВОДА-ВЫВОДА БЛОК ВВОДА – ВЫВОДА ВЫВОД

  18. БЛОК ПРИСВАИВАНИЯ ОБРАБАТЫВАЕТ ДАННЫЕ И РАЗМЕЩАЕТ РЕЗУЛЬТАТЫ В ЯЧЕЙКИ ПАМЯТИ С УКАЗАННЫМ ИМЕНЕМ Х:=У+120

  19. УСЛОВИЕ Да Нет БЛОК ПРОВЕРКИ УСЛОВИЯ ПАРАМЕТР БЛОК ЦИКЛА С ПАРАМЕТРОМ

  20. НАЧАЛО ВВОД R S:=3,14*R2 ВЫВОД S S КОНЕЦ

  21. Линейный алгоритм (последовательный) - - описание действий, которые выполняются однократно в заданном порядке

  22. Линейный алгоритм начало Закрыть глаза Открыть глаза Посмотреть влево Посмотреть вправо конец Выполни алгоритм

  23. Разветвляющийся алгоритм- • алгоритм, в котором в зависимости от условиявыполняется либо одна, либо другая последовательность действий. Условие–выражение, находящееся между словами «если» и «то» и принимающее значение «истина» или «ложь».

  24. Нет Да Нет Да Условие Условие Серия 1 Серия 1 Серия 2 КОМАНДА ВЕТВЛЕНИЯ ИМЕЕТ ПОЛНУЮ (1) ИЛИ СОКРАЩЕННУЮ ФОРМУ(2) 1 2

  25. НАЧАЛО ВВОД A,B Да Нет A>B M:=A M:=B ВЫВОД M КОНЕЦ

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

  27. ТРИ ТИПА КОМАНД ПОВТОРЕНИЯ:ЦИКЛ «ДЛЯ»ЦИКЛ «ПОКА»ЦИКЛ «ДО» ОТЛИЧИЕ - СПОСОБ ПРОВЕРКИ ОКОНЧАНИЯ ЦИКЛА.

  28. ЦИКЛ «ПОКА» НАЧАЛО I:=1 Да Нет I<=10 I I:=I+2 КОНЕЦ

  29. ЦИКЛ «ДЛЯ» НАЧАЛО Да Нет I=1,10,2 I КОНЕЦ

  30. ЦИКЛ «ДО» НАЧАЛО I I:=I+2 Нет Да I>10 КОНЕЦ

  31. Циклический алгоритм начало Встать Сделал упр-е 5 раз? да нет Наклониться влево Сесть Наклониться вправо конец

  32. Рассмотрим алгоритм нахождения большего из двух заданных чисел А и В Из числа А вычесть число В. Если получилось отрицательное значение, то сообщить, что число В больше. Если получилось положительное значение, то сообщить, что число А больше. 4. Если получился ноль, то сообщить, что числа равны.

  33. Д/з Составить словесный алгоритм: Перевода текста с англ.яз. на рус. яз. Вычисления площади треугольника. Нахождения меньшего из трех чисел.

  34. Алгоритмические задачи Задание. Волк, коза и капуста. Старик должен переправить на лодке через реку волка, козу и капусту. Лодка может выдержать только старика и одного «пассажира». В каком порядке старик перевезёт «пассажиров»? Не забудь, что волк может съесть козу, а коза – капусту. Найди два варианта решения.

  35. Задача. Переправа. К берегу реки, где была лодка, вмещающая только двух человек, подошли два разбойника и два путешественника. Разбойники не решались напасть на путешественников. В случае если на берегу останется один путешественник и два разбойника, они нападут на него. Как надо переправиться через реку разбойникам и путешественникам, чтобы последние смогли избежать нападения?

  36. Основные сведения о языках программирования Язык – система знаков. Язык ЭВМ (машинный язык) – двоичная знаковая система. Поэтому, чтобы компьютер мог понять написанную программу, она должна быть переведена на язык, понятный компьютеру. Этот процесс перевода называется трансляцией.

  37. Интерпретаторы и компиляторы Существует два различных подхода к трансляции – интерпретация и компиляция: Интерпретатор переводит и выполняет программу строка за строкой. Компилятор переводит программу целиком, а затем выполняет её.

  38. При компиляции (compile) в память ЭВМ загружается программа –компилятор. Компилятор производит синтаксический контроль программы и при обнаружении ошибок выводит соответствующее сообщение. Если ошибок нет, то результатом компиляции является программа на языке машинных команд. Затем компилятор удаляется из оперативной памяти. В памяти остается только программа на языке машинных команд, которая выполняется для получения необходимых результатов.

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

  40. Язык программирования Pascal Язык программирования Паскаль был разработан профессором, директором Института информатики Швейцарской высшей политехнической школы Николаусом Виртом в 1968-1970 гг. как язык обучения студентов программированию.

  41. НиколаусВирт Но думать, что Паскаль- язык исключительно для обучения, было бы неверно. Вот что говорил об этом Н. Вирт (1984 г.): «Утверждалось, что Паскаль был разработан в качестве языка для обучения. Хотя это утверждение справедливо, но его использование при обучении не являлось единственной целью. На самом деле я не верю в успешность применения во время обучения таких инструментов и методик, которые нельзя использовать при решении каких-то практических задач».* * http://pascal.sources.ru

  42. Язык программирования Pascal С тех пор Паскаль становился всё более и более популярным, причем не только, как язык для обучения принципам программирования, но и как средство создания достаточно сложного программного обеспечения. В своем первоначальном виде Паскаль имел довольно ограниченные возможности, но расширенный вариант этого языка – Turbo Pascal является мощным языком программирования.

  43. Почему PASCAL? • Язык программирования Pascal был назван в честь французского учёного Блеза Паскаля, который еще в 1642 г. изобрел первую механическую счётную машину. Она представляла собой систему взаимодействующих зубчатых колёсиков, каждое из которых соответствовало одному разряду десятичного числа и содержало цифры от 0 до 9. Когда колёсико совершало полный оборот, следующее сдвигалось на одну цифру. Машина Паскаля была суммирующей машиной.

  44. Основные средства языка Символы языка - это элементарные знаки, используемые при составлении текстов. Алфавит языка - набор таких символов. Алфавит языка TurboPascal включает: все латинские прописные и строчные буквы; арабские цифры (0 – 9);‏ символы + - * / = < > , . ; : ‘ _ ( ) { } и др.; служебные(зарезервированные) слова.

  45. Для записи команд, имен функций, поясняющих терминов Pascalсуществует набор строго определенных слов, которые называются служебными или зарезервированными (это английские мнемонические сокращения). Служебные слова делятся на три группы: операторы (READ, WRITELN и др.)‏; имена функций (SIN, COS и др.)‏; ключевыеслова (VAR, BEGIN, END идр.)‏. Основные средства языка

  46. Обрабатываемые данные - величины Исходные данные, известные перед выполнением задачи, из условия Результат решения задачи Входные Промежуточные Выходные (аргументы)(результаты)‏

  47. Обрабатываемые данные - величины • характеризуются: • именем • типом  • значением - обозначение и место в памяти - множество допустимых значений и множество применимых операций к ней, объём занимаемой памяти и способ представления в памяти ЭВМ • значение в ячейке. • М.б. не определено

  48. Величина Постоянная Переменная (константа)‏ Не изменяется Значение меняется и не м.б. изменено в ходе выполнения алгоритма

  49. Арифметические операции (А, В – операнды)‏ Выражение Типы операндов Тип результата Операция A+B R, R I, I I, R R, I R I R R Сложение A-B R, R I, I I, R R, I R I R R Вычитание

  50. A*B R, R I, I I, R R, I R I R R Умножение A/B R, R I, I I, R R, I R R R R Вещественное деление A div B I, I I Целое деление A mod B I, I I Остаток от целого деления

More Related