Программирование линейных алгоритмов. 2

 
 
 
 
 
 
 

Реферат по теме: «Программирование  линейных алгоритмов»

Ученика 9-г класса

средней школы №150

МОУ СОШ 

г. Челябинска

Бологова  Дениса  
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

2011г. 
 
 
 
 
 

Содержание. 

  1. Понятие алгоритмических  структур.
 
  1. Линейный  алгоритм
 
  1. Использование алгоритмов линейной структуры.
 
  1. Графические блок-схемы.
 
  1. Выводы.
 
  1. Список  использованной литературы.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Компьютерная программа является алгоритмом действий для процессора компьютера, а сам процессор – исполнителем данного алгоритма.  
Сама по себе компьютерная программа является общим алгоритмом, который в свою очередь разделяется на отдельные составные части, на отдельные алгоритмы, которые принято называть алгоритмическими структурами, хотя не будет ошибочно, если называть такие структуры просто алгоритмами. Владея навыками в применении алгоритмических структур, программист как бы строит программу в целом, как здание из отдельных кирпичиков.

 
В процессе создания и использования  языков программирования были реализованы  многие виды алгоритмических структур, как говорится – на все случаи жизни. На сегодняшний день, в любом современном языке, на основании имеющегося арсенала алгоритмов, можно оформить практически любое поведение процессора по желанию программиста, другими словами – написать абсолютно любую программу.

 
Не смотря на обилие возможностей создания огромного количества самых сложных  программ, большое количество языков программирования, различных требований к созданию компьютерных программ, алгоритмических структур всего  несколько. Грамотно осознав и накопив опыт по работе с этим количеством алгоритмов, можно смело приступать к созданию компьютерной программы. Причем даже не столь важно, какой язык программирования использовать, синтаксис языка (его ключевые слова и правила оформления) всегда можно посмотреть в нужном справочнике, а вот общий алгоритм вашей собственной программы, принципы и пути взаимосвязей между алгоритмическими структурами в ней известны только вам, как автору, и никто вам здесь не помощник, ни справочники, ни база данных Интернета, только вы сами и ваши знания. Еще одно доказательство тому, что не существует программ с абсолютно одинаковым алгоритмом. Если сравнить между собой две одинаковые на первый взгляд программы, которые выполняют одни и те задачи, выполнены по одному и тому же заказу (техническому заданию - ТЗ), на входе получают одни и те же данные, а на выходе выдают одинаковые результаты, то все равно их внутренний алгоритм, внутреннее содержимое будет разное и зависеть оно будет только от индивидуальных особенностей автора-программиста. Из чего можно сделать вывод, что создание программы для компьютера – это глубоко творческий процесс. Также как два художника срисовывая в природе одну и ту же лесную опушку, никогда не нарисуют одинаково.

 
Итак, как уже говорилось, существует несколько видов алгоритмических структур, которые существуют почти во всех языках программирования, кроме нескольких узконаправленных:

 
1. Линейный алгоритм;  
2. Разветвленный алгоритм (ветвление);  
3. Алгоритмическая структура «Выбор»;  
4. Алгоритмическая структура «Цикл» (циклический алгоритм).

 
Язык Visual Basic не исключение, как член группы высокоуровневых языков программирования, в нем присутствуют все четыре вида алгоритмических структур. Рассмотрим подробнее самый простой вид  алгоритма – линейный алгоритм.

 
 
 

Линейным называется алгоритм, в котором команды выполняются последовательно одна за другой.

 
Не зря линейный алгоритм называют еще элементарным – в нем все  команды для процессора расписаны  последовательно, а значит, и выполняются также – одна за другой, по линейке, без отклонений, без условий. Такие команды называют еще серией команд.

 
Давайте вспомним примеры.

 Выполнение  домашнего задания по информатике  мы выполняли последовательно,  у нас все для этого было: учебник по информатике, записи лекций с уроков, знания, вопросы домашнего задания и так далее. Или пример с «Калькулятором» – программой, которая умела суммировать цифры и состояла лишь из поля ввода для переменной a, поля ввода для переменной b, кнопки «+», кнопки «=» и поля вывода результата.

 
Такая программа бы являлась самой  простой, потому что построена она  на самом простом алгоритме –  линейном, других возможностей, кроме  суммирования, она бы не имела. То есть процессор, после загрузки вел себя строго линейно – ожидал ввода первой цифры, потом второй, суммировал и выдавал какой-то результат. Мы не предоставили возможности процессору повести себя как-то иначе. А что если бы наш «Калькулятор» умел бы не только суммировать, но и делить, например, a на b. Из правил арифметики мы знаем, что деление на 0 невозможно, но получилось бы так, что пользователь нашей программы в качестве делителя ввел ноль. Математическая операция невозможна, процессор бы вернул ошибку, а программа – неприятное сообщение. Как быть в этом случае? На это и существуют более «продвинутые» алгоритмические структуры, о которых мы поведем речь в следующих статьях. Может сложиться мнение, что линейный алгоритм неудобен и не стоит его использовать, владея знаниями по другим алгоритмам. Но это в корне неверный вывод – написать программу, не используя линейный алгоритм невозможно. Он составляет костяк программы, ее основу, в внутри него, там где это необходимо, производят вставки других алгоритмических структур.

 
Прежде чем, приступить к написанию  программы, чтобы сделать алгоритм более наглядным и лучше отследить  моменты дискретизации и детерминированности, часто используют блок-схемы. Это графическое изображение, где в виде различных геометрических фигур описывают элементы будущей программы. Причем за определенными фигурами закреплены конкретные элементы, например, серию команд (линейный алгоритм) принято обозначать в виде прямоугольника, внутри которого описывается сама последовательность действий. Фигурой эллипса (прямоугольника с закругленными углами) обозначают начало и конец программы. Стрелками указывают направление действия программы. Существуют специальные ГОСТы, где перечислены все возможные фигуры, используемые для этих целей: ГОСТ 19.701-90, ГОСТ 19.002-80, ГОСТ 19.003-80.  
Попробуем изобразить «Калькулятор» из нашего прошлого примера в виде блок-схемы:  
 

Упрощенная  блок-схема линейного алгоритма

(Щелкните  для увеличения)

 
 

У нас получилась довольно простая блок-схема всего из трех геометрических фигур, где во внутрь прямоугольника мы образно поместили серию команд. Такая схема является приблизительной и не отражает сущности программы и ее составных частей, даже на уровне линейного алгоритма. Попробуем усложнить блок-схему этого же примера, используя более широкий диапазон фигур:  

Более сложная  схема линейного алгоритма  

 
Как мы видим из этого рисунка, для  каждого действия существует определенная фигура: для ввода-вывода – параллелограмм, для сохранения данных в неавтономную (энергозависимую память) – прямоугольник  с закругленными боками. Этот наш пример можно было бы усложнять, приводить к более профессиональному виду и далее, но на данном этапе работы, примем такой вариант, как наиболее правильный.

 
 
 

Итак, подведем итоги данного реферата:

 
1. Компьютерная программа – общий алгоритм для процессора, который состоит из отдельных блоков – алгоритмических структур;  
2. Алгоритмических структур известное количество, правильное и рациональное использование которых позволяет реализовать любые, самые сложные маневры при написании программы;  
3. Создание программы – творческий процесс. Это – продукт, созданный индивидуально каждым программистом, основываясь на его знаниях, умениях, навыках и опыте работы;  
4. Самое сложное в программировании – целенаправленное и осознанное использование алгоритмических структур;  
5. Линейный алгоритм самый простой и не позволяет реализовать элементы программы в зависимости от условий, однако на нем базируется остов всей программы. Это как цемент в строительстве стены – его не видно в готовом объекте, но без него стена ссыпалась бы в песок, камни и другие строительные составляющие;  
6. В целях визуального представления связки элементов программы используются графические блок-схемы. Прежде чем приступить к написанию кода программы, желательно составить такую схему – она поможет в дальнейшем не ошибиться и не запутаться.

 
 
 
 
 
 
 

Список  использованной литературы.

  • Вершик А. М. «O Л. В. Канторовиче и линейном программировании»
  • Cлайды по линейному программированию
  • Большакова И. В., Кураленко М. В. «Линейное программирование. Учебно-методическое пособие к контрольной работе»
  • Барсов А. С. «Что такое линейное программирование», Популярные лекции по математике, Гостехиздат, 1959.
  • Автоматизация решения экстремальных задач линейного программирования
Программирование линейных алгоритмов. 2