Алгоритмизация.ppt
- Количество слайдов: 34
Алгоритмизация Алгоритм представляет собой последовательность действий, приводящих к конечному результату. С точки зрения информатики алгоритм — это конечная последовательность операций или правил, преобразующих исходную входную информацию в выходную.
Свойства алгоритма • Дискретность – процесс преобразования данных должен представлять отдельные шаги; • Детерминированность — каждая операция по обработке данных должна быть однозначно определена; • Конечность — процесс преобразования данных должен быть конечным; • Массовость — правила или операции по обработке данных должны быть универсальными для целого класса задач или ис ходных данных.
Способы записи алгоритмов • естественный язык; • язык программирования; • блок схем.
Вася действует по следующему алгоритму: • • • Шаг 1. Пройти 10 м прямо; Шаг 2. Повернуть направо; Шаг 3. Повторять шаги 1 2, пока не будет пройдено всего 50 м. ; • Шаг 4. Остановиться. Какое расстояние будет после выполнения шага 4 до точки, из которой Вася начал свое движение?
Блок-схема алгоритма
На рис. в блок схеме отсутствует графический блок: • • условия; начала алгоритма; действия; ввода или вывода?
Алгоритмические языки предназначены для записи алгоритмов. Все многообразие алгоритмов может быть представлено в виде основных операторов языка: • • присвоения, перехода, ветвления и цикла.
Программа — это: алгоритм, записанный на языке программирования
В результате работы алгоритма переменная Y приняла значение 5. Укажите число, которое являлось значением переменной X до начала работы алгоритма: • • шаг I. Y: = X – 5 шаг 2. X: = 2 * (Y + 1) шаг 3. Y: = X + Y шаг 4. Вывод Y
Установите такой порядок выполнения операций, чтобы при начальных значениях А = 2, В = 5, С = — 5 результирующим стало значение С = 5. 1) С = С/5; 2) В = А + В; 3) С В + 10; 4) А = А * В. Варианты ответов: • 2. 3. 4, 1; • 4, 2, 3, 1; • 1. 2, 4, 3;
В результате работы алгоритма переменная Y приняла значение 18. • Y: = X + 3 • Х: = 2 * у • Y: = X + Y • Вывод Y Укажите число, которое являлось значением переменной X до начала работы алгоритма
• Изменения, позволяющие избавиться от бесконечного цикла
Оператор ветвления
Какое значение присваивается переменной X после исполнения алгоритма?
В результате работы блок схемы алгоритма А и В примут следующие значения. . .
Существуют две разновидности операторов цикла: • оператор цикла с фиксированным числом повторений и • операторы цикла с переменным числом повторений, зависящим от условий.
Форматы записи оператора цикла с фиксированным числом повторений: 1)FOR i = N 1 TO N 2 STEP N 3; <тело иикла> ; NEXT i 2)FOR i = N 1 TO N 2 DO; BEGIN <тело цикла> ; END 3)НЦ ДЛЯ i ОТ N 1 ДО N 2 ШАГ N 3 <тело цикла>; КЦ
Имеются две разновидности операторов цикла с переменным числом повторений: цикл ПОКА и цикл ПОКА НЕ.
Формат записи цикла ПОКА (цикл с предусловием) • НЦ ПОКА <условие> • <тело цикла > • КЦ
Формат записи цикла ПОКА НЕ (цикл с постусловием) • НЦ; • <тело цикла > ; • КЦ ПОКА НЕ <условие>
После выполнения алгоритма чему равно значение переменной X?
Какие значения переменные c и d в результате выполнения фрагмента алгоритма с начальными значениями а = 8, b = 3 • если а < b, то с = b, иначе с = 2*(а b) • d=0 • пока с > а выполнить действия d = d + 1, с= с - 1
Чему равно значение переменной d после выполнения фрагмента программы: • • b: = 12; d: = 46 нц пока d > = b d: = d – b кц
Дана блок схема алгоритма обрабатывающая данные одномерного массива Х 1, Х 2, , . . . , XN. Требуется определить, что записывается в переменную R.
Дан фрагмент алгоритма, в котором обрабатывается массив А: (2, 12, 0, 3, 10). Требуется определить значение переменной Y после окончания работы. цел таб А[1: 5] Y: = 0 нц для к от 1 до 5 если А[к]<0, то Y: = Y + А[к] кц вывод Y
Дан массив целых чисел Х[1: n]. к: - 0 нц для i от1 до n если X[i]>0 то к: = к + 1 кц вывод к
Задан одномерный массив Xi, X 2, . . . , Хn. Фрагмент алгоритма определяет …
В результате работы фрагмента алгоритма элементы массива A 1, А 2, A 3, А 4 при N = 4 получат соответственно значения. . .
Дана блок схема. Чему будет равна переменная s после выполнения алгоритма?
Подпрограммы • На языках программирования фрагмент алгоритма оформляется в виде подпрограммы.
Пусть требуется вычислить сумму элементов натурального ряда от nl до n 2. Оформим этот алгоритм в виде подпрограммы с именем SUMMA. • • • SUB SUMMA (nl, n 2, S) S=О FOR i = nl TO n 2; S=S+i NEXT i END SUB
Результатом выполнения подпрограммы SUMMA является одна переменная, поэтому ее можно оформить в виде функции: FUNCTION SUMMA (nl, n 2) SUMMA: = О FOR i = nl TO n 2; SUMMA = SUMMA + i NEXT i END FUNCTION
• Подпрограммы и функции могут вызывать сами себя. В этом случае они называются рекурсивными функциями, или подпрограммами. • Рекурсивные функции в первую очередь предназначаются для вычисления рекурсивных выражений. • Например, если (i + 1) й элемент ряда может быть выражен через i й элемент, то такое выражение называется рекурсивным.
Дан фрагмент программы, которая вызывает рекурсивную функцию R. FUNCTION R (n) IF n >1 THEN R = R (п 1) + (2*п 1) ELSE R = I END FUNCTION Фрагмент основной программы S = R(5) PRINT S Чему будет равно S при n = 5?
Алгоритмизация.ppt