Теоретическая часть
Основные этапы решения задач на ЭВМ
Решение задач на компьютере включает в себя следующие основные этапы, часть из которых осуществляется без участия компьютера.
- Постановка задачи:
- сбор информации о задаче;
- формулировка условия задачи;
- определение конечных целей решения задачи;
- определение формы выдачи результатов;
- описание данных (их типов, диапазонов величин, структуры и т. п.).
Форма представления: естественный язык.
На этом этапе участвует человек, хорошо представляющий предметную область задачи. Он должен четко определить цель задачи, дать словесное описание содержания задачи и предложить общий подход к ее решению.
- Анализ и исследование задачи, модели:
- анализ существующих аналогов;
- анализ технических и программных средств;
- разработка математической модели;
- разработка структур данных.
Форма представления: естественный язык или язык математики.
Цель этого этапа — создать такую математическую модель решаемой задачи, которая может быть реализована в компьютере. Существует целый ряд задач, где математическая постановка сводится к простому перечислению формул и логических условий. Этот этап тесно связан с первым этапом, и его можно отдельно не рассматривать, однако возможно, что для полученной модели известны несколько методов решения, и тогда предстоит выбрать лучший.
- Разработка алгоритма:
- выбор метода проектирования алгоритма;
- выбор формы записи алгоритма (блок-схемы, псевдокод и др.);
- выбор тестов и метода тестирования;
- проектирование алгоритма.
Форма представления: язык математики, псевдоязык, набор диаграмм.
На основе математического описания необходимо разработать алгоритм решения. Используются различные способы записи алгоритмов. Широко распространен словесный способ записи. Наглядно представляется алгоритм языком блок-схем.
- Программирование:
- выбор языка программирования;
- уточнение способов организации данных;
- запись алгоритма на выбранном языке программирования.
Форма представления: язык программирования.
Программой называется план действий, подлежащих выполнению некоторым исполнителем, в качестве которого может выступать компьютер. Составление программы обеспечивает возможность выполнения алгоритма и соответственно поставленной задачи исполнителем-компьютером. Во многих задачах при программировании на алгоритмическом языке часто пользуются заменой блока алгоритма на один или несколько операторов, введением новых блоков, заменой одних блоков другими.
- Тестирование и отладка:
- синтаксическая отладка;
- отладка семантики и логической структуры;
- тестовые расчеты и анализ результатов тестирования;
- совершенствование программы.
Форма представления: язык программирования или машинный язык.
На этом этапе происходят исполнение алгоритма с помощью ЭВМ, поиск и исключение ошибок. При этом программисту приходится выполнять рутинную работу по проверке работы программы, поиску и исключению ошибок, и поэтому для сложных программ этот этап часто требует гораздо больше времени и сил, чем написание первоначального текста программы. Отладка программы — сложный и нестандартный процесс. Исходный план отладки заключается в том, чтобы оттестировать программу на контрольных примерах. Контрольные примеры стремятся выбрать так, чтобы при работе с ними программа прошла все основные пути блок-схемы алгоритма, поскольку на каждом из пyтей могут быть свои ошибки, а детализация плана зависит от того, как поведет себя программа на этих примерах: на одном она может зациклиться (т. е. бесконечно повторять одно и то же действие); на другом — дать явно неверный или бессмысленный результат и т.д. Сложные программы отлаживают отдельными фрагментами.
Для повышения качества выполнения этого этапа используются специальные программы — отладчики, которые позволяют исполнить программу «по шагам» с наблюдением за изменением значений переменных, выражений и других объектов программы, с отслеживанием выполняемых операторов.
- Анализ результатов решения задачи и уточнение в случае необходимости математической модели с повторным выполнением этапов 2-5.
Форма представления: язык таблиц, графиков, рисунков.
На этом этапе программист запускает программу и задает исходные данные, требуемые по условию задачи.
Полученные в результате решения выходные данные анализируются поставщиком задачи, и на основании этого анализа вырабатываются соответствующие решения, рекомендации, выводы. Например, если при решении задачи на компьютере результат сложения двух чисел 2 и 3 будет 4, то следует сделать вывод о том, что надо изменить алгоритм и программу.
Возможно, что по итогам анализа результатов потребуются пересмотр самого подхода к решению задачи и возврат к первому этапу для повторного выполнения всех этапов с учетом приобретенного опыта. Таким образом, в процессе создания программы некоторые этапы будут повторяться до тех пор, покa мы не получим алгоритм и программу, удовлетворяющие показанным выше свойствам.
- Сопровождение программы:
- доработка программы для решения конкретных задач;
- составление документации к решенной задаче, к математической модели, к алгоритму, к программе, к набору тестов, к использованию.
Форма представления: математический или естественный язык.
Категории специалистов, занятых разработкой и эксплуатацией программного обеспечения.
Основная категория специалистов, занятых разработкой программ, — это программисты. Программисты неоднородны по уровню квалификации, а также по характеру своей деятельности.
Системный программист (system/software programmer, toolsmith) — занимается разработкой, эксплуатацией и сопровождением системного программного обеспечения, поддерживающего работоспособность компьютера и создающего среду для выполнения программ.
Прикладной программист (application programmer) — осуществляет разработку и отладку программ для решения функциональных задач (т. е. задач по реализации функций управления в рамках информационной системы — управление деятельностью торгового предприятия, управление перевозкой грузов, планирование выпуска продукции).
Программист-аналитик (programmer—analyst) — программист, анализирующий и проектирующий комплекс взаимосвязанных программ.
Постановщик задач — разработчик формальных постановок задач, требующих реализации на ЭВМ.
Администратор базы данных — человек, который обеспечивает организационную поддержку базы данных.
Администратор сети — человек, который обеспечивает организационную поддержку работы локальной сети.
Основным потребителем программ является конечный пользователь (end user), который, как правило, не является специалистом в области программирования.
Для работы с ЭВМ существует группа специально обученных технических работников — операторов ЭВМ. Они не программируют, а используют готовые программы для обеспечения работы на ЭВМ конечных пользователей: набор текстов, печать документов, копирование информации, запись на внешние носители и др.

Схема взаимодействия специалистов, занятых разработкой и эксплуатацией программного обеспечения.
Жизненный цикл программного обеспечения — период времени, который начинается с момента принятия решения о необходимости создания программного продукта и заканчивается в момент его полного изъятия из эксплуатации.
Практическая работа
Задание №1
В файле приведён фрагмент базы данных «Машины», принадлежащей союзу автодилеров, предлагающему покупателям автомобили. База данных состоит из трёх связанных прямоугольных таблиц.
Таблица «Наличие» содержит записи о поступивших дилеру и проданных покупателям машинах. Поле Тип операции содержит значение «Поступило дилеру» или «Отдано покупателю». Заголовок таблицы имеет вид:
| ID операции | Дата | ID машины | ID дилера | Количество | Тип операции |
Таблица «Марки» содержит информацию об автомобилях, продаваемых союзом автодилеров. Заголовок таблицы имеет вид:
| ID машины | Категория | Наименование |
Таблица «Дилеры» содержит информацию о местах расположения дилерских центров.
Заголовок таблицы имеет вид:
| ID дилера | Адрес | ФИО директора |
На рисунке приведена схема указанной базы данных.
Используя информацию из приведённой базы данных, определите прирост количества отечественных автомобилей, завезенных в дилерские центры Ярославля, имеющихся в наличии у дилеров на конец дня 01.06.2022 по сравнению с 01.06.2021.
Решение показать на компьютере, ход действий записать в тетрадь!
Задание №2.
Подготовьте доклад на тему: «Этапы решения задач на компьютере»
Требование к оформлению:
- материал должен соответствовать теме доклада;
- текст работы должен быть в формате .docx;
- шрифт PT Astra Serif;
- кегль 12;
- междустрочный интервал 1,5;
- верхнее поле 15 мм, нижнее поле 20 мм, левое поле 25 мм, правое поле 20 мм;
- заголовки жирным шрифтом;
- красная строка 1,5;
- выравнивание по ширине;
- ориентация книжная;
- объем работы: от 3 до 5 страниц;
- колонтитул оформлен как показано на рисунке ниже
- эмблема для скачивания (скачать)

Задание №3
Подготовьте презентацию на тему: «Этапы решения задач на компьютере»
- Ровно три слайда без анимации. Параметры страницы (слайда): экран (16:9), ориентация альбомная.
- Содержание, структура, форматирование шрифта и размещение изображений на слайдах:
- первый слайд — титульный слайд с названием презентации; в подзаголовке титульного слайда в качестве информации об авторе презентации указывается идентификационный номер участника экзамена;
- второй слайд — основная информация в соответствии с заданием, размещенная по образцу на рисунке макета слайда 2:
- заголовок слайда;
- два блока текста;
- два изображения;
- третий слайд — дополнительная информация по теме презентации, размещенная по образцу на рисунке макета слайда 3:
- заголовок слайда;
- три изображения;
- три блока текста.
На макетах слайдов существенным является наличие всех объектов, включая заголовки, их взаимное расположение. Выравнивание объектов, ориентация изображений выполняются произвольно в соответствии с замыслом автора работы и служат наилучшему раскрытию темы.