Алгоритмизация Работа с блок-схемами. Чтение блок-схем Данные задания нацелены на чтение блок-схем и определения результата. Определите значение целочисленной.

Презентация:



Advertisements
Похожие презентации
Алгоритмические конструкции. Виды алгоритмов 1. Линейные алгоритмы 2. Разветвляющие алгоритмы 3. Циклические алгоритмы.
Advertisements

Циклические алгоритмы Циклические алгоритмы. Алгоритм называется циклическим, если последовательность шагов алгоритма выполняется многократно.
Операторы цикла. Циклический процесс, или просто цикл, – это повторение одних и тех же действий. Последовательность действий, которые повторяются в цикле,
Для учащихся школы 19.
Виды алгоритмических структур: –блок-схема. –линейный алгоритм. –алгоритмическая структура «ветвление». –алгоритмическая структура «выбор». –алгоритмическая.
Один из важнейших этапов решения задач на ЭВМ – составление алгоритма. В 1983 году отмечалось 1200-летие со дня рождения одного из величайших ученых Средней.
Циклические алгоритмы Повторение - это многократное выполнение одного или нескольких предписаний алгоритма. Цикл - это оператор языка программирования,
:14:49(C) KaravaevaEL, 2008 Алгоритмизация Автор – Караваева Е.Л.
1 БАЗОВЫЕ АЛГОРИТМИЧЕСКИЕ КОНСТРУКЦИИ ПОВТОРЕНИЕ НЕОПРЕДЕЛЕННЫЕ ЦИКЛЫ.
Переменные в алгоритмах. Для хранения результатов промежуточных вычислений в процессе выполнения алгоритма входных и выходных данных и другой информации.
Лекция 4 Представление основных структур: итерации, ветвления, повторения. Вспомогательные алгоритмы и процедуры.
Циклический алгоритм –это алгоритм команды которого выполняются несколько раз подряд. В языке Паскаль имеется три различных оператора цикла: 1. Оператор.
Алгоритм – это строгая и четкая последовательность действий, выполнение которых приводит к определенному результату. Никифорова Н.М. МОУ "Шумшевашская.
АЛГОРИТМИЗАЦИЯ. Алгоритм Алгоритм – описание конечной последовательности действий, приводящей от исходных данных к нужному результату. Где встречаются.
Циклы на языке Pascal повторение. Циклы позволяют многократно выполнять одну или группу команд, причем в тексте программы нет необходимости записывать.
Проект на тему: «Разветвляющиеся алгоритмы и программы» П р о е к т н а т е м у : « Р а з в е т в л я ю щ и е с я а л г о р и т м ы и п р о г р а м м ы.
Алгоритмы ветвления. Условный оператор 9 класс. Повторение 1. Что такое алгоритм? 2. Какие типы алгоритмов вы знаете? 3. Какой алгоритм называется линейным?
В алгоритмической структуре «цикл» серия команд (тело цикла) выполняется многократно. Циклы бывают 2 типов: 1.Цикл со счетчиком. Используется когда заранее.
Программирование на Pascal. Темы Повторение. Составные логические условия Повторение. Составные логические условия Повторение. Составные логические условия.
ЦИКЛИЧЕСКИЙ АЛГОРИТМ Цели: -Познакомиться с понятием циклического алгоритма. -Освоить языковые средства для реализации циклических алгоритмов.
Транксрипт:

Алгоритмизация Работа с блок-схемами

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

1) -112) 113) 444) 55 х:=121 у:=66 х=у х>у х:=х-уу:=у-х да нет данет Примечание: знаком := обозначена операция присваивания

1)82)163)324)12

1)12)453)554)66

1) 362) 453) 564) 50 c b:=0 c:=1 b:=b+1 c:=c + b да нет b = 10

1) 52) 83) 134) 21 s A:=1 b:=0 d:=1 s:=a+d b:=b+1 d:=a a:=s да нет b = 5

да нет усл 1 усл 2 серия 1 серия 2 серия 3 Фрагмент блок-схемы представляет алгоритм, который содержит две команды ветвления. 1) команду ветвления в сокращенной форме, в которую вложена команда ветвления в полной форме 2)две команды ветвления в полной форме, одна из которой вложена в другую 3)две команды ветвления в сокращенной форме, одна из которой вложена в другую 4)команду ветвления в полной форме, в которую вложена команда ветвления в сокращенной форме

Составить блок-схемы Поиск минимального значения из трех чисел A,B,C при помощи двойного сравнения.

+ НАЧАЛО Ввод A,B,C A

Составить блок-схемы Поиск минимального числа из трёх А,В,С. 1.Метод последовательного сравнения.

+ + НАЧАЛО Ввод А,В,С АC A

Составить блок-схему Пример 3. Составить алгоритм определения находится ли точка М с координатами Х,У на окружности радиуса R. Решение. Визуальный алгоритм приведен на сл. рис. Для решения в нем используется математическая модель в виде формулы окружности R 2 = X 2 +Y 2.

+ Начало Kонец Ввод M(X, Y), R НЕТ T:=X 2 +Y 2 T=R 2 ДА

Составить блок-схему Пример 4. Составить алгоритм определения корней уравнения (X 2 +B*X+C=0). Решение. При составления этого алгоритма надо рассмотреть случаи, когда уравнение не имеет корней и когда имеется только один корень. Обозначим корни уравнения через переменные Х1,Х2. D - промежуточная переменная для вычисления дискриминанта. Алгоритм вычисления корней уравнения заданного вида приведен на сл. рис.

+ КОНЕЦ НАЧАЛО Ввод B,C НЕТ КОРНЕЙ Вывод X1,X2 Вы- вод X D:=B 2 - 4*C X1:=(-B+D 0,5 )/2 X1:=-B/2 X2:=(-B-D 0,5 )/2 D

Задания для самостоятельного выполнения Составить визуальные разветвленные алгоритмы для следующих задач. 1.Для двух чисел Х,У определить, являются ли они корнями уравнения А*Р^4+D*P^2+C=0 2.Если среди трех чисел А,В,С имеется хотя бы одно четное вычислить максимальное, иначе – минимальное 3.Ввести положительное А>=1. Найти наибольшее из выражений вида 1\А и SIN(A). 4.Ввести два числа. Меньшее заменить полусуммой, а большее - удвоенным произведением. 5.Ввести три числа А,В,С. Удвоить каждое из них, если А>=В>=С, иначе поменять значения А и В. 6.Определить является ли точка с координатами X,Y точкой пересечения диагоналей квадрата со стороной R,одна вершина которого расположена в начале координат. 7.* Определить значения функции в зависимости от значения аргумента а*х 2, если х > 10 у= 1/х, если –10 х 10 Sin(х), если х < 10

ЦИКЛИЧЕСКИЕ АЛГОРИТМЫ Циклические алгоритмы являются наиболее распространенным видом алгоритмов, в них предусматривается повторное выполнение определенного набора действий при выполнении некоторого условия. Такое повторное выполнение часто называют циклом.

Цикл с предусловием Цикл с предусловием начинается с проверки условия выхода из цикла. Это логическое выражение, например I

Цикл с постусловием Цикл с постусловием функционирует иначе. Сначала выполняется один раз те действия, которые подлежат повторению, затем проверяется логическое выражение, определяющее условие выхода из цикла, например, I>6.Проверка его осуществляется тоже по-другому. Если условие выхода истинно, то цикл с постусловием прекращает свою работу, в противном случае - происходит повторение действий, указанных в цикле. + i>6 i=1 K:=K+1 i:=i+0,1 K

Повторяющиеся действия в цикле называются "телом цикла".

Классическим примером циклического алгоритма служит алгоритм для вычисления степени числа Y=X. Этот алгоритм может быть реализован на основе операции умножения. Табличное представление такого алгоритма, отражающего зависимость У от Х при изменении показателя степени n от 1 до 3, представлено в табл. В этой таблице показаны также рекуррентные соотношения между У и Х, определяющие как на каждом шаге зависит значение У от значения Х и от значения У, вычисленного на предыдущем шаге.

Таблица. Рекуррентные соотношения при вычислении Y=X nYРекуррентные соотношения 1Y[1]=XY=X 2Y[2]=X*X или Y[2]=Y[1]*X Y=X*X или Y=Y*X 3Y[3]=X*X*X или Y[3]=Y[2]*X Y=X*X*X или Y=Y*X

Составление блок-схем Пример 5.Пусть требуется составить алгоритм вычисления суммы ряда S=x+x^2+x^3+…+x^n. Решение. Исходные данные для алгоритма это переменные x и n. На каждом шаге будем вычислять очередной член суммы Y и прибавлять его к предыдущему значению суммы S.Для этого используем реккурентную формулу вычисления степени Х (см. таблицу 3) Y=Y*Х, тогда сумма ряда на каждом шаге итерации будет вычисляться по формуле S=S+Y. Количество итераций K изменяется от 1 до n и равно количеству членов ряда. Начальное значение суммы ряда S равно 0. На рис. 12 представлен циклический алгоритм с предусловием для вычисления заданной суммы ряда.

Алгоритм вычисления суммы ряда S=x+x^2+x^3+…+x^n НАЧАЛО Ввод x, N S:=0 Y:=x K:=1 K

Составление блок-схем Пример 6. Требуется составить алгоритм получения на отрезке [-15,15] множества значений функции Y= SIN(X) в виде таблицы значений (X,Y) при изменении аргумента Х по формуле X[k]=X[k-1]+h, где h=1,5. Решение. Такие задачи относят к задачам табулирования функций. Из условия задачи определяем, что начальное значение отрезка табулирования X= -15, конечное значение - X=15. Процесс получения множества пар Х,Y) является итерационным, значит проектируемый алгоритм будет циклическим. Условие выхода из цикла Х>15. На рис. 13 представлен циклический алгоритм с предусловием вычисления табличного значения функции Y= SIN(X) на отрезке -15

Циклический алгоритм табулирования функции Y =sin (X) X:= -15 x

Задания для самостоятельного выполнения 1.Вычислить число в факториале Y=X! 2.Вычислить сумму ряда, общий член которого задан формулой An=(x*n)/n!. 3.При табулировании функции y=cos(x+a) на отрезке [1,10] c шагом h=1 определить сумму значений y, больших p. 4.Подсчитать количество цифр в целом числе Х. 5.Вычислить сумму значений функции у=x^2 на отрезке [1,5] c шагом 1. 6.* Найти минимальное значение функции Y=Sin(X)*X, на отрезке [C,D] с шагом Реализовать цикл с постусловием. 7. Протабулировать функцию y=sin(x) на отрезке [1,5] с шагом h=0,5. Вывести предпоследнее положительное значение функции.

8. Определить постановку задачи и составить визуальный алгоритм для этой задачи, если табличное представление ее решения изображено ниже: Задания для самостоятельного выполнения Условие N>0 SN >0 да0+5=512 12>0 да5+2=71 1>0 да7+1=80 0>0 нет

9. Составить визуальную и табличную формы алгоритма по его текстовому представлению, а также определить конечное значение S Задания для самостоятельного выполнения А) I=0; S=0; В) I=1; S=0; ПОКА I 1 I=I+3 S=S+1/I S=S+I*I I=I-1 ВЫВОД S ВЫВОД S

10. Составить визуальную и текстовую форму представления алгоритма, заданного в табличной форме. Задания для самостоятельного выполнения I J S = = = =16

11. Определить является ли данный фрагмент алгоритма циклом, если да, то какого вида и какое действие является телом цикла? Задания для самостоятельного выполнения + I =1 I := I +1 K + I=1 I

12. * Протабулировать функцию Y=tg(X), при изменении X на отрезке [A,B] с шагом K и определить количество точек разрыва(M) этой функции. Задания для самостоятельного выполнения

13. Определите местонахождение ошибок в алгоритмическом решении следующей задачи. Найти минимальное значение функции Y=A*X 2 +Sin(X)*X 0,5, для Х изменяющемся на отрезке [C,D] с шагом 0,01. Задания для самостоятельного выполнения

НАЧАЛО C, D X := C M := A*X 2 +SIN(X)*X 0. 5 Y=М X := X Y, X Y D M КОНЕЦ Y := A*X 2 +SIN(X)*X 0. 5 C := Y