- •Основы алгоритмизации
- •Специфика решения задачи с использованием компьютера
- •Роль моделирования при решении сложных задач
- •Устройство компьютера как инструмента решения задач
- •Пример решения задачи с использованием компьютера
- •Вопросы для самоконтроля
- •Понятие алгоритма
- •Свойства алгоритмов и способы их задания
- •Понятие структурной алгоритмизации
- •Базовый набор алгоритмических структур
- •Примеры классических алгоритмов
- •Переменные-счетчики и аккумуляторы
- •Алгоритм перестановки значений двух переменных
- •Простейший алгоритм сортировки
- •Последовательный и двоичный поиск в массиве данных
- •Вопросы для самоконтроля
- •Основы программирования
- •Изучить три темы:
- •Ответить на вопросы для самоконтроля по каждой теме.
- •Эволюция программирования как деятельности
- •Развитие вычислительной техники
- •Парадигмы современного программирования
- •Уровни языков программирования
- •Современные языки программирования высокого уровня
- •Программирование как вид деятельности
- •Вопросы для самоконтроля
- •Инструменты программирования
- •Основные понятия программирования
- •Этапы разработки программы
- •Функции транслятора в процессе создания программы
- •Средства создания программ
- •Современные системы программирования
- •Вопросы для самоконтроля
- •Проектирование и внедрение программ
- •Этапы разработки программного обеспечения
- •Методы маркетинга программного обеспечения
- •Вопросы для самоконтроля
- •Технология алгоритмического программирования
- •Ответить на вопросы для самоконтроля по каждой теме.
- •Понятия алгоритмического программирования
- •Классификация данных
- •Базовые типы данных
- •Структурированные данные
- •Программа как совокупность операторов. Виды операторов
- •Вопросы для самоконтроля
- •Принципы структурного программирования
- •Понятие подпрограммы
- •Процедуры и функции как разновидность подпрограмм
- •Ответить на вопросы для самоконтроля по каждой теме.
- •Программный код экранной формы
- •Вопросы для самоконтроля
- •Объектно-ориентированное программирование
- •Понятие объекта и класса
- •Концепции объектно-ориентированного программирования
- •Вопросы для самоконтроля
- •Заключение
- •3.3. Глоссарий (краткий словарь терминов)
- •3.4 Технические и программные средства обеспечения дисциплины
-
Программирование как вид деятельности
Появление первых компьютеров породило программирование как науку. Этот этап характерен разработками:
-
математических теорий обработки информации,
-
средств доказательства правильности программ,
-
средств оптимизации кода,
-
эффективных компиляторов,
-
средств формального тестирования и т. д.
Появление универсальных языков программирования третьего поколения превратило программирование в искусство, направив исследования в область автоматической генерации исходных текстов и повышения эффективности компиляторов.
Рост сложности информационно-управляющих систем породил новые технологии коллективного программирования, поставив процесс разработки программного обеспечения (ПО) на поток и превратив программирование в ремесло на основе разработанных методологий и стандартов. В таблице 2.6 представлен примерный объем трудовых ресурсов, требуемый для создания программного продукта различной степени сложности, измеряемой количеством строк исходного кода.
Таблица 2.6 Потенциальные возможности человека при создании программного продукта
|
Объем проекта, строк исходного кода
|
Тип программы |
Время создания
|
Вероятность успешного завершения |
Число программистов |
|
100 |
Утилиты для временных нужд |
1 день |
100% |
1 |
|
1000 |
Небольшие приложения и дополнения, вносимые в готовые системы |
до 1 Месяца |
100% |
1 |
|
10000
|
Типичная средняя программа, разрабатываемая на заказ |
до 6 месяцев
|
85%
|
1 (предел возможностей)
|
|
100000
|
Большинство современных коммерческих автономных и небольших клиент-серверных приложений
|
1 год
|
85% для групп, 35% для одиночки
|
10
|
|
1 млн.
|
Крупные системы автоматизации
|
1,5-5 лет
|
50% для группы, 0% для одиночки
|
100
|
|
10 млн.
|
Операционные системы (Microsoft Windows, IBM VMS), большие военные комплексы. Предел сегодняшних возможностей. Стоимость подобной разработки может равняться стоимости большого стадиона или крупного корабля
|
5-8 лет
|
35%
|
до тысячи
|
Этапы эволюции программирования представлены на рис. 2.3.

Рис. 2.3 Эволюция программирования как деятельности
Вопросы для самоконтроля
-
Назовите основные этапы эволюции средств вычислительной техники
-
Какие ученые разработали логические основы компьютерной техники?
-
Как вы понимаете термин «парадигма программирования»?
-
В какой последовательности парадигмы программирования сменяли друг друга с течением времен?
-
Приведите примеры языков программирования в рамках каждой парадигмы
-
В чем отличие языков программирования низкого и высокого уровней?
-
Приведите примеры языков высокого уровня. Для чего они предназначены?
-
Как исторически менялся взгляд на программирование как деятельность?
