Что делает программа? Можно сказать, что любая программа выполняет какой-то набор действий или последовательность команд, которые выполняются друг за другом. Точнее любая программа выполняет какие-то действия со значениями. Причём все эти действия чётко делятся на три большие группы.
Сначала программа получает какие-то значения с диска, клавиатуры, из интернета. Например, когда добавляли кабинеты и набрали номер кабинета 101, то 101 - это значение, которое было передано программе пользователем.
Программа что-то делает с теми значениями, которые она получила. Например, введение времени начала и окончания занятий предполагает, что программа может из одного значения вычесть другое и получить третье значение - время. Например, было введено значение 101. Это номер кабинета, в котором будут проходить занятия. А программа может проверить, есть в списке такой кабинет или ещё нет.
В третьих, любая программа завершает свою работу тем, что выводит значения: показывает их на экране, записывает на диск, печатает на принтере, передаёт другому компьютеру. Важно то, что значения являются и результатом деятельности программы.
Таким образом, главное, что делает программа — это получение значений, выполнение с ними каких-то действий и их представление.
Тип
Не со всеми «значениями» можно делать одно и то же, но с однотипными предметами можно делать одинаковые действия. Чтобы программа могла что-то делать с введенными ей значениями, она должна знать их тип. Для записи номеров кабинетов выбирали тип Число. Для записи фамилий преподавателей выбирали тип Строка.
Тогда это было понятно и естественно. Потому что номер кабинета — это набор цифр. А фамилия преподавателя — это последовательность букв. В тот момент вы не задумывались о том, для чего это может понадобиться. А теперь есть удобная возможность с этим разобраться.
Когда вы вводите номер кабинета — это значение. Когда вы вводите фамилию преподавателя — это другое значение. Программа нужна для того, чтобы что-нибудь сделать с этими значениями.
Арифметические операции
Одновременно в выражении может участвовать любое количество арифметических операций. Но выполняются они не в той последовательности, как они написаны. Вам это известно из математики. В математике существует определённый порядок выполнения операций. А кроме этого используются скобки, чтобы указать именно тот порядок, который вам нужен. Во встроенном языке то же самое: • если в выражении есть скобки, то сначала вычисляется то, что в скобках; • если скобок нет, то в первую очередь выполняются операции умножения и деления в том порядке, в котором они написаны; • в самую последнюю очередь выполняются операции сложения и вычитания (в том порядке, в котором они написаны).
Задание 3.11
Создайте четыре переменные:
• ДлинаУрока — 45 минут;
• ДлинаПеремены — 15 минут;
• ДлинаБольшойПеремены — 25 минут;
• ВсегоУроков — 6.
Посчитайте, сколько минут вы проводите в школе в течение дня, если одна из перемен между уроками всегда большая.
Задание 3.12
Чтобы подняться с этажа на этаж, нужно пройти два лестничных марша. Ещё несколько ступеней есть перед входом в подъезд. Сколько ступеней нужно пройти, чтобы подняться на ваш этаж? Предусмотрите, что у разных людей в разных домах следующие величины могут быть разными.
Перед вычислением сохраните эти значения в отдельных переменных:
• количество ступеней перед входом в подъезд;
• количество ступеней в марше;
• этаж.
Операции со строками
Если ваши значения имеют тип Строка, то они тоже могут участвовать в выражении. Но операций, которые часто используются при работе со строками, всего лишь две.
Эта операция заключается в том, чтобы к одной строке дописать другую строку. Называется она "конкатенация", а обозначается знаком «+».
Сделайте такой пример. В одной переменной сохраните название вашего города. В другой переменной — название улицы, на которой вы живёте. А в третью переменную с помощью выражения запишите ваш адрес, который будет состоять из названия города и улицы:
Установите точку останова на строке КонецПроцедуры и в режиме отладки посмотрите, какое значение получилось в переменной Адрес. Вы увидите, что две строки действительно «склеились» и получилась строка "КрасноярскЦветочная". С одной стороны, это хорошо, потому что конкатенация работает. С другой стороны, не очень хорошо, потому что между словами отсутствует пробел.
Поэтому при конкатенации строк очень часто используют литералы типа Строка, чтобы отделить одно строковое значение от другого. И для того, чтобы это понятно читалось и хорошо выглядело. В вашем примере хотелось бы вместо КрасноярскЦветочная видеть Красноярск, Цветочная. Чтобы добиться такого результата, измените последнюю строку так, как показано в листинге:
Адрес = Город + ", " + Улица;
Запустите этот пример в режиме отладки и посмотрите, какой получается результат.
Подробнее вы можете прочитать про операцию конкатенации в документации «Руководство разработчика 8.3. Раздел 4.5.2. Операция конкатенации».
Задание 3.13
Используя переменную Возраст типа Строка, запишите фразу «Мой возраст 21 год».
Задание 3.14
При отправке почтовых сообщений существует определённый порядок перечисления реквизитов адреса:
1. Название улицы, номер дома, номер квартиры.
2. Название населённого пункта (города, посёлка и т. п.).
3. Название района.
4. Название республики, края, области, автономного округа (области).
Используя переменные Улица, НомерДома, НомерКвартиры, Город и Область, запишите оба адреса с рисунка: