20005

Основные алгоритмические структуры: следование, ветвление, цикл; изображение на блок-схемах. Разбиение задачи на подзадачи. Вспомогательные алгоритмы

Шпаргалка

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

Цикл Цикл представляет собой алгоритмическую конструкцию в которой многократно выполняется одна и та же последовательность шагов называемая телом цикла. Каждое однократное исполнение тела цикла называется итерацией. Если тело цикла было выполнено N раз говорят что было произведено N итераций. Для того чтобы определить момент прекращения выполнения тела цикла используется условие цикла.

Русский

2013-08-15

46.5 KB

23 чел.

Билет 7

------------------------------------------------------------------------------------------------------------------------
1. Основные алгоритмические структуры: следование, ветвление, цикл; изображение на блок-схемах. Разбиение задачи на подзадачи. Вспомогательные алгоритмы.
------------------------------------------------------------------------------------------------------------------------

Алгоритмические конструкции

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

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

Линейная последовательность шагов

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

На рисунке изображена блок-схема линейного алгоритма, состоящего из двух шагов.

Язык блок-схем

Алгоритмический язык

нач


действие 1

действие 2
...................

кон

 

Пример программы на языке программирования Pascal
{программа вычисляет площадь прямоугольника}

Program ploshad;
var a,b,s:word;
begin
write('a=');
read (a);
write ('b=');
read (b);
s:=a*b;
writeln ('площадь прямоугольника', s);
end.

Ветвление

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

На рисунке приведена блок-схема ветвления

Язык блок-схем

Алгоритмический язык


если условие

то действия 1
иначе действия 2

все

Если условие истинно, то будет выполнено только действие1, в противном случае будет выполнено только действие2.

В языках программирования высокого уровня ветвление обычно реализуется с помощью оператора (команды) IF. (См. оператор If в Паскале, оператор If в языке Basic.)

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

{Программа, которая находит наибольшее из трех чисел}

Program maximal;
var a,b,c,d:word;
begin
write ('a,b,c'');
read (a,b,c);
if a>b then d:=a
else d:=b;
if c>d tnen d:=c then
writeln ('наибольшее',d);
end.

Цикл

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

Для того, чтобы определить момент прекращения выполнения тела цикла, используется условие цикла. Если при истинности условия цикл продолжается, то такое условие называется условием продолжения цикла. Иными словами, цикл продолжается, пока условие цикла истинно.

Если при истинности условия цикл завершается, то такое условие называется условием завершения цикла. В этом случае цикл продолжается до тех пор, пока условие цикла не станет истинным.

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

Блок-схема цикла с предусловием продолжения

Блок-схема цикла с постусловием завершения

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

Цикл типа Пока 

 

Цикл типа Для

 

нц пока условие
тело цикла (последовательность действий)
кц

нц для i от i1 до i2
тело цикла (последовательность действий)

кц

В языках программирования высокого уровня существуют различные операторы циклов (см. циклы в Паскале, циклы в Basic), в том числе реализующие циклы с заранее заданным количеством итераций, так называемые циклы со счетчиком.

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

Разработка алгоритмов методом последовательной детализации. Вспомогательные алгоритмы

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

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

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

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

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

------------------------------------------------------------------------------------------------------------------------
2. Работа с электронной таблицей. Создание таблицы в соответствии с условием задачи, использование функций. Построение диаграмм и графиков по табличным данным.
-----------------------------------------------------------------------------------------------------------------------


 

А также другие работы, которые могут Вас заинтересовать

31424. Дослідження трифазного кола змінного струму. З’єднання зіркою 125 KB
  Мета: Вимiряти фазні та лінійні напруги виміряти фазні струми та струм нейтралі. Розрахувати струм нейтралі та порівняти його з виміряними значеннями. Штучно відтворити аварійний режим обриву нейтралі і виконати виміри і розрахунки для цього режиму. Виміряти струми фазих I Ib Ic та нульового нейтрального In дроту для кожної з фаз B C та нейтралі N.
31425. Дослiдження трифазного кола змiнного струму з реактивними елементами. З’єднання зіркою. Детектор послідовності фаз 112 KB
  Мета: Вимiряти фазні та лінійні напруги виміряти фазні струми та струм нейтралі. Розрахувати фазні струми за наданими значеннями опорів і фазних напруг. Побудувати векторнi дiаграми напруг i струмiв. На стендi розташовано ємність C і резистори навантаження Rb Rc під’єднані до джерела трифазного струму E з фазними напругами E Eb Ec.
31427. Дослiдження діоду 50 KB
  Дослідити функціональну залежність струму. Обладнання: Стенд з регульованої напругою вольтметром та амперметром вбудовані опори германієвий діод блок живлення постiйного струму. Елементом позначення діоду на схемах є стрілка що позначає прямий напрямок струму від..€œ.
31428. Дослiдження лiнiйного та нелiнiйного елементу 59.5 KB
  Перемикач S дозволяє змiнювати полярнiсть напруги. Перимикачом S виставити пряму полярнiсть напруги E вiдносно дiоду D Ҡнапруги у точцi 1 вiдносно точки 4. Вимiряти струм кола I напругу E на дiлянцi кола дiод D – опiр R точки 14 падiння напруг на дiодi D UD точки 12 та на опорi R – UR точки 34 для рiзних значень напруг E вiд мiнiмального до максимального значення приблизно по 10 вiдлiкiв для прямої i ще 10 – для зворотньої напруги. Вимiряти напруги U мiж точками 12 34 i E мiж 14.
31429. Дослiдження дiпольної моделi серця людини 77.5 KB
  Дослiдження залежностi потенцiалiв вiд орiєнтацiї осi дiполю. В кардiографiї широко поширена дiпольна модель електричних потенцiалiв серця. Для вимiрiв потенцiалiв серця використовуються стандартнi пiдключення електродiв вiдведення до кiнцiвок людини.
31430. Дослiдження розголудженного кола з кількома джералами ЕРС 47 KB
  Занотувати значення опорiв R1 R2 R3 R4 R5 Перемички X1X5 дозволяють тимчасово розiрвати дiлянку кола для пiд’єднання амперметру до мiсця розриву. Дослiдження розголудженного кола з кількома джералами ЕРС 1. Позначити на схемі умовні напрямки струмів для кожної гілки кола.
31431. Мировое хозяйтво 71.5 KB
  Мировым (всемирным) хозяйство – это совокупность национальных хозяйственных комплексов всех стран мира как сложно организованная наднациональная экономическая система.