1 / 19

Алгоритм

Алгоритм. Мухаммед аль - Хорезми ( IX век н.э.). Описание алгоритма. Алгоритм – совокупность четко определенных правил для решения задачи за конечное число шагов. Примеры алгоритмов : рецепт приготовления блюда, решение квадратного уравнения, правила по русскому языку и др.

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. Алгоритм Мухаммед аль - Хорезми (IX век н.э.)

  2. Описание алгоритма Алгоритм– совокупность четко определенных правил для решения задачи за конечное число шагов. Примеры алгоритмов : рецепт приготовления блюда, решение квадратного уравнения, правила по русскому языку и др. АЛГОРИТМИЗАЦИЯ – процесс разработки алгоритма (плана действий) для решения задачи.

  3. ОСНОВНЫЕ СТРУКТУРЫ АЛГОРИТМОВ: • линейные алгоритмы • разветвляющиеся алгоритмы • циклические алгоритмы

  4. ДИСКРЕТНОСТЬ РЕЗУЛЬТАТИВНОСТЬ АЛГОРИТМ МАССОВОСТЬ КОНЕЧНОСТЬ СВОЙСТВА АЛГОРИТМОВ ДЕТЕРМИНИРОВАННОСТЬ (ОДНОЗНАЧНОСТЬ)

  5. ДИСКРЕТНОСТЬ (от лат.discretus –разделенный, прерывистый)., указывает, что любой алгоритм должен состоять из конкретных действий, следующих в определённом порядке. • РЕЗУЛЬТАТИВНОСТЬ требует, чтобы в алгоритме не было ошибок и каждый его шаг приводил к конкретному результату. • ДЕТЕРМИНИРОВАННОСТЬ (ОДНОЗНАЧНОСТЬ) (от лат. Determinate – определённость, точность) указывает, что любое действие алгоритма должно быть строго и недвусмысленно определено в каждом случае. • МАССОВОСТЬ показывает, что один и тот же алгоритм можно использовать с разными исходными данными. • КОНЕЧНОСТЬ определяет, что каждое действие в отдельности и алгоритм в целом должны иметь возможность завершения.

  6. Исполнитель алгоритма Исполнитель – тот, кто будет выполнять алгоритм. Например: человек, автомат, компьютер, солдат. Система команд исполнителя – команды, «понятные» данному исполнителю. Формальное выполнение алгоритма – строгое выполнение последовательности действий алгоритма без понимания целей решения задачи.

  7. Способы записи алгоритмов • Словесный • Табличный • Графический (блок- схема) • Алгоритмический язык

  8. Основные блоки блок-схемы Блок начала и конца блок-схемы Ввод/вывод данных с/на любой носитель Ввод данных с клавиатуры Математический блок Блок вывода на печать Направление вычисления

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

  10. Виды алгоритмов • Линейный (последовательный) • Разветвляющийся (ветвление) • Циклический (цикл).

  11. Линейный алгоритм • Линейный алгоритм – это набор команд, выполняемых последовательно во времени, друг за другом. • В линейных алгоритмических конструкциях используются три оператора: • оператор ввода; • оператор присваивания; • оператор вывода информации

  12. Алгоритм программы с линейной структурой может быть представлен следующим образом: начало Ввод исходных данных Обработка (вычисления) Вывод результата конец

  13. Оператор ВВОДА данных Вводданных – это передача исходных данных программы в оперативную память компьютера для обработки. Основные устройства ввода – клавиатура и дисковый файл Процедуры ввода с клавиатуры Read(a,b,c,d, …); - после ввода курсор остается в той же строке. ReadLn(a,b,c,d, …); - после ввода курсор переводится в начало следующей строки. где a,b,c,d,… - список ввода, содержащий имена переменных допустимых типов(integer, real, char, string). • Следует знать: • процедура ReadLnпредпочтительнее Read, т.к. полностью освобождает буфер клавиатуры – рабочую область памяти, в которой временно хранятся введенные с клавиатуры символы. Процедура Read оставляет в буфере клавиатуры код клавиши <Enter>, нажатие которой завершает процесс ввода.

  14. в одной процедуре Read или ReadLn можно записать несколько переменных. Для того, чтобы отделить их значения друг от друга, при вводе можно использовать пробел либо символ табуляции (клавиша <Tab>)или нажимать клавишу <Enter>после ввода каждого из значений • процедура ReadLn;(без переменных) обычно записывается в конце программы и служит для создания паузы, которая длится до нажатия пользователем клавиши <Enter>. В противном случае, по окончании программы окно с текстом программы закроет экран с полученными результатами; • тип данных, вводимых во время работы программы, должен соответствовать типу переменной, указанной в инструкции ввода; • в случае несоответствия введённых данных типу переменной, значение которой вводится с клавиатуры, программа завершит работу, и на экран выводится сообщение об ошибкеввода/вывода.

  15. ВЫВОД данных Вывод данных – это передача данных после обработки из оперативной памяти на внешнее устройство (экран, принтер, файл на диске Процедуры вывода на экран Write(a,b,c,d,…); WriteLn(a,b,c,d,…); где a,b,c,d,… - список вывода • Следует знать: • процедуры Writeи WriteLnпредназначены для вывода констант различных типов, значений переменных или выражений. Число параметров – произвольно; • из констант наиболее часто выводятся строки текста (строковые константы заключаются в апострофы); • если в инструкции вывода записано выражение, то сначала оно будет вычислено, а затем выполнен вывод полученного результата; • процедура вывода WriteLnаналогична Write. Отличие заключается в том, что после вывода последней переменной из списка, курсор автоматически переходит в начало следующей строки;

  16. инструкция WriteLn ; (без параметров) переводит курсор в начало следующей строки. Таким способом можно, например, отделять результаты работы программы друг от друга одной или несколькими пустыми строками.

  17. Форматы вывода Для представления на экране значений целого типа • по умолчанию выделяется столько позиций экрана (разрядов), сколько требуется для записи числа • для изменения количества позиций под запись целого числа используется следующий формат вывода: • Write(a:n); • WriteLn(a:n); • где a:n– выводится десятичное представление величины a в крайние правые позиции поля шириной n. Пример: … a:=34; b:=65; WriteLn(a); WriteLn(b); WriteLn(a,b); Write(a); Write(b);WriteLn; Write(a:4); Write(b:4);WriteLn Экран: 34 65 3465 3465 _ _34_ _65

  18. Для представления на экране значений вещественного типа • по умолчанию значение вещественного типа будет выведено в экспоненциальной форме: • Например, …a:=34.5; Write(a);… ЭКРАН: • 3.450000E+01 • для определения ширины поля вывода: • Write(a:l:d); • Write(a:l:d); • где lзадает общую ширину поля вывода; • d– местоподдробнуючасть; (l, d-константы или выражения целого типа). Пример: … a:=34.5; WriteLn(a:10:2);… _ _ _ _ _ 34.50 ЭКРАН:

  19. Задача на линейный алгоритм Вводятся объём и масса тела. Определить плотность материала этого тела. Входные данные: V – объём тела (real); m - масса тела (real); Выходныеданные: p – плотность тела (real). Паскаль-программа Program z1; uses crt; Var V,m,p:real; BEGIN Clrscr; Write(‘Введите значения объёма и массы тела:’); ReadLn(v,m); P:=m/V; Write(‘Плотность тела объёмом’,V:7:1,’ и массой’,m:7:1,’ равна’,p:8:2); ReadLn; END. БЛОК-СХЕМА начало V,m P=m/v p конец

More Related