Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Команда повторения






 

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

Общий вид команды:

пока условие нц серия кц
 

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

Команда повторения называется циклом, поэтому служебные слова обозначают:

нц – начало цикла;

кц – конец цикла.

Блок-схема команды повторения:

Составим алгоритм с командой повторения для вычисления суммы натуральных чисел от 1 до 50, путем последовательного сложения чисел.

S = 1 + 2 + 3 + 4 + 5 + … + 50.

Сложим сначала 1 + 2, это будет первая сумма, затем к полученной сумме прибавим следующее слагаемое 3, получится новая сумма. Сложение будем продолжать до тех пор, пока не прибавим 50. обозначим слагаемое буквой «а». Слагаемые отличаются друг от друга на 1. Поэтому, каждый раз, после получения суммы слагаемое нужно увеличить на 1. Алгоритм будет выглядеть так:

 

алг сумма (нат S, a) арг a рез S нач s=1 a=2 пока a≤ 50 нц S=S+a a=a+1 кц кон

 

Команды нашего алгоритма S=S+a и а=а+1 с точки зрения математики не верны. В алгоритмическом языке не используют знак «=» в командах. В командах используют знак «: =», который читается «присвоить значение». В предыдущих темах расхождений с математическими равенствами не было, поэтому мы не акцентировали на этом внимание. Далее будем употреблять знак «: =».

 

алг сумма (нат S, a) арг a рез S нач s: =1 a: =2 пока a≤ 50 нц S: =S+a A: =a+1 кц кон

 

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

Шаги алгоритма Аргумент Результат Проверка условий
a S
       
       
      2≤ 50 (да)
       
       
      3≤ 50 (да)
       
       
      4≤ 50 (да)
       
       
      5≤ 50 (да)
     
Мы видим, что слагаемые складываются последовательно. Пропустим часть команд и проверим – закончится ли наш алгоритм, т. е. выйдем ли мы из цикла.
       
      49≤ 50 (да)
    S+49  
       
      50≤ 50 (да)
       
    S+49+50  
      51≤ 50 (нет)

 

Мы получили ответ «нет» на условие, значит, вышли из команды повторения. В столбике «результат» видно, что последним было выполнено сложение с числом 50.

Построим блок-схему по данному алгоритму:

Построим алгоритм для нахождения произведения чисел, не превосходящих 100 и кратных 4. Вдумаемся в условие задачи. Числа, не превосходящие 100, значит, нашим условием будет n≤ 100 (n – число). Числа кратны 4, значит, они делятся на 4 без остатка. Деление с остатком рассматривается на множестве натуральных чисел – тип наших величин натуральный. Обозначим произведение – Р. Построим алгоритм:

 

алг произведение (нат Р, n) арг n рез P нач P: =4 n: =8 пока n ≤ 100 нц P: =P × n n: =n + 4 кц кон алг произведение (нат Р, n) арг n рез P нач P: =1 n: =4 пока n ≤ 100 нц P: =P × n n: =n + 4 кц кон

 

Оба алгоритма будут верными, можете убедиться в этом, исполнив их. Алгоритму будут различаться только количеством шагов.

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

Пример 1. У исполнителя имеется пустое 7-литровое ведро, литровая банка и емкости с холодной и горячей водой. Вместо емкости, могут быть использованы краны с горячей и холодной водой, при условии, что они не соединены смесителем воды. Надо наполнить до краев ведро теплой водой. Построим алгоритм наполнение ведра для исполнителя:

 

алг наполнение ведра нач пока ведро не полно нц налить 1 л холодной воды налить 1 л горячей воды кц кон

 

Исполняя алгоритм, человек трижды нальет в ведро по 1 л холодной и горячей воды, но ведро не будет наполнено до краев. Тогда команда повторения будет выполнена в четвертый раз. Исполнитель нальет 1 л холодной воды и 1 л горячей воды, при этом 1 л воды выльется из ведра, но ведро будет полным до краев и исполнение команды повторения прекратится.

Пример 2. Построить алгоритм нахождения массы небольшого предмета с помощью чашечных весов.

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

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.