Главная » Просмотр файлов » Лекция 2. Технология разработки программ (часть 1)

Лекция 2. Технология разработки программ (часть 1) (1152905)

Файл №1152905 Лекция 2. Технология разработки программ (часть 1) (Воробьева И.А. «Информатика. Язык Питон» (2016))Лекция 2. Технология разработки программ (часть 1) (1152905)2019-09-06СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла

1Воробьева И.А. «Информатика. Язык Питон»Технология разработки программ. АлгоритмизацияАнализ и постановка задачи. Формализация данных и выбор методоврешения задачи. Понятие алгоритма. Этапы: алгоритмизация,кодирование, отладка и тестирование. Виды тестирования.Рекомендации. Полная спецификация задачи. Изображение алгоритмов ввиде блок-схем.

Базовые структуры алгоритмов.3. ТЕХНОЛОГИЯ РАЗРАБОТКИ ПРОГРАММЛюди, понимающие под разработкой программ только лишь слово«кодирование», похожи на столяра, мастерящего картонные табуретки надвух ножках. Как ни странно, но и для разработки сложного программногокомплекса целым коллективом, и для разработки достаточно тривиальнойпрограммы одним человеком требуется пройти все этапы общей технологииразработки программного обеспечения.

Это связано с тем, что этапыразработки направлены на получение качественного продукта, и ключевоеслово в этом вопросе не «большой» или «маленький», «один человек» или«группа людей», а слово «качественный».Этапы разработки программ:анализ требований задачи;спецификация задачи (техническое задание);выбор методов решения задачи;проектирование (алгоритмизация);кодирование;отладка;тестирование (автономное для одного человека и автономное +комплексное – для коллектива разработчиков);документирование;сопровождение(обновлениеверсий,устранениеошибок,техническая поддержка);Даже последний этап не может быть опущен в этой цепочке дляодиночного исполнителя, даже делающего работу только для личногоиспользования, если только человек не делает одноразовую, в смыслеприменения, работу.2Воробьева И.А.

«Информатика. Язык Питон»этапы разработки программанализ требований задачи(5%)спецификация (10%)выбор методов решения(5%)алгоритмизация (10%)кодирование (15%)отладка (15%)тестирование (30%)документирование (10%)Рисунок 3. 1 Оценка объема отдельных этапов работы в процентахПосмотрите на диаграмму на рисунке 3.1. Из диаграммы видно, чтоэтап кодирования, даже вместе с этапом отладки кода занимают вместепорядка трети всего объема необходимых работ.

При этом наиболеетрудоемкий этап – это этап тестирования, о котором мы поговорим отдельно.3.1. Анализ и постановка задачиСпецификация 1 – важная часть технической документации, котораясодержит набор требований и параметров к объекту (формальноеопределение требований к программе, полная постановка задачи:определение исходных данных, формы результата, исключительныхситуаций, особых реакций и т.п.). При выполнении лабораторных работ, подспецификацией часто понимают объединение этих требований с отчетом(документированием), т.е.

кроме собственно спецификации туда включают:алгоритм, полный код программы или ее фрагмент, таблицу проведенныхтестов.1В общей энциклопедии этот термин означает перечисление подробностей, на которые необходимо обратить особое внимание.3Воробьева И.А. «Информатика. Язык Питон»В данном разделе остановимся на подготовке к написаниюспецификации, как она сформулирована в определении. Для этого намнужно пройти первый этап, часто совершенно игнорируемый, что приводит кнеобоснованной трате ресурсов как «заказчика» задания, так и«исполнителя».

Надо понимать, что условный «заказчик» и условный«исполнитель» -- это два совершенно по разному мыслящих «человека» ибольшая ошибка думать что одни и те же слова, сформулированныедостаточно обобщенно, будут ими поняты идентично.Возьмем для примера типичную формулировку задачи, которую надо«решить» при помощи написания программы и рассмотрим, какиетребуются дополнения и уточнения для полной постановки задачи и, вконечном итоге, составления технического задания.Задача 3.1.

Даны n точек. Подсчитать среднее арифметическое техточек, которые попадут в отрезок [-10; 5].Спецификация должна дать ответы на следующие вопросы:В этой задаче мы видим три типа обозначенияКаковы допустимыеданных одновременно: буквенное – «n»,сокращения,словесное «среднее арифметическое» и числовоепереименования,«[-10; 5]». Уместно привести все к единому виду.обозначения вЧисло точек – n изменять не будем, так как этоформулировкеобщепринятое понятное обозначение. Ведемзадачи?«говорящее» сокращение Mean (the arithmeticmean) для вычисляемого среднегоарифметического.

Отрезок также можнообозначить буквами: [A; B], где A=-10, B=5. Максимальное значение n влияет на выбор тиКаков диапазон n?па переменных (тип данных, переменных, рассмотрим подробнее в п. 1.3). В программировании есть разница: придется складывать 10чисел или 1035. Если же придется их перемножать, то влияние n станет гораздо существенней. Если мы допускаем, что n может быть равно нулю, тогда следует учесть и то, что это особая ситуация для программы, так как нет данных (точек) для проведения вычислений.4Воробьева И.А. «Информатика. Язык Питон»Если речь в задаче об отрезке, то почтинаверняка речь идет о вещественных числах, хотяэто, строго говоря, не обязательно. Если точки естьвещественные числа, то с какой точностью онизаданы, после запятой один разряд или вседесять? Даже если точки будут целые числа – их средКакой тип данных унее арифметическое обязано иметь вещестMean?венный тип (например,).Каково его Предельные значения Mean напрямую зависятмаксимальное иот n и границ отрезка:.минимальноеЗаметьте, что все вычисления усложнятся, а козначение?личество вопросов увеличится, если отрезокбудет задан не параметрами-константами, а параметрами- переменными [A; B] (забегая вперед – существенно увеличится и число необходимых проверочных тестов).Тогда программа столкнется с еще однойА что, если ни однаособой ситуацией, когда алгоритм не можетточка не попадет вотработать «в лоб» без ошибки, так как,заданный отрезок?пытаясь вычислить Mean, мы попытаемсяподелить на ноль. Точки могут быть заданы, например, в текстовом файле или их вводят с клавиатуры, генериКаким образомруют программой случайным образом, вычисзаданы точки? Откудаляют программой на предыдущих этапах, – вамы их получаем? Естьриантов много.ли гарантия, что Часто приходится предусматривать возможточки заданы верно?ность ошибки ввода, особенно, если способввода предполагает участие человека (клавиатура, файл).Какой тип данных уточек?В результате, мы получаем так называемую уточненную постановкузадачи:Даны n целочисленных точек, где.

Подсчитать среднееарифметическое (Mean) тех точек, которые попадут в отрезок [A; B], где A=-10,B=5. Число n и значения точек (x,) вводить с клавиатуры.Результат работы программы вывести на экран:1. При нарушении диапазонов n и x вывести сообщение: «Нарушен диапазон входных данных».

Завершить работу.5Воробьева И.А. «Информатика. Язык Питон»2. Если ни одна точка не попадет в заданный отрезок вывести сообщение:«Нет точек на отрезке, величина Mean не подсчитана». Завершитьработу.3. Вывести значение Mean = ____, где– это диапазон и точность результата.Почти всегда начинающий программист использует только третий пунктв качестве результата работы программы.

Более того, он и программу пишеттак, будто первых двух пунктов не существует. Это неверный подход, так как,по известному выражению: «Ты суслика видишь? — Нет. — И я нет. А онесть!». И даже есть определение для описанных ситуаций:Аномальная ситуация – вынужденное прерывание работы программы из-за невозможности реализовать основной алгоритм на полученных данных, когда данные ошибочны (соответствует п. 1), не входят вдиапазон разрешенных значений.Альтернативная ситуация – ветвление программы, зависящее отпромежуточного результата работы (соответствует п.

2), например, когда все входные данные верны (точки х из диапазона:), но попытка продолжить работу по основному алгоритму приведет к ошибке(деление на ноль). Альтернативная ситуация не обязательно должнаприводить к ошибке, это может быть просто отсутствие среди всех допустимых объектов тех, которые удовлетворяют условиям для продолжения основного вычисления программы. Это, по сути, один из вариантов решения задачи, а аномалия – ситуация, когда решение не определено. Приведем еще пример: «подсчитать число K точек, из заданных на отрезке [-5; 5] случайным образом n точек, попавших в отрезок [0; 1]». Решение в форме основного будет выглядеть, как: «Числоискомых точек равно <k>», гдеРешение в форме основногои альтернативного будет выглядеть:«Число искомых точек равно«Искомых точек на отрезке» длянет»для6Воробьева И.А.

«Информатика. Язык Питон»3.2. Формализация данных и выбор методов решениязадачиЧастично мы уже выполнили формализацию данных на предыдущихэтапах, определяя диапазоны типы имена ключевых параметров задачи,однако этот процесс не закончен. Данные 2– особая категория информации,которая описывается отдельным пунктом в спецификации (техническомзадании) и обычно сводится в специальную таблицу.

Более подробноерассмотрение данных нельзя отделить от еще одного понятия – понятияалгоритма.Алгоритм – это точное, логичное описание последовательности действий,необходимых для решения задачи.3.2.1. Данные. Классификация данныхЛюбая программа оперирует с данными (параметрами): получаетизвне, вычисляет в процессе работы, передает в качестве результата. Впервую очередь их делят на классы по смыслу и типы по возможностямобработки (например, в программе).По смыслу данные делятся на следующие классы: входные, выходные ипромежуточные (хранение промежуточных результатов при вычислениях, впроцессе решения задачи).Условие задачи (ввод и инициализация): входные данные –они известны заранее в том смысле, что не получив их,алгоритм попросту не начнет решение задачи.Решениезадачи(алгоритмрешениязадачи):включаетрешениевнутреннихподзадач–входные + промежуточные данные.Вывод результата (сохранение): выходные данные.Важно научиться четко распределять смысловое значение данных, таккак одна и та же переменная в программном коде может относиться кразным классам данных в зависимости от того по отношению к какой задаче2Данные – это информация в формализованном виде, поддающемся многократной интерпретации и пригодном для передачи или обработки с помощью специальных технических средств (см.

лекция 1).7Воробьева И.А. «Информатика. Язык Питон»мыеерассматриваем:исходнойиливнутреннейподзадаче(вспомогательная задача основного алгоритма). Например, промежуточноеданное внутри алгоритма решения основной задачи может одновременноявляться входным/выходным по отношению к выделенной в нем подзадаче.Пример.3.1. Любая знакомая из математики сложная функция вида. Например,, где:– входнойпараметр, – выходной параметр,– промежуточный для ивходной для .Входные данные задачи по смыслу могут являться и выходными для нее же.Например, если задача требует изменить заданный массив, по какому-то правилу, тогда измененный массив– будетрезультатом работы алгоритма и, следовательно, выходное данное задачи.Во время работы программы, входные данные могут являться ивыходными в прямом смысле физического размещения информации, т.е.переменная (специально выделенная ячейка памяти), которая содержалапервоначальное значение, после выполнения нужных действий может бытьзаполнена результирующим значением.

Например, в языке Питонправомерна записьесли первоначальное значениенепотребуется в дальнейшем. Это позволительно, так как в данном случае, мывидим не математический знак операции «равно», а оператор присвоенияязыка программирования Питон. Порядок выполнения оператораприсвоения в языках программирования определяют так: сначалавыполнить выражение справа от знака операции присвоения “=” и толькопотом присвоить значение операнду 3 слева. В разных языках операторприсвоения может выглядеть по-разному, но часто именно в виде знака «=»,что не должно вводить в заблуждение.В языках программирования с любой величиной связаны следующиехарактеристики:3имя – это идентификатор, связывающий величину с физическойячейкой памяти, где будет храниться ее значение;тип – определяет множества допустимых значений переменной иопераций над ней;значение (мы рассмотрим подробнее в следующем разделе специфику, связанную именно с языком Питон):Операнд – в языках программирования это аргумент операции, то есть то, над чем производится операция(или иначе, на что действует оператор).8Воробьева И.А.

Характеристики

Тип файла
PDF-файл
Размер
972,09 Kb
Тип материала
Высшее учебное заведение

Тип файла PDF

PDF-формат наиболее широко используется для просмотра любого типа файлов на любом устройстве. В него можно сохранить документ, таблицы, презентацию, текст, чертежи, вычисления, графики и всё остальное, что можно показать на экране любого устройства. Именно его лучше всего использовать для печати.

Например, если Вам нужно распечатать чертёж из автокада, Вы сохраните чертёж на флешку, но будет ли автокад в пункте печати? А если будет, то нужная версия с нужными библиотеками? Именно для этого и нужен формат PDF - в нём точно будет показано верно вне зависимости от того, в какой программе создали PDF-файл и есть ли нужная программа для его просмотра.

Список файлов лекций

Воробьева И.А. «Информатика
Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6363
Авторов
на СтудИзбе
310
Средний доход
с одного платного файла
Обучение Подробнее