Скачать презентацию Алгоритмизация Подготовила Камышная И Н Понятие алгоритма Скачать презентацию Алгоритмизация Подготовила Камышная И Н Понятие алгоритма

Алгоритмизация.pptx

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

Алгоритмизация Подготовила: Камышная И. Н. Алгоритмизация Подготовила: Камышная И. Н.

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

Свойства алгоритма: o o o Дискретность, Понятность, Детерминированность, Множественность, Результативность. Свойства алгоритма: o o o Дискретность, Понятность, Детерминированность, Множественность, Результативность.

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

Понятность o ориентированность на определенного исполнителя, т. е. алгоритм может включать команды только из Понятность o ориентированность на определенного исполнителя, т. е. алгоритм может включать команды только из системы команд данного исполнителя.

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

Множественность (массовость) o возможность алгоритма обеспечивать решение всего класса задач данного типа. Множественность (массовость) o возможность алгоритма обеспечивать решение всего класса задач данного типа.

Результативность o алгоритм должен давать решение задачи за конечное число шагов и при этом Результативность o алгоритм должен давать решение задачи за конечное число шагов и при этом должен быть получен правильный ответ.

Типы алгоритмов: o линейный, o разветвляющийся, o циклический. Типы алгоритмов: o линейный, o разветвляющийся, o циклический.

Основы языка программирования BASIC. Символы языка. o o o Символы: буквы – латинские строчные Основы языка программирования BASIC. Символы языка. o o o Символы: буквы – латинские строчные и прописные, буквы русского алфавита допустимы только в текстовых константах и комментариях; цифры – только арабские от 0 до 9; знаки арифметических операций: сложение (+), вычитание (-), умножение (*), деление (/), возведение в степень (^ ); знаки логических операций: n a OR b – «или» , логическое сложение, равно «Истина» , если истинно a или b a AND b– «и» , логическое умножение, равно «Истина» , если и a и b истинны a XOR b– «исключающее или» , равно «Истина» , если истинно только a или только b, NOT b логическое отрицание; n n n a>b (больше), a= b (больше или равно), a=b (равно) a<>b (не равно); n n n o o знаки операций отношения: разделители – ограничители: знак операции сцепления - +; встроенные, стандартные функции языка

Константы и переменные o o Константы – «слова» текста программы, интерпретирующиеся как числа (например, Константы и переменные o o Константы – «слова» текста программы, интерпретирующиеся как числа (например, 12 или 13. 4, обратите внимание на десятичный разделитель) или строки, например, “Строка”. Константы бывают числовые, текстовые (строковые) и логические. Переменная – это величина, которая в процессе выполнения программы может изменять свое значение, которое хранятся в ячейки памяти. Чтобы обратиться к ячейке памяти нужно в программе указать ее имя. Имя переменной (идентификатор )– это имя ячейки памяти. Идентификаторы могут состоять только из букв латинского алфавита, цифр (цифра не первая), символов подчеркивания. Прописные и строчные буквы считаются одинаковыми. Значением переменой является константа. Переменные, имена которых заканчиваются на знак $, содержат символьные значения, а заканчивающиеся на % (например, К%), содержащих только целые значения.

Комментарии o o o Оператор – это запись действия на языке программирования. В результате Комментарии o o o Оператор – это запись действия на языке программирования. В результате выполнения оператора в ячейку памяти записывается значение, или изменяется ход выполнения программы, или происходит вызов подпрограммы, или иные действия. Комментарии не вызывают никаких действий в программе. Компилятор игнорирует их при создании программного модуля. Комментарии начинаются с букв REM или с символа ‘ (апостроф), причем, REM нужно писать только в начале строки, а апостроф можно применить и после оператора, например: REM начало программы Или A=St*Days ‘ расчет стоимости тура. Строки программы могут быть пронумерованы, это бывает полезно при нелинейной программе

Ниже я приведу таблицу написания некоторых функций. Обычная запись sin x cos x ex Ниже я приведу таблицу написания некоторых функций. Обычная запись sin x cos x ex На Qbasic Sqr(x) Abs(x) Sin(x) Cos(x) Exp(x)

Пример использования операторов o CLS o REM программа считающая сумму двух чисел o nomer Пример использования операторов o CLS o REM программа считающая сумму двух чисел o nomer 1 = 5 o nomer 2 = 3 o symma = nomer 1 + nomer 2 o PRINT “Число 1 =”; nomer 1 o PRINT “Число 2 =”; nomer 2 o PRINT “Сумма =”; symma o END

Пример использования операторов o o o o CLS REM Площадь прямоугольника INPUT a INPUT Пример использования операторов o o o o CLS REM Площадь прямоугольника INPUT a INPUT b S=a*b PRINT s END

Линейный алгоритм o Алгоритм линейной структуры – алгоритм, в котором команды выполняются последовательно друг Линейный алгоритм o Алгоритм линейной структуры – алгоритм, в котором команды выполняются последовательно друг за другом в естественном порядке и независимо от каких бы то ни было условий. o Для записи линейных программ используются операторы: o ввода; вывода; присваивания; конца программы.

Пример линейного алгоритма Начало ввод Приветствие”, Р$ ввод “Форма обращения”, О$ ввод “Имя”, NN$ Пример линейного алгоритма Начало ввод Приветствие”, Р$ ввод “Форма обращения”, О$ ввод “Имя”, NN$ XX$ = P$+”, ”+O$+NN$ вывод ХХ$ Конец

Словесное описание алгоритма: o Ввести значения стоимостей проезда, проживания и питания в сутки, страховки Словесное описание алгоритма: o Ввести значения стоимостей проезда, проживания и питания в сутки, страховки S 1, S 2, S 3, S 4; o Ввести значение продолжительности тура D; o Вычислить общую стоимость тура и присвоить результат переменной SS; o Вывести полученный результат с пояснительным текстом.

Нарисуем блок схему алгоритма Начало ввод S 1, S 2, S 3, S 4 Нарисуем блок схему алгоритма Начало ввод S 1, S 2, S 3, S 4 ввод “На сколько дней”, D SS = S 1+(S 2+S 3)*D+S 4 Вывод “Стоимость тура на “D”дней” SS Конец

Программа: o INPUT “Введите стоимости проезда, проживания, питания, страховки”, S 1, S 2, S Программа: o INPUT “Введите стоимости проезда, проживания, питания, страховки”, S 1, S 2, S 3, S 4 o INPUT “На сколько дней”, D o SS=S 1+(S 2+S 3)*D+S 4 o PRINT “Стоимость тура на ”, D, “дней ”, SS o END

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

Алгоритм с ветвлением o Важным для составления программ является сравнение: чисел, условий, значений и Алгоритм с ветвлением o Важным для составления программ является сравнение: чисел, условий, значений и т. д. o За сравнение в Qbasic отвечает оператор - IF …. THEN … ELSE o Этот оператор переводится следующим образом: o If (если) o THEN (тогда) o ELSE (иначе) o А работает он так: o IF условие THEN действие 1 ELSE действие 2 o Если выполняется условие тогда действие 1 иначе действие 2

Словесное описание алгоритма: o o o Примером такого алгоритма может служить простейший алгоритм проверки Словесное описание алгоритма: o o o Примером такого алгоритма может служить простейший алгоритм проверки правильности ввода пароля, например, « 36 w 54» . вводится пароль Р$; проверяется равенство введенного пароля заданному значению; если пароль введен верно, то выводится сообщение «Здравствуйте» и начинается выполнение программы, защищенной паролем; если пароль введен неверно, то выводится сообщение “Пароль неверен!”, а защищенная паролем программа выполняться не будет.

Нарисуем блок схему алгоритма Начало ввод “Пароль? ”, Р$ P$=“ 39 W 54 ” Нарисуем блок схему алгоритма Начало ввод “Пароль? ”, Р$ P$=“ 39 W 54 ” Вывод “Пароль еверен!” Вывод “Здравствуйте! ” Программа Конец

Программная реализация ветвящегося алгоритма o INPUT “Пароль!”, P$ o If P$=” 39 w 54” Программная реализация ветвящегося алгоритма o INPUT “Пароль!”, P$ o If P$=” 39 w 54” THEN o Print “Пароль неверен! Программа выполняться не будет!”: STOP o END IF o PRINT “Здравствуйте» o <<Здесь может быть любая программа>> o END

Синтаксис условного оператора IF … THEN …ELSE o IF условие THEN оператор 1 ELSE Синтаксис условного оператора IF … THEN …ELSE o IF условие THEN оператор 1 ELSE оператор 2, o где условие – логическое выражение, оператор 1 – оператор или группа операторов, которые будут работать в случае, если логическое выражение истинно, оператор 2 - оператор или группа операторов, которые будут работать в случае если логическое выражение ложно. o Краткая форма оператора IF: o IF условие THEN оператор o здесь при невыполнении условия управление передается строке, следующей за IF; если же условие выполняется то работают операторы, записанные после слова THEN в той же строке.

Синтаксис условного оператора IF … THEN …ELSE o o o Блок- IF Синтаксис: IF Синтаксис условного оператора IF … THEN …ELSE o o o Блок- IF Синтаксис: IF условие THEN … оператор1 …… оператор N ELSE … оператор2 …. оператор. M END IF

Синтаксис условного оператора IF … THEN …ELSE o STOP – оператор логического конца программы. Синтаксис условного оператора IF … THEN …ELSE o STOP – оператор логического конца программы. Им можно воспользоваться в том случае, когда программа должна быть завершена досрочно.

Циклический алгоритм o o o Часто при решении задач приходится многократно вычислять значения по Циклический алгоритм o o o Часто при решении задач приходится многократно вычислять значения по одним и тем же математическим зависимостям для различных значений входящих в них величин или повторять какие-то иные действия. Такие многократно повторяемые участки вычислительного процесса называются циклами. Цикл – это многократное повторение одних и тех же операций. Тело цикла – это операторы, которые многократно повторяются в процессе выполнения цикла. Параметр цикла – Это величина, которая меняет свое значение при каждом входе в цикл. Использование циклов позволяет существенно сократить схему алгоритма и длину соответствующей ей программы. Различают циклы с заданным и с неизвестным числом повторений (шагов). К последним относятся итерационные циклы, характеризующиеся последовательным приближением к искомому значению с заданной точностью.

Циклический алгоритм o Для организации цикла необходимо выполнить следующие действия: o перед циклом задать Циклический алгоритм o Для организации цикла необходимо выполнить следующие действия: o перед циклом задать начальные значения переменных, изменяющихся в цикле; o изменять значения этих переменных перед каждым новым повторением цикла по заданным формулам; o проверять условие окончания или повторения цикла; o управлять циклом, т. е. переходить к его началу, если он не закончен, или выходить из него по окончании. Последние три функции выполняются многократно.

Циклический алгоритм o o o Цикл с параметром: FOR k = k 1 TO Циклический алгоритм o o o Цикл с параметром: FOR k = k 1 TO k 2 STEP s ………………. . NEXT k k – Параметр цикла. k 1 – начальное значение параметра. k 2 – конечное значение параметра. s – Величина, которая показывает на сколько измениться параметр цикла при каждом входе в цикл. Если s > 0, то k 1 <= k 2 --- Если s < 0, то k 1 >= k 2 k 1, k 2, s – любые числа. Если s = 1, то заголовок может выглядеть следующим образом: FOR k = k 1 TO k 2

Виды циклических алгоритмов условие нет да тело цикла к следующему за циклом оператору цикл Виды циклических алгоритмов условие нет да тело цикла к следующему за циклом оператору цикл с предусловием – цикл «пока» IF условие Then оператор : GOTO метка Следующий оператор

Есть два способа записи: o o o o I) 1 S IF NOT (p) Есть два способа записи: o o o o I) 1 S IF NOT (p) THEN 1 выход из цикла II) DO (тело цикла) LOOP WHILE (условие)

Пример задачи o Через сколько дней боксер похудеет со 100 кг до 80, если Пример задачи o Через сколько дней боксер похудеет со 100 кг до 80, если каждый день он сбрасывает 1% своего веса.

2 способа записи: o o o o o CLS s = 100: d = 2 способа записи: o o o o o CLS s = 100: d = 0 1 d=d+1 s = s – s * 0. 01 IF NOT (s <= 80) THEN 1 PRINT d END Значит, s – это вес боксера, d – это число дней. Сначала она прибавит один день к нашей переменной d. Затем отнимет от веса боксера 1%, после этого она проверит условие, если условие не выполнилось, то цикл начнется заново (1 d = d + 1) и так пока не выполниться условие. Условие записывается с NOT, то есть записи: s >= 80 и NOT (s <= 80) одинаковы. И читается это так: s больше или равно 80. CLS s = 100 d=0 Do d=d+1 s = s – s * 0. 01 LOOP WHILE NOT (s <=80) PRINT d END

Виды циклических алгоритмов тело цикла нет услов ие да к следующему за циклом оператору Виды циклических алгоритмов тело цикла нет услов ие да к следующему за циклом оператору 2) цикл с постусловием цикл «повторять… до» WHILE условие тело цикла WEND

Цикл “пока” o WHILE условие o (тело цикла) o WEND o Пока выполняется условие, Цикл “пока” o WHILE условие o (тело цикла) o WEND o Пока выполняется условие, выполняется тело цикла.

Пример задачи o o o o o CLS s = 100: d = 0 Пример задачи o o o o o CLS s = 100: d = 0 WHILE s > 80 d=d+1 s = s – s * 0. 01 WEND PRINT d END Здесь, наоборот сначала проверяется условие, если оно выполняется то, выполняется тело цикла, а если не выполняется, то происходит выход из цикла.

Виды циклических алгоритмов x=x 0, xk, h тело цикла к следующему за циклом оператору Виды циклических алгоритмов x=x 0, xk, h тело цикла к следующему за циклом оператору 3) счетный цикл FOR x=xo TO xk [STEP h] Тело цикла NEXT [x]