Песенка о зарядке
ПРИЛОЖЕНИЕ
алг МАМА дано надо нач |букваМ сместиться на вектор (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.Наибольший общий делитель. Составьте блок