Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save anonymous/6cd69d8e09f992dd28e4c68149b940fa to your computer and use it in GitHub Desktop.
Save anonymous/6cd69d8e09f992dd28e4c68149b940fa to your computer and use it in GitHub Desktop.
Программы разветвляющейся структуры введение

Программы разветвляющейся структуры введение



Ссылка на файл: >>>>>> http://file-portal.ru/Программы разветвляющейся структуры введение/


2.5.2. Программы ветвящейся структуры
Каталог статей
Составление программ разветвляющейся структуры
























Применение компьютерных технологий в различных сферах современного общества станет значительно эффективнее, если пользователи овладеют системным подходом в решении прикладных задач, будут иметь представление о методах разработки алгоритмов и составления программ, а значит — о компьютеризации различных видов деятельности. Процессор электронно-вычислительной машины, это чудо техники, умеет, тем не менее, выполнять лишь простейшие команды. Каким же образом компьютер решает сложнейшие задачи обработки информации? Для решения этих задач программист должен составить подробное описание последовательности действий, которые необходимо выполнить центральному процессору компьютера. Составление такого пошагового описания процесса решения задачи называется алгоритмизацией, а алгоритмом называется конечный набор правил, расположенных в определённом логическом порядке, позволяющий исполнителю решать любую конкретную задачу из некоторого класса однотипных задач. В разных ситуациях в роли исполнителя может выступать электронное или какое-либо иное устройство или человек например, военнослужащий, охраняющий склад боеприпасов и действующий согласно алгоритмам, записанным в устав караульной службы. Составление алгоритмов и вопросы их существования являются предметом серьёзных математических исследований. Под алгоритмом понимают набор правил, определяющих процесс преобразования исходных данных задачи в искомый результат. Анализ примеров различных алгоритмов показывает, что запись алгоритма распадается на отдельные указания исполнителю выполнить некоторое законченное действие. Каждое такое указание называется командой. Команды алгоритма выполняются одна за другой. После каждого шага исполнения алгоритма точно известно, какая команда должна выполнятся следующей. Совокупность команд, которые могут быть выполнены исполнителем, называется системой команд исполнителя. Алгоритм не только задает последовательность выполнения операций при решении конкретной задачи, но и должен обладать рядом свойств. Чтобы алгоритм обладал этим свойством, он должен быть записан командами из системы команд исполнителя. Для того чтобы алгоритм обладал свойством массовости, следует составлять алгоритм, используя обозначения величин и избегая конкретных значений. Создание алгоритма для решения задач какого-либо типа, его представление исполнителю в удобной для него форме — это творческий акт. Выбор и разработка алгоритма и численного метода решения задачи имеют важнейшее значение для успешной работы над программой. Тщательно проработанный алгоритм решения задачи — необходимое условие эффективной работы по составлению алгоритму. Приведем пример записи алгоритма на естественном языке, то есть на языке человеческого общения. Требуется вычислить сумму двух чисел. Обозначим эти числа a и b. Тогда алгоритм можно записать следующим образом:. Видно, что формулировка алгоритма не зависит от конкретных значений переменных a и b, поэтому его можно применять для решения достаточно большого числа сходных задач, в данном случае вместе составляющих целый класс задач суммирования. Алгоритм описывает действия не над конкретными значениями, а над абстрактными объектами. Основными объектами программирования являются переменные. Переменные в программе отличаются от переменных, используемых в записи математических формул. Несмотря на сходство терминов, правила использования переменных в программах для компьютера отличаются от правил работы с математическими переменными. Это различие необходимо уяснить. В программировании переменную можно трактовать как одну или несколько ячеек оперативной памяти компьютера, которым присвоено определённое имя. Содержимое этих ячеек может меняться, но имя переменной остаётся неизменным. В математике значение переменной в рамках определённой задачи неизменно, но меняется в других задачах из данного класса. Именно поэтому конструкция а: В первом случае имеется в виду вычисление суммы содержимого ячейки а и числовой константы 1 и занесение полученного результата в ту же ячейку а. Иногда используют полуформальный язык с ограниченным словарём часто на основе английского языка , промежуточный между естественным языком и языком программирования. Такой язык называется псевдокодом. Запись алгоритма на псевдокоде называется структурным планом. Псевдокод удобен тем, что позволяет программисту сосредоточиться на формулировке алгоритма, не задумываясь над синтаксическими особенностями конкретного языка программирования. Любой алгоритм может быть представлен в виде последовательности действий. Под действием понимают либо базовую операцию, либо базовую структуру. При выполнении операции ввода ввод A, B, C переменным из списка ввода A, B и C присваиваются конкретные значения, вводимые с клавиатуры, например:. Операция вывода осуществляет вывод значений переменных и выражений из списка вывода на экран, например:. Для разработки структуры программы удобнее пользоваться записью алгоритма в виде блок-схемы в англоязычной литературе используется термин flow-chart. Для изображения основных алгоритмических структур и блоков на блок-схемах используют специальные графические символы. Составим алгоритм вычисления квадратного корня из произвольного положительного вещественного числа х в виде блок-схемы. Структура Следование — одна из самых важных структур. Она означает, что два действия должны быть выполнены друг за другом. Существует сокращенная форма структуры Развилка, которая позволяет выполнить действие или пропустить его:. Третьей базовой структурой является Цикл, который предусматривает повторное выполнение определенных действий, необходимое для большинства программ. Различают следующие типы структур Цикл:. Здесь I — переменная цикла, N1, N2 — начальное и конечное значения переменной цикла, вычисляются один раз при входе в цикл. Переменная цикла пробегает все следующие друг за другом в порядке возрастания значения от начального до конечного. Изменение значения переменной цикла происходит автоматически после каждого выполнения действия, указанного внутри цикла. Выполнение действия повторяется до тех пор, пока истинно условие. Проверка условия осуществляется в начале цикла. Это означает, что действие может не выполниться ни разу. Чтобы такой цикл не был бесконечным, внутри цикла необходимо предусмотреть изменение значения условия с истинного на ложное. Как только значение условия становится истинным, цикл прекращается. Для завершения цикла необходимо внутри цикла изменить условие с ложного на истинное. Выбор структуры цикла определяется особенностями алгоритма решения конкретной задачи. Существенная особенность перечисленных базовых структур состоит в том, что каждая из них имеет один вход и один выход. Их можно соединять друг с другом в любой последовательности. В качестве действия может использоваться любая из перечисленных структур, что обеспечивает возможность вложенности одних структур в другие. Линейным называется алгоритм, блоки которого расположены последовательно один за другим, нет условий и повторений. Основной принцип программирования заключается в том, что обрабатывать можно только те данные, которые находятся в определенных областях оперативной памяти компьютера. Для того чтобы поместить исходные данные в оперативную память используются операторы ввода данных. Результат вычислений помещается в область S оперативной памяти. Чтобы вывести результат из памяти на экран монитора необходимо использовать оператор вывода. INPUT — оператор ввода данных с клавиатуры. Данные задаются в виде переменных. Переменная — это величина, значение которой может меняться в процессе выполнения программы. Для обозначения переменной используются их имена идентификаторы — последовательность до 40 латинских букв и цифр, начинающаяся с буквы. Данные могут быть следующих основных типов:. Оператор присваивания может быть использован как для ввода данных Например: При записи арифметического выражения используются арифметические операции и функции. Приоритет выполнения арифметических операций сохраняется. Функции можно использовать стандартные встроенные COS X , SQR X … и задаваемые самим пользователем. Для окончания программы используется оператор END. В начале программы можно использовать оператор очистки экрана — CLS. Пример линейной программы вычисления площади прямоугольника и ее алгоритм в виде блок-схемы:. Алгоритм называется разветвляющимся, если содержит хотя бы одно условие, в результате которого обеспечивается переход на один из двух возможных вариантов решения задачи. Ветвление может быть полным действия и после да и после нет и неполным в случае если нет — ничего не происходит. Пример разветвляющегося алгоритма — алгоритм решения квадратного уравнения. Появление условия при решении этой задачи связано с отсутствием корней при отрицательном дискриминанте. Рассмотрим блок-схему этого алгоритма:. Для данной алгоритмической структуры характерно, что в любой момент времени её реализации осуществляется обработка только по какой-либо одной из ветвей. При работе условного оператора сначала проверяется выполнение условия. Если условие выполняется истинное , то реализуется блок 1, в противном случае — блок 2. Прогресс компьютерных технологий определил процесс появления новых разнообразных знаковых систем для записи алгоритмов — языков программирования. Смысл появления такого языка — оснащенный набор вычислительных формул дополнительной информации, превращает данный набор в алгоритм. Язык программирования служит двум связанным между собой целям: По этой причине ограничивать свойства языка только целями исключения ошибок программиста в лучшем случае опасно. Как и в случае с естественными языками, есть огромная польза быть, по крайней мере, двуязычным. Язык предоставляет программисту набор концептуальных инструментов, если они не отвечают задаче, то их просто игнорируют. Например, серьезные ограничения концепции указателя заставляют программиста применять вектора и целую арифметику, чтобы реализовать структуры, указатели и т. Хорошее проектирование и отсутствие ошибок не может гарантироваться чисто за счет языковых средств. Может показаться удивительным, но конкретный компьютер способен работать с программами, написанными на его родном машинном языке. Существует почти столько же разных машинных языков, сколько и компьютеров, но все они суть разновидности одной идей простые операции производятся со скоростью молнии на двоичных числах. Персональные компьютеры IBM используют машинный язык микропроцессоров семейства , так как их аппаратная часть основывается именно на данных микропроцессорах. Можно писать программы непосредственно на машинном языке, хотя это и сложно. На заре компьютеризации в начале х г. Для спасения программистов от сурового машинного языка программирования, были созданы языки высокого уровня то есть немашинные языки , которые стали своеобразным связующим мостом между человеком и машинным языком компьютера. Существует два основных вида трансляторов:. Непосредственный режим позволяет вам задавать компьютеру задачу вроде PRINT 3. Кроме того, интерпретаторы имеют специальные атрибуты, которые упрощают отладку. Можно, например, прервать обработку интерпретаторной программы, отобразить содержимое определенных переменных, бегло просмотреть программу, а затем продолжить исполнение. Больше всего программистам нравится в интерпретаторах возможность получения быстрого ответа. Здесь нет необходимости в компилировании, так как интерпретатор всегда готов для вмешательства в вашу программу. Введите RUN и результат вашего самого последнего изменения оказывается на экране. Однако интерпретаторные языки имеют недостатки. Необходимо, например, иметь копию интерпретатора в памяти все время, тогда как многие возможности интерпретатора, а следовательно и его возможности могут не быть необходимыми для исполнения конкретной программы. Слабо различимым недостатком интерпретаторов является то, что они имеют тенденцию отбивать охоту к хорошему стилю программирования. Поскольку комментарии и другие формализуемые детали занимают значительное место программной памяти, люди стремятся ими не пользоваться. Хуже всего то, что интерпретаторы тихоходны. Ими затрачивается слишком много времени на разгадывание того, что делать, вместо того чтобы заниматься действительно делом. При исполнении программных операторов, интерпретатор должен сначала сканировать каждый оператор с целью прочтения его содержимого что этот человек просит меня сделать? Операторы в циклах сканируются излишне много. Компилятор-это транслятор текста на машинный язык, который считывает исходный текст. Он оценивает его в соответствии с синтаксической конструкцией языка и переводит на машинный язык. Другими словами, компилятор не исполняет программы, он их строит. Интерпретаторы невозможно отделить от программ, которые ими прогоняются, компиляторы делают свое дело и уходят со сцены. При работе с компилирующим языком, таким как Турбо-Бейсик, вы придете к необходимости мыслить о ваших программах в признаках двух главных фаз их жизни: Большинство программ будут прогоняться в четыре — десять раз быстрее их интерпретаторных эквивалентов. Если вы поработаете над улучшением, то сможете достичь кратного повышения быстродействия. Оборотная сторона монеты состоит в том, что программы, расходующие большую часть времени на возню с файлами на дисках или ожидание ввода, не смогут продемонстрировать какое-то впечатляющее увеличение скорости. Машинно — ориентированные языки — это языки, наборы операторов и изобразительные средства которых существенно зависят от особенностей ЭВМ внутреннего языка, структуры памяти и т. Машинно —ориентированные языки позволяют использовать все возможности и особенности Машинно — зависимых языков:. Машинно-ориентированные языки по степени автоматического программирования подразделяются на классы. Отдельный компьютер имеет свой определенный Машинный язык далее МЯ , ему предписывают выполнение указываемых операций над определяемыми ими операндами, поэтому МЯ является командным. В команде любого из них сообщается информация о местонахождении операндов и типе выполняемой операции. В новых моделях ЭВМ намечается тенденция к повышению внутренних языков машинно — аппаратным путем реализовывать более сложные команды, приближающиеся по своим функциональным действиям к операторам алгоритмических языков программирования. Продолжим рассказ о командных языках, Языки Символического Кодирования далее ЯСК , так же, как и МЯ, являются командными. Однако коды операций и адреса в машинных командах, представляющие собой последовательность двоичных во внутреннем коде или восьмеричных часто используемых при написании программ цифр, в ЯСК заменены на символы идентификаторы , форма написания которых помогает программисту легче запоминать смысловое содержание операции. Это обеспечивает существенное уменьшение числа ошибок при составлении программ. Использование символических адресов — первый шаг к созданию ЯСК. Команды ЭВМ вместо истинных физических адресов содержат символические адреса. По результатам составленной программы определяется требуемое количество ячеек для хранения исходных промежуточных и результирующих значений. Назначение адресов, выполняемое отдельно от составления программы в символических адресах, может проводиться менее квалифицированным программистом или специальной программой, что в значительной степени облегчает труд программиста. Есть также языки, включающие в себя все возможности ЯСК, посредством расширенного введения макрокоманд — они называются Автокоды. В различных программах встречаются некоторые достаточно часто использующиеся командные последовательности, которые соответствуют определенным процедурам преобразования информации. Эффективная реализация таких процедур обеспечивается оформлением их в виде специальных макрокоманд и включением последних в язык программирования, доступный программисту. Макрокоманды переводятся в машинные команды двумя путями — расстановкой и генерированием. В системе с генерацией имеются специальные программы, анализирующие макрокоманду, которые определяют, какую функцию необходимо выполнить и формируют необходимую последовательность команд, реализующих данную функцию. Обе указанных системы используют трансляторы с ЯСК и набор макрокоманд, которые также являются операторами автокода. Развитые автокоды получили название Ассемблеры. Сервисные программы и пр. Язык, являющийся средством для замены последовательности символов описывающих выполнение требуемых действий ЭВМ на более сжатую форму — называется Макрос средство замены. В основном, Макрос предназначен для того, чтобы сократить запись исходной программы. Компонент программного обеспечения, обеспечивающий функционирование макросов, называется макропроцессором. На макропроцессор поступает макроопределяющий и исходный текст. Реакция макропроцессора на вызов-выдача выходного текста. Машинно — независимые языки — это средство описания алгоритмов решения задач и информации, подлежащей обработке. Они удобны в использовании для широкого круга пользователей и не требуют от них знания особенностей организации функционирования ЭВМ и ВС. Подобные языки получили название высокоуровневых языков программирования. Программы, составляемые на таких языках, представляют собой последовательности операторов, структурированные согласно правилам рассматривания языка задачи, сегменты, блоки и т. Операторы языка описывают действия, которые должна выполнять система после трансляции программы на МЯ. Программист получил возможность не расписывать в деталях вычислительный процесс на уровне машинных команд, а сосредоточиться на основных особенностях алгоритма. Проблемно — ориентированные языки. С расширением областей применения вычислительной техники возникла необходимость формализовать представление постановки и решение новых классов задач. Необходимо было создать такие языки программирования, которые, используя в данной области обозначения и терминологию, позволили бы описывать требуемые алгоритмы решения для поставленных задач, ими стали проблемно — ориентированные языки. Эти языки, языки ориентированные на решение определенных проблем, должны обеспечить программиста средствами, позволяющими коротко и четко формулировать задачу и получать результаты в требуемой форме. Универсальные языки были созданы для широкого круга задач: Второй по мощности универсальный язык называется Алгол Он позволяет работать с символами, разрядами, числами с фиксированной и плавающей запятой. Язык учитывает включенные во многие машины возможности прерывания и имеет соответствующие операторы. Предусмотрена возможность параллельного выполнение участков программ. Язык использует многие свойства Фортрана, Алгола, Кобола. Однако он допускает не только динамическое, но и управляемое и статистическое распределения памяти. Появление новых технических возможностей поставило задачу перед системными программистами — создать программные средства, обеспечивающие оперативное взаимодействие человека с ЭВМ их назвали диалоговыми языками. Эти работы велись в двух направлениях. Создавались специальные управляющие языки для обеспечения оперативного воздействия на прохождение задач, которые составлялись на любых раннее неразработанных не диалоговых языках. Разрабатывались также языки, которые кроме целей управления обеспечивали бы описание алгоритмов решения задач. Необходимость обеспечения оперативного взаимодействия с пользователем потребовала сохранения в памяти ЭВМ копии исходной программы даже после получения объектной программы в машинных кодах. При внесении изменений в программу с использованием диалогового языка система программирования с помощью специальных таблиц устанавливает взаимосвязь структур исходной и объектной программ. Это позволяет осуществить требуемые редакционные изменения в объектной программе. Одним из примеров диалоговых языков является Бэйсик. Бэйсик использует обозначения подобные обычным математическим выражениям. Многие операторы являются упрощенными вариантами операторов языка Фортран. Поэтому этот язык позволяет решать достаточно широкий круг задач. Непроцедурные языки составляют группу языков, описывающих организацию данных, обрабатываемых по фиксированным алгоритмам табличные языки и генераторы отчетов , и языков связи с операционными системами. Позволяя четко описывать как задачу, так и необходимые для её решения действия, таблицы решений дают возможность в наглядной форме определить, какие условия должны быть выполнены прежде чем переходить к какому-либо действию. Одна таблица решений, описывающая некоторую ситуацию, содержит все возможные блок-схемы реализаций алгоритмов решения. Программы, составленные на табличном языке, удобно описывают сложные ситуации, возникающие при системном анализе. Изобретение языка программирования высшего уровня позволило нам общаться с машиной, понимать её если конечно Вам знаком используемый язык , как понимает американец немного знакомый с русским языком древнюю азбуку Кириллицы. Проще говоря, мы в нашем развитии науки программирования пока что с ЭВМ на ВЫ. Но если мы обратим внимание на темпы роста и развития новейших технологий в области программирования, то можно предположить, что в ближайшем будущем, человеческие познания в этой сфере, помогут произвести на свет языки, умеющие принимать, обрабатывать и передавать информации в виде мысли, слова, звука или жеста. Так и хочется назвать это детище компьютеризированного будущего: Возможно, концепция решения этого вопроса проста, а ближайшее будущее этого проекта уже не за горами. Размышляя над этим, хочется верить в прогресс науки и техники, в высоко — компьютеризированное будущее человечества, как единственного существа на планете, пусть и не использующего один, определенный разговорный язык, но способного так быстро прогрессировать и развивать свой интеллект, что и перехода от многоязыковой системы к всеобщему пониманию долго ждать не придется. ГДЗ Билеты Дипломные работы Доклады Изложения Книги Контрольные работы Курсовые работы Лабораторные работы Научные работы Отчеты по практике Рефераты Сочинения Статьи Учебные пособия Шпаргалки. Алгоритм и его структура Оглавление Введение Глава 1. Алгоритм и его свойства. Способы записи алгоритма Глава 2. Типовые примеры Глава 3. Рассмотрим пример алгоритма для нахождения середины отрезка при помощи циркуля и линейки. Алгоритм деления отрезка АВ пополам: Алгоритм может быть представлен различными способами: Тогда алгоритм можно записать следующим образом: В качестве базовых операций используются: Операция вывода осуществляет вывод значений переменных и выражений из списка вывода на экран, например: Блок-схема для решения данного рода задач будет выглядеть следующим образом: Начало Ввод вещественного числа х Вычисление корня по формуле Вывод результата Конец Глава 2. Классификация алгоритмов Различают три типа базовых структур: Структура Развилка обеспечивает выбор одной из двух альтернатив: Различают следующие типы структур Цикл: В зависимости от применяемых базовых структур различают следующие типы алгоритмов: Типовые примеры Линейным называется алгоритм, блоки которого расположены последовательно один за другим, нет условий и повторений. Покажем общую структуру линейного алгоритма в виде блок-схемы. Для реализации процесса обработки данных используется оператор присваивания. Данные могут быть следующих основных типов: DATA, READ — операторы ввода данных из блока памяти. READ a,b Оператор присваивания может быть использован как для ввода данных Например: Пример линейной программы вычисления площади прямоугольника и ее алгоритм в виде блок-схемы: Типовые примеры Алгоритм называется разветвляющимся, если содержит хотя бы одно условие, в результате которого обеспечивается переход на один из двух возможных вариантов решения задачи. Рассмотрим блок-схему этого алгоритма: Для описания разветвляющегося алгоритма существуют операторы: IF условие THEN блок действий 1 ELSE блок действий 2 ENDIF линейной структуры: IF условие THEN блок 1 ELSE блок 2 Обе структуры могут быть использованы как в полной форме так и в усеченной — без блока ELSE. Программа решения квадратного уравнения с использованием условного оператора имеет вид: SELECTCASE выражение CASE условие 1 блок операторов 1 CASE условие 2 блок операторов 2 CASEELSE блокоператоров n END SELECT CLS: Типовые примеры Алгоритм называется циклическим, если содержит участок, повторяющийся один или много раз. Циклы бывают с определённым количеством, неопределённым числом вычислений. Оператор цикла с параметром: DOWHILE условие продолжения вычислений UNTIL условие прекращения вычислений тело цикла LOOP Оператор цикла с постусловием: DO тело цикла LOOPWHILE условие продолжения вычислений UNTIL условие прекращения вычислений Глава 3. Языки программирования Прогресс компьютерных технологий определил процесс появления новых разнообразных знаковых систем для записи алгоритмов — языков программирования. Существует два основных вида трансляторов: Машинно —ориентированные языки позволяют использовать все возможности и особенности Машинно — зависимых языков: Макрос одинаково может работать, как с программами, так и с данными. Проблемных языков очень много, например: Фортран, Алгол — языки, созданные для решения математических задач; Simula, Слэнг — для моделирования; Лисп, Снобол — для работы со списочными структурами. Табличные методы легко осваиваются специалистами любых профессий. Заключение Изобретение языка программирования высшего уровня позволило нам общаться с машиной, понимать её если конечно Вам знаком используемый язык , как понимает американец немного знакомый с русским языком древнюю азбуку Кириллицы. Единственный способ изучать новый язык программирования — писать на нём программы. Окно в удивительный мир информатики. Turbo Pascal для школьников: Финансы и статистика, Издательская группа BHV,


Связать платье крючком кукле видео
Тесто для беляшей без дрожжей на сметане
Где продать немецкий нож
Организация программ разветвляющейся структуры. Условный оператор
Понятие сложность работы
Карат это сколько см
План микрорайона г
Урок 3 - Условный оператор IF. Оператор варианта Case. Программы разветвляющей структуры
Рассказ горького сканворд
Картинка шмеля крупным планом
Управляющие структуры. Условные операторы. Программирование разветвляющихся процессов
Итоговый тестпо геометрии 8 класс
Храм в богородском в москве расписание
Депрессия кризис среднего возраста
Организация программ разветвляющейся структуры. Условный оператор. - презентация
История китая фильм
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment