Понятие и свойства программы

Содержание

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

1. постановка задачи;

2. проектирование программы

3. построение модели

4. разработка алгоритма;

5. написание программы;

6. отладка программы;

7. тестирование программы;

Кратко остановимся на каждом из этих этапов.

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

· как определить решение;

· каких данных не хватает и все ли они нужны;

· какие сделаны допущения и т. п.

Все про ПАРАЛЛЕЛОГРАММ за 8 минут: Свойства, Признаки, Формулы Периметра и Площади // Геометрия

Таким образом, кратко можно сказать, что на этапе постановки задачи необходимо:

· описание исходных данных и результата;

· описание поведения программы в особых случаях (если таковые есть).

В ходе этой работы выявляются свойства, которыми должна обладать система в конечном виде (замысел), описываются функции системы, характеристики интерфейса.

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

Для проектирования программ существуют различные подходы и методы. Современный подход к проектированию основан на декомпозиции, которая, в свою очередь, основана на использовании абстракции. Целью при декомпозиции является создание модулей, которые взаимодействуют друг с другом по определенным и простым правилам. Декомпозиция используется для разбиения программы на компоненты, которые затем могут быть объединены.

Антивирусная программа A vast v. Home edition 4.7.

Читайте также:
Как работают программы в хлебопечке

Антивирус от чешских разработчиков является младшим продуктом в целой линейке. Avast Home Edition может проверять файлы, оперативную память, E-mail, находить макровирусы. Кроме стандартного резидентного модуля, имеются также отдельные модули для защиты почты, интернет-пейджеров.

Одним из преимуществ программы является Генератор Восстановительной Базы Данных (сокращенно VRDB). Эта эксклюзивная разработка компании отвечает за восстановление файлов после удаления вируса, так как иногда после этой операции некоторые байты могут остаться измененными или вообще пропасть. Программа находит для каждого файла уникальный кэш, хранит его в своей защищенной папке и при необходимости вычисляет версию файла до изменений. Единственный минус то, что создание базы КЭШей всех файлов – длительная процедура, поэтому сразу после инсталляции рекомендуется в настройках указать создание VRDB (Генератор Восстановительной Базы Данных) во время бездействия компьютера.

Урок 1. Понятие алгоритма. Свойства и виды

Еще одной очень хорошей возможностью является проверка компьютера при загрузке перед стартом системы. Таким образом, Avast! Home Edition имеет доступ к файлам, обычно заблокированным ОС. (Бесплатная версия) русифицирована и имеет удобный интерфейс, содержит резидентный монитор, сканер, средства автоматического обновление баз и т.д.

Программный продукт, его характеристики и задачи.

Все программы по характеру использования и категориям пользователей можно разделить на два класса (рис.8.4) — утилитарные программы и программные продукты (изделия).

Утилитарные программы («программы для себя») предназначены для удов­летворения нужд их разработчиков. Чаще всего утилитарные программы исполняют роль сервиса в технологии обработки данных либо являются программами решения функцио­нальных задач, не предназначенных для широкого распространения.

Программные продукты (изделия) предназначены для удовлетворения по­требностей пользователей, широкого распространения и продажи.

Программный продукт — комплекс взаимосвязанных программ для ре­шения определенной проблемы (задачи) массового спроса, подготовленный к реализации как любой вид промышленной продукции.

Программные продукты могут создаваться как:

· индивидуальная разработка под заказ;

· разработка для массового распространения среди пользователей.

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

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

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

Сопровождение программного продукта — поддержка работоспособнос­ти программного продукта, переход на его новые версии, внесение измене­ний, исправление обнаруженных ошибок и т.п.

Основными характеристиками программ являются:

1. алгоритмическая сложность (логика алгоритмов обработки информации);

2. состав и глубина проработки реализованных функций обработки;

3. полнота и системность функций обработки;

4. объем файлов программ;

5. требования к операционной системе и техническим средствам обработки со стороны

6. программного средства;

7. объем дисковой памяти;

8. размер оперативной памяти для запуска программ;

9. тип процессора;

10. версия операционной системы;

11. наличие вычислительной сети и др.

Дата добавления: 2019-09-13 ; просмотров: 298 ; Мы поможем в написании вашей работы!

Источник: studopedia.net

Понятие, определение и свойства алгоритма

Информатика, информационные технологии

Для составления программы, предназначенной для решения на ЭВМ какой-либо задачи, требуется составление алгоритма ее решения. Алгоритм— это точное предписание, которое определяет процесс, ведущий от исходных данных к требуемому конечному результату. Алгоритмами, например, являются правила сложения, умножения, решения алгебраических уравнений, умножения матриц и т.п. Слово алгоритм происходит от algoritmi, являющегося латинской транслитерацией арабского имени хорезмийского математика IX векааль-Хорезми. Благодаря латинскому переводу трактата аль-Хорезми европейцы в XII веке познакомились с позиционной системой счисления, и в средневековой Европе алгоритмом называлась десятичная позиционная система счисления и правила счета в ней.

Читайте также:
Программа которая читает файлы sig

Применительно к ЭВМ алгоритм определяет вычислительный процесс, начинающийся с обработки некоторой совокупности возможных исходных данных и направленный на получение определенных этими исходными данными результатов. Термин вычислительный процесс распространяется и на обработку других видов информации, например, символьной, графической или звуковой.

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

  • результативностью;
  • определенностью;
  • массовостью.

Результативностьозначает возможность получения результата после выполнения конечного количества операций.

Определенность состоит в совпадении получаемых результатов независимо от пользователя и применяемых технических средств.

Массовость заключается в возможности применения алгоритма к целому классу однотипных задач, различающихся конкретными значениями исходных данных.

Для задания алгоритма необходимо описать следующие его элементы:

— набор объектов, составляющих совокупность возможных исходных данных, промежуточных и конечных результатов;

— правило непосредственной переработки информации (описание последовательности действий);

— правило извлечения результатов.

Алгоритм всегда рассчитан на конкретного исполнителя. В нашем случае таким исполнителем является ЭВМ. Для обеспечения возможности реализации на ЭВМ алгоритм должен быть описан на языке, понятном компьютеру, то есть на языке программирования. Таким образом, можно дать следующее определение программы.

Программа для ЭВМпредставляет собой описание алгоритма и данных на некотором языке программирования, предназначенное для последующего автоматического выполнения.

Способы записи алгоритмов

К основным способам записи алгоритмов можно отнести следующие:

— структурный или блок-схемный;

— с помощью граф-схем;

— с помощью сетей Петри.

Перед составлением программ чаще всего используются словесно-формульный и блок-схемный способы. Иногда перед составлением программ на низкоуровневых языках программирования типа языка Ассемблера алгоритм программы записывают, пользуясь конструкциями некоторого высокоуровнего языка программирования. Удобно использовать программное описание алгоритмов функционирования сложных программных систем. Так, для описания принципов функционирования ОС использовался Алголоподобный высокоуровневый язык программирования.

При словесно-формульном способе алгоритм записывается в виде текста с формулами по пунктам, определяющим последовательность действий.

Пусть, например, необходимо найти значение следующего выражения:

Словесно-формульным способом алгоритм решения этой задачи может быть записан в следующем виде:

1. Ввести значения а и х.

2. Сложить х и 6.

3. Умножить a на 2.

4. Вычесть из 2а сумму (х+6).

5. Вывести у как результат вычисления выражения.

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

Презентация на тему Понятие программы

Понятие программы Лекция 1

целях реализации определенного алгоритма. (ГОСТ 19781—90)
Программа – это представленная в объективной форме совокупность данных и команд, предназначенных для функционирования ЭВМ и других компьютерных устройств с целью получения определённого результата, включая подготовительные материалы, полученные в ходе разработки программы для ЭВМ, и порождаемые ею аудиовизуальные отображения. (ГК РФ)

Понятие программы Программа – это данные, предназначенные для управления конкретными компонентами системы

Слайд 5Понятие программы
Программа – это размещённые в оперативной

памяти компьютера данные и машинные инструкции, исполняемые

процессором для достижения некоторой цели. (Википедия)

Понятие программы Программа – это размещённые в оперативной памяти компьютера данные и

Слайд 6Понятие программы

Понятие программы

Слайд 7Этапы создания программ
Накопление требований, работа с заказчиком
Проектирование

– процедурная декомпозиция, ОО, др.
Внутреннее и внешнее

документирование
Разработка
Написание исходного кода
Компиляция исходного кода
Сборка
Отладка
Оптимизация
Тестирование
Сдача в эксплуатацию (релиз)
Сопровождение

Читайте также:
Программа стиральной машины Самсунг

Этапы создания программ Накопление требований, работа с заказчиком Проектирование – процедурная декомпозиция,

Слайд 8Каскадный подход

Каскадный подход

Слайд 9Инкрементальный подход

Инкрементальный подход

Слайд 10Эволюционный подход

Эволюционный подход

Слайд 11Этапы создания программ

Этапы создания программ

Слайд 12Написание исходного кода
Выбор языка программирования
Следование стандарту языка
Следование

системе правил
Именование типов, переменных, констант, функций, файлов
Деление

кода на функции, файлы, компоненты
Форматирование и комментирование кода
Минимальное дублирование кода
Похожим действия — похожая запись («устойчивые обороты»)
Рефакторинг кода (refactoring)
Ревью кода (review)

if (1==x) x=0; else x=1;
x=1-x;
int T[2] = ; x = T[x];
x = x?0:1;
x = !x;
if (1==x) x=0;
else if (0==x) x=1;
else assert(x==0||x==1);

Написание исходного кода Выбор языка программирования Следование стандарту языка Следование системе правил

Слайд 13Компиляция исходного кода
Файлы с исходным кодом называются

единицами компиляции
Результатом компиляции является файл с объектным

кодом
Если изменения в файле Ф1 могут нарушить логику работы кода в файле Ф2, то Ф2 зависит от Ф1
Системы компиляции умеют автоматически учитывать некоторые зависимости между файлами
GNU make, MS nmake, scons, …
За учёт всех зависимостей отвечает программист

Компиляция исходного кода Файлы с исходным кодом называются единицами компиляции Результатом компиляции

Слайд 14Компиляция исходного кода
worker.h
void do_some_work();

worker.c
#include «worker.h»
void do_some_work()

main.c
#include «worker.h»
int main()
do_some_work();
return

0;
>
Изменения в worker.c требуют изменений в worker.h и перекомпиляции worker.c и main.c

Для чего нужна строка
#include «worker.h» в файле worker.c?

Компиляция исходного кода worker.h void do_some_work(); worker.c #include

Слайд 15Сборка (линковка)
Различают три вида сборки
Сборка статической библиотеки
Сборка

динамической библиотеки
Сборка исполняемого файла

Сборка (линковка) Различают три вида сборки Сборка статической библиотеки Сборка динамической библиотеки

Слайд 16Сборка статической библиотеки
Вход: объектные файлы
Выход: архив, содержащий

эти файлы

Статическая библиотека – средство группирования логически

связанных объектных файлов

Сборка статической библиотеки Вход: объектные файлы Выход: архив, содержащий эти файлы

Слайд 17Сборка динамической библиотеки
Вход: объектные файлы, статические библиотеки,

ранее созданные динамические библиотеки
Выход: файл со служебной

информацией для ОС и машинными инструкциями, годными для исполнения процессором

Динамическая библиотека – средство построения программ в процессе их работы

Сборка динамической библиотеки Вход: объектные файлы, статические библиотеки, ранее созданные динамические библиотеки

Слайд 18Сборка исполняемого файла
Вход: объектные файлы, статические библиотеки,

динамические библиотеки
Выход: файл со служебной информацией для

ОС, машинными инструкциями, годными для исполнения процессором, и «точкой входа»

Сборка исполняемого файла Вход: объектные файлы, статические библиотеки, динамические библиотеки Выход: файл

Слайд 19Компиляция, сборка, загрузка в память для исполнения

компилятор
Л – линкер, редактор связей
З – загрузчик

Свой исходный код

Чужой исходный код
(заголовочные файлы библиотек и т.п.)

Компиляция, сборка, загрузка в память для исполнения К – компилятор Л

Слайд 20Сборка (линковка)
c:Usersespetrov>cl –c worker.c
c:Usersespetrov>dumpbin /all /disasm worker.obj

Слайд 21Сборка (линковка)
c:Usersespetrov>cl –c main.c
c:Usersespetrov>dumpbin /all /disasm main.obj

/disasm main.exe

Слайд 23Отладка
Достижение работоспособности программы, устранение грубых ошибок
Методы отладки
Имитация

пошагового исполнения с помощью «карандаша и бумаги»

для простых случаев
Трассировка работы программы с помощью отладочной печати
Проверка необходимых условий корректности в ходе работы программы
Пошаговое исполнение программы с помощью отладчика

Отладка Достижение работоспособности программы, устранение грубых ошибок Методы отладки Имитация пошагового исполнения

Слайд 24Оптимизация
Улучшение количественных характеристик программы
Время компиляции
Время загрузки
Время работы
Размер

используемой памяти (данных на диске)
Размер исходного кода
Размер

исполняемого кода
Компилятор и линкер умеют автоматически делать некоторые преобразования программ, не зависящие от смысла (семантики) программы
Сохраняют корректность программы
Могут менять некорректную программу неожиданным образом
Могут ухудшать количественные характеристики программы
За результат оптимизации отвечает программист
Понимая семантику программы, программист имеет возможность добиться большего эффекта, чем компилятор и линкер

Оптимизация Улучшение количественных характеристик программы Время компиляции Время загрузки Время работы Размер

Слайд 25Заключение
Информация об этом курсе
Понятие программы
Этапы создания программ
Накопление

требований, проектирование, документирование, сдача в эксплуатацию, сопровождение
Обзор
Разработка
Написание

исходного кода
Компиляция исходного кода
Сборка
Отладка
Оптимизация
Тестирование

Источник: thepresentation.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru