Описание
Выпущена новая книга для школьников 10−11 классов и всех, кто хочет научиться программировать самостоятельно используя современный и доступный язык программирования — «1С:Элемент».
Язык «1С:Элемент» — это кросс-платформенный язык программирования высокого уровня со статической типизацией, стандартной библиотекой и элементами функционального программирования. Подробнее о языке — lang.1c.ru.
Этот язык, будучи изначально разработан как встроенный язык технологии «1С:Предприятие.Элемент», расширяющей возможности платформы «1С:Предприятие», в современном своей версии приобретает качества универсального языка программирования, что позволяет предложить его для изучения школьникам. В данном случае обучение ведется на специальной локальной версии «1С:Предприятие.Элемент Скрипт». Скачать эту версию можно на сайте lang.1c.ru.
Материал книги структурирован так, что подойдет и для новичков и для тех, кто имеет начальные знания в программировании (не обязательно 1С). Книга пошагово вводит читателя в мир программирования — от базовых понятий до прикладных задач. Изложение построено от простых программ и базовых конструкций к сложным типам данных и современным технологиям.
В издании предложены теоретические объяснения, практические задания с решениями и справочные разделы для быстрого поиска информации.
Это отличный старт для тех, кто хочет сделать первые шаги в IT-разработке.
Апробацию книга пройдет в новом партнерском проекте по обучению школьников «1С:Элемент школьникам». Хотите обучать школьников 1С:Элементу, напишите нам на почту sc@1c.ru.
Автор Максим Радченко («1С»); в книге использованы примеры, подготовленные Еленой Хрусталевой.
Оглавление
Предисловие
- Состав книги
- Благодарность
Установка и начало работы
- Установка
- Первый запуск
- Первый скрипт
- Основные понятия
Настройка рабочего пространства
- Обзор интерфейса среды разработки
- Настройка рабочего пространства
- Справочная информация
Базовый уровень
- Базовые понятия
- Значение
- Тип
- Представление
- Почему текст разноцветный
- Инструкции
- Инструкция объявления переменной
- Точки останова и просмотр значений
- Инструкция присваивания
- Контекстная подсказка
- Выражение
- Как посмотреть выражение в тексте программы?
- Арифметические операции
- Арифметические операции
- Инструкции присваивания, совмещенные с арифметическими операциями
- Операции со строками
- Тип «ДатаВремя» и операции с датами
- Общая информация
- Литерал
- Конструктор
- Начало и конец дня
- Сложение и вычитание, тип «Длительность»
- Тип «Булево» и логические операции
- Логические операции
- Тернарная операция
- Булевы операции
- Общая информация
- Логическое «и»
- Логическое «или»
- Совмещение операций
- Логическое «не»
- Инструкция «если»
- Общая информация
- Инструкция «если»
- Ключевое слово «иначе»
- Блок инструкций «иначе если»
- Красивый скрипт
- Синтаксический отступ
- Пустые строки
- Комментарии
- Инструкция «для по»
- Постановка задачи
- Неявное преобразование типа
- Линейное исполнение кода
- Ветвление кода
- Инструкция «для по»
- Инструкция «выбор»
- Методы
- Общая информация
- Определение метода
- Вызов метода
- Передача исполнения в метод
- Методы без возвращаемого значения
- Область видимости имен
- Чтение и отладка методов
- Панель «Структура»
- Переход к объявлению метода
- Шаг с выходом
- Шаг с обходом
Коллекции, структура, перечисление
- Экземпляры, свойства, методы и конструкторы
- Экземпляры
- Свойства и методы
- Операция «.» — обращение к свойствам и методам
- Конструктор
- Иерархия типов, тип «Тип»
- Тип и контракт
- Иерархия типов
- Присвоение значений
- Операция «это»
- Коллекции и обобщенные типы
- Коллекции
- Обобщеные типы
- Описание обобщенного типа
- Массив
- Общая информация
- Литерал и конструктор
- Добавление элементов
- Просмотр массива
- Методы массива
- Сравнение массивов
- Обрабатывайте ошибочные ситуации
- Операция «[]» — обращение к элементу по индексу
- Инструкция «для из»
- Удаляйте элементы с конца
- Многомерные массивы
- Соответствие
- Общая информация
- Литерал и конструктор
- Просмотр соответствия и обращение к элементам
- Методы соответствия.
- Сравнение соответстви
- Множество
- Общая информация
- Литерал и конструктор
- Добавить элемент
- Доступ к элементам множества
- Удалить элемент
- Добавить все элементы другого множества
- Получить объединение двух множеств
- Получить пересечение двух множеств
- Получить разность двух множеств
- Структура
- Общая информация
- Объявление структуры
- Конструктор
- Просмотр структуры
- Контекстная подсказка и обращение к полям экземпляра
- Методы структуры
- Статические методы
- Иерархия типов
- Перечисление
- Общая информация
- Объявление перечисления
- Использование
- Методы перечисления
- Статические методы
- Иерархия типов
Углубленный уровень
- Составные типы
- Общая информация
- Описание составного типа
- Инициализатор переменной составного типа
- Тип «Неопределено» и значение «Неопределено»
- Операция «как»
- Настойчивая операция
- Операция «Безопасный доступ»
- Операция «Умолчание»
- Работа с числами, методы чисел
- Написать число в тексте скрипта
- Выделить целую часть числа
- Получить представление числа в привычном виде
- Получить представление числа в финансовом виде
- Получить представление числа для другой страны
- Получить представление числа, дополненное нулями слева
- Получить представление числа со знаком «+»
- Получить представление числа с округлением
- Округлить число
- Получить представление числа с указанием валюты
- Получить представление числа в виде процента
- Получить представление числа в произвольном денежном виде
- Работа со строками, методы строк
- Неявное преобразование к типу «Строка» при конкатенации
- Массовая конкатенация
- Интерполяция
- Индекс
- Написать строку в тексте скрипта
- Добавить в строку специальные символы
- Написать многострочную строку в тексте скрипта
- Последовательно перебрать символы в строке
- Получить часть строки
- Найти вхождение подстроки
- Получить число из строки
- Проверить, что строка заполнена
- Вставить одну строку в другую
- Удалить вхождения подстроки
- Удалить диапазон символов
- Заменить вхождения подстроки в исходной строке
- Получить массив подстрок из исходной строки
- Разделить строку на части по символам-разделителям
- Сравнить строку с эталоном, игнорируя регистр символов
- Избавиться от дубликатов строк, отличающихся
- только пробелами в начале или в конце строки
- Узнать, начинается (заканчивается) ли исходная строка на заданную подстроку
- Дополнить строку символами с начала или с конца
- Узнать, содержится ли подстрока в исходной строке
- Узнать, содержатся ли в исходной строке
- только буквы, только цифры или только буквы и цифры
- Типы для работы с датой и временем
- Типы для работы с датой и временем
- Написать в тексте скрипта значения даты и времени
- Прибавить к дате нужное количество дней
- Представить значения даты и времени в виде строки нужного формата
- Получить день недели у даты (даты-времени)
- Получить абсолютное время из локального
- Получить локальное время из абсолютного
- Представить абсолютное время пользователю в его часовом поясе
- Узнать продолжительность в днях
- Сравнить компоненты даты-времени
- Регулярные выражения
- Общая информация
- Написать регулярное выражение в тексте скрипта
- Заменить в исходной строке вхождения подстроки по образцу
- Разделить строку на части по образцу, содержащему перечень символов-разделителей
- Узнать, содержится ли подстрока по образцу в исходной строке
- Проверить, что строка полностью соответствует образцу
- Найти все совпадения в строке с заданным образцом
- Удалить из строки все недопустимые символы, заданные в образце
- Поиск файлов по регулярному выражению
- Работа с массивами
- Удалить элемент
- Добавить все элементы другого массива
- Удалить все элементы другого массива
- Узнать, содержатся ли в массиве все элементы из другой коллекции
- Найти элемент
- Получить часть массива и вставить в другой массив
- Сортировать элементы
- Работа с соответствиями
- Удалить элемент
- Вставить в соответствие все элементы другого соответствия
- Удалить некоторые элементы
- Константы
- Исключения
- Общая информация
- В чем смысл выбрасывания исключений
- Пример использования исключения
- Объявление исключения
- Инструкция «попытка»
- Инструкция «выбросить»
- Работа с методами
- Значения параметров по умолчанию
- Позиционные и именованные аргументы
- Передача аргументов по значению
- Перегрузка метода
- Модульная разработка
- Общая информация
- Аннотации
- Подключаемый скрипт
- Подключение к главному скрипту
- Функциональные типы
- Общая информация
- Описание функционального типа
- Ключевое слово «ничто»
- Литерал функционального типа
- Пример: ссылка на системный метод
- Пример: вызов системного метода с параметром функционального типа
- Пример: передача метода в другой метод
- Как записывать лямбда-выражения
- Динамическая типизация
- Общая информация
- Тип «неизвестно»
- Raw-типы
- Механизм отражения
- Особенности системных методов и типов
- Обобщенные системные методы
- Статические системные методы
- Типы-одиночки
- Ввод английских символов без переключения раскладки клавиатуры
- Рекомендации по написанию кода
- Синтаксический отступ
- Длина строки
- Пустые строки
- Составные инструкции
- Имена
- Перенос выражений
- Перенос параметров и литералов коллекций
- Объявления методов
- Синтаксис описания типа
- Описание составного типа
- «Неопределено» в описании типа
- Инициализация
- Проверка логических значений
- Принадлежность к типу «Неопределено»
- Операция «это»
Прикладные возможности
- Работа с файлами
- Проверить, что файл или каталог существуют
- Использование метода «Файл.Существует()»
- Перехват исключения в методе «Файлы.Найти()»
- Скопировать
- Переместить файл
- Удалить файл
- Создать временный каталог или временный файл
- Отследить появление файла в каталоге
- Чтение и запись текстовых файлов
- Файл — Поток — Чтение
- Чтение файла целиком
- Запись файла целиком
- Чтение файла по строкам
- Запись файла по строкам
- Указание кодировки при записи и чтении
- Безопасное чтение и запись файлов
- JSON
- Общая информация
- Потоковая запись
- Потоковое чтение
- Работа со строкой JSON
- Проверка структуры записываемого документа
- Управление переносом строк
- Управление синтаксическим отступом
- Экранирование символов
- Объектная техника
- Десериализация
- Сериализация
- Смешанная техника
- XML
- Общие сведения
- Запись данных в XML-документ
- Чтение данных из XML-документа
- HTTP-запросы
- Общая информация
- Методы HTTP-запросов
- URL
- Заголовки
- Тело
- Коды статуса
- Последовательность отправки и получения HTTP-запроса
- Примеры GET-запроса
- Пример отправки запросов
- Безопасное выполнение запросов
Решения заданий