ОСНОВЫ АЛГОРИТМИЗАЦИИ.ppt
- Количество слайдов: 35
ОСНОВЫ АЛГОРИТМИЗАЦИИ
Мухаммед аль-Хорезми Alhorithmi АЛГОРИТМ Алгоритм – понятное и точное предписание исполнителю совершить последовательность действий, направленных на достижение поставленной цели или решение поставленной задачи.
l l Исполнитель –субъект, умеющий выполнять определенный набор действий. Набор команд, которые может выполнить исполнитель, называется системой команд исполнителя. Если исполнитель не задумывается о цели выполнения действий, он называется формальным. Компьютер является формальным исполнителем алгоритмов.
Свойства алгоритмов 1. Дискретность 2. Понятность 3. Точность (определенность, однозначность) 4. Результативность 5. Конечность 6. Массовость
Формы представления алгоритмов: l словесная форма записи перечень действий (шагов), каждый из которых имеет порядковый номер; l на алгоритмическом языке - запись алгоритма на каком-либо языке программирования либо на псевдокоде. Псевдокод – интерпретация шагов алгоритма на обычном языке, описывающая действие команд.
l на языке блок-схем Символ Функция Начало, конец, прерывание процесса обработки данных или выполнение программы Выбор направления выполнения алгоритма или программы в зависимости от некоторых условий Преобразование данных в форму, пригодную для обработки (ввод) или отображения результатов обработки (вывод) Выполнение операции или группы операций, в результате которых изменяется значение, форма представления или расположения данных
Алгоритмические конструкции 1. Конструкция следования (линейный алгоритм) – форма организации действий, когда действия выполняются последовательно, одно за другим. Группа команд 1 Группа команд 2 Группа команд N
Пример Задача: вычислить площадь круга, начало если известен радиус. Дано: R – радиус круга. Найти: S – площадь круга. Решение: S=3, 14 R 2 Ввод R S: =3, 14 R 2 Вывод S конец
2. Конструкция ветвления (разветвляющийся алгоритм) – это форма организации действий, при которой в зависимости от выполнения (невыполнения) некоторого условия выполняется одна из двух серий команд.
Полное ветвление да Услови е Группа команд 1 Неполное ветвление нет Группа команд 2 да Услови е Группа команд 1 нет
Пример Задача: вычислить у = |x| Решение:
Блок-схема начало Ввод х да нет х 0 у : = х у : = – х Вывод y конец
3. Конструкция цикла (циклический алгоритм) – это форма организации действий, при которой выполнение одной и той же последовательности действий повторяется несколько раз.
Составляющие цикла: l l l параметр цикла – величина, с изменением которой связано многократное выполнение цикла; начальное и конечное значение параметра цикла; шаг цикла – это значение, на которое изменяется параметр цикла при каждом повторении.
Цикл с предусловием да Тело цикла Условие Цикл с постусловием Тело цикла нет да Условие нет
Пример Задача: вычислить n! Решение: n! = n * (n – 1) * (n – 2) * … * 1
Блок-схема 1) Цикл с предусловием начало Ввод n P : = 1 да n > 0 P : = P * n n : = n – 1 Вывод P конец нет
2) Цикл с постусловием начало Ввод n P : = 1 P : = P * n n : = n – 1 да n > 0 Вывод P конец нет
ЗАДАНИЯ ДЛЯ САМОСТОЯТЕЛЬНОГО ВЫПОЛНЕНИЯ Задача 1 Дан алгоритм в виде следующей блоксхемы. Определить, чему будет равно значение переменной S.
Начало х: =5 у: =8 нет х<у да s: = х+у s: = у-х Конец
Задача 2 Вася действует по алгоритму: Шаг 1. Пройти 10 м прямо; Шаг 2. Повернуть направо; Шаг 3. Повторить шаги 1, 2 до прохода 50 м; Шаг 4. Остановиться. Сколько метров составит расстояние от начала до конечной точки после выполнения шага 4?
Задача 3 Дана блок-схема алгоритма Определить, чему будет равно значение переменной n.
Начало n: =0 P: =1 n: = n+1 P: =2*P да P>7 Конец нет
Задача 4 Дана блок-схема алгоритма Определить, чему будет равно значение переменной с.
а: =1 b: =1 n: =5 i: =1 i: =i+1 c: =a+b нет i<=n да а: =b b: =c
Задача 5 Записать алгоритм решения квадратного уравнения с помощью блок-схемы.
Задача 6 Задан одномерный массив Х 1, Х 2, … Хn. Что определяет следующий фрагмент алгоритма?
S=0 i=i+1 i=1 i<=n да нет Xi>0 да S=S+X i нет Вывод S 1. максимальный элемент массива; 2. сумму отрицательных элементов; 3. сумму положительных элементов; 4. количество положительных элементов; 5. индекс последнего положительного элемента.
Задача 7 Запишите следующий алгоритм с помощью блок-схемы: с клавиатуры вводятся три числа, вывести набольшее из них.
Задача 8 Какие значения получают элементы массива А 1, А 2, А 3, А 4, при N = 4, в результате работы фрагмента следующего алгоритма?
i=1 i <= N Да Аi = i *2+2 i = i +1 нет
Задача 9 Дана блок-схема алгоритма Определить, чему будет равно значение переменной S.
n: =4 S: =0 i: =1 i: = i + 1 нет i n да S: =S+i*n
Задача 10 Что определяет следующий фрагмент алгоритма?
начало Ввести число Х N=1 Y=0 Нет N<10 Вывести Y Конец Да Y=Y+X+N-1 N= N +1 Ø возводит введенное число в 10 -ю степень и выводит результат; Ø производит сложение 10 -ти идущих подряд натуральных чисел начиная с введенного и выводит результат; Ø производит сложение 9 -ти идущих подряд натуральных чисел начиная с введенного и выводит результат; Ø возводит введенное число в 9 -ю степень и выводит результат.