Алгоритм
<<  Понятие алгоритма и его свойства Алгоритм и алгоритмизация  >>
Алгоритм
Алгоритм
Предписание исполнителю
Предписание исполнителю
Среда; элементарные действия
Среда; элементарные действия
Основные свойства алгоритмов
Основные свойства алгоритмов
Формы представления алгоритмов
Формы представления алгоритмов
Алгоритм нахождения наибольшего общего делителя
Алгоритм нахождения наибольшего общего делителя
Графическое представление
Графическое представление
Псевдокод
Псевдокод
Основные служебные слова
Основные служебные слова
Общий вид алгоритма
Общий вид алгоритма
Часть алгоритма
Часть алгоритма
Оператор присваивания
Оператор присваивания
Пример записи алгоритма
Пример записи алгоритма
Следование
Следование
Ветвление
Ветвление
Школьный алгоритмический язык
Школьный алгоритмический язык
Язык блок-схем
Язык блок-схем
Цикл
Цикл
Какие понятия используют алгоритмические языки
Какие понятия используют алгоритмические языки
Имена
Имена
Выpажения
Выpажения
Вычисления часто употребляемых функций
Вычисления часто употребляемых функций
Таблица стандартных функций
Таблица стандартных функций
Константы
Константы
Арифметические выражения
Арифметические выражения
Примеры записи арифметических выражений
Примеры записи арифметических выражений
Типичные ошибки в записи выражений
Типичные ошибки в записи выражений
Примеры записи логических выражений
Примеры записи логических выражений
Уравнение
Уравнение
Запишите по правилам алгоритмического языка выражения
Запишите по правилам алгоритмического языка выражения
A/b**2
A/b**2
Запишите в обычной математической форме
Запишите в обычной математической форме
Презентация «Алгоритмический язык». Размер 488 КБ. Автор: Елена.

Загрузка...

Алгоритмический язык

содержание презентации «Алгоритмический язык.ppt»
СлайдТекст
1 Алгоритм

Алгоритм

Алгоритм. Школьный алгоритмический язык.

2 Предписание исполнителю

Предписание исполнителю

Алгоритм — точное и понятное предписание исполнителю совершить последовательность действий, направленных на решение поставленной задачи. Название "алгоритм" произошло от латинской формы имени среднеазиатского математика аль-Хорезми — Algorithmi. Алгоритм — одно из основных понятий информатики и математики.

3 Среда; элементарные действия

Среда; элементарные действия

Исполнителя хаpактеpизуют: среда; элементарные действия; система команд; отказы. Среда (или обстановка) — это "место обитания" исполнителя. Система команд. Каждый исполнитель может выполнять команды только из некоторого строго заданного списка — системы команд исполнителя. Для каждой команды должны быть заданы условия применимости (в каких состояниях среды может быть выполнена команда) и описаны результаты выполнения команды. После вызова команды исполнитель совершает соответствующее элементарное действие. Отказы исполнителя возникают, если команда вызывается при недопустимом для нее состоянии среды. Исполнитель алгоритма — это некоторая абстрактная или реальная (техническая, биологическая или биотехническая) система, способная выполнить действия, предписываемые алгоритмом.

4 Основные свойства алгоритмов

Основные свойства алгоритмов

Основные свойства алгоритмов следующие: Понятность для исполнителя — т.е. исполнитель алгоритма должен знать, как его выполнять. Дискретность (прерывность, раздельность) — т.е. алгоритм должен представлять процесс решения задачи как последовательное выполнение простых (или ранее определенных) шагов (этапов). Определенность — т.е. каждое правило алгоритма должно быть четким, однозначным и не оставлять места для произвола. Благодаря этому свойству выполнение алгоритма носит механический хаpактеp и не требует никаких дополнительных указаний или сведений о решаемой задаче. Результативность (или конечность). Это свойство состоит в том, что алгоритм должен приводить к решению задачи за конечное число шагов. Массовость. Это означает, что алгоритм решения задачи pазpабатывается в общем виде, т.е. он должен быть применим для некоторого класса задач, различающихся лишь исходными данными. При этом исходные данные могут выбираться из некоторой области, которая называется областью применимости алгоритма.

5 Формы представления алгоритмов

Формы представления алгоритмов

Формы представления алгоритмов: Словесная (записи на естественном языке); графическая (изображения из графических символов); псевдокоды (полуформализованные описания алгоритмов на условном алгоритмическом языке, включающие в себя как элементы языка программирования, так и фразы естественного языка, общепринятые математические обозначения и др.); Программная (тексты на языках программирования).

6 Алгоритм нахождения наибольшего общего делителя

Алгоритм нахождения наибольшего общего делителя

Например. Записать алгоритм нахождения наибольшего общего делителя (НОД) двух натуральных чисел. Алгоритм может быть следующим: задать два числа; если числа равны, то взять любое из них в качестве ответа и остановиться, в противном случае продолжить выполнение алгоритма; определить большее из чисел; заменить большее из чисел разностью большего и меньшего из чисел; повторить алгоритм с шага 2. Словесный способ записи алгоритмов представляет собой описание последовательных этапов обработки данных. Алгоритм задается в произвольном изложении на естественном языке.

7 Графическое представление

Графическое представление

Такое графическое представление называется схемой алгоритма или блок-схемой. При графическом представлении алгоритм изображается в виде последовательности связанных между собой функциональных блоков, каждый из которых соответствует выполнению одного или нескольких действий. Название символа. Обозначение и пример заполнения. Пояснение. Процесс. Вычислительное действие или последовательность действий. Решение. Проверка условий. Модификация. Начало цикла. Предопределенный процесс. Вычисления по подпрограмме, стандартной подпрограмме. Ввод-вывод. Ввод-вывод в общем виде. Пуск-останов. Начало, конец алгоритма, вход и выход в подпрограмму. Документ. Вывод результатов на печать.

8 Псевдокод

Псевдокод

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

9 Основные служебные слова

Основные служебные слова

Основные служебные слова. Алг (алгоритм). Сим (символьный). Дано. Для. Да. Арг (аргумент). Лит (литерный). Надо. От. Нет. Рез (результат). Лог (логический). Если. До. При. Нач (начало). Таб(таблица). То. Знач. Выбор. Кон (конец). Нц (начало цикла). Иначе. И. Ввод. Цел (целый). Кц (конец цикла). Все. Или. Вывод. Вещ (вещественный). Длин (длина). Пока. Не. Утв.

10 Общий вид алгоритма

Общий вид алгоритма

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

11 Часть алгоритма

Часть алгоритма

Часть алгоритма от слова алг до слова нач называется заголовком, а часть, заключенная между словами нач и кон — телом алгоритма. В предложении алг после названия алгоритма в круглых скобках указываются характеристики (арг, рез) и тип значения (цел, вещ, сим, лит или лог) всех входных (аргументы) и выходных (результаты) переменных. При описании массивов (таблиц) используется служебное слово таб, дополненное граничными парами по каждому индексу элементов массива.

12 Оператор присваивания

Оператор присваивания

Команды школьного АЯ. Оператор присваивания. Служит для вычисления выражений и присваивания их значений переменным. Общий вид: А := В, где знак ":=" означает команду заменить прежнее значение переменной, стоящей в левой части, на вычисленное значение выражения, стоящего в правой части. Например, a:=(b+c)*sin(Pi/4); i:=i+1. Для ввода и вывода данных используют команды ввод имена переменных вывод имена переменных, выражения, тексты. Для ветвления применяют команды если и выбор, для организации циклов — команды для и пока.

13 Пример записи алгоритма

Пример записи алгоритма

Пример записи алгоритма на школьном АЯ. алг Сумма квадратов (арг цел n, рез цел S) дано | n > 0 надо | S = 1*1 + 2*2 + 3*3 + ... + n*n нач цел i ввод n; S:=0 нц для i от 1 до n S:=S+i*i кц вывод "S = ", S кон.

14 Следование

Следование

1. Базовая структура следование. Алгоритмы можно представлять как некоторые структуры, состоящие из отдельных базовых (т.е.основных) элементов. Школьный алгоритмический язык. Действие 1 действие 2 . . . . . . . . . действие n. Язык блок-схем.

15 Ветвление

Ветвление

2. Базовая структура ветвление. Структура ветвление существует в четырех основных вариантах: если-то; если-то-иначе; выбор; выбор-иначе.

16 Школьный алгоритмический язык

Школьный алгоритмический язык

2. Базовая структура ветвление. Школьный алгоритмический язык. Язык блок-схем. 1. Если-то. 1. Если-то. Если условие то действия все. 2. Если-то-иначе. 2. Если-то-иначе. Если условие то действия 1 иначе действия 2 все.

17 Язык блок-схем

Язык блок-схем

2. Базовая структура ветвление. Школьный алгоритмический язык. Язык блок-схем. 3. Выбор. 3. Выбор. Выбор при условие 1: действия 1 при условие 2: действия 2 . . . . . . . . . . . . при условие N: действия N все. 4. Выбор-иначе. 4. Выбор-иначе. Выбор при условие 1: действия 1 при условие 2: действия 2 . . . . . . . . . . . . при условие N: действия N иначе действия N+1 все.

18 Цикл

Цикл

3. Базовая структура цикл. Школьный алгоритмический язык. Язык блок-схем. Цикл типа пока. Предписывает выполнять тело цикла до тех пор, пока выполняется условие, записанное после слова пока. Цикл типа пока. Предписывает выполнять тело цикла до тех пор, пока выполняется условие, записанное после слова пока. Нц пока условие тело цикла (последовательность действий) кц. Цикл типа для. Предписывает выполнять тело цикла для всех значений некоторой переменной (параметра цикла) в заданном диапазоне. Цикл типа для. Предписывает выполнять тело цикла для всех значений некоторой переменной (параметра цикла) в заданном диапазоне. Нц для i от i1 до i2 тело цикла (последовательность действий) кц. Обеспечивает многократное выполнение некоторой совокупности действий, которая называется телом цикла.

19 Какие понятия используют алгоритмические языки

Какие понятия используют алгоритмические языки

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

20 Имена

Имена

Основными понятиями в алгоритмических языках обычно являются следующие. Имена (идентификаторы) — употpебляются для обозначения объектов пpогpаммы (пеpеменных, массивов, функций и дp.). Опеpации. Типы операций: аpифметические опеpации + , - , * , / и дp. ; логические опеpации и, или, не; опеpации отношения < , > , <=, >= , = , <> ; опеpация сцепки (иначе, "присоединения", "конкатенации") символьных значений дpуг с другом с образованием одной длинной строки; изображается знаком "+". Данные — величины, обpабатываемые пpогpаммой. Имеется тpи основных вида данных: константы, пеpеменные и массивы. Константы — это данные, которые зафиксированы в тексте программы и не изменяются в процессе ее выполнения. Пpимеpы констант: числовые 7.5, 12; логические да (истина), нет (ложь); символьные "А", "+"; литеpные "abcde", "информатика", "" (пустая строка). Пеpеменные обозначаются именами и могут изменять свои значения в ходе выполнения пpогpаммы. Пеpеменные бывают целые, вещественные, логические, символьные и литерные. Массивы — последовательности однотипных элементов, число которых фиксировано и которым присвоено одно имя. Положение элемента в массиве однозначно определяется его индексами (одним, в случае одномерного массива, или несколькими, если массив многомерный). Иногда массивы называют таблицами.

21 Выpажения

Выpажения

Выpажения — пpедназначаются для выполнения необходимых вычислений, состоят из констант, пеpеменных, указателей функций (напpимеp, exp(x)), объединенных знаками опеpаций. Выражения записываются в виде линейных последовательностей символов (без подстрочных и надстрочных символов, "многоэтажных" дробей и т.д.), что позволяет вводить их в компьютер, последовательно нажимая на соответствующие клавиши клавиатуры. Различают выражения арифметические, логические и строковые. Арифметические выражения служат для определения одного числового значения. Например, (1+sin(x))/2. Значение этого выражения при x=0 равно 0.5, а при x=p/2 - единице. Логические выражения описывают некоторые условия, которые могут удовлетворяться или не удовлетворяться. Таким образом, логическое выражение может принимать только два значения — "истина" или "ложь" (да или нет). Рассмотрим в качестве примера логическое выражение x*x + y*y < r*r , определяющее принадлежность точки с координатами (x,y) внутренней области круга радиусом r c центром в начале координат. При x=1, y=1, r=2 значение этого выражения — "истина", а при x=2, y=2, r=1 — "ложь". Значения строковых (литерных) выражений — текcты. В них могут входить литерные константы, литерные переменные и литерные функции, разделенные знаком операции сцепки. Например, А + В означает присоединение строки В к концу строки А. Если А = "куст ", а В = "зеленый", то значение выражения А+В есть "куст зеленый". Операторы (команды). Оператор — это наиболее крупное и содержательное понятие языка: каждый оператор представляет собой законченную фразу языка и определяет некоторый вполне законченный этап обработки данных. В состав опеpатоpов входят: ключевые слова; данные; выpажения и т.д. Операторы подpазделяются на исполняемые и неисполняемые. Неисполняемые опеpатоpы пpедназначены для описания данных и стpуктуpы пpогpаммы, а исполняемые — для выполнения pазличных действий (напpимеp, опеpатоp пpисваивания, опеpатоpы ввода и вывода, условный оператор, операторы цикла, оператор процедуры и дp.).

22 Вычисления часто употребляемых функций

Вычисления часто употребляемых функций

Вычисления часто употребляемых функций осуществляются посредством подпрограмм, называемых стандартными функциями, которые заранее запрограммированы и встроены в транслятор языка.

23 Таблица стандартных функций

Таблица стандартных функций

Таблица стандартных функций школьного алгоритмического языка. Название и математическое обозначение функции. Название и математическое обозначение функции. Указатель функции. Абсолютная величина (модуль) . | Х | . abs(x) . Корень квадратный. sqrt(x). Натуральный логарифм . ln x. ln(x). Десятичный логарифм . lg x. lg(x). Экспонента (степень числа е " 2.72). ex. exp(x). Знак числа x (-1,если х<0; 0,если x=0; 1,если x>0) . sign x. sign(x). Целая часть х (т.е. максимальное целое число,не превосходящее х). . int(x). Минимум из чисел х и y. . min(x,y). Максимум из чисел х и y. . max(x,y). Частное от деления целого х на целое y. . div(x,y). Остаток от деления целого х на целое y. . mod(x,y). Случайное число в диапазоне от 0 до х-1. . rnd(x). Синус (угол в радианах) . sin x. sin(x). Косинус (угол в радианах). cos x. cos(x). Тангенс (угол в радианах). tg x. tg(x). Котангенс (угол в радианах). ctg x. ctg(x). Арксинус (главное значение в радианах). arcsin x . arcsin(x). Арккосинус (главное значение в радианах). arccos x. arccos(x). Арктангенс (главное значение в радианах). arctg x. arctg(x). Арккотангенс (главное значение в радианах) . arcctg x. arcctg(x).

24 Константы

Константы

В качестве аргументов функций можно использовать константы, переменные и выражения. Например: sin(3.05) min(a, 5) sin(x) min(a, b) sin(2*y+t/2) min(a+b, a*b) sin((exp(x)+1)**2) min(min(a,b), min(c,d)).

25 Арифметические выражения

Арифметические выражения

Арифметические выражения записываются по следующим правилам: Нельзя опускать знак умножения между сомножителями и ставить рядом два знака операций. Индексы элементов массивов записываются в квадратных (школьный АЯ, Pascal) или круглых (Basic) скобках. Для обозначения переменных используются буквы латинского алфавита. Операции выполняются в порядке старшинства: сначала вычисление функций, затем возведение в степень, потом умножение и деление и в последнюю очередь — сложение и вычитание. Операции одного старшинства выполняются слева направо. Например, a/b*c соответствует a/b*c. Однако, в школьном АЯ есть одно исключение из этого правила: операции возведения в степень выполняются справа налево. Так, выражение 2**(3**2) в школьном АЯ вычисляется как 2**(3**2) = 512. В языке QBasic аналогичное выражение 2^3^2 вычислясляется как (2^3)^2 = 64. А в языке Pascal вообще не предусмотрена операция возведения в степень, в Pascal x^y записывается как exp(y*ln(x)), а x^y^z как exp(exp(z*ln(y))*ln(x)).

26 Примеры записи арифметических выражений

Примеры записи арифметических выражений

Примеры записи арифметических выражений. Математическая запись. Запись на школьном алгоритмическом языке. x*y/z. X/(y*z) или x/y/z. (a**3+b**3)/(b*c). (a[i+1]+b[i-1])/(2*x*y). (-b+sqrt(b*b-4*a*c))/(2*a). (x<0). sign(x)*abs(x)**(1/5). 0.49*exp(a*a-b*b)+ln(cos(a*a))**3. x/(1+x*x/(3+(2*x)**3)).

27 Типичные ошибки в записи выражений

Типичные ошибки в записи выражений

Типичные ошибки в записи выражений: 5x+1 a+sin x (a+b)/c**3. Пропущен знак умножения между 5 и х Аргумент x функции sin x не заключен в скобки Не хватает закрывающей скобки.

28 Примеры записи логических выражений

Примеры записи логических выражений

Примеры записи логических выражений, истинных при выполнении указанных условий. Условие. Запись на школьном АЯ. Дробная часть вещественого числа a равна нулю. int(a) = 0. Целое число a — четное. mod(a,2) = 0. Целое число a — нечетное. mod(a,2) = 1. Целое число k кратно семи. mod(a,7) = 0. Каждое из чисел a,b положительно. (A>0) и (b>0). Только одно из чисел a,b положительно. ((A>0) и (b<=0)) или ((a<=0) и (b>0)). Хотя бы одно из чисел a,b,c является отрицательным. (A<0) или (b<0) или (c<0). Число x удовлетворяет условию a<x<b . (X>a) и (x<b). Число x имеет значение в промежутке [1, 3]. (X>=1) и (x<=3). Целые числа a и b имеют одинаковую четность. ((Mod(a,2)=0) и (mod(b,2)=0) или (mod(a,2)=1) и (mod(b,2)=1)). Точка с координатами (x,y) лежит в круге радиуса r с центром в точке (a,b). (x-a)**2+(y-b)**2<r*r.

29 Уравнение

Уравнение

Примеры записи логических выражений, истинных при выполнении указанных условий. Уравнение ax^2+bx+c=0 не имеет действительных корней. b*b-4*a*c<0. Точка (x,y) принадлежит первому или третьему квадранту. ((X>0) и (y>0)) или ((x<0) и (y>0)). Точка (x,y) принндлежит внешности единичного круга с центром в начале координат или его второй четверти. (X*x+y*y>1) или ((x*x+y*y<=1) и (x<0) и (y>0)). Целые числа a и b являются взаимнопротивоположными. a = -b. Целые числа a и b являются взаимнообратными. a*b = 1. Число a больше среднего арифметического чисел b,c,d. a>(b+c+d)/3. Число a не меньше среднего геометрического чисел b,c,d. a>=(b+c+d)**(1/3). Хотя бы одна из логических переменных F1 и F2 имеет значение да. F1 или F2. Обе логические переменые F1 и F2 имеют значение да. F1 и F2. Обе логические переменые F1 и F2 имеют значение нет. Не F1 и не F2. Логическая переменная F1 имеет значение да, а логическая переменная F2 имеет значение нет. F1 и не F2. Только одна из логических переменных F1 и F2 имеет значение да. (F1 и не F2) или (F2 и не F1).

30 Запишите по правилам алгоритмического языка выражения

Запишите по правилам алгоритмического языка выражения

Запишите по правилам алгоритмического языка выражения:

31 A/b**2

A/b**2

a/b**2; 1/a*b/c; (a**b)**c/2; x**y**z/a/b; b/sqrt(a*a+b); a+b/c+1; a**b**c/2; a/b/c/d*p*q; 4/3*3.14*r**3; d*c/2/R+a**3;

32 Запишите в обычной математической форме

Запишите в обычной математической форме

Запишите в обычной математической форме арифметические выражения: a/b**2; a+b/c+1; 1/a*b/c; a**b**c/2; (a**b)**c/2; a/b/c/d*p*q; x**y**z/a/b; 4/3*3.14*r**3; b/sqrt(a*a+b); d*c/2/R+a**3; 5*arctg(x)-arctg(y)/4; lg(u*(1/3)+sqrt(v)+z); ln(y*(-sqrt(abs(x)))); abs(x**(y/x)-(y/x)**(1/3)); sqrt((x1-x2)**2+(y1-y2)**2); exp(abs(x-y))*(tg(z)**2+1)**x; lg(sqrt(exp(x-y))+x**abs(y)+z); sqrt(exp(a*x)*sin(x)**n)/cos(x)**2; sqrt(sin(arctg(u))**2+abs(cos(v))); abs(cos(x)+cos(y))**(1+sin(y)**2);

«Алгоритмический язык»
Сайт

5informatika.net

115 тем
5informatika.net > Алгоритм > Алгоритмический язык.ppt