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

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

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

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

МОУ СОШ 

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

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







































2011г.













Содержание.



Понятие алгоритмических структур.



Линейный алгоритм



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



Графические блок-схемы.



Выводы.



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





























































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


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


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


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


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.

Автоматизация решения экстремальных задач линейного программирования