Программирование циклов в языке 1С

Конспект занятия
Данная практическая работа позволит обучающимся познакомиться с таким понятием как "цикл".
Виолетта Сергеевна Карасева
Содержимое публикации

Практическая работа №6

«Программирование циклов в языке 1С»


Цель:познакомиться с циклами в языке 1С.

Оборудование, ПО и нормативные документы: ПК с выходом в Интернет, учебная версия 1С: Предприятие 8.3.

Ход работы:

Цикл — это специальная команда компьютеру, которая позволяетповторятьвыполнениедругихкоманднужноеколичествораз.

Кпримеру,пустьнамтребуетсявывестинаэкранчислаот1до10.Можно,конечно,решитьзадачуужеизвестнымнамспособом—

без применения циклов. Решение будет таким:

Сообщить(1);

Сообщить(2);

Сообщить(3);

Сообщить(4);

Сообщить(5);

Сообщить(6);

Сообщить(7);

Сообщить(8);

Сообщить(9);

Сообщить(10);

Но, согласитесь, это громоздко и неудобно. Чтобы решить такуюпростую задачу, нам понадобилось написать целых 10 строчек кода!Ктомужепочтиодинаковых.ОниотличаютсялишьпараметрамидлякомандыСообщить.

Вот как раз для таких случаев и были придуманы циклы, которыхвязыке1Сбываетдвавида:ЦиклДляиЦиклПока.

ЦиклДля

Конструкцияциклавыглядитвоттак:

Для Имя = НачальноеЧисло По КонечноеЧисло ЦиклКоманда1();

Команда2();

...

КонецЦикла;

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

При этом Имяпрограммист придумывает сам, и с этим именемсвязываетсятекущеезначениешага.Разберемэтидействиянапримере.

Решение задачи вывода чисел от 1 до 10 с применением толькочтоизученногоциклабудетвыглядетьтак:

ДляШаг=1По10ЦиклСообщить(Шаг);КонецЦикла;

Всеготристрочкивместодесяти.

Компьютер,встретивтакуюконструкцию,выполняетеевследующейпоследовательности:

КомпьютеринициализируетимяШагзначениемравным1.Затем сравнивает это значение с 10. Значение 1 меньше 10.ВыполняетСообщить(1);

Увеличивает Шаг на единицу. Сравнивает с 10. Значение 2 меньше10.ВыполняетСообщить(2);

Увеличивает Шаг на единицу. Сравнивает с 10. Значение 3 меньше10.ВыполняетСообщить(3);

Увеличивает Шаг на единицу. Сравнивает с 10. Значение 4 меньше10.ВыполняетСообщить(4);

Увеличивает Шаг на единицу. Сравнивает с 10. Значение 5 меньше10.ВыполняетСообщить(5);

Увеличивает Шаг на единицу. Сравнивает с 10. Значение 6 меньше10.ВыполняетСообщить(6);

Увеличивает Шаг на единицу. Сравнивает с 10. Значение 7 меньше10.ВыполняетСообщить(7);

Увеличивает Шаг на единицу. Сравнивает с 10. Значение 8 меньше10.ВыполняетСообщить(8);

Увеличивает Шаг на единицу. Сравнивает с 10. Значение 9 меньше10.ВыполняетСообщить(9);

УвеличиваетШагнаединицу.Сравниваетс10.Значениеравно

ВыполняетСообщить(10);

УвеличиваетШагнаединицу.Сравниваетс10.Стоп!11больше10.Прекращаетвыполнениецикла.

Задание1.Изменитеприведенныйвышепример,чтобывыводилисьчислаот10до100.

Акаквыдумаете,сколькоразвыполнитсяследующийцикл:ДляШаг=10По1Цикл

Сообщить("Привет,Мир!");

КонецЦикла;

Акакнасчеттакогопримера:

Для Шаг = 1 По 1 ЦиклСообщить("Привет,Мир!");КонецЦикла;

СколькоразвыполнитсяСообщить("Привет,Мир!")?

Задание 2.Напишите программу, которая выводит на экран числа от 10 до 1, используя Цикл Для. Программа должна занимать ровнотристрочки.

Задание3. В теме Типы Данных мы выводилитаблицуумножения для числа 7? Она заняла у нас целых 10 строчек. Теперь,когдавызнаете,чтотакоециклы,перепишитерешениеэтойзадачис использованием Цикла Для. Решение должно уместиться в тристрочки.

Решение

ДляШаг=1По10Цикл

Сообщить("7*"+Шаг+"="+7*Шаг);

КонецЦикла;

Контрольные вопросы:

Для Шаг=1 По 5 Цикл

Сообщить(Шаг);

КонецЦикла;

Сколько раз выполнится Тело цикла?

Сколько раз выполнится команда Сообщить(Шаг);

К какому имени можно обратиться, чтобы узнать значение цикла?

Значение связанное с именем Шаг в процессе выполнения цикла будет меняться…

В результате работы цикла выведутся…

Чтобы вывести 2 4 6 8 10 необходимо вместо Сообщить(Шаг) написать…

Для того чтобы наряду с цифрами вывелось 5 раз слово Привет необходимо…

ЦИКЛ"ПОКА"ВЯЗЫКЕ

Конструкцияциклавыглядиттак:

ПокаЛогическоеВыражениеЦиклКоманда1();

Команда2();

...

КонецЦикла;

Команды,заключенныемеждусловамиЦиклиКонецЦиклавыполняютсяпокаЛогическоеВыражениеравноИстине.

Вкачествелогическоговыраженияможетбытьлюбоеусловие.Пока это условие верно (то есть равно Истина), выполнение командв цикле повторяется снова и снова, как только условие пересталобытьверным,командыперестаютвыполняться.

Решение задачи вывода чисел от 1 до 10 с применением толькочтоизученногоциклабудетвыглядетьтак:

Шаг=1;

Пока Шаг <= 10 ЦиклСообщить(Шаг);Шаг=Шаг+1;

КонецЦикла;

Компьютер,встретивтакуюконструкцию,выполняетеетак:

Первой командой компьютер сопоставит имени Шагзначениеравное1.ТаккакимяШагнаданномэтаперавноединице—условиецикла верно (Шаг<= 10) — компьютер выводит единицу и увеличивает имя Шагдо 2. Имя Шагравно 2, но условие цикла по-прежнемуверно,поэтомукомпьютервыводит2иувеличиваетимяШагдо3.

...

Имя Шагравно 10, условие цикла все еще верно — компьютервыводит10иувеличиваетимяШагдо11.Стоп!Условиециклаперестало выполняться, теперь Шаг(вернее его значение 11) больше 10.Командыциклабольшеневыполняются.

Задание4.Изменитеприведенныйвышепример,чтобывыводилисьчислаот10до100.

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

Акаквыдумаетесколькоразвыполнятсяследующиециклы:ПокаИстинаЦикл

Сообщить("Привет!");

КонецЦикла;

Пока 1 = 1 Цикл

Сообщить("Привет!");

КонецЦикла;

Пока"Мир"="Мир"ЦиклСообщить("Привет!");

КонецЦикла;

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

Авотследующиепримерыциклов:

Пока Ложь ЦиклСообщить("Прощай!");

КонецЦикла;

Пока 1 = 2 ЦиклСообщить("Прощай!");

КонецЦикла;

Пока"Мир"="Земля"ЦиклСообщить("Прощай!");

КонецЦикла;

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

Задание 5.Напишите программу, которая выводит на экран числа от 10 до 1, используя Цикл Пока. Программа должна заниматьровнопятьстрок.

Задание 6. Напишите вывод таблицы умножения для числа 7,используяЦиклПока.

Задание 7.Перепишите предыдущее задание так, чтобы выводтаблицы умножения происходил в обратном порядке. То есть сначала7*10,потом7*9итакдалее.

Контрольные вопросы:

Шаг = 1;

Пока Шаг < 10 Цикл

Сообщить (Шаг);

Шаг = Шаг + 1;

КонецЦикла;

Сколько раз выполняется тело данного цикла?

Сколько раз выполнится команда Сообщить(Шаг)?

С каким именем связано текущее значение цикла?

В результате цикла выведутся числа?

Чтобы вывелось 1 3 5 7 9 необходимо…

Чтобы на каждое выполнение тела цикла вывелось Привет необходимо дописать …

Порядок оформления отчета:

Запишите дату, номер, тему и цель лабораторной работы в тетрадь.

Согласно порядку работы, последовательно выполните все задания.

Запишите вывод о проделанной работе.

Литература:

Дадян, Э.Г. Конфигурирование и моделирование в системе «1С:Предприятие» : учебник / Э.Г. Дадян. — М. : Вузовский учебник : ИНФРА-М, 2018. — 417 с. + Доп. материалы [Электронный ресурс; Режим доступа http:// www.znanium.com]. — (Высшее образование: Магистратура). — www. dx.doi.org/10.12737/textbook_5a0c1bcccc76f5.69529307.

Дополнительно:

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

Процедура Пример()

&НаКлиенте

Процедура ВыполнитьКод(Команда)

 

    /// Как организовать цикл в 1с 8.3, 8.2

 

// Для Цикл

Для Счетчик =1По5Цикл

Сообщить(Счетчик);// 1 2 3 4 5

КонецЦикла;

 

// Для Каждого Цикл

 

Дни=Новый Массив();

Дни.Добавить("Понедельник");

Дни.Добавить("Вторник");

Дни.Добавить("Среда");

 

ДляКаждого Элемент Из Дни Цикл

Сообщить(Элемент);// Понедельник Вторник Среда

КонецЦикла;

 

// Пока Цикл

Счетчик=0;

Пока Счетчик < Дни.Количество()Цикл

Сообщить(Дни[Счетчик]);// Понедельник Вторник Среда

Счетчик= Счетчик +1;

КонецЦикла;

 

    /// Как организовать обратный цикл в 1с 8.3, 8.2

 

Счетчик= Дни.Количество()-1;

Пока Счетчик >=0Цикл

Сообщить(Дни[Счетчик]);// Среда Вторник Понедельник

Счетчик= Счетчик -1;

КонецЦикла;

 

    /// Как прервать цикл в 1с 8.3, 8.2

 

Для Счетчик =1По5Цикл

Если Счетчик >2Тогда

Прервать;

КонецЕсли;

Сообщить(Счетчик);// 1 2

КонецЦикла;

 

    /// Как принудительно продолжить цикл в 1с 8.3, 8.2

 

Для Счетчик =1По5Цикл

Если Счетчик <>3Тогда

Продолжить;

КонецЕсли;

 

Сообщить(Счетчик);// 3

КонецЦикла;

 

КонецПроцедуры

Комментировать
Свидетельство участника экспертной комиссии
Оставляйте комментарии к работам коллег и получите документ бесплатно!
Подробнее
Также Вас может заинтересовать
Комментарии
20.05.2024 18:57 Бобрикова Елена Николаевна
В данном конспекте полностью реализовано формирование компьютерной грамотности,
развитие логического и алгоритмическог о мышления,
воспитание информационной культуры.
Основные задачи, были решены при помощи формирования теоретических знаний и практических умений.
По моему мнения было недостаточно применено интеллектуальны х заданий с использованием информационных и коммуникационны х технологий.
Советую включить больше заданий для развития познавательных интересов.
Добавить
публикацию
После добавления публикации на сайт, в личном кабинете вы сможете скачать бесплатно свидетельство и справку о публикации в СМИ.
Cвидетельство о публикации сразу
Получите свидетельство бесплатно сразу после добавления публикации.
Подробнее
Свидетельство за распространение педагогического опыта
Опубликует не менее 15 материалов и скачайте бесплатно.
Подробнее
Рецензия на методическую разработку
Опубликуйте материал и скачайте рецензию бесплатно.
Подробнее
Свидетельство участника экспертной комиссии
Стать экспертом и скачать свидетельство бесплатно.
Подробнее
Помощь