Алгоритмическая структура ветвления

ФЕДЕРАЛЬНОЕ  АГЕНСТВО ПО ОБРАЗОВАНИЮ



		ГУБКИНСКИЙ ФИЛИАЛ

ГОСУДАРСТВЕННОГО ОБРАЗОВАТЕЛЬНОГО УЧРЕЖДЕНИЯ

ВЫСШЕГО ПРОФЕССИАНАЛЬНОГО ОБРАЗОВАНИЯ

		«БЕЛГОРОДСКИЙ ГОСУДАРСТВЕННЫЙ 

		ТЕХНОЛОГИЧЕСКИЙ УНИВЕРСИТЕТ ИМ. В.Г ШУХОВА»







		КАФЕДРА ЭКОНОМИКИ И УЧЕТА

















КОНТРОЛЬНАЯ РАБОТА





по дисциплине: «ИНФОРМАТИКА»





















	



			  Студента  3 курса	                                                                                          

	                                                                                   экономического   факультета

	                                                                                    группа ЭК-31з

	                                                                                    Шульга Оксана   Васильевна

	                                                                                    Специальность  080502

	                                                                                    шифр: 3010176	

	                                                                                    Преподаватель

	            Пронин П.А.                                              

	

	



			               г. Губкин 2009 г.	







		                   СПИСОК ЛИТЕРАТУРЫ

		 

	



1.   Информатика. Базовый курс/ Под ред. С. В. Симоновича. СПб: Питер,2000.





2.  Степанов А.Н. Информатика: Учебник для вузов. 4-е изд. - СПб.: Питер, 2005.- 684 с.: ил.



3.  Попов В.Б. Turbo Pascal  для школьников: Учеб. пособие. – 3-е доп. изд. –   М.: Финансы и статистика, 2002. – 528 с.: ил.

























































		

	

		СОДЕРЖАНИЕ







1. Свойства алгоритма                                                                                3-4 



2. Алгоритмическая структура ветвления                                                5- 7



3. Программирование                                                                                  8-9



4. Необходимость структуризации  в программирование                       10-12



    Список литературы





















































		

	

	

	

	

	

1.  СВОЙСТВА АЛГОРИТМА.



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

     Можно утверждать, что алгоритмы – это способ фиксации и передачи знаний, накопленных человечеством, это богатство культуры, науки и техники. Роль алгоритмов в жизни человека весьма многогранна и не сводится только к обработке информации. Однако в процессе обработки информации алгоритмы играют первостепенную роль. Алгоритмы обладают важнейшим качеством – исполнение одного  того же алгоритма в одних и тех же условиях различными людьми (в  общем случае – исполнителями), как правило, приводит к одинаковым результатам. Следовательно, можно утверждать, что алгоритма обладают ( точнее, должны обладать) некоторыми свойствами, которые обеспечивают этот эффект.

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

     Свойства алгоритма. При составлении и записи алгоритма необходимо обеспечить, чтобы он обладал рядом свойств. 

     Однозначность алгоритма, под которой понимается единственность толкования исполнителем правил выполнения действий и порядка их выполнения. Чтобы алгоритм обладал этим свойством, он должен быть записан командами из системы команд исполнителя.

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

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

     Правильность алгоритма, под которой понимается способность алгоритма давать правильные результаты решения поставленных задач. 





























2. АЛГОРИТМИЧЕСКАЯ СТРУКТУРА ВЕТВЛЕНИЯ.



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

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

 1.  Если чувствует себя хорошо, то собирается в школу.

 2. Иначе – остается дома.

      Приведенный алгоритм называется разветвляющимся, он выполняется  в зависимости от условия, т.е. от вопроса на который можно ответить «да» или «нет». Алгоритм ветвления, как и другие алгоритмы должны обладать следующими свойствами:

      дискретность – разбиение процесса обработки информации на более      простые этапы (шаги выполнения), выполнение которых компьютером или человеком не вызывает затруднений;

                  определенность алгоритма – однозначность выполнения каждого     отдельного   шага преобразование информации;

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

массовость – пригодность алгоритма для решения определенного класса задач;

       Полная форма разветвляющего алгоритма – это форма записи, в которой предусмотрены команды в ветви «да» и в ветви «нет». Если – то – иначе пример: Происходит проверка условия если аб, то происходит присваивании е к переменной «а» значение «а*2», а к переменной «б», значение «1». Иначе, т.е. если аб, происходит присваивание переменной «б» значение «2*б».

       Неполная форма – это форма записи разветвляющегося алгоритма, в которой предусмотрены команды одной ветви. Если – то пример  происходит проверка условия если х0, то переменной «у» присваивается значение «sin(х)», иначе, т.е. если х0, то действия ветви «да» пропускаются.

      Разветвляющийся алгоритм можно записать несколькими способами:

Словесный

В виде блок-схем 

На языке программирования

      Словесный способ записи разветвляющихся алгоритмов представляет собой описание последовательных этапов обработки данных. А алгоритм задается в произвольном изложении на естественном языке.

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

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

       Запись разветвляющегося алгоритма при помощи языка программирования. В зависимости от результата проверки условия может быть полная форма разветвляющегося алгоритма или неполная форма. 

      Полная форма  IF условие THEN Номер строки, с которой начинается описание блока команд или вычислительных действий. ELSE  Номер строки, с которой начинается описание блока команд ветви «НЕТ» или вычислительных действий. Если ветвь содержит несколько команд, то удобнее условие записать так, чтобы команды оказались в ветви «нет».

      Неполная форма  IF условие THEN Номер строки, с которой продолжается программа, после окончания ветвления. 

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

      Алгоритм решения комплекса задач и его программная реализация тесно взаимосвязаны. Специфика применяемых методов проектирование алгоритмов и используемых при этом инструментальных средств разработки программ может повлиять на форму представления и содержания алгоритма обработки данных.









































	3. ПРОГРАМИРОВАНИЕ	

	

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

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

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

	      Программирование – это развитая отрасль хозяйственной деятельности, связанная со значительными затратами материальных, трудовых и финансовых ресурсов. По данным зарубежных источников, в середине 90-х г. в мире было занято программированием до 2% трудоспособного населения. Совокупный оборот в сфере создания программных средств достигает нескольких сот миллиардов долларов в год.

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

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

      Ввод программы и исходных данных в ЭВМ. Программа  и исходные данные вводятся в ЭВМ с клавиатуры с помощью редактора текстов, и для постоянного хранения осуществляется запись на гибкий или жесткий диск.

     Тестирование и откладка программы. На этом этапе  происходит исполнение алгоритма с помощью ЭВМ, поиск и исключение ошибок. При этом программисту приходится выполнять рутинную работу по проверке работы программы, поиску и исключению ошибок, и поэтому для сложных программ этот этап часто требует гораздо больше времени и сил, чем написание первоначального текста программы.

     Откладка программы, сложный и нестандартный процесс. Исходный план откладки заключается в том, чтобы оттестировать программу на контрольных примерах. Контрольные примеры стремятся выбрать так, чтобы при работе с ними программа прошла основные пути блок-схемы алгоритма, поскольку на каждом из путей могут быть свои ошибки, а детализация плана зависит от того, как поведет себя программа на этих примерах: на одном она может зациклиться ( т.е. бесконечно повторять одно и тоже действие); на другом – дать явно неверный или бессмысленный результат и т.д. Сложные программы отлаживают отдельными фрагментами. Для повышения качества выполнения этого этапа используются специальные программы – отладчики, которые позволяют исполнить программу «по шагам» с наблюдением за изменением значений переменных, выражений и других объектов программы, с отслеживанием выполняемых операторов.









4. НЕОБХОДИМОСТЬ СТРУКТУРИЗАЦИИ В ПРОГРАМИРОВАНИИ



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

     Значительное увеличение сложности задач, решаемых с помощью ЭВМ, приводит к увеличению размеров и сложности программ, что порождает дополнительные трудности при их разработке и откладке. Увеличение продолжительности жизненного цикла программ приводит к тому, что с течением времени из-за изменения использования программ возникает необходимость их модификации, повышения их эффективности, удобство пользования ими.

      Для разрешения возникших при этом проблем в практике программирования выработан ряд приемов  и методов, которые принято называть методами структурного программирования. 

      Под структурным программированием понимают такие методы разработки и записи программы, которые ориентированы на максимальные удобства для восприятия и понимания ее человеком. При прочтении программы в ее друг за другом фрагментах должна четко прослеживаться логика ее работы, т.е. не должно быть «скачков» на фрагменты программы, расположенные где-то в другом месте программы.

     Структурное программирование – «программирование без go to», т.е. не используются операторы перехода без особой необходимости. В связи с этим отдельные фрагменты программы представляют собой некоторое логическое (управляющие) структуры, которые определяют порядок выполнения содержащихся в них правил обработки данных. Любая программа получается построенной из стандартных логических структур, число типов которых невелико.

Основные логические структуры:

     Следование – последовательность операторов, групп операторов, выполняемых друг за другом в порядке их следования в тексте программы.

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

     Повторение – цикл, в котором группа операторов может выполнятся повторно, если соблюдается заданное условие.

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

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

      Для того чтобы возложить на транслятор контроль за корректностью использования в программе различных типов данных, в Паскале требуется описывать константы и переменные перед их применением с указанием их типа. Чтобы эти описания было легче использовать транслятору и программисту, Паскаль требует четкой структуризации программы, отводя для различного рода информации строго отведенное место.