Конспект для учителя по теме «Основные этапы разработки программ. Разбиение задачи на подзадачи»

2187
2

В конспекте для учителя дан краткий обзор о технологиях нисходящего и восходящего программирования и процедурах и функциях. Материал актуален для подготовки к ЕГЭ.



Разработка законченного программного продукта в виде компьютерной программы — длительный и трудоемкий процесс. Чтобы окончательный вариант программы работал правильно и содержал как можно меньше ошибок, программисты придерживаются полного цикла разработки программы, состоящего из шести базовых этапов:

1. Постановка и анализ задачи. Четкое определение задачи и наборов входных и выходных данных.

2. Разработка алгоритма. Определение зависимости между входными и выходными данными, создание процедуры их преобразования.

3. Разработка пользовательского интерфейса. Определение того, что пользователь должен видеть на экране, как будут вводиться данные, где и в каком формате будут представлены выходные данные.

4. Написание программного кода. Преобразование алгоритма в компьютерную программу на языке высокого уровня.

5. Тестирование и отладка программы. Тестирование — прогон программы на наборе тестов, для которых известен результат, с целью проверки правильности ее работы. Отладка (debug) — процесс выявления и устранения ошибок в программе.

6. Составление документации. Подготовка документов, содержащих описание программы, включая техническое задание, блок-схемы, предположения, список входных и выходных переменных (часто совмещается с программным кодом), руководства пользователя.

Технология нисходящего программирования. Разбие­ние задачи на подзадачи. Процедуры и функции.

Под алгоритмом, в случае, когда исполнителем является компьютер, можно понимать последовательность команд для процессора. В узком смысле слова, программирование рассматривается как кодирование — реализация одного или нескольких взаимосвязанных алгоритмов на некотором языке программирования. В более широком смысле, программирование — процесс создания программ, т. е. разработка программного обеспечения. Существуют различные технологии программирования. Технология восходящего программирования («снизу вверх») реализуется так:

  1. Вначале создаются и отлаживаются самые элементарные подпрограммы (скорее всего используя созданные ранее, хранимые в модулях-библиотеках).
  2. Реализуется более крупный блок задачи путем вызова таких подпрограмм.
  3. Повторяется пункт 2 до тех пор, пока не реализуется вся задача.

Достоинства этого подхода — уменьшается общий объем работы за счет ранее созданных участков кода.

Недостатки — уже реализованные, отлаженные и протестированные модули иногда приходится разрабатывать заново (так как головной модуль разрабатывается на завершающем этапе).





Технология нисходящего программирования — это создание программы «сверху вниз». Сначала разрабатывается основная программа (общая структура) и в ней записываются обращения к пока еще не написанным вспомогательным подпрограммам; и так далее — до самых простых «неделимых» подпрограмм. Существенный этап такой разработки — определить основные структуры данных и правила их обработки. То есть определить, с какими данными подпрограммы будут работать и что должно быть ими сделано в результате выполнения. При этом для ускорения процесса работы над задачей руководитель может разрабатывать основную программу, а другие сотрудники — подпрограммы.

Этапы решения сложной задачи X сверху вниз:

  1. Разбиваем задачу X на несколько функциональных подзадач XI, Х2, ХЗ и т. д., т. е. выполняем ее декомпозицию.
  2. Предполагаем, что впоследствии эти части будут разработаны, создаем их спецификации:

-Вид подпрограммы (процедура или функция);

-Ее имя; имена и типы формальных параметров, их порядок;

-Для функции — тип возвращаемого значения;

-Комментарии, описывающие назначение подпрограммы.

  1. Пишем программу решения задачи X, заменив каждую из подпрограмм XI, Х2, ХЗ «заглушками», и отлаживаем ее в таком виде.

Проводим комплексную отладку постепенно, по одной заменяя заглушки на автономно отлаженные подпрограммы.

Достоинства метода программирования «сверху вниз» — серьезные ошибки с большой вероятностью отыскиваются уже на ранних стадиях проекта; тестирование систематично. Недостаток — при отладке поглощается больше машинных ресурсов. Необходимо снижать трудоемкость тестирования и отладки программы.

Процедуры и функции

Подпрограмма - именованная последовательность операторов языка, предназначенная для решения некоторой подзадачи. Часто подпрограмма имеет свои переменные, не пересекающиеся с переменными других подпрограмм или самой программы (если только переменные не были объявлены специальным образом или переданы подпрограмме). Каждая подпрограмма имеет имя, по которому к ней можно обратиться. Основное назначение процедуры — выполнение самостоятельных действий, а функции — возврат значения для использования в выражениях основной программы. Подпрограммы вводятся в основную программу с помощью соответствующего описания, затем к ним можно выполнять обращение. Создание подпрограмм облегчает программирование, так как: 1) не требует многократно повторять в тексте программы аналогичные фрагменты; 2) улучшает структуру, облегчая ее понимание; 3) уменьшает вероятность появления ошибок (отлаживается отдельно); позволяет очень длинную программу разбить на части; позволяет использовать подпрограммы в других программах.

Процедура начинается с заголовка, за ним следует имя, а в круглых скобках — список формальных параметров. Процедура может получить из основной программы несколько переменных (фактических параметров) для изменения их значений. Чтобы выполнить процедуру, к ней следует обратиться из основной программы с фактическими параметрами. Количество, тип и порядок следования формальных и фактических параметров должны совпадать.

Функция предназначена для того, чтобы возвращать одно значение, оно и является ее результатом. Описание функции начинается с заголовка, за ним следует имя, а в круглых скобках — список формальных параметров: Функция или процедура — самостоятельная часть программы, имеющая собственные переменные, которым отводится отдельное, не зависящее от основной программы, место в памяти компьютера.

Еще материалы по теме «1.27 Основные этапы разработки программ. Разбиение задачи на подзадачи »



Хотите пойти учиться в колледж?
Выбирайте «Тьюторию»!

Поступление без ОГЭ и ЕГЭ. Обучаем перспективным профессиям
после 9 или 11 класса.

Жмите на баннер!
Текст прошел проверку у экспертов «ИнПро» ®
педагог по информатике
педагог по информатике
педагог по информатике
педагог по информатике

Справочно:

Материалы подготовлены Федеральным образовательным сервисом «ИнПро»® – Лицензия Минобрнауки 22Л01 № 0002491.

Готовим детей к школе, а также подтягиваем по школьной программе по всей России в 40+ центрах и онлайн, в том числе в Вашем городе.

Бесплатная горячая линия: 8 800 250 62 49 (с 6 до 14 по Мск).


Следите за новостями в социальных сетях:


Нужен репетитор? Запишитесь на бесплатное пробное занятие в «ИнПро»®

Отправка запроса ни к чему не обязывает, это бесплатно. Будем рады помочь!

Отправляя заявку, Вы соглашаетесь на обработку персональных данных.

Нужен репетитор?
Запишитесь на пробное занятие в «ИнПро»®

Отправка запроса ни к чему не обязывает, это бесплатно. Будем рады помочь!

Отправляя заявку, Вы соглашаетесь на обработку персональных данных.
Пробное занятие Пробное занятие