Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
308249_B3ECC_lekcii_informatika.doc
Скачиваний:
13
Добавлен:
16.11.2018
Размер:
545.79 Кб
Скачать

38. Основы алгоритмизации задач. Определение, история, формы записи истории.

Понятие алгоритма относится к числу фундаментальных математических понятий и является объектом специального раздела математики - теории алгоритмов. В настоящее время это одно из основных понятий информатики. Алгоритмом называется система правил, четко описывающие последовательность действий, которые необходимо выполнить для решения задачи. Суть состоит в том, что если алгоритм разработан, то его можно вручить для выполнения любому исполнителю (в том числе и ЭВМ) незнакомому с решением задачи, и точно следуя правилам алгоритма, исполнитель получит её решение. Происхождение термина алгоритм связано с математикой и появилось в результате искажения имени арабского математика IX века аль-Хоризми, которым были описаны правила выполнения основных арифметических действий в десятичной системе счисления. Задача изучения основ теории алгоритмов заключается в том, чтобы научиться составлять алгоритмы так, чтобы ЭВМ могла однозначно и точно следовать предписаниям алгоритма и получать определенный результат. Свойства, которым должны удовлетворять алгоритмы 1. Дискретность: состоит в том, что описываемый процесс должен быть разбит на последовательность отдельных шагов. Возникающая в результате такого разбиения запись представляет собой упорядоченную совокупность четко разделенных друг от друга предписаний (директив, команд), образующих прерванную (дискретную) структуру алгоритмов: только выполнив требования одного предписания можно приступить к выполнению следующего. 2. Понятность: используемые на практике записи алгоритмов составляются и ориентируются на определенного исполнителя. Предписания, которые исполнитель может понять и исполнить называют системой предписания (или системой команд) исполнителя алгоритмов. 3. Определенность (детерминированность): означает, что способ решения задачи определен однозначно в виде последовательности шагов. Будучи понятным алгоритм не должен содержать предписаний, смысл которых может восприниматься неоднозначно. Это означает, что одно и то же предписание, будучи понятным разным исполнителям, должно трактоваться одинаково, т.е. запись алгоритма должна быть настолько четкой и полной, чтобы у исполнителя никогда не могло возникнуть потребности в принятии каких-либо самостоятельных решений, непредусмотренных составителем алгоритма. 4. Массовость: алгоритм решения задачи разрабатывается в общем виде так, чтобы его можно было применять для класса задач, различающихся лишь исходными данными. При этом исходные данные могут выбираться из некоторой области, называемой областью применяемости алгоритма. 5. Результативность. При точном использовании всех предписаний алгоритма, процесс должен прекратиться за конечное число шагов и при этом должен быть получен конечный результат. Форма записи алгоритмов. На практике наиболее распространены следующие формы записи алгоритмов: содержательная (текстуальная) форма; графическая форма (схема алгоритмов или блок-схем); представление алгоритмов на языке программирования 1. Содержательная (текстуальная) форма. Это самая распространенная форма представления алгоритмов, адресуемых человеку. Форму словесной записи имеют многие "бытовые" алгоритмы. Эта форма может быть использована для описания вычислительных алгоритмов. Пример. Пусть задано три числа А1, А2, А3. Требуется определить максимальное число Amax из заданного набора. Текстуальная форма представления алгоритма решения поставленной задачи может выглядеть следующим образом: - ввести числа А1, А2, А3; - сравнить значение числа А1, А2; если значение числа А1 больше значения числа А2, то числу Аmax присвоить значение числа А1, иначе Аmax присвоить значение числа А2; - сравнить значение чисел А3 и Аmax; если значение числа А3 больше значения числа Аmax, то числу Аmax присвоить значение числа А3; - вывести значение Аmax.2. Изображение алгоритмов в виде схемы. Схема алгоритма (блок-схема) - это наглядное графическое представление алгоритма, дополненное элементами словесной записи. Каждый пункт алгоритма отображается на схеме некоторой геометрической фигурой (блоками), причем различным по типу выполняемых действий блокам соответствуют различные геометрические фигуры. Для удобства построения блок-схем в MS Word имеются основные элементы блок-схем и возможность включить СЕТКУ. Панель РИСОВАНИЕ, раздел ДЕЙСТВИЯ -> СЕТКА -> ОТОБРАЖАТЬ ЛИНИИ СЕТКИ НА ЭКРАНЕ. 3. Представление алгоритмов на языке программирования. Алгоритм может быть записан на одном из языков программирования ЭВМ. Под языком программирования понимается формальный язык, воспринимаемый ЭВМ и предназначенный для общения человека с машиной. Алгоритм, записанный на языке программирования, называется программой. В этом случае алгоритм представляется в виде последовательности операторов языка. Развития вычислительной техники и усложнения решаемых с помощью компьютера задач совершенствует и технологию программирования. На каждом этапе формируется новый подход к написанию программ. При этом новые методы не отрицают своих предшественников. Можно выделить три принципиально разных подхода. 1. Алгоритмическое (операционное) программирование — подход, при котором программа представляет собой единое целое; структурными единицами программы являются операторы и операторные блоки, исполняемые компьютером один за другим. Подобный подход применим для составления небольших программ простой структуры. Может быть реализован в любом языке программирования, в частности, в ассемблере. 2. Структурное программирование предполагает разбиение задачи на подзадачи, каждая из которых может быть решена отдельно. В соответствии с этим программа делится на точно обозначенные автономные подпрограммы (модули), исполняемые по мере необходимости. Структурными единицами программы являются подпрограммы. Этот подход поддерживается большинством современных языков программирования высокого уровня общего назначения, например QBasic, и вполне пригоден для решения задач средней степени сложности. 3. Объектно-ориентированное программирование объединяет лучшие идеи структурного программирования. Данная технология предполагает построение модели объекта реального мира. Для описания модели создаются особые типы данных — классы. Класс объединяет набор свойств семейства однотипных объектов и методы для работы с этими свойствами, описывая поведение объекта указанного типа. Этот подход положен в основу языков C++, Turbo Pascal (начиная с версии 5.5), Visual Basic, и др.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]