Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

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



знать: основные конструкции ветвления; основные операторы ветвления; порядок выполнения операций алгоритмической структуры «ветвление»

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

Базовая структура: ветвление

Псевдокод Блок-схема
1. если-то
если условие то действия все
2. если-то-иначе
если условие то действия 1 иначе действия 2 все

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

Трассировочные таблицы предназначены для тестирования алгоритмов.

Оба алгоритма решают поставленную задачу, но разными способами. На левом рисунке приведен алгоритм первого варианта на псевдокоде. Команда "кв" означает "конец ветвления" равносильна команде "все".

6.05. Алгоритмы циклической структуры

знать: порядок выполнения операций циклической алгоритмической структуры, виды циклов; особенности использования операторов циклов

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

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

Внутри тела цикла «пока» должно содержаться выражение, изменяющее параметр цикла!


Определенны цикл (Цикл с известным количеством итераций.)



6.06. Понятие о структурном программировании. Модульный принцип программирования. Подпрограммы. Принципы проектирования программ «сверху-вниз» и «снизу-вверх»

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

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

Структурное программирование — методология разработки программного обеспечения, в основе которой лежит представление программы в виде иерархической структуры блоков. Предложена в 70-х годах XX века Э. Дейкстрой, разработана и дополнена Н. Виртом.

В соответствии с данной методологией

  1. Любая программа представляет собой структуру, построенную из трёх типов базовых конструкций:
    • последовательное исполнение — однократное выполнение операций в том порядке, в котором они записаны в тексте программы;
    • ветвление — однократное выполнение одной из двух или более операций, в зависимости от выполнения некоторого заданного условия;
    • цикл — многократное исполнение одной и той же операции до тех пор, пока выполняется некоторое заданное условие (условие продолжения цикла).

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

  1. Повторяющиеся фрагменты программы (либо не повторяющиеся, но представляющие собой логически целостные вычислительные блоки) могут оформляться в виде т. н. подпрограмм (процедур или функций). В этом случае в тексте основной программы, вместо помещённого в подпрограмму фрагмента, вставляется инструкция вызова подпрограммы. При выполнении такой инструкции выполняется вызванная подпрограмма, после чего исполнение программы продолжается с инструкции, следующей за командой вызова подпрограммы.
  2. Разработка программы ведётся пошагово, методом «сверху вниз».

Сначала пишется текст основной программы, в котором, вместо каждого связного логического фрагмента текста, вставляется вызов подпрограммы, которая будет выполнять этот фрагмент. Вместо настоящих, работающих подпрограмм, в программу вставляются «заглушки», которые ничего не делают. Полученная программа проверяется и отлаживается. После того, как программист убедится, что подпрограммы вызываются в правильной последовательности (то есть общая структура программы верна), подпрограммы-заглушки последовательно заменяются на реально работающие, причём разработка каждой подпрограммы ведётся тем же методом, что и основной программы. Разработка заканчивается тогда, когда не останется ни одной «заглушки», которая не была бы заменена. Такая последовательность гарантирует, что на каждом этапе разработки программист одновременно имеет дело с обозримым и понятным ему множеством фрагментов, и может быть уверен, что общая структура всех более высоких уровней программы верна. При сопровождении и внесении изменений в программу выясняется, в какие именно процедуры нужно внести изменения, и они вносятся, не затрагивая части программы, непосредственно не связанные с ними. Это позволяет гарантировать, что при внесении изменений и исправлении ошибок не выйдет из строя какая-то часть программы, находящаяся в данный момент вне зоны внимания программиста.

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





Дата публикования: 2014-11-03; Прочитано: 904 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.015 с)...