Алгоритмизация_и_программирование. Алгоритмизация и программирование План
Скачать 1.51 Mb.
|
4. Базовые алгоритмыАлгоритм поиска наибольшего (наименьшего) значения: за max (min) принимаем значение любого из данных и поочередно их сравниваем. Если окажется, что очередное значение входного данного больше (меньше) max (min) , то max (min) присваиваем это значение. Алгоритм использует неполное ветвление. Пример. Заданы три числа a, b, c. Найти значение наименьшего из них. начало Ввод a, b, c Вывод min конец b min=b да нет min=a c min=c да нет a=9 b=3 c=5 min=9 3<9 min=3 5<3 Алгоритм Евклида – алгоритм нахождения НОД (наибольшего общего делителя) двух натуральных чисел m и n (mn). Используется цикл с предусловием, в который вложена операция ветвления Начало Ввод m, n m <> n m > n n=n-m m=m-n нет нет да Вывод m Конец да m=18 n=12 m=6 n=6 НОД=6 Пример. Вычислить факториал F натурального числа N (N!=123…N). Используется цикл со счетчиком i. Начало Ввод N i = 1, N, 1 F=F*i Вывод F Конец F=1 N=4 F=1 i=1 F=1*1=1 i=2 F=1*2=2 i=3 F=2*3=6 i=4 F=6*4=24 Правило произведения:Правило произведения: начальное значение произведения Р=1; в теле некоторой циклической конструкции выполнить команду: Р = Р * <множитель> Пример. Составим алгоритм вычисления суммы N первых натуральных чисел. Используется цикл с предусловием. начало Ввод N Вывод S конец i > N S=S+i i=i+1 да нет S=0, i=1 N=5 S=0 i=1 S=0+1=1 i=2 S=1+2=3 i=3 S=3+3=6 i=4 S=6+4=10 i=5 S=10+5=15 i=6 S=15 Правило суммирования:Правило суммирования: начальное значение суммы S=0; в теле некоторой циклической конструкции выполнить команду: S = S + <слагаемое> Пример. Задано 20 чисел. Сколько среди них чисел, больших 10? начало Ввод x Вывод K конец x > 10 да нет K = K+1 K=0 i=1, 20, 1 Правило счетчика: начальное значение счетчика K=0; в теле некоторой циклической конструкции выполнить команду: K = K + 1 Рис. Расположение цикловРис. Расположение циклов а б в последовательные вложенные запрещенные Алгоритм любой задачи может быть представлен как комбинация представленных выше элементарных алгоритмических структур, поэтому данные конструкции: линейную, ветвящуюся и циклическую, называют базовыми. Рекурсивным называется алгоритм, организованный таким образом, что в процессе выполнения команд на каком-либо шаге он прямо или косвенно обращается сам к себе. Задания для самостоятельной работы1) Определите значение целочисленной переменной х после выполнения следующего фрагмента алгоритма: x=55, y=75 x <> y x > y y=y-x x=x-y нет нет да да 2) Определите значение переменной В : A = 1 B = 2 C = 1 B = A + B C = C + 1 C < 4 да нет 3) Определите значение переменной А : A = 2 B = 3 B = B - 1 A = A*2 + 1 B > 0 да нет 3>9> |