193.06K
AI

ИТиП_Лекция1_ГригорянДЛ

1.

ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ И ПРОГРАММИРОВАНИЕ
Информационные
технологии
и программирование
01
Теория, объяснения и разбор примеров
Григорян Давид Левонович
Григорян Давид Левонович • Информационные технологии и программирование
01 / 34

2.

ЛЕКЦИЯ 1 / ТЕОРИЯ И РАЗБОР
Что вы сможете объяснить после пары
Результат сегодняшней пары — способность объяснить информационную систему
как целое. Мы будем различать её пользовательский интерфейс, прикладные
правила, хранение данных и инфраструктуру.
Второй результат — понимание пути данных. После ввода количества на экране
значение не превращается автоматически в достоверную продажу. Его нужно
проверить, связать с конкретным товаром, согласовать с остатком и записать.
Третий результат — умение читать небольшой алгоритм и проверять его. Мы не будем
изучать весь Python за одну пару, но проследим присваивание, условие, цикл и
функцию.
Григорян Давид Левонович • Информационные технологии и программирование
02 / 34

3.

ЛЕКЦИЯ 1 / ТЕОРИЯ И РАЗБОР
Маршрут первой пары
Первая пара построена от смысла задачи к технической реализации. Начнём с
данных и информационных систем: выясним, что именно автоматизируется и
почему наличие программы ещё не означает, что процесс работает правильно.
Блок
Вопрос
Данные и системы
Что и зачем автоматизируем?
Архитектура и хранение
Где выполняется работа?
Алгоритмы и код
Как формализовать правило?
Надёжность и разбор
Как убедиться в результате?
Григорян Давид Левонович • Информационные технологии и программирование
03 / 34

4.

ЛЕКЦИЯ 1 / ТЕОРИЯ И РАЗБОР
Данные → информация → решение
Данные — это зафиксированные значения, представленные в форме, пригодной для
хранения, передачи и обработки. Ими могут быть число проданных товаров, дата
операции, наименование клиента или изображение.
МЕХАНИЗМ И ПРИМЕР
Информация появляется, когда мы связываем данные с вопросом и понимаем их
значение. «Сегодня продано 12 тетрадей» — уже осмысленное сообщение. Если вчера
было продано 16, мы можем сказать, что количество уменьшилось на четыре.
СВЯЗЬ И ВЫВОД
Решение — следующий шаг: на основе информации человек выбирает действие.
Например, проверяет наличие товара или меняет график закупок. Здесь важно
качество исходных данных: их актуальность, полнота, точность и согласованность.
Григорян Давид Левонович • Информационные технологии и программирование
04 / 34

5.

ЛЕКЦИЯ 1 / ТЕОРИЯ И РАЗБОР
Информационная технология и система
Информационная технология — это совокупность методов и средств, с помощью
которых собирают, хранят, обрабатывают, передают и представляют
информацию.
Понятие
Что включаем
ИТ
Методы и средства работы с информацией
Информационная система
Данные, ПО, техника, люди и процедуры
Программа
Исполняемая реализация алгоритмов
Пример
Система учёта товаров магазина
Григорян Давид Левонович • Информационные технологии и программирование
05 / 34

6.

ЛЕКЦИЯ 1 / ТЕОРИЯ И РАЗБОР
Что именно автоматизирует магазин?
Автоматизация означает передачу определённых действий технической системе по
заранее установленным правилам. В магазине мы можем автоматизировать
регистрацию поступления, расчёт суммы продажи, контроль остатка и подготовку
отчёта.
МЕХАНИЗМ И ПРИМЕР
Возьмём приёмку. На входе есть фактические товары и сведения о поставке.
Сотрудник сверяет количество, фиксирует расхождения и регистрирует поступление.
На выходе появляются запись об операции и изменение учёта остатка.
СВЯЗЬ И ВЫВОД
Важно точно определять показатели. Остаток в нашем упрощённом учёте равен
начальному количеству плюс поступление минус выбытие.
Григорян Давид Левонович • Информационные технологии и программирование
06 / 34

7.

ЛЕКЦИЯ 1 / ТЕОРИЯ И РАЗБОР
От проблемы к требованию
Требование описывает поведение или свойство системы, необходимое для решения
задачи. Оно возникает из потребности пользователя, но должно быть достаточно
точным, чтобы разработчик мог реализовать его, а проверяющий — оценить
результат.
МЕХАНИЗМ И ПРИМЕР
Различают функциональные требования и требования к качеству работы. Первые
описывают возможности: зарегистрировать продажу, получить отчёт, найти товар.
СВЯЗЬ И ВЫВОД
Рассмотрим двух продавцов и одну оставшуюся единицу товара. Оба одновременно
видят остаток один и пытаются продать по одной единице. Требование должно
учитывать совместную работу: успешно завершиться может только одна продажа.
Григорян Давид Левонович • Информационные технологии и программирование
07 / 34

8.

ЛЕКЦИЯ 1 / ТЕОРИЯ И РАЗБОР
Сначала описать процесс — затем писать код
Постановка задачи начинается с определения входов, правил, выходов и
исключений. Для продажи входами являются товар, количество и условия цены.
МЕХАНИЗМ И ПРИМЕР
Например, при остатке пять продажа двух единиц разрешена, продажа шести должна
быть отклонена, а отрицательное количество в этом сценарии является ошибкой
ввода.
СВЯЗЬ И ВЫВОД
Такой способ описания отделяет смысл задачи от реализации. Аналитик помогает
согласовать процесс и исключения, разработчик выбирает модель и механизмы,
тестировщик проверяет соответствие договорённости.
Григорян Давид Левонович • Информационные технологии и программирование
08 / 34

9.

ЛЕКЦИЯ 1 / ЗАДАНИЕ В ПАРАХ
Предметная модель: книга и экземпляр
Предметная модель — это упрощённое представление объектов и связей, важных
для конкретной задачи. Она не должна описывать весь мир, но обязана различать
сущности, от которых зависит правильность процесса.
МЕХАНИЗМ И ПРИМЕР
Если хранить выдачу только по названию, невозможно достоверно ответить, какой
экземпляр получил студент. Поэтому экземпляру нужен собственный идентификатор,
например инвентарный номер.
СВЯЗЬ И ВЫВОД
Попробуйте теперь назвать вход, правило и выход выдачи. Вход — читатель и
экземпляр; правило — экземпляр доступен и выдача разрешена; выход — запись
выдачи и изменение состояния.
Григорян Давид Левонович • Информационные технологии и программирование
09 / 34

10.

ЛЕКЦИЯ 1 / ТЕОРИЯ И РАЗБОР
Слои информационной системы
Разделение системы на слои позволяет распределить ответственность между её
частями. Интерфейс отвечает за взаимодействие с человеком: показывает сведения,
принимает ввод и сообщает результат. Прикладная логика реализует правила
предметной области.
МЕХАНИЗМ И ПРИМЕР
В продаже интерфейс получает количество товара. Логика проверяет право
пользователя и допустимость операции, рассчитывает сумму и организует запись.
Хранилище сохраняет продажу и связанные изменения.
СВЯЗЬ И ВЫВОД
Главный смысл разделения — управляемость изменений. Если изменился дизайн
кнопки, не нужно переписывать правило скидки. Если появились мобильная форма и
сайт, они могут использовать общую логику вместо двух независимых реализаций.
Григорян Давид Левонович • Информационные технологии и программирование
10 / 34

11.

ЛЕКЦИЯ 1 / ТЕОРИЯ И РАЗБОР
Клиент, сервер и база данных
Клиент и сервер — это роли программ во взаимодействии. Клиент инициирует
запрос, сервер предоставляет определённую услугу и возвращает результат.
Клиент
Сервер
приложения
СУБД
Ввод и отображение
Правила и операции
Хранение и запросы
Клиент-серверная архитектура поддерживает несколько пользователей и общую
точку применения правил. Но она требует учитывать задержки, отказы и защиту
обмена.
Григорян Давид Левонович • Информационные технологии и программирование
11 / 34

12.

ЛЕКЦИЯ 1 / ТЕОРИЯ И РАЗБОР
Что происходит после нажатия кнопки?
Протокол определяет правила обмена сообщениями: их структуру,
последовательность и смысл. В веб-приложениях широко используется HTTP,
организующий взаимодействие в форме запросов и ответов. Сначала клиент
собирает данные операции, затем передаёт запрос.
МЕХАНИЗМ И ПРИМЕР
На практике нажатие кнопки не является единым мгновенным действием. Между
формой и базой есть промежуточные этапы. Например, сервер успел записать заказ,
но связь оборвалась до получения ответа клиентом.
СВЯЗЬ И ВЫВОД
Для надёжного взаимодействия используют идентификаторы операций, проверку
повторов и понятные состояния обработки.
Григорян Давид Левонович • Информационные технологии и программирование
12 / 34

13.

ЛЕКЦИЯ 1 / ТЕОРИЯ И РАЗБОР
Данные должны иметь структуру
Тип данных задаёт допустимые значения и операции над ними. Для количества
может использоваться целое число, для наименования — строка, для признака
активности — логическое значение, для даты — специальное представление
времени.
Поле
Тип
Пример
Идентификатор
Целое / UUID
101
Наименование
Строка
Тетрадь
Цена
Десятичное число
120,00
Активен
Логическое значение
Да
Григорян Давид Левонович • Информационные технологии и программирование
13 / 34

14.

ЛЕКЦИЯ 1 / ТЕОРИЯ И РАЗБОР
Таблица не равна всей базе данных
База данных — организованная совокупность связанных данных, предназначенная
для хранения и использования. СУБД — программное обеспечение, которое
управляет этой совокупностью: позволяет выполнять запросы, изменять записи,
контролировать ограничения и организовывать совместный доступ.
МЕХАНИЗМ И ПРИМЕР
В реляционной модели данные представляются таблицами со строками и столбцами.
Строка описывает запись, столбец — свойство, а ключ позволяет её
идентифицировать.
СВЯЗЬ И ВЫВОД
Табличный редактор тоже работает со строками и столбцами, но это не делает любую
таблицу полноценной системой учёта. Для многопользовательских операций важны
связи, ограничения, транзакции и устойчивость при сбоях.
Григорян Давид Левонович • Информационные технологии и программирование
14 / 34

15.

ЛЕКЦИЯ 1 / ТЕОРИЯ И РАЗБОР
Связи: одна продажа — много строк
Моделирование связей отвечает на вопрос, какие сущности существуют
самостоятельно и как они участвуют в событиях. В магазине товар существует
независимо от продажи. Продажа имеет общие свойства: дату, продавца и
номер.
Сущность
Ключ / ссылка
Содержание
Товар
ТоварID
Название, цена
Продажа
ПродажаID
Дата, продавец
СтрокаПродажи
ПродажаID + Номер
ТоварID, количество, цена
Григорян Давид Левонович • Информационные технологии и программирование
15 / 34

16.

ЛЕКЦИЯ 1 / ТЕОРИЯ И РАЗБОР
Целостность: что база должна запрещать?
Целостность данных означает соблюдение ограничений, необходимых для
корректного состояния системы. Идентифицирующий ключ не должен
дублироваться; ссылка должна вести к допустимой записи; обязательное поле не
может отсутствовать, если без него операция теряет смысл.
МЕХАНИЗМ И ПРИМЕР
Например, строка продажи не должна ссылаться на несуществующий товар. Но
правило доступного остатка сложнее: оно зависит от нескольких записей, времени и
параллельных операций.
СВЯЗЬ И ВЫВОД
Целостность важна и при удалении. Если товар уже участвовал в продажах,
физическое удаление может разрушить историю или потребовать отдельной стратегии.
В учебной модели удобнее сохранить объект и отметить его неактивным.
Григорян Давид Левонович • Информационные технологии и программирование
16 / 34

17.

ЛЕКЦИЯ 1 / ТЕОРИЯ И РАЗБОР
Транзакция: всё вместе или откат
Транзакция — это единица работы с данными, внутри которой связанные
изменения рассматриваются как единое целое. Если операция завершилась
успешно, результат фиксируется. Если выполнить её полностью не удалось,
незавершённые изменения откатываются.
АТОМАРНОСТЬ
СОГЛАСОВАННОСТЬ
Связанные изменения фиксируются вместе
или отменяются.
Операция сохраняет установленные
ограничения данных.
ИЗОЛЯЦИЯ
ДОЛГОВЕЧНОСТЬ
Параллельные операции взаимодействуют
по определённым правилам.
Зафиксированный результат сохраняется
при предусмотренных условиях работы.
Транзакция помогает сохранить целостность, но не исправляет неверно заданное бизнес-правило.
Григорян Давид Левонович • Информационные технологии и программирование
17 / 34

18.

ЛЕКЦИЯ 1 / ТЕОРИЯ И РАЗБОР
API связывает разные приложения
API — программный интерфейс, через который одна система обращается к
возможностям другой. Он определяет доступные операции, входные данные, ответы
и ошибки. HTTP может быть транспортом такого взаимодействия, а JSON —
форматом сообщений.
МЕХАНИЗМ И ПРИМЕР
Представим заказ с полями order_id, product_id, quantity и total_minor. Стороны
должны одинаково понимать идентификаторы, единицу количества и денежную
единицу.
СВЯЗЬ И ВЫВОД
Интеграция связывает автономные системы, каждая из которых может быть временно
недоступна. Поэтому в контракт входят не только успешные ответы, но и повтор,
ошибка данных и неопределённый результат после обрыва связи.
Григорян Давид Левонович • Информационные технологии и программирование
18 / 34

19.

ЛЕКЦИЯ 1 / ТЕОРИЯ И РАЗБОР
Облако, локальный сервер, свой компьютер
Способ размещения системы определяет, где находятся вычисления и данные и
кто отвечает за эксплуатацию. Приложение может работать на собственном
компьютере, использовать сервер организации или предоставляться как
удалённый сервис.
Вариант
Преимущество
Что учитывать
Локально
Просто начать
Один компьютер, риск потери
Свой сервер
Контроль среды
Администрирование и
резервирование
Облако
Удобный удалённый доступ
Зависимость от связи и
условий сервиса
Григорян Давид Левонович • Информационные технологии и программирование
19 / 34

20.

ЛЕКЦИЯ 1 / ТЕОРИЯ И РАЗБОР
Алгоритм: правило, которое можно выполнить
Алгоритм — это точное описание действий, позволяющих получить результат по
заданным исходным данным. Он должен однозначно определять, какой шаг
выполнить в каждой рассматриваемой ситуации.
МЕХАНИЗМ И ПРИМЕР
Сравним команды «сделать хорошую скидку» и «при сумме не меньше 5000 рублей
уменьшить её на 10 процентов». Первая зависит от личного представления о хорошей
скидке. Вторая задаёт определённое условие и действие.
СВЯЗЬ И ВЫВОД
Алгоритм можно записать обычным языком, псевдокодом, схемой или программой. Эти
формы отличаются степенью формальности и удобством исполнения. Код добавляет
требования конкретного языка: синтаксис, типы и доступные операции.
Григорян Давид Левонович • Информационные технологии и программирование
20 / 34

21.

ЛЕКЦИЯ 1 / ТЕОРИЯ И РАЗБОР
Три базовые конструкции
Последовательность, ветвление и цикл — базовые конструкции управления
выполнением алгоритма. Последовательность задаёт порядок: сначала получить
вход, затем вычислить сумму, после этого вывести результат. Изменение
порядка может изменить поведение.
Конструкция
Смысл
Пример
Последовательность
Шаги по порядку
Прочитать → вычислить →
вывести
Ветвление
Выбор по условию
Если сумма >= 5000 — скидка
Цикл
Повторение действий
Сложить суммы всех строк
Григорян Давид Левонович • Информационные технологии и программирование
21 / 34

22.

ЛЕКЦИЯ 1 / ТЕОРИЯ И РАЗБОР
Переменные и выражения
Переменная связывает имя со значением, которое программа использует в
определённый момент выполнения. Присваивание вычисляет правую часть
выражения и сохраняет результат под именем слева.
price = 120
quantity = 3
total = price * quantity
Григорян Давид Левонович • Информационные технологии и программирование
РАЗБОР И УСЛОВИЯ
В нашем примере price
получает 120, quantity — 3,
а total — результат
умножения, то есть 360.
Если после этого присвоить
quantity значение 4, total
останется равным 360.
22 / 34

23.

ЛЕКЦИЯ 1 / ТЕОРИЯ И РАЗБОР
Ветвление: читаем Python
Условный оператор if выполняет один из путей в зависимости от результата
проверки. В показанном коде сумма сначала равна 5000. Условие total >= 5000
истинно, поэтому рассчитывается скидка.
total = 5000
if total >= 5000:
discount = total * 10 // 100
else:
discount = 0
payable = total - discount
Григорян Давид Левонович • Информационные технологии и программирование
РАЗБОР И УСЛОВИЯ
Скидка рассчитывается как
total * 10 // 100. Символ //
обозначает целочисленное
деление; при
неотрицательной сумме в
нашем учебном правиле
скидка округляется вниз до
целого рубля.
23 / 34

24.

ЛЕКЦИЯ 1 / ТЕОРИЯ И РАЗБОР
Цикл: считаем корзину
Цикл for в Python позволяет последовательно обработать элементы коллекции. В
нашем случае список line_totals содержит три суммы: 360, 200 и 440. Перед
циклом total получает ноль.
line_totals = [360, 200, 440]
total = 0
for amount in line_totals:
total = total + amount
print(total)
Григорян Давид Левонович • Информационные технологии и программирование
РАЗБОР И УСЛОВИЯ
Проследим состояние
вручную. До первой
итерации итог ноль. После
прибавления 360 он равен
360, после 200 — 560, после
440 — 1000. Только затем
выполняется print.
24 / 34

25.

ЛЕКЦИЯ 1 / ТЕОРИЯ И РАЗБОР
Функция: правило получает имя
Функция выделяет законченное правило под отдельным именем и позволяет
использовать его повторно. При вызове она получает параметры, выполняет
вычисление и возвращает результат.
def payable(total):
if total >= 5000:
return total - total * 10 // 100
return total
РАЗБОР И УСЛОВИЯ
В функции payable параметр
total является суммой
конкретного вызова.
print(payable(5000))
Григорян Давид Левонович • Информационные технологии и программирование
25 / 34

26.

ЛЕКЦИЯ 1 / ТЕОРИЯ И РАЗБОР
Сначала правило — потом язык
Язык программирования — средство формального описания алгоритмов, а не
готовый ответ на любую задачу. Разные языки и платформы предлагают разные
библиотеки, модели выполнения и инструменты.
Задача
Один из подходящих инструментов
Автоматизировать бизнес-учёт
1С и её встроенный язык
Исследовать данные / написать скрипт
Python
Создать интерфейс в браузере
JavaScript / TypeScript
Получить данные из реляционной БД
SQL
Григорян Давид Левонович • Информационные технологии и программирование
26 / 34

27.

ЛЕКЦИЯ 1 / ПРАКТИКУМ
Тестирование: классы входов и границы
Тест — это проверка поведения системы в определённых условиях с заранее
известным ожидаемым результатом. Он включает исходное состояние, входные
данные, действия и критерий сравнения.
МЕХАНИЗМ И ПРИМЕР
Для правила скидки важно разделить классы входов. Суммы ниже порога должны
обрабатываться без скидки, суммы от порога — со скидкой, недопустимые входы —
отклоняться по выбранному правилу.
СВЯЗЬ И ВЫВОД
Сейчас выберите несколько сумм и заранее посчитайте оплату. Не забудьте назвать
денежную единицу и правило округления. Затем добавьте отрицательную сумму и
объясните ожидаемую реакцию.
Григорян Давид Левонович • Информационные технологии и программирование
27 / 34

28.

ЛЕКЦИЯ 1 / ТЕОРИЯ И РАЗБОР
Ожидание, результат и уровни проверки
Ожидаемые результаты для нашего учебного правила таковы: при сумме ноль
оплата ноль, при 4999 скидка не действует, при 5000 оплата равна 4500, при
10000 — 9000.
Вход
Ожидаемая оплата
Что проверяем
0
0
Нижняя допустимая граница
4999
4999
До порога
5000
4500
Порог включён
10000
9000
Обычный случай со скидкой
−100
Отказ
Проверка входных данных
Григорян Давид Левонович • Информационные технологии и программирование
28 / 34

29.

ЛЕКЦИЯ 1 / ТЕОРИЯ И РАЗБОР
Ошибки бывают разными
Ошибки отличаются по моменту обнаружения и природе. Синтаксическая
ошибка нарушает правила записи языка, например отсутствует двоеточие после
if. Ошибка времени выполнения возникает при исполнении: программа
сталкивается с недопустимой операцией или недоступным ресурсом.
Ошибка
Пример
Как искать
Синтаксическая
Нет двоеточия после if
Сообщение интерпретатора
Во время выполнения
Деление на ноль
Стек вызовов, данные
Логическая
> вместо >=
Тесты и проверка требований
Интеграционная
Повторный заказ
Журнал событий,
идентификаторы
Григорян Давид Левонович • Информационные технологии и программирование
29 / 34

30.

ЛЕКЦИЯ 1 / ТЕОРИЯ И РАЗБОР
Безопасность и восстановление
Информационная безопасность связана с конфиденциальностью, целостностью и
доступностью данных. Конфиденциальность ограничивает доступ к сведениям,
целостность защищает их от недопустимых изменений, доступность обеспечивает
возможность выполнить разрешённую работу.
МЕХАНИЗМ И ПРИМЕР
Аутентификация устанавливает, кто обращается к системе, а авторизация определяет,
какие действия ему разрешены. Кассиру требуется продажа, но обычно не управление
правами всех сотрудников.
СВЯЗЬ И ВЫВОД
Резервное копирование относится к способности восстановить работу. Наличие файла
копии ещё не подтверждает его пригодность: нужен проверенный процесс
восстановления в отдельной среде.
Григорян Давид Левонович • Информационные технологии и программирование
30 / 34

31.

ЛЕКЦИЯ 1 / ТЕОРИЯ И РАЗБОР
ИИ в работе программиста
Системы искусственного интеллекта могут помогать разработчику объяснять код,
формировать варианты реализации и предлагать тесты. Однако ответ такого
инструмента не является доказательством правильности. Он может содержать
неверное правило, неподходящий метод или пропущенную проверку.
МЕХАНИЗМ И ПРИМЕР
Качество запроса зависит от постановки задачи. Формулировка «сделай магазин» не
определяет ни модель, ни результат.
СВЯЗЬ И ВЫВОД
Также важно учитывать данные, передаваемые внешнему инструменту. Секреты,
реальные персональные сведения и внутренние документы требуют разрешённой
среды и установленных правил работы.
Григорян Давид Левонович • Информационные технологии и программирование
31 / 34

32.

ЛЕКЦИЯ 1 / ИТОГОВЫЙ КЕЙС
Целостная модель системы продажи
Объединим изученное в минимальную систему продажи. Интерфейс получает товар
и количество, серверная логика проверяет доступ и допустимость операции, база
сохраняет продажу и согласованное изменение остатка.
МЕХАНИЗМ И ПРИМЕР
Теперь добавим второй способ ввода: заказ приходит с сайта. Если критичное правило
находилось только в экранной форме кассира, новая интеграция сможет его обойти.
СВЯЗЬ И ВЫВОД
Попробуйте нарисовать эту схему и подписать стрелки: какие данные передаются,
какой результат возвращается и что сохраняется. Назовите два теста и один риск.
Григорян Давид Левонович • Информационные технологии и программирование
32 / 34

33.

ЛЕКЦИЯ 1 / ПРОВЕРКА ПОНИМАНИЯ
Проверьте себя: четыре вопроса
За первую пару мы прошли путь от значения данных до проверки работающего
алгоритма. Информационная система включает не только форму и код: ей нужны
данные, инфраструктура и процедуры работы людей.
МЕХАНИЗМ И ПРИМЕР
База данных представляет организованные сведения, СУБД управляет их хранением и
обработкой.
СВЯЗЬ И ВЫВОД
Проверьте себя на четырёх вопросах. Почему одной формы недостаточно? Потому что
она не заменяет правила, данные и организацию работы. Чем база отличается от
СУБД? Данными и инструментом управления ими. Зачем проверять точный порог?
Григорян Давид Левонович • Информационные технологии и программирование
33 / 34

34.

ЛЕКЦИЯ 1 / ИСТОЧНИКИ
Материалы для самостоятельного изучения
Для дальнейшего изучения полезно обращаться к первичным материалам:
официальному учебнику Python, документации веб-технологий и описанию
платформенных механизмов 1С.
https://docs.python.org/3/tutorial/controlflow.html
https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/Overview
https://v8.1c.ru/platforma/obekty-konfiguracii/
Григорян Давид Левонович • Информационные технологии и программирование
34 / 34
English     Русский Правила