000 О странице

⚠ Внимание

30.10.2025 — проверочная работа на 10 минут: написание простого кода на C++ (код пишется на бумаге).

001 Вопросы к промежуточной аттестации

  1. Информатика: направления. Дайте определение информатики. Опишите направления развития дисциплины.
  2. Информатика как наука. Дайте определение информатики. Опишите структуру информатики как науки. Перечислите задачи теоретической информатики.
  3. Информация: свойства и измерение. Раскройте понятие информации. Перечислите свойства информации. Опишите подходы к оценке информации. Назовите единицы измерения информации.
  4. Формула Хартли. Раскройте понятие информации. Назовите единицы измерения информации. Выведите формулу Хартли.
  5. Формула Шеннона. Раскройте понятие информации. Назовите единицы измерения информации. Выведите формулу Шеннона.
  6. Информация и данные. Раскройте понятия информации и данных. В чём заключается разница между ними?
  7. Программирование. Дайте определение программирования. Перечислите этапы программирования.
  8. Цифровая трансформация. Опишите современный контекст автоматизации. Раскройте понятие цифровой трансформации. Перечислите этапы цифровой трансформации.
  9. Автоматизация. Раскройте понятие автоматизации. Перечислите этапы автоматизации.
  10. Машина Тьюринга: принципы. Опишите модель машины Тьюринга. Объясните принципы её работы. Что такое алфавит машины? Что представляет собой таблица переходов?
  11. Машина Тьюринга и системы счисления. Опишите модель машины Тьюринга. Что такое алфавит машины? Раскройте понятие системы счисления.
  12. Системы счисления. Дайте определение системы счисления. Чем отличаются позиционные и непозиционные системы счисления? Приведите примеры позиционных систем счисления и опишите их применение.
  13. Пример работы машины Тьюринга. Опишите модель машины Тьюринга. Приведите пример работы машины Тьюринга.
  14. Алгоритм и исполнитель. Дайте определение алгоритма. Кто такой исполнитель? Что такое система команд исполнителя? Что является входными и выходными данными?
  15. Свойства алгоритма. Дайте определение алгоритма. Кто такой исполнитель? Перечислите свойства алгоритма.
  16. Проблема останова. Объясните связь машины Тьюринга с понятием «алгоритм». Раскройте проблему останова.
  17. Тезис Чёрча — Тьюринга. Сформулируйте тезис Чёрча — Тьюринга. Что такое физический тезис Чёрча — Тьюринга? Что такое сильный тезис Чёрча — Тьюринга?
  18. Псевдокод. Опишите способы представления алгоритмов. Что такое псевдокод?
  19. Блок-схемы. Опишите способы представления алгоритмов. Что такое блок-схемы?
  20. Виды алгоритмов. Перечислите виды алгоритмов. Проиллюстрируйте виды алгоритмов с помощью блок-схем.
  21. Парадигмы: цели и место. Дайте определение парадигмы программирования. Каковы цели введения парадигм программирования? Каково место парадигмы в разработке?
  22. Классификация парадигм. Приведите классификацию парадигм программирования. Как связаны парадигмы программирования и языки программирования?
  23. Императивный и декларативный подходы. Опишите императивный и декларативный подходы в программировании. В чём их различия?
  24. Императивные подходы. Опишите императивные подходы в программировании. Раскройте основные понятия: состояние программы, последовательность выполнения и другие.
  25. Структурное программирование. Раскройте понятие структурного программирования. Сформулируйте теорему о структурированной программе (теорему Бёма-Якопони).
  26. ООП: основы. Дайте определение объектно-ориентированного программирования (ООП). Перечислите основные концепции. Из каких компонентов состоит объект?
  27. Декларативное программирование. Опишите декларативное программирование. Перечислите отличительные черты декларативного подхода. Объясните выполнение декларативной программы.
  28. Логическое программирование. Раскройте понятие логического программирования. Опишите основные концепции.
  29. Функциональное программирование. Опишите функциональное программирование. Раскройте основные концепции. Что такое ленивые вычисления?
  30. Язык программирования. Дайте определение языка программирования. Перечислите составляющие языка.
  31. Поколения языков. Опишите поколения языков программирования. Каковы ключевые цели и достижения каждого поколения?
  32. Трансляция и интерпретация. Дайте определения транслятора, компилятора и интерпретатора. Чем отличаются компилируемые и интерпретируемые языки программирования?
  33. Система типов. Дайте определение системы типов. Перечислите виды типизации. Приведите примеры.
  34. Процедурные языки 1960-х. Опишите период развития языков программирования в 1960-е годы. Что такое процедурные языки?
  35. Smalltalk. Что такое Smalltalk? Каково его влияние на современные языки программирования?
  36. Язык C и C++. Опишите появление языка C. Из каких компонентов состоит простая программа на C++?
  37. Java и JVM. Почему был создан язык JAVA? Каковы причины создания JVM? Опишите исторический контекст.
  38. Python. Раскройте дзен (философию) Python. Какие языки повлияли на развитие Python?

010 Вопросы к дифференцированному зачёту

  1. Информатика как наука. Дайте определение информатики. Опишите структуру информатики как науки. Перечислите задачи теоретической информатики.
  2. Информация и её измерение. Раскройте понятие информации. Перечислите свойства информации. Опишите подходы к оценке информации. Назовите единицы измерения информации. Выведите формулу Хартли. Выведите формулу Шеннона.
  3. Информация и данные. Раскройте понятия информации и данных. В чём заключается разница между ними? Перечислите свойства информации. Опишите подходы к оценке информации. Назовите единицы измерения информации.
  4. Программирование. Дайте определение программирования. Перечислите этапы программирования.
  5. Автоматизация и цифровая трансформация. Опишите современный контекст автоматизации. Раскройте понятие цифровой трансформации. Перечислите этапы цифровой трансформации. Раскройте понятие автоматизации. Перечислите этапы автоматизации.
  6. Машина Тьюринга. Опишите модель машины Тьюринга. Объясните принципы её работы. Что такое алфавит машины? Что представляет собой таблица переходов? Приведите пример работы машины Тьюринга.
  7. Системы счисления. Дайте определение системы счисления. Чем отличаются позиционные и непозиционные системы счисления? Приведите примеры позиционных систем счисления и опишите их применение.
  8. Алгоритм и исполнитель. Дайте определение алгоритма. Кто такой исполнитель? Что такое система команд исполнителя? Что является входными и выходными данными? Перечислите свойства алгоритма.
  9. Тезис Чёрча — Тьюринга. Объясните связь машины Тьюринга с понятием «алгоритм». Раскройте проблему останова. Сформулируйте тезис Чёрча — Тьюринга. Что такое физический тезис Чёрча — Тьюринга? Что такое сильный тезис Чёрча — Тьюринга?
  10. Представление алгоритмов. Опишите способы представления алгоритмов. Что такое псевдокод? Что такое блок-схемы? Перечислите виды алгоритмов. Проиллюстрируйте виды алгоритмов с помощью блок-схем.
  11. Парадигмы программирования. Дайте определение парадигмы программирования. Каковы цели введения парадигм программирования? Каково место парадигмы в разработке? Приведите классификацию парадигм программирования. Как связаны парадигмы программирования и языки программирования?
  12. Императивное программирование. Опишите императивные подходы в программировании. Раскройте основные понятия: состояние программы, последовательность выполнения и другие. Объясните выполнение императивной программы.
  13. Структурное программирование. Раскройте понятие структурного программирования. Сформулируйте теорему о структурированной программе (теорему Бёма-Якопони). Объясните выполнение императивной программы.
  14. Декларативное программирование. Опишите декларативное программирование. Перечислите отличительные черты декларативного подхода. Объясните выполнение декларативной программы.
  15. Логическое программирование. Раскройте понятие логического программирования. Опишите основные концепции. Объясните выполнение декларативной программы в контексте логического программирования.
  16. Функциональное программирование. Опишите функциональное программирование. Раскройте основные концепции. Что такое ленивые вычисления? Что такое рекурсия? Объясните выполнение декларативной программы в контексте функционального программирования.
  17. Язык программирования. Дайте определение языка программирования. Перечислите составляющие языка. Что такое синтаксис и семантика языка? Приведите примеры синтаксических и семантических ошибок.
  18. Поколения языков программирования. Опишите поколения языков программирования. Каковы ключевые цели и достижения каждого поколения?
  19. Трансляция и интерпретация. Дайте определения транслятора, компилятора и интерпретатора. Чем отличаются компилируемые и интерпретируемые языки программирования?
  20. Система типов. Дайте определение системы типов. Перечислите виды типизации. Приведите примеры.
  21. Язык C и C++. Опишите появление языка C. Из каких компонентов состоит простая программа на C++?
  22. Java и JVM. Почему был создан язык JAVA? Каковы причины создания JVM? Опишите исторический контекст.
  23. Python. Раскройте дзен (философию) Python. Какие языки повлияли на развитие Python?
  24. Типы данных. Перечислите типы данных. Опишите преобразование типов и его виды. Что такое типобезопасность? Что такое переполнение данных?
  25. Управляющие конструкции. Перечислите виды управляющих конструкций. Отобразите их в виде блок-схем.
  26. Структурированные типы данных. Дайте определение структурированного типа данных. Приведите классификацию структур. Опишите основные структуры и их свойства: массив, множество, список, стек. Какие операции выполняются над ними?
  27. Функции. Дайте определение функции. Перечислите виды функций. Что такое параметры функции? Что такое рекурсия? Что такое стек вызова? Раскройте понятие лямбда-исчисления.
  28. Тестирование ПО. Опишите тестирование программного обеспечения. Перечислите виды тестирования. Что такое классы эквивалентности? Приведите примеры тестирования (в том числе тестирования форм).
  29. Тестирование больших проектов. Опишите виды тестирования программного обеспечения. Что такое тестирование по знанию системы? Что такое отладчик? В чём заключаются проблемы тестирования больших проектов и какие существуют стратегии его оптимизации?
  30. ООП: основы. Дайте определение объектно-ориентированного программирования (ООП). Перечислите концепции ООП. Что такое класс и объект? Что такое события и методы? Сравните ООП и процедурную парадигму.
  31. ООП: инкапсуляция и наследование. Раскройте концепции объектно-ориентированного программирования. Что такое инкапсуляция? Что такое наследование? Перечислите виды наследования. Что такое полиморфизм?
  32. ООП: методы и конструкторы. Опишите концепции объектно-ориентированного программирования. Что такое методы и события? Раскройте понятие полиморфизма. Что такое функции доступа? Что такое конструкторы и деструкторы?
  33. ООП: виртуальные функции и исключения. Опишите концепции объектно-ориентированного программирования. Что такое виртуальные функции? Что такое свойство интроспекции? Что такое рефлексия? Как осуществляется обработка исключений?
  34. Модули, пакеты, библиотеки. Дайте определения модуля, пакета, библиотеки и фреймворка. В чём разница между ними? Раскройте закон дырявых абстракций.
  35. Расширения Python на C++. Опишите расширения для Python на языке C++. Какие существуют методы интеграции? Перечислите технологические этапы реализации.

011 Полезные ссылки

📚 Литература

Все учебные материалы и методические пособия: Открыть материалы ↗

📊 Презентации

Слайды к лекциям и практическим занятиям: Открыть презентации ↗

📈 Успеваемость

Таблица с оценками и результатами работ: Открыть таблицу ↗

✉ Контакты

Преподаватель: Лебедев Евгений Денисович
Email: lebedeved !собака! edu.miigaik.ru