Тема 13 Понятие об алгоритме 1. Понятие об алгоритме 2. Способы записи алгоритмов 3. Алгоритмы ветвления 4. Циклические алгоритмы 5. Свойства алгоритмов
1. Понятие об алгоритме Алгоритм – строго упорядоченная последовательность действий, направленная на выполнение поставленной задачи. Алгоритмизация включает в себя выбор метода решения задачи. Результатом выполнения этапа алгоритмизации является алгоритм решения задачи. Программа - это алгоритм, представленный на языке, понятном компьютеру.
Чтобы поговорить с кем-нибудь по телефону, необходимо: узнать необходимый телефонный номер; поднять трубку; набрать номер; дождаться ответа абонента.
Словесный способ записи алгоритмов представляет собой описание последовательных этапов обработки данных. Алгоритм задается в произвольном изложении на естественном языке.
Задача о сортировке шариков Имеются три урны (белая, черная и полосатая). В полосатой урне находятся белые и черные шарики. Надо все черные шарики переложить в черную урну, а белые - в белую. Сортировка производится так: по очереди вынимаются шарики из полосатой урны и в зависимости от цвета кладутся или в черную или в белую урну.
Алгоритм: взять шарик из полосатой урны; если он белый, то опустить в белую урну; если он черный, то опустить в черную урну; если полосатая урна не пуста, то перейти к действию 1; конец.
Словесный способ не имеет широкого распространения, так как такие описания: строго не формализуемы; страдают многословностью записей; допускают неоднозначность толкования отдельных предписаний.
Графический способ записи алгоритмов Алгоритм изображается в виде последовательности связанных между собой функциональных блоков, каждый из которых соответствует выполнению одного или нескольких действий. Такое графическое представление называется схемой алгоритма или блок-схемой.
Элементы блок-схемы
Программный способ записи алгоритмов Алгоритм, предназначенный для исполнения на компьютере, должен быть записан на понятном ему языке. Формализованный язык для записи алгоритмов принято называть языком программирования, а запись алгоритма на этом языке - программой для компьютера.
Программа нахождения квадрата числа на языке Бейсик 10 INPUT "ввести значения x"; x 20 y =x^2 30 PRINT "y ="; y 40 END RUN
Алгоритмы ветвления (полная форма) если-то-иначе Пример
Алгоритмы ветвления (неполная форма) если-то Пример
Словесный способ Словесный способ записи разветвляющихся алгоритмов представляет собой описание последовательных этапов обработки данных. А алгоритм задается в произвольном изложении на естественном языке.
Циклический алгоритм Цикл типа «пока»
Циклический алгоритм Цикл типа «для»
Свойства алгоритма "Понятность" для исполнителя – исполнитель алгоритма должен знать, как его выполнить. "Дискретность"(прерывность, раздельность)- алгоритм должен представлять процесс решения задачи как последовательное выполнение простых (или ранее определённых ) шагов (этапов). "Определённость"- каждое правило алгоритма должно быть чётким, однозначным и не оставлять места для произвола. "Результативность"(или конечность) состоит в том, что алгоритм должен приводить к решению задачи за конечное число шагов. "Массовость" - означает, что алгоритм решения задачи разрабатывается в общем, виде, т. е. он должен быть применим для некоторого класса задач, различающихся лишь исходными данными.
Псевдокоды - это полуформализованные описания алгоритмов на условном алгоритмическом языке, включающие как элементы языка программирования, так и фразы естественного языка, общепринятые математические обозначения и другое. Псевдокод представляет собой систему обозначений и правил, предназначенную для единообразной записи алгоритмов.
Школьный алгоритмический язык алг название алгоритма (аргументы и результаты) дано условия применимости алгоритма надо цель выполнения алгоритма нач описание промежуточных величин последовательность команд (тело алгоритма) кон
Вопросы Понятие табличной, сетевой, иерархической и реляционной БД Принципы нормализации БД