Песенка о зарядке

ПРИЛОЖЕНИЕ

алг МАМА дано надо нач |букваМ сместиться на вектор (1,0); опустить перо; сместиться на вектор (0,4); сместиться на вектор (1,-2); сместиться на вектор (1,2) сместиться на вектор (0,-4) поднять перо |букваА сместиться на вектор (1,0) опустить перо сместиться на вектор (1,4) сместиться на вектор (1,-4) сместиться на вектор (-0.5,2) сместиться на вектор (1,0) поднять перо сместиться на вектор (1.5,-2) |букваМ сместиться на вектор (1,0) опустить перо сместиться на вектор (0,4) сместиться на вектор (1,-2) сместиться на вектор (1,2) сместиться на вектор (0,-4) поднять перо |букваА сместиться на вектор (1,0) опустить перо сместиться на вектор (1,4) сместиться на вектор (1,-4) сместиться на вектор (-0.5,2) сместиться на вектор (1,0) поднять перо сместиться на вектор (1.5,-2) кон текст1 алг МАМА дано надо нач букваМ букваА букваМ букваА кон алг букваМ дано надо нач сместиться на вектор (1,0) опустить перо сместиться на вектор (0,4) сместиться на вектор (1,-2) сместиться на вектор (1,2) сместиться на вектор (0,-4) поднять перо кон алг букваА дано надо нач сместиться на вектор (1,0) опустить перо сместиться на вектор (1,4) сместиться на вектор (1,-4) сместиться на вектор (-0.5,2) сместиться на вектор (1,0) поднять перо сместиться на вектор (1.5,-2) кон    

Песенка о зарядке

 

Песенка о зарядке. 1 куплет Ни мороз мне не страшен, ни жара. Удивляются даже доктора, Почему я не болею, Почему я здоровее Всех ребят из нашего двора. Припев Потому что утром ранним Заниматься мне гимнастикой не лень, Потому что водою из-под крана Обливаюсь я каждый день! 2 куплет Трудный задали на дом нам урок, Сделал я всё, что надо точно в срок. Я без устали трудился, В состязаниях отличился, И успел под вечер на каток. Припев Потому что утром ранним Заниматься мне гимнастикой не лень, Потому что водою из-под крана Обливаюсь я каждый день! 3 куплет Я дела выбираю потруд­ней, Я задачи решаю посложней, Я повсюду поспеваю, Я усталости не знаю, И звучит моя песня веселей. Припев Потому что утром ранним Заниматься мне гимнастикой не лень, Потому что водою из-под крана Обливаюсь я каждый день!   Песенка о зарядке. 1 куплет Ни мороз мне не страшен, ни жара. Удивляются даже доктора, Почему я не болею, Почему я здоровее Всех ребят из нашего двора. Припев 2 куплет Трудный задали на дом нам урок, Сделал я всё, что надо точно в срок. Я без устали трудился, В состязаниях отличился, И успел под вечер на каток. Припев 3 куплет Я дела выбираю потрудней, Я задачи решаю посложней, Я повсюду поспеваю, Я усталости не знаю, И звучит моя песня веселей. Припев Потому что утром ранним Заниматься мне гимнастикой не лень, Потому что водою из-под крана Обливаюсь я каждый день!

 

СХЕМА 1

 

Прямоугольники в основном алгоритме — команды алгоритма. Стрелками показан ход выполнения команды алгоритмов. Цифры над стрелками указывают порядковые номера обращения к вспомогательному алгоритму.

Далее смотри методичку «Алгоритмизация и программирование»

Блок-схемы алгоритмов, содержащих команды обращения
к вспомогательным алгоритмам

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

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

Использование вспомогательных алгоритмов вызывает необходимость оформлять их специальным образом, чтобы иметь возможность в дальнейшем ссылаться на них в основном алгоритме. Формальные способы оформления таких алгоритмов широко применяются в языках программирования, а сами вспомогательные алгоритмы, записанные на языках программирования, называют подпрограммами или процедурами. При использовании блок-схем полная формализация в оформлении вспомогательных алгоритмов, как правило, не производится. Однако, будем придерживаться некоторых принципов оформления. В заголовке вспомогательного алгоритма (блок «начало») за именем вспомогательного алгоритма будем указывать в круглых скобках список так называемых формальных параметров. В списке формальных параметров укажем имена входных и выходных данных (аргументов (арг) и результатов (рез)) алгоритма. Это необходимо для того, чтобы при ссылке на подчиненный алгоритм в основном алгоритме можно было задать значения аргументов, а после исполнения вспомогательного алгоритма, воспользоваться результатами – значениями соответствующих данных. Например, если алгоритм нахождения большего из двух чисел необходимо оформить как вспомогательный, где a и b – аргументы, а z – результат, то блок начала этого алгоритма оформим так:

 


БИД – имя алгоритма (большее из двух).

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

<имя вспомогательного алгоритма> (<список фактических параметров>).

На блок-схеме вызов вспомогательного алгоритма изобразим в виде геометрической фигуры , внутри которой запишем команду вызова вспомогательного алгоритма. Например, если в основном алгоритме необходимо найти большее из данных k и l, где переменной k было присвоено значение 45, а переменной l – значение 21, и результат присвоить переменной y, то обращение к вспомогательному алгоритму запишем так: , где k, l, y – фактические параметры.

Исполнение команды вызова вспомогательного алгоритма эквивалентно исполнению вспомогательного алгоритма с фактическими параметрами. Команда вызова вспомогательного алгоритма исполняется как один шаг основного алгоритма.

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

1. На время исполнения команды обращения к вспомогательному алгоритму выполнение основного алгоритма приостанавливается.

2. Формальным параметрам-аргументам вспомогательного алгоритма присваиваются значения фактических параметров, записанных в команде вызова вспомогательного алгоритма.

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

4. Значения результатов-параметров вспомогательного алгоритма присваиваются соответствующим значениям параметров, записанных в команде вызова вспомогательного алгоритма.

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

Замечание: Значения данных вспомогательного алгоритма, не переданные в основной алгоритм после исполнения вспомогательного алгоритма, становятся недоступными. Количество, порядок, тип параметров в команде вызова вспомогательного алгоритма должны соответствовать количеству, порядку, типу параметров в заголовке вспомогательного алгоритма.

 

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

 

Задача 30.Наибольший общий делитель. Составьте блок