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

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

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

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

1Воробьева И.А. «Информатика. Язык Питон»Технология разработки программ. АлгоритмизацияАнализ и постановка задачи. Формализация данных и выбор методов решениязадачи. Понятие алгоритма. Изображение алгоритмов в виде блок-схем.Базовые структуры алгоритмов. Этапы: алгоритмизация, кодирование,отладка и тестирование. Виды тестирования. Рекомендации. Полнаяспецификация задачи.3. ТЕХНОЛОГИЯ РАЗРАБОТКИ ПРОГРАММ(продолжение)В этой части продолжим рассмотрение основных (см. выделенное) этапов разработкипрограмм:анализ требований задачи;спецификация задачи (техническое задание);выбор методов решения задачи;проектирование (алгоритмизация);кодирование;отладка;тестирование (автономное для одного человека и автономное + комплексное – дляколлектива разработчиков);документирование;сопровождение (обновление версий, устранение ошибок, техническая поддержка);3.3. Алгоритм.

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

«Информатика. Язык Питон»Применяются два основных способа представления алгоритма:однотипные (унифицированные) словесные инструкции – они часто похожина укрупненный код программы;графическое (схематическое) изображение последовательности действий иих взаимосвязей – блок-схема.Замечание 3.1. Понятие инструкция алгоритма более широкое, чем инструкцияязыка программирования, т.к. оно может включать конструкцию из отдельныхинструкций (операторов) языка, различных операций, переменных, функций,констант.

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

«Информатика. Язык Питон»С помощью организации связей между этими четырьмя типами символов можноописать любой алгоритм в программировании, однако часто применяют еще дваудобных символа, которые позже используем и мы:Блок выделенной локальнойподзадачи в схемеЦикл с t-шагомиз n-числа шаговБазовые структуры алгоритмов:следование – линейная структура со строгой очередностью действий(команд) алгоритма:o < команда-предшественник > ; < команда-преемник >o блок-схема на рис.3.2. а)ветвление – структура с выбором выполнения либо одной команды, либодругой команды, зависящим от выполнения условия; бываютмножественные ветвления, но они все могут быть описаны, в конечномитоге, через базовую структуру алгоритма:o ЕСЛИ < условие выполнено > ТО < команда, выполняемая по ветви«ДА» > ИНАЧЕ < команда, выполняемая по ветви «НЕТ» >o блок-схема на рис.3.2.

б)цикл – это структура, предназначенная для компактной записи выполненияодного набора команд, которое принято называть телом цикла. Телоцикла:− может состоять и из одной команды;− может содержать параметр, изменяющийся при выполнении команд;− может быть и пустым.Есть разные типы циклов (мы изучим их позже) однако любой из них можетбыть переписан с помощью базовой структуры цикла ПОКА:o ПОКА < условие выполнено > :[ < команда 1 >< команда 2 >…< команда N > ]o блок-схема на рис.3.2. в)4Воробьева И.А. «Информатика.

Язык Питон»Рисунок 3.2. Базовые структуры алгоритмов.Рассмотрим два примера простейших алгоритмов, описываемых блоксхемой.Пример.3.4. Построим блок-схему решения задачи: «Клиент заполняет поляформы параметрами и . Требуется присвоить параметру С значениебольшего из введенных значений и . Все параметры – целые числа сознаком».началоввод А, BДаA>B?С=AНетC=BконецЗамечание 3.2. Блок «Ввод А, В» скрывает одну из возможных подзадач длякаждой величины А и В: «Проверить, что вводимые в поля формы данныеявляются целыми числами со знаком». Блок-схема такой проверки будет намногосложнее блок-схемы примера 3.4.

Чтобы это показать достаточно привестиследующий пример, который отражает только малую часть алгоритма проверкиввода: без циклов, правил преобразования «набора символов» в число,специальных буферов ввода и т.п.5Воробьева И.А. «Информатика. Язык Питон»Пример.3.5. Блок-схема «Реакция на нажатие клавиши клавиатуры»:началоДаклавиша «цифра»или «-» ?Нетклавиша«Backspace»?ДаНетклавиша«Enter»?Нетсимвол не вводитьстереть символДазафиксироватьпараметрконецИз примеров 3.4 и 3.5 хорошо видно, что простая словесная инструкция водном алгоритме скрывает множество инструкций в другом, болеедетализированном; и такое вложение может повторяться, пока не дойдет доинструкций (операторов), которые нужно будет реализовывать при кодированииалгоритма на языке программирования.

Это лучшая иллюстрация того факта, чтоалгоритм начального («нулевого») уровня на этапе проектирования 1(алгоритмизации) представляет из себя набор ключевых (укрупненных) действий,которые необходимо совершить для решения задачи. Подобное укрупнениеоблегчает понимание логики решения, позволяет избегать ошибок. И именнопоэтому разработка алгоритма является необходимым этапом написанияпрограммы при решении большинства не элементарных задач.На этапе кодирования проект (алгоритм) записывается на языкепрограммированияконкретнойвычислительнойсистемы.Поэтому,использование в блок-схемах алгоритма (на этапе проектирования)операторов конкретного языка программирования является ошибкой!Алгоритм решения задачи может быть переведен на множество языков1Речь идет о технологии нисходящего проектирования алгоримов, которая изучается в данномкурсе.6Воробьева И.А.

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

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

Тестирование программы. Функциональные тестыТестирование (программы) — процесс испытания программного кода,имеющий две цели:продемонстрировать, что программа соответствует требованиям;выявить ситуации, в которых поведение программы является неправильным, или не соответствующим спецификации.Распространенная ошибка «новичка», решающего задачу, заключается втом, что вторая цель вообще упускается из виду, а значит, строятся тесты только на«удобных/красивых» исходных данных.

Цель таких тестов показать, что все«работает как надо», а необходимо убедиться еще и в том, что «как не надо неработает», а это как раз, обычно, сделать гораздо сложнее.Тестирование программного кода является важнейшим пунктом в решениизадачи. Действительно, как можно утверждать, что задача решена, если нетобоснованной уверенности в работоспособности кода.

А как эту уверенностьполучить, если не подтвердить надежность кодаожидаемыми(предсказуемыми) результатами на определенных входных данных?Слова: «Я уверен, что у меня все работает», – могут убедить толькоговорящего. Больше никого. Надо это понимать.

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

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

Тип файла PDF

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

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

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

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